Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

KinDzaDza
Уже с Приветом
Posts: 2307
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

zVlad wrote: 12 Sep 2021 14:31 Фактически, да все дубликаты, кроме одного, будут удалены в первой же итерации на подзапросе, но вместе с ними будут удалены и все остальные строки за той что будет обработана первой.
...
Таким образом результат этого delete будет не предсказуемым. Таблица будет проряжена и транкейтнута случайным образом.
Вы ошибаетесь. Посмотрите план выполнения такого запроса. Из-за того, что в подзапросе есть условие связи на внешнюю таблицу, этот подзапрос будет "выполняться" каждый раз для нового набора значений сравниваемых полей.
В принципе sp123 все уже рассказал выше. У меня под рукой нет Оракла, есть MySQL.

Code: Select all

mysql> select * from t;
+----+------+
| id | name |
+----+------+
|  1 | aaa  |
|  2 | aaa  |
|  3 | aaa  |
|  4 | bbb  |
|  5 | bbb  |
|  6 | ccc  |
|  7 | aaa  |
+----+------+
7 rows in set (0.00 sec)

mysql> select t1.* from t t1 where t1.id > (select min(t2.id) from t t2 where t2.name = t1.name);
+----+------+
| id | name |
+----+------+
|  2 | aaa  |
|  3 | aaa  |
|  5 | bbb  |
|  7 | aaa  |
+----+------+
4 rows in set (0.00 sec)

mysql> explain select t1.* from t t1 where t1.id > (select min(t2.id) from t t2 where t2.name = t1.name);
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type        | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
|  1 | PRIMARY            | t1    | ALL  | NULL          | NULL | NULL    | NULL |    7 | Using where |
|  2 | DEPENDENT SUBQUERY | t2    | ALL  | NULL          | NULL | NULL    | NULL |    7 | Using where |
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
2 rows in set (0.00 sec)
https://dev.mysql.com/doc/refman/8.0/en ... utput.html
PRIMARY is the outermost SELECT
...
For DEPENDENT SUBQUERY, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 12 Sep 2021 18:00
zVlad wrote: 12 Sep 2021 16:36 Это здорово что ответили именно Вы. Тогда скажите как называется процесс выполнения байт кода?
Ну и чтобы два раза не вставать скажите почему все таки нельзя обойтись без байт кода даже если не нужна переносимость?
процесс исполнения байт кода по сути ничем не отличается от исполнения процессорного кода. Не верите? SUN даже разработал picoJava - hardware implementation Java машины, можно сделать на базе FPGA к примеру.
Современные процессоры тоже не исполняют свои инструкции "as is", внутри их есть ещё один уровень - "микрокод".
"Microcode is a technique that interposes a layer of computer organization between the CPU hardware and the programmer-visible instruction set architecture of the computer"

....
Вы мне о микрокоде рассказывать будете?:

http://scihi.org/ibm-system360-microcode/
On April 7, 1964, IBM introduced the IBM System/360, a rather successful family of mainframe computer systems, originally produced between 1965 and 1978 using microcode to implement the instruction set.
........
IBM was the first manufacturer to exploit microcode technology to implement a compatible range of computers of widely differing performance, although the largest, fastest, models had hard-wired logic instead.
Last edited by zVlad on 13 Sep 2021 00:14, edited 1 time in total.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

KinDzaDza wrote: 12 Sep 2021 18:28
zVlad wrote: 12 Sep 2021 14:31 Фактически, да все дубликаты, кроме одного, будут удалены в первой же итерации на подзапросе, но вместе с ними будут удалены и все остальные строки за той что будет обработана первой.
...
Таким образом результат этого delete будет не предсказуемым. Таблица будет проряжена и транкейтнута случайным образом.
Вы ошибаетесь. Посмотрите план выполнения такого запроса. Из-за того, что в подзапросе есть условие связи на внешнюю таблицу, этот подзапрос будет "выполняться" каждый раз для нового набора значений сравниваемых полей.
В принципе sp123 все уже рассказал выше. У меня под рукой нет Оракла, есть MySQL.

Code: Select all

mysql> select * from t;
+----+------+
| id | name |
+----+------+
|  1 | aaa  |
|  2 | aaa  |
|  3 | aaa  |
|  4 | bbb  |
|  5 | bbb  |
|  6 | ccc  |
|  7 | aaa  |
+----+------+
7 rows in set (0.00 sec)

mysql> select t1.* from t t1 where t1.id > (select min(t2.id) from t t2 where t2.name = t1.name);
+----+------+
| id | name |
+----+------+
|  2 | aaa  |
|  3 | aaa  |
|  5 | bbb  |
|  7 | aaa  |
+----+------+
4 rows in set (0.00 sec)

mysql> explain select t1.* from t t1 where t1.id > (select min(t2.id) from t t2 where t2.name = t1.name);
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
| id | select_type        | table | type | possible_keys | key  | key_len | ref  | rows | Extra       |
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
|  1 | PRIMARY            | t1    | ALL  | NULL          | NULL | NULL    | NULL |    7 | Using where |
|  2 | DEPENDENT SUBQUERY | t2    | ALL  | NULL          | NULL | NULL    | NULL |    7 | Using where |
+----+--------------------+-------+------+---------------+------+---------+------+------+-------------+
2 rows in set (0.00 sec)
https://dev.mysql.com/doc/refman/8.0/en ... utput.html
PRIMARY is the outermost SELECT
...
For DEPENDENT SUBQUERY, the subquery is re-evaluated only once for each set of different values of the variables from its outer context.
А я разве говорю иначе. Да, конечно, подзапрос будет исполняться, только не для "нового набора значений сравниваемых полей", а для каждой строки найденной в основном запросе.
В подзапросе всегда есть предикаты связи с внешним по отношению к нему. И называется такой запрос коррелированный.

Но подзаорос выполнятеся автономно и только результат его передается во внешний. В данном случае с функцией min это будет одиночное значение возвращенное этой функцией на множестве строк удовлетворыющих предикату в подзапросе. А Вы, ошибочно, считаете что подзапрас вернет все множество. Это не так. Это было так если бы не было функции min, или подобной ей - sum, например, count(*) и т.п.. Учите теорию.

И слушайте, не надо ссылок.
KinDzaDza
Уже с Приветом
Posts: 2307
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

zVlad wrote: 12 Sep 2021 18:59 А я разве говорю иначе.
Да, говорите и даже настаиваете:
zVlad wrote: 12 Sep 2021 14:31 Фактически, да все дубликаты, кроме одного, будут удалены в первой же итерации на подзапросе, но вместе с ними будут удалены и все остальные строки за той что будет обработана первой.
...
Таким образом результат этого delete будет не предсказуемым. Таблица будет проряжена и транкейтнута случайным образом.
Выделенное в Вашей цитате не верно, никаких «всех остальных строк» там не будет.
Что, как видно на приведённых примерах совсем не так и рассматриваемый запрос работает совсем не так как Вы думаете он должен работать. Ничего случайного и непредсказуемого там не будет. Останутся именно записи с минимальными значениями id по своим группам сравнения в единственном экземпляре. Как и просили. Если надо оставить из дубликатов какие-то другие записи - ну флаг в руки, измените/дополните критерий отбора.
zVlad wrote: 12 Sep 2021 18:59 В подзапросе всегда есть предикаты связи с внешним по отношению к нему.
Правда что ли? А как же select * from a where id in (select id from b)
В данном случае с функцией min это будет одиночное значение возвращенное этой функцией на множестве строк удовлетворыющих предикату в подзапросе. А Вы, ошибочно, считаете что подзапрас вернет все множество. Это не так. Это было так если бы не было функции min, или подобной ей - sum, например, count(*) и т.п.. Учите теорию.
Вы сначала приписываете мне то, что я не говорил, а потом радостно разоблачаете.
И слушайте, не надо ссылок.
Ссылка была дана исключительно для того, чтобы можно было при желании посмотреть что именно в MySQL explain plan имеется ввиду за всякими словами типа PRIMARY, DEPENDENT SUBQUERY и т.п.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

KinDzaDza wrote: 12 Sep 2021 20:29
zVlad wrote: 12 Sep 2021 18:59 А я разве говорю иначе.
Да, говорите и даже настаиваете:
zVlad wrote: 12 Sep 2021 14:31 Фактически, да все дубликаты, кроме одного, будут удалены в первой же итерации на подзапросе, но вместе с ними будут удалены и все остальные строки за той что будет обработана первой.
...
Таким образом результат этого delete будет не предсказуемым. Таблица будет проряжена и транкейтнута случайным образом.
Выделенное в Вашей цитате не верно, никаких «всех остальных строк» там не будет.
Что, как видно на приведённых примерах совсем не так и рассматриваемый запрос работает совсем не так как Вы думаете он должен работать. Ничего случайного и непредсказуемого там не будет. Останутся именно записи с минимальными значениями id по своим группам сравнения в единственном экземпляре. Как и просили. Если надо оставить из дубликатов какие-то другие записи - ну флаг в руки, измените/дополните критерий отбора.
zVlad wrote: 12 Sep 2021 18:59 В подзапросе всегда есть предикаты связи с внешним по отношению к нему.
Правда что ли? А как же select * from a where id in (select id from b)
В данном случае с функцией min это будет одиночное значение возвращенное этой функцией на множестве строк удовлетворыющих предикату в подзапросе. А Вы, ошибочно, считаете что подзапрас вернет все множество. Это не так. Это было так если бы не было функции min, или подобной ей - sum, например, count(*) и т.п.. Учите теорию.
Вы сначала приписываете мне то, что я не говорил, а потом радостно разоблачаете.
И слушайте, не надо ссылок.
Ссылка была дана исключительно для того, чтобы можно было при желании посмотреть что именно в MySQL explain plan имеется ввиду за всякими словами типа PRIMARY, DEPENDENT SUBQUERY и т.п.

Приведите доказательство что Вы правы. Загоните в ВАш MySQL данные и выполните запрос, т.е. материализуйте пример sp123.
sp123
Уже с Приветом
Posts: 1963
Joined: 24 Feb 2001 10:01
Location: Челябинск -> Everett, WA

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by sp123 »

Все примеры, что я тут выше приводил, предварительно исполнялись на базе данных.


Sent from my iPhone using Tapatalk Pro
KinDzaDza
Уже с Приветом
Posts: 2307
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

zVlad wrote: 12 Sep 2021 21:00 Приведите доказательство что Вы правы. Загоните в ВАш MySQL данные и выполните запрос, т.е. материализуйте пример sp123.
Так уже - Вы же как раз это и цитировали: viewtopic.php?p=7512216#p7512216 :pain1:
Там между тэгами CODE результаты выполнения запроса в MySQL, это окошко скроллируемо.
Если бы Вы были правы, второй запрос вернул бы все записи кроме первой с самым маленьким id в этой таблице.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

KinDzaDza wrote: 12 Sep 2021 21:14
zVlad wrote: 12 Sep 2021 21:00 Приведите доказательство что Вы правы. Загоните в ВАш MySQL данные и выполните запрос, т.е. материализуйте пример sp123.
Так уже - Вы же как раз это и цитировали: viewtopic.php?p=7512216#p7512216 :pain1:
Там между тэгами CODE результаты выполнения запроса в MySQL, это окошко скроллируемо.
Если бы Вы были правы, второй запрос вернул бы все записи кроме первой с самым маленьким id в этой таблице.
Хорошо. Проверю на DB2.
KinDzaDza
Уже с Приветом
Posts: 2307
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

sp123 wrote: 12 Sep 2021 21:12 Все примеры, что я тут выше приводил, предварительно исполнялись на базе данных.
Вот, PostgreSql за нас! :good:
Там правда у iDesperado на Оракле что-то не получилось, но он ROWNUM использовал а не ROWID, видимо из-за этого и не вышло.
У меня нет сейчас доступа к Ораклу, а качать и ставить дома в лом.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

KinDzaDza wrote: 12 Sep 2021 21:14
zVlad wrote: 12 Sep 2021 21:00 Приведите доказательство что Вы правы. Загоните в ВАш MySQL данные и выполните запрос, т.е. материализуйте пример sp123.
Так уже - Вы же как раз это и цитировали: viewtopic.php?p=7512216#p7512216 :pain1:
Там между тэгами CODE результаты выполнения запроса в MySQL, это окошко скроллируемо.
Если бы Вы были правы, второй запрос вернул бы все записи кроме первой с самым маленьким id в этой таблице.
Отвез соседа на берег и без проверки в ДБ2 соглашаюсь в том что был не прав. Я недоучел что условие связи работает в обе стороны, не только в подзапросе но и в основном запросе тоже.
Извиняюсь если что не так.
P.S. Правильнее будет сказать что основной запрос выполняет подзапрос для каждой строки таблицы по всей таблице. Или иначе scope основного запроса - строка, подзапроса вся таблица.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Ну что замолкли? Поехали дальше.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

zVlad wrote:
Flash-04 wrote: 12 Sep 2021 18:00
zVlad wrote: 12 Sep 2021 16:36 Это здорово что ответили именно Вы. Тогда скажите как называется процесс выполнения байт кода?
Ну и чтобы два раза не вставать скажите почему все таки нельзя обойтись без байт кода даже если не нужна переносимость?
процесс исполнения байт кода по сути ничем не отличается от исполнения процессорного кода. Не верите? SUN даже разработал picoJava - hardware implementation Java машины, можно сделать на базе FPGA к примеру.
Современные процессоры тоже не исполняют свои инструкции "as is", внутри их есть ещё один уровень - "микрокод".
"Microcode is a technique that interposes a layer of computer organization between the CPU hardware and the programmer-visible instruction set architecture of the computer"

....
Вы мне о микрокоде рассказывать будете?:

http://scihi.org/ibm-system360-microcode/
On April 7, 1964, IBM introduced the IBM System/360, a rather successful family of mainframe computer systems, originally produced between 1965 and 1978 using microcode to implement the instruction set.
........
IBM was the first manufacturer to exploit microcode technology to implement a compatible range of computers of widely differing performance, although the largest, fastest, models had hard-wired logic instead.
Я так понимаю, больше вопросов нет? :)
Not everyone believes what I believe but my beliefs do not require them to.
dama123
Уже с Приветом
Posts: 742
Joined: 08 Apr 2021 01:54

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by dama123 »

Flash-04 wrote: 13 Sep 2021 03:59 Я так понимаю, больше вопросов нет? :)
Вы же написали про FPGA. А zVlad, скорее всего, просто не знает что это такое.
iDesperado
Уже с Приветом
Posts: 1422
Joined: 28 Nov 2008 17:50

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by iDesperado »

KinDzaDza wrote: 12 Sep 2021 22:36 Там правда у iDesperado на Оракле что-то не получилось, но он ROWNUM использовал а не ROWID, видимо из-за этого и не вышло.
У меня нет сейчас доступа к Ораклу, а качать и ставить дома в лом.
да, я тупанул и rownum использовал, уже и забыл что у оракла что-то кроме rownum существует, на автомате как rownum прочел. с rowid действительно работает.
покрутить такие примеры в разных субд можно тут: http://sqlfiddle.com
KinDzaDza
Уже с Приветом
Posts: 2307
Joined: 29 Jul 2005 17:39
Location: Калифорнийский Мухосранск

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by KinDzaDza »

iDesperado wrote: 13 Sep 2021 06:55 да, я тупанул и rownum использовал, уже и забыл что у оракла что-то кроме rownum существует, на автомате как rownum прочел. с rowid действительно работает.
покрутить такие примеры в разных субд можно тут: http://sqlfiddle.com
Да ладно, глаз замылился, с кем не бывает.
Полезная ссылка, кстати. Добавил в закладки - спасибо :good:
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

dama123 wrote: 13 Sep 2021 04:34
Flash-04 wrote: 13 Sep 2021 03:59 Я так понимаю, больше вопросов нет? :)
Вы же написали про FPGA. А zVlad, скорее всего, просто не знает что это такое.
ну мог бы сказать к примеру "а у IBM - Telum есть!" на 5 лет позже чем Google, зато свой 8)
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 13 Sep 2021 14:19
dama123 wrote: 13 Sep 2021 04:34
Flash-04 wrote: 13 Sep 2021 03:59 Я так понимаю, больше вопросов нет? :)
Вы же написали про FPGA. А zVlad, скорее всего, просто не знает что это такое.
ну мог бы сказать к примеру "а у IBM - Telum есть!" на 5 лет позже чем Google, зато свой 8)
Не знаю о чем Вы, но это абсолютнои разные вещи.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

в том то и дело, что не такие уж разные. Для ML уже есть свои языки, даже целые environments, и как оказалось, "традиционные" процессоры не очень то подходят для их исполнения. Потому возникла потребность создать аж но целое специфическое hardware для этого. Пионером в этом деле был Google, сейчас другие подтягиваются, в том числе IBM, со своим Watson, как "umbrella" для AI/ML.
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

dama123 wrote: 13 Sep 2021 04:34
Flash-04 wrote: 13 Sep 2021 03:59 Я так понимаю, больше вопросов нет? :)
Вы же написали про FPGA. А zVlad, скорее всего, просто не знает что это такое.
А просто спросить zVlad-а что не позволяет?
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 13 Sep 2021 17:09 в том то и дело, что не такие уж разные. Для ML уже есть свои языки, даже целые environments, и как оказалось, "традиционные" процессоры не очень то подходят для их исполнения. Потому возникла потребность создать аж но целое специфическое hardware для этого. Пионером в этом деле был Google, сейчас другие подтягиваются, в том числе IBM, со своим Watson, как "umbrella" для AI/ML.
Чтобы было понятно о чем говорить сформулируйте пожалуйста в чем (без демагогии, маркетинга и щенячего восторга) в чем Google был пионером?

На некоторых моделях ЕС ЭВМ была возможность расширять (програмировать) возможности CPU на уровне пользователем. Группа Котова Михаила Петровича (НИИЭВМ, Минск) прописали таким образом систему команд "Минск-22" (если не ошибаюсь на ЕС-1036), которая использовалась виртуальной машиной. Лично сам устанавливал (готовую) микропрограммную поддержку СВМ (VM/370) на ЕС-1045, где это было тоже возможно.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

Google стал пЫонером в разработке TPU:
https://en.wikipedia.org/wiki/Tensor_Processing_Unit
"Tensor Processing Unit"

В Machine Learning алгоритмах очень часто используются матричные операции, которые обычный процессор выполняет медленно. Для быстрых матричных операций нужно уметь распараллеливать потоки вычисления, чтобы каждый поток работал над кусочком большой матрицы. Потом все это "сливается" вместе и получается огромный выигрыш в производительности. Легко догадаться, что для этого нужно специфическое "железо". Для этой цели использовали FPGA, потом ASIC, Google сделал готовое решение "заточенное" под ML алгоритмы. У меня на столе лежит коробочка от Corel.AI, по производительности слабенький процессов внутри неё бьет мощный Intel i7 для решения специфической задачи. Идеально для решений где требуется низкое энергопотребление, но быстрое выполнение. Установка такого процессора на Raspberry pi позволяет сделать "самоходную машинку" которая распознает обстановку вокруг.
Not everyone believes what I believe but my beliefs do not require them to.
zVlad
Уже с Приветом
Posts: 16196
Joined: 30 Apr 2003 16:43

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by zVlad »

Flash-04 wrote: 13 Sep 2021 18:03 Google стал пЫонером в разработке TPU:
https://en.wikipedia.org/wiki/Tensor_Processing_Unit
"Tensor Processing Unit"

В Machine Learning алгоритмах очень часто используются матричные операции, которые обычный процессор выполняет медленно. Для быстрых матричных операций нужно уметь распараллеливать потоки вычисления, чтобы каждый поток работал над кусочком большой матрицы. Потом все это "сливается" вместе и получается огромный выигрыш в производительности. Легко догадаться, что для этого нужно специфическое "железо". Для этой цели использовали FPGA, потом ASIC, Google сделал готовое решение "заточенное" под ML алгоритмы. У меня на столе лежит коробочка от Corel.AI, по производительности слабенький процессов внутри неё бьет мощный Intel i7 для решения специфической задачи. Идеально для решений где требуется низкое энергопотребление, но быстрое выполнение. Установка такого процессора на Raspberry pi позволяет сделать "самоходную машинку" которая распознает обстановку вокруг.
В том что ты говоришь нет ничего принципиального нового. Даже наоборот. Очень далеко назад в истории ЭВМ изначально создавались специализированные машины для решения конкретных задач. Потом, когда электроника достигла определенного уровня производительности стало ясно и модно созадавать универсальные ЦПУ для широкого круга задач. Но даже тогда создавались со-процессоры (акселераторы) в том числе для матричных опереций. Какое-то время, с дальнейшим ростом производительности смысл для этого поубавился, замених его гонкой за Гх-цами, потом корами. Сейчас снова вспомнили про специализированные, программируемы вычислители на одном чипе с универсальным ядром.

Что здесь нового? Ничего.

IBM никогда не стремился быть пионером, тем более на МФ. У IBM есть Power10 аннонсированный год назад:
New Processor Core Architectures in the IBM POWER10 processor with an embedded Matrix Math Accelerator which is extrapolated to provide 10x, 15x and 20x faster AI inference for FP32, BFloat16 and INT8 calculations per socket respectively than the IBM POWER9 processor to infuse AI into business applications and drive greater insights.


Для МФ IBM делает более глубокую проработку проектов. Делает не только чип, но и софт для поддержки новых возможностей чипа. Чип тоже делается не для продажи в розницу, а для конкретных моделей двух семейств - бизнес, анд ентерпрайс класса. Вместе с этим готовится новая версия OS - zOS 2.5 где все это будет поддерживаться на системном уровне. Это все надо разработать и отладить. За то что это все будет работать надежно и качественно ИБМ несет полную ответственность.
Выпустить чип с какой-либо новой возможностью это по нынешним временам не big dealл. А вот сделать это системно это уже совсем другая история, другая трудоемкость, и другая ответственность.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

Влад, с таким подходом у тебя ничего нового не будет :)
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

zVlad wrote: 13 Sep 2021 18:46 Выпустить чип с какой-либо новой возможностью это по нынешним временам не big dealл. А вот сделать это системно это уже совсем другая история, другая трудоемкость, и другая ответственность.
Вот не надо про отвественность. IBM всегда интересовала в первую очередь прибыль, а не отвественность.
Not everyone believes what I believe but my beliefs do not require them to.
User avatar
Flash-04
Уже с Приветом
Posts: 63377
Joined: 03 Nov 2004 05:31
Location: RU -> Toronto, ON

Re: Зачем появляются новые языки программирования? Сколько их и каких на самом деле нужно?

Post by Flash-04 »

zVlad wrote: 13 Sep 2021 18:46 Для МФ IBM делает более глубокую проработку проектов. Делает не только чип, но и софт для поддержки новых возможностей чипа. Чип тоже делается не для продажи в розницу, а для конкретных моделей двух семейств - бизнес, анд ентерпрайс класса. Вместе с этим готовится новая версия OS - zOS 2.5 где все это будет поддерживаться на системном уровне. Это все надо разработать и отладить. За то что это все будет работать надежно и качественно ИБМ несет полную ответственность.
Выпустить чип с какой-либо новой возможностью это по нынешним временам не big dealл. А вот сделать это системно это уже совсем другая история, другая трудоемкость, и другая ответственность.
недавно попалась интересная статья, почему нет устройств с малым уровнем потребления на процессорах Intel, а только на процессорах ARM, которые сама компания ARM даже не производит, а только лицензирует тому, кто хочем "выпекать" чипы. Так вот именно изза политики открытости, когда каждый желающий мог выпускать эти процессоры. У IBM только их POWER и есть, для внутреннего пользования.
Not everyone believes what I believe but my beliefs do not require them to.

Return to “Вопросы и новости IT”