Компания IBM представила инициативу CodeNet, нацеленную на предоставление исследователям набора данных, позволяющих экспериментировать с применением методов машинного обучения для создания трансляторов из одного языка программирования в другой, а также генераторов и анализаторов кода. CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программирования, как современные языки, такие как C++, Java, Python и Go, так и устаревшие, включая COBOL, Pascal и FORTRAN. Наработки проекта распространяются под лицензией Apache 2.0, а наборы данных планируется распространять в форме общественного достояния...Подробнее: https://www.opennet.me/opennews/art.shtml?num=55131
Ура паскаль
Ага, ObjectPascal -> C++
А поддерживать кто будет? Я так понимаю после трансляции мешанина получится неживая-нечитаемая
Кстати, из интересного про IBM:
https://habr.com/ru/company/selectel/blog/555940/
Вдруг кто-то ещё не видел.
> Кстати, из интересного про IBM:
> https://habr.com/ru/company/selectel/blog/555940/
> Вдруг кто-то ещё не видел.Мечты, мечты. А вот реальность с TMSC:
11 мая
Здравствуйте, Сергей!
Ранее вы интересовались товаром Процессор AMD Ryzen 5 PRO 4650G OEM
К сожалению, продажи данного товара прекращены. Товар больше не будет представлен в сети ***.Зато в продаже появились 2200G, а блоггеры во всю тестируют 5xxxG ;)
TSMC
Я тоже хотел купить этот процессор, но мне тоже заявили, что он исчез из продажи и неизвестно когда появится. ='( Ссылались на коронобесие.
Мне через полгода ответ пришёл. Но я сразу уловил тенденцию и особо не рассчитывал, что появятся в продаже, а не только в прайсах. Дело не только в том, что по сути 1 фабрика на весь мир и выгоднее производить что подороже, но и в охлаждении. Для ноутов такие процессоры пригодны, поскольку расположение тепловых трубок подгоняют инженеры, а для "сборки дома" далеко не каждый охладитель даже из дорогих подойдёт (кристалл маленький и сбоку, важно направление и расположение трубок, если прямой контакт).
Вместо "Компания IBM создала первый в мире 2 нм процессор и изготовила тестовые образцы."
следует читать
"Компания IBM доработала технологию производства процессоров, и маркетологи назвали это 2 нм".Чайникам, которые хотят почитать о реальных нанометрах и больше не позориться, выставляя чушь маркетологов на всеобщее обозрение: https://habr.com/ru/company/droider/blog/510796/
tldr;
Производители начали называть всё подряд 10, 7 и вообще 5 нанометрами, а кто-то уже говорит и о 3 нанометрах! Можно всё это ставить в кавычки, как простое обозначение поколения процессоров.На картинке реальные размеры транзисторов и их маркетинговое обозначение:
https://habrastorage.org/getpro/habr/post_images/f8a/658/780...
осталось ии научить клепать формы и можно макак-формошлепов гнать на мороз
согласен! Вместе с модерами
ты первый на мороз и пойдешь
все они давно перебрались на фронт
>осталось ии научить клепать формы и можно макак-формошлепов гнать на морозхихи... Помню, развлекался 20 лет назад: берешь английскую фразу, потом переводчиком на русский, потом ещё раз в английский... и плачешь, плачешь.... Прошло 20 лет, Искустенный Идиотизм недалеко ушёл от своего предка.
ну ждите, ждите ии-кодера...
>>осталось ии научить клепать формы и можно макак-формошлепов гнать на мороз
> хихи... Помню, развлекался 20 лет назад: берешь английскую фразу, потом переводчиком на
> русский, потом ещё раз в английский... и плачешь, плачешь....Это же классика, когда из фразы "дух силён, но плоть слаба" получилось "вино прилично, но мясо протухло".
Ныне можно просто почитать описания товаров на Али.
> описания товаров на АлиСильно подозреваю, что корявые описания товаров на Али сознательно сохраняются как своеобразная фишка сайта.
>Сильно подозреваю, что корявые описания товаров на Али сознательноокуенная фишка. а ещё всплывающие при КАЖДОМ переходе баннеры про купоны тоже крутая фишка?
и что авторизация молча не работает без 3dparty cookies и в целом глючат даже менюшки в последней версии chromium. может это какой-то китайский прикол, я его не понял и алипомойкой принципиально не пользуюсь, хотя там обычно намного дешевле, чем на ебеепомойке )
Опять-таки подозреваю, что сайт кодят одни люди, а перевод готовят другие. Ну, и у меня баннер про купон только на первой странице. М.б. у тебя куки зарезаны и оно не запоминает, что ты этот баннер на прошлой странице закрыл.
> дух силён, но плоть слабаПертурабо, ты?!
гугл корректно переводит эту фразу туда и обратно.
Дык ещё бы, это же классика. При этом "good knowledge" переводит как "хорошие знания", а по-русски так не говорят.
Немного отстали от жизни. Сейчас Google Translate переводит вполне себе адекватно.
> Немного отстали от жизни. Сейчас Google Translate переводит вполне
> себе адекватно.Во-во, себе что-то переводит, а нам не показывает.
>Немного отстали от жизни. Сейчас Google Translate переводит вполне себе адекватно.видимо ты надмозг непритязательный. Я переводил пару лет назад обычную статью на 50 страниц (не техническую, без спец терминов, без идиом, метафор, гипербол, аллюзий и всей остальной ботвы, которую ИИ НИКАК не ест). ну да, чуть быстрее оказалось скормить гуглотранслэйту, а потом править результат. Но править пришлось примерно треть тредложений ЖЕСТКО, треть косметически и только треть похожа на человеческую речь.
А чуть более сложные примеры подсовываешь и идиотизм ИИ во всей красе виден, собсно ты почитай как GPT3 сделано... просто подставляет статистически более вероятные слова.
Тут есть один нюанс. Языки программирования строго формализированы, в отличии от английского с русским. И по идее перевод с Кобола на Джаву должен быть таким же строгим, как преобразование формулы в математике.
> Тут есть один нюанс:"При преобразовании из одного языка программирования в другой контекст не менее важен, чем при переводе из одного человеческого языка на другой. Именно отсутствие учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL."
>> Тут есть один нюанс:
> "При преобразовании из одного языка программирования в другой контекст не менее важен,
> чем при переводе из одного человеческого языка на другой. Именно отсутствие
> учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL."Отсутствие контекста мешает вывести алгоритм перевода. Но если такой алгоритм найти, то для каждой пары языков он будет давать точное семантическое соответствие 1-в-1. Собственно, любой компилятор (или транспайлер) уже это делает.
>>> Тут есть один нюанс:
>> "При преобразовании из одного языка программирования в другой контекст не менее важен,
>> чем при переводе из одного человеческого языка на другой. Именно отсутствие
>> учёта контекста мешает преобразованию кода с устаревших языков, таких как COBOL."
> Отсутствие контекста мешает вывести алгоритм перевода. Но если такой алгоритм найти, то
> для каждой пары языков он будет давать точное семантическое соответствие 1-в-1.
> Собственно, любой компилятор (или транспайлер) уже это делает.Вот только вывод после транспайлера нечитаем человеком.
> Вот только вывод после транспайлера нечитаем человеком.А при чем тут это? Тезис был в точной эквивалентности программ, а не в том разберет ли очередная мартышка код.
>> Вот только вывод после транспайлера нечитаем человеком.
> А при чем тут это? Тезис был в точной эквивалентности программ, а
> не в том разберет ли очередная мартышка код.То есть тезис к решаемой проблеме (некому поддерживать Кобол, зато есть программисты на Джава) не имеет отношения.
Ухита. Все ЯП в конечном итоге приводятся к машинным кодам.
> Все ЯП в конечном итоге приводятся к машинным кодам.Возвращайтесь, когда наберётесь опыта в переводе машкода в понятную Сишечку. Ну или хотя бы гляньте выхлоп Glasgow Haskell Compiler или MLton.
Компиляторы умеют в контекст? Ого.
Может они еще в войну и мир умеют?
Так о том и речь, что не умеют, потому транспиляция из одного ЯВУ (COBOL) в другой (Java) не получается. Новость о том, что хотят обучить сетку на массе готовых фрагментов и посмотреть, что же из этого получится. Но кто-то увидел в ней доказательство "теоремы" Чёрча-Тьюринга.
>Языки программирования строго формализированыТы явно не программизд... у меня отдельчик, все жабисты.... один упарывается по SOLID - фабрики-интерфейсов-енумов-интерфейсов, другой по функциональщине - всё на стримах, третий на "куяк-куяк и в прод", я по KISS.... разница настолько колоссальная, я бы сказал что в стихах Есенина, Маяковского и Успенского разницы меньше ) теперь расскажи что там по твоему формализовано )
>>Языки программирования строго формализированы
> Ты явно не программизд...А ты походу программист от сохи и математика для тебя кончилась на квадратном трехчлене? Поинтересуйся, что такое:
https://ru.wikipedia.org/wiki/Формальный_язык
https://ru.wikipedia.org/wiki/Формальная_грамматика
https://ru.wikipedia.org/wiki/Формальная_семантика
>А ты походу программист от сохи и математика для тебя кончилась на квадратном трехчленеКакая связь у современного программирования и математики? НИКАКОЙ ) Я помню в универе вумных дедушек, прогающих на паскале прожки на пару страничек. Ты видимо из них...
Прямая. Она под капотом.
Но кнопкодавы как тот 3.14дор из анекдота "ага, а потом и мопедик починим".
IBM лет десять назад запустил искусственный интеллект, который соответствовал развитию 3-летнего человека!Сегодня, наверно все ПО в IBM уже пишет повзрослевший "Ватсон".
>искусственный интеллект, который соответствовал развитию 3-летнего человека!поржал... с трёхлетки можно только лулзы ловить.
Я так понимаю, основная цель cobol-java.
И пусть бесплатные энтузиасты сделают большой кусок работы.
Очень жадные банкиры.
Жду не дождусь времени когда моим счетом в банке будет управлять программа, автоматически транслированная из cobol на java и меня посадят за спонсирование терроризма через мой счет.
Навеяно https://habr.com/ru/company/itsoft/blog/554404/
Fujitsu, IBM ведь уважаемые компании, да?
Это, а в ассемблеры всяких архитектур оно смогёт? :D
Это называется "компилятор".
перевести ядро на java сможет?Надеюсь нет, а то гугл тим точно заинтересуеться и настанет андроиду полный пипец
> решающих 4053 типовых проблем программированияКруто, а есть ссылка на список?
Вот и выросло поколение, не заставшее справочник Дьяконова...
Классно было бы узнать про подробности реализации. Если аннотации оформлены в онтологическом виде Linked Data, то это просто пушка.
А есть какая-то готовая онтология, в терминах которой можно выражать свойства кода?
Т.е из чего-то протестированного и сделанного кем-то умным, получить неведомо как работающий «кусок» ?То ли это шутка, то ли - МДМ всерьёз решила уничтожить банки, использующие кобол посредством преобразования того, что хоть как-то работает в то, что работает вообще черти как.. и написано так же
> для систем машинного обучения, транслирующих ... кодА сколько новых ошибок при этом в новом коде появиться? У этих всяких ИИ же нормально делать правильный ответ только в 70-90% случаев. А на генерируемых картинках артефакты всё одно заметны.
Хотя если они достигли качества на уровне обезьян делающих туже работу, то может и взлететь ;)
Ну, учитывая, что некоторые так и не научились на родном языке писать "тся" и "ться" - на ИИ наговаривать не стоит.
> коллекция насчитывает около 500 млн строк кода ... а наборы данных планируется распространять в форме общественного достояния.Т.е. они нашли "500 млн строк кода" с лицензией "в форме общественного достояния"?
А на GitHub лицензии автоматически детектируются.
>> коллекция насчитывает около 500 млн строк кода ... а наборы данных планируется распространять в форме общественного достояния.
> Т.е. они нашли "500 млн строк кода" с лицензией "в форме общественного достояния"?Первый пример из Mini-набора
Метаданные:
submission_id,problem_id,user_id,date,language,original_language,filename_ext,status,cpu_
time,memory,code_size,accuracy
s000239334,p02407,u857791651,1555058824,C,C,c,Accepted,0,2148,340,4/4
-
id,name,dataset,time_limit,memory_limit,rating,tags,complexity
p02407,Reversing Numbers,AIZU,1000,131072,,,
#include<stdio.h>
int main(void){
int i,n;
int a[100],b[100];
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&a[i]);
b[n-1-i]=a[i];
}
for(i=n-1;i>=0;i--){
printf("%d",b[n-1-i]);
if(i!=0){
printf(" ");
}else{
printf("\n");
}
}
return 0;
}$ gcc -Wall -O2 rev.c && seq 120 129|./a.out
1 0 11936768 8 35997136 8 6294672 0 37571744 8 8 37571744 0
...
-225447180 32767 -13211744 8 11932080 0 109760260 0 129 128 127 126 125 124 123 122 121
zsh: done seq 120 129 |
zsh: segmentation fault ./a.outИли я не так прочитал и понял метаданные, или ... а это точно "достояние"?
> zsh: segmentation fault ./a.outЭто мелочи. Написано же "ИИ" -- значит надо акции покупать!
> Или я не так прочитал и понял метаданные, или ... а это точно "достояние"?Они жеж прямо сказали, что код понадёргали из решений олимпиадных задач. Такого рода задачки, как правило, чётко дают условие, что входные данные будут корректно сформированы. В этой задачке, я предположу, было сказано, что на входе будет:
N A_1 A_2 A_3 ... A_N
и что N<=100.
Вполне норм условия для олимпиадной задачи. Просто если делать олимпиадные задачи более реалистичными, то победа в олимпиаде будет требовать не столько умения составлять алгоритмы, сколько умения парсить и валидировать данные. В том смысле, что самый тупой и неэффективный алгоритм победит не потому, что он быстрее, а потому что быстрые сойдут с дистанции, выдав сегфолт на невалидных данных или выкинув ошибку на вполне валидных данных. И тогда в олимпиадах начнут побеждать скучные профессиональные программисты, а не блестящие подростки с iq 150+. Но так же нельзя, у нас же культ интеллекта, а не умения тупо работать, так?
>>системы машинного обучения могут улавливать и учитывать контекст использования кодаА могут и не улавливать. Гарантий нет. Как повезёт. К тому же, если там нейронки, то последние вообще плохо справляются с анализом и категоризацией текстов. Это не изображения.
Ура! Вот что перепишет Линукс на Раст!
Не, если его ещё подтренировать, то оно перепишет Linux в Hurd.
> устаревшие... FortranСами вы устаревшие.
С тех пор, как CERN решил таки переходить с Фортрана на С++, будущее Фортрана туманно.Вроде как, на Фермилабе его ещё используют, но уход главного контрибутора -- это почти приговор.
Я лично участвую в проекте по переписыванию с Си на Фортран частей коммерческой софтины.
> Я лично участвую в проекте по переписыванию с Си на Фортран частей
> коммерческой софтины.А в чём радость? allocatable? Так он куций довольно. Утечки памяти? В наличии. Объектная система? Ну, кажется, не лучше gobject. Параллелизм? Ну, он примерно такой же, как в openmp.
Указателей на указатели нет. (Хотя можно завернуть указатель в объект.)
Вы хотя бы, кого таргетите? Intel или Nag?
Скорее всего у них нету специалистов в С, но есть специалисты в фортране.
> CodeNet включает коллекцию из 14 миллионов примеров кода, решающих 4053 типовых проблем программирования. В сумме коллекция насчитывает около 500 млн строк кода и охватывает 55 языков программированияЭто чё, у них там свой стаковерфлоу с форумом и роботицами?
Ээ, Скайнет?
мб, мб...
За то время и деньги которые на это все потрачены, уже бы десять раз переписали и протестировали то что им там надо оттранслировать.
Насколько я понял, это задачи с вариантами решений с двух сайтов для японских школьников.
Никакой полезной обработки не видно.
Использовать это для определения языка не вижу смысла. Почему нельзя надергать кода с гитхаба. Расширение файла говорит об языке. Бери достаточно большие участки кода из файла как пример и все дела.
Есть стэковерфлоу, где можно по тексту и примерам определять какой язык указан в тэгах.
Для автоперевода тоже странный набор данных. Логичнее брать хорошо документированные библиотеки. Там и код нормального качества и связь с тестами и описанием хорошая.
Вот если бы они собрали такие базы было бы интересно.
А школьная база может дать только ответ на вопрос типа: какие темы вызывают наибольшее затруднения у школьников и требуют более подробного объяснения.