The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Facebook развивает TransCoder для перевода кода с одного языка программирования на другой"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Facebook развивает TransCoder для перевода кода с одного языка программирования на другой"  +/
Сообщение от opennews (?), 06-Окт-20, 15:45 
Инженеры из Facebook опубликовали транскомпилятор TransCoder, использующий методы машинного обучения  для преобразование исходных текстов с одного высокоуровневого языка программирования на другой. В настоящее время предоставлена поддержка трансляции кода между языками Java, C++ и Python. Например, TransCoder позволяет преобразовать исходные тексты на Java в код на Python, а код на  Python в исходные тексты на Java. Наработки проекта реализуют на практике теоретические изыскания по созданию нейронной сети для эффективной ав томатической транскомпиляции кода и распространяются под лицензией Creative Commons Attribution-NonCommercial 4.0, разрешающей применение только для некоммерческих целей...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=53839

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Facebook развивает TransCoder для перевода кода с одного язы..."  +4 +/
Сообщение от Козлетто (?), 06-Окт-20, 15:45 
Вот бы весь JS и Rust он бы в С или ассемблер преобразовывал. Особенно актуально для КолибриОС
Ответить | Правка | Наверх | Cообщить модератору

2. "Facebook развивает TransCoder для перевода кода с одного язы..."  +119 +/
Сообщение от ИмяХ (?), 06-Окт-20, 15:49 
Вот хорошо бы такую штуку, которая С++ переводит в машинный код.
Ответить | Правка | Наверх | Cообщить модератору

6. "Facebook развивает TransCoder для перевода кода с одного язы..."  –5 +/
Сообщение от Аноним (6), 06-Окт-20, 15:54 
Это называется "компилятор".
Ответить | Правка | Наверх | Cообщить модератору

10. "Facebook развивает TransCoder для перевода кода с одного язы..."  +11 +/
Сообщение от InuYasha (??), 06-Окт-20, 15:59 
:D :D :D
спасибо, улыбнул )
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

57. "Facebook развивает TransCoder для перевода кода с одного язы..."  –6 +/
Сообщение от Аноним (57), 06-Окт-20, 19:22 
>Вот хорошо бы такую штуку, которая С++ переводит в машинный код.

Есть такая штука, называется g++.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

142. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (-), 07-Окт-20, 19:43 
Вспоминается одна старая, но годная статья, затрагивающая тему крайне низкого качества исходного кода программных продуктов и нежелания программистов погружаться решение возникающих проблем. Цитирую близко к смыслу: когда я вижу, что качество кода проверено искусственным интеллектом, я с ужасом понимаю, что этот код даёт тормозящее, висевшее, прожорливое и уродливое программное обеспечение.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

166. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (166), 14-Окт-20, 01:40 
Что значит с ужасом? Радуйся, для тебя есть работа. Не будь быдлокода с голоду бы помер.
Ответить | Правка | Наверх | Cообщить модератору

7. "Facebook развивает TransCoder для перевода кода с одного язы..."  –3 +/
Сообщение от НяшМяш (ok), 06-Окт-20, 15:55 
Хотя бы для JS - его как за баней уже.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

48. "Facebook развивает TransCoder для перевода кода с одного язы..."  –5 +/
Сообщение от Anonim (??), 06-Окт-20, 18:08 
А что не на фортран? Или на фортране Линус, идол опен нета не кодит?
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

67. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (67), 06-Окт-20, 21:12 
JS послдние годы чет мало используют, а вот транслятор TS было бы неплохо иметь.
А то язык есть, а транслятора нет.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

160. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Георгийemail (??), 09-Окт-20, 13:49 
Вообще-то есть, но не уверен, насколько он корректный.
https://github.com/andrei-markeev/ts2c
Ответить | Правка | Наверх | Cообщить модератору

161. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Георгийemail (??), 09-Окт-20, 13:55 
Можно попробовать JS перевести в C. Потом C скормить транскодеру как C++ и получить джаву/питон.
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

86. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (86), 06-Окт-20, 22:55 
>Вот бы весь ... Rust он бы в ... ассемблер преобразовывал.

есть такая программа, называется rustc

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

92. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от DerRoteBaron (ok), 07-Окт-20, 01:20 
как бы так можно и в C преобразовать: для LLVM IR есть бэкенд, генерирующий код на C. Правда неэффективно, но все равно лучше, чем C2Rust
Ответить | Правка | Наверх | Cообщить модератору

3. "Facebook развивает TransCoder для перевода кода с одного язы..."  +17 +/
Сообщение от Аноним (3), 06-Окт-20, 15:50 
Вот уж где мракобесие и антинаучная ересь. Что уж сразу не с естественного языка в x86?
Ответить | Правка | Наверх | Cообщить модератору

5. "Facebook развивает TransCoder для перевода кода с одного язы..."  +4 +/
Сообщение от Oxyd76 (?), 06-Окт-20, 15:53 
Не подсказывайте! ;-)
Ответить | Правка | Наверх | Cообщить модератору

15. "Facebook развивает TransCoder для перевода кода с одного язы..."  +4 +/
Сообщение от n00by (ok), 06-Окт-20, 16:04 
Это уже есть.

Идиома -- язык программирования, производный от Plain English https://osmosianplainenglishprogramming.blog
...компилирует в x86 исполняемые файлы Windows
https://board.flatassembler.net/topic.php?t=21173

P.S. автор очередного философского камня закрыл исходники, смотреть поздно.

Ответить | Правка | Наверх | Cообщить модератору

56. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от flkghdfgklh (?), 06-Окт-20, 19:01 
> не с естественного языка в x86?

Для этого есть программисты. Ты им на одном из человеческих языков задачу, а они на один из компьютерных переводят.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

71. "Facebook развивает TransCoder для перевода кода с одного язы..."  +6 +/
Сообщение от iLex (ok), 06-Окт-20, 21:35 
Программисты нужны не для того, чтоб перевести задачу с естественного языка на язык программирования. А чтобы эту самую задачу сформулировать, предварительно вытряхнув хоть какую-то конкретику из менеджера, который и сам толком не знает, чего хочет.
Ответить | Правка | Наверх | Cообщить модератору

94. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от flkghdfgklh (?), 07-Окт-20, 01:48 
Задачу формулирует руководство через project manager'ов на человеческом языке, а программист ее переводит в готовое решение. Если программист формулирует задачу, то у тебя что-то в конторе не так
Ответить | Правка | Наверх | Cообщить модератору

104. "Facebook развивает TransCoder для перевода кода с одного язы..."  +3 +/
Сообщение от Аноним (104), 07-Окт-20, 04:48 
Не у него в конторе, что то не так. Со всем миром, что то не так. Перекладывание работы менеджеров на программистов это общая тенденция.
Ответить | Правка | Наверх | Cообщить модератору

120. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Skynin (?), 07-Окт-20, 09:36 
Менеджеры не являются техническими специалистами, чтобы перевести задачу с общей формулировки целей в конкретное техническое задание

Тренд же да, такой, кодеры неспособны выполнять работу программиста.
Они нередко неспособны понять задачу и когда она сформулирована им программистом.
А это собственно и есть качественное отличие программиста от кодера:

Как перестать быть джуниором и начать жить:
1. Научиться программировать
В понятие «уметь программировать» входит не только знание конкретного языка программирования. Базовые(!!!) профессиональные умения программиста должны включать следующие пункты:
Формализация задачи — это умение разложить ее на составляющие и сформулировать так, чтобы ее можно было написать в виде программного кода.
Проектирование — способность представить архитектуру решения, понимание того, чего вы хотите достичь и каким образом это можно сделать.
Написание кода.
Понимание кода — умение читать и понимать написанное кем-то другим.
Рефакторинг кода — умение увидеть ошибки и недостатки кода и переписать его так, чтобы он работал лучше и был более поддерживаемым. Это высшая форма деятельности программиста, потому что это умеет делать только тот, кто программирует по-настоящему хорошо.

Ответить | Правка | К родителю #94 | Наверх | Cообщить модератору

87. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Ag (ok), 06-Окт-20, 23:12 
КОБОЛ желаете-с? ;)
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

115. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от ryoken (ok), 07-Окт-20, 08:18 
>> x86

ненужно, сразу в асм POWER.

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

130. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Урри (?), 07-Окт-20, 12:33 
Потому что студенты почитав пару статей в интернете с помощью тензорфлоу такого сделать не могут, а транслировать простые структуры в простые структуры (что вполне легко делается с помощью якк/бизон) - могут. Правда это не точно (нейросети не умеют точно(!) делать заданную работу - это заложено в самое понятие нейросети).

Посему встает вопрос - "а нехрена"? Попытаться классифицировать непонятный обфусцированный метакод и сказать на каком он языке и что, приблизительно, пытается делать - это запросто. А переводить один компьютерный язык, не допускающий вольностей в другой компьютерный язык, не допускающий вольностей - не-а?

Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

4. Скрыто модератором  –3 +/
Сообщение от Аноним (4), 06-Окт-20, 15:52 
Ответить | Правка | Наверх | Cообщить модератору

8. Скрыто модератором  +1 +/
Сообщение от Аноним (8), 06-Окт-20, 15:58 
Ответить | Правка | Наверх | Cообщить модератору

13. Скрыто модератором  –1 +/
Сообщение от Аноним (13), 06-Окт-20, 16:02 
Ответить | Правка | Наверх | Cообщить модератору

32. Скрыто модератором  +5 +/
Сообщение от Michael Shigorinemail (ok), 06-Окт-20, 16:58 
Ответить | Правка | Наверх | Cообщить модератору

93. Скрыто модератором  +1 +/
Сообщение от rshadow (ok), 07-Окт-20, 01:37 
Ответить | Правка | Наверх | Cообщить модератору

9. "Facebook развивает TransCoder для перевода кода с одного язы..."  +12 +/
Сообщение от Аноним (8), 06-Окт-20, 15:59 
Классное название! Очень инклюзивное! 🌈
Ответить | Правка | Наверх | Cообщить модератору

50. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Стартаперсмузихлёб (?), 06-Окт-20, 18:19 
Это как трансниггер, только транскодер. Что же поделать, когда родился маркетологом-гуманитарием. А в душе я программист.
Ответить | Правка | Наверх | Cообщить модератору

60. "Facebook развивает TransCoder для перевода кода с одного язы..."  +5 +/
Сообщение от анон (?), 06-Окт-20, 19:45 
В высшем обществе уже за то, что спутал программиста или программистку с транскодером, лишают социальных благ.
Достаточно использовать абсолютно нейтральное предложение: "Как в новом апдейте программисты теперь чинят черный экран в гноме?", и ты гарантированно получаешь ответ, никак не связанный с линуксом и программированием, а про жендерные принадлежности, и почему такой анон, как я, должен пройти в биореактор.
Ответить | Правка | Наверх | Cообщить модератору

64. "Facebook развивает TransCoder для перевода кода с одного язы..."  –3 +/
Сообщение от Денис (??), 06-Окт-20, 20:10 
Где вы таких находите? Я сколько ни общался на гитхабе, все адекватные.
В отличии от русских.
Исключение: швед Fredrik Mellbin, автор VapourSynth. Но, если его не облаивать, отвечает нормально.
Ответить | Правка | Наверх | Cообщить модератору

144. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от IRASoldier_registered (ok), 07-Окт-20, 20:10 
Вообще на техфорумах в среднем у _них_ уровень токсичности сильно поменьше _нашего_. У нас вероятность нарваться на ответ "кури мануалы", "ниасилятор", "а зачем тебе вообще цуникримпель?" обычное дело. С откровенным убожеством сталкивался, да, на техподдержках - но что характерно, какой-нибудь индус или вьетнамец, хотя нифига не поможет, вежлив до последнего.
Ответить | Правка | Наверх | Cообщить модератору

150. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от анон (?), 08-Окт-20, 14:28 
> Вообще на техфорумах в среднем у _них_ уровень токсичности сильно поменьше _нашего_.

Потому что у них очень много узкопрофильных форумов, которые без матчасти не сказу найдешь.

Ответить | Правка | Наверх | Cообщить модератору

152. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (152), 08-Окт-20, 19:12 
> Вообще на техфорумах в среднем у _них_ уровень токсичности сильно поменьше _нашего_

Нет. https://habr.com/ru/post/178747/

Ответить | Правка | К родителю #144 | Наверх | Cообщить модератору

155. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от IRASoldier_registered (ok), 08-Окт-20, 19:40 
И так бывает. Никто не идеален. И есть места в ИХтернете, где можно общаться "без правил" и куда, ожидаемо, стекаются неадекваты. Но у нас такого больше и неадекваты чувствуют себя вольготно везде, часто полагая своё поведение нормой - "а чо? мы не какие-то там европиндосотолерасты! прямо, по-мужски разговариваем".

Кстати, неплохо по ссылке заминусованный товарищ умывал любителей русского своеобразия.

Ответить | Правка | Наверх | Cообщить модератору

159. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от нафиг нужно (?), 09-Окт-20, 08:23 
"неплохо по ссылке заминусованный товарищ умывал любителей русского своеобразия."
Что ты имеешь против русского своеобразия? Ты нерусь?
Ответить | Правка | Наверх | Cообщить модератору

162. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от IRASoldier_registered (ok), 09-Окт-20, 22:14 
> Ты нерусь?

О, ещё один своеобразный.

Ответить | Правка | Наверх | Cообщить модератору

153. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (152), 08-Окт-20, 19:17 
> Где вы таких находите? Я сколько ни общался на гитхабе, все адекватные.

Ага, напиши в любом github репо, где коммитит https://github.com/nodejs/node/pulls/addaleax фразу  "Hi guys". Тебя обольют грязью и попросят писать "Hi folks", ибо дамы тоже программируют.

Ответить | Правка | К родителю #64 | Наверх | Cообщить модератору

154. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (152), 08-Окт-20, 19:18 
Не та линка, вот ее профиль - https://github.com/addaleax
Ответить | Правка | Наверх | Cообщить модератору

157. "Facebook развивает TransCoder для перевода кода с одного язы..."  +3 +/
Сообщение от Аноним (152), 08-Окт-20, 21:38 
Только эта дама не любит, когда называют дамой. Она ненавидит любой гендер, она типо над гендерами. Почитай ее твиттер, там кристально чистая ненависть к людям, которые не уважают ее третий гендер (к слову, местоимения she/her она тоже ненавидит). Их IT среда не менее токсичная, чем наша. Просто направление желчи немного в другое русло.
Ответить | Правка | Наверх | Cообщить модератору

158. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним84701 (ok), 09-Окт-20, 01:04 
>  Их IT среда не менее токсичная, чем наша. Просто направление желчи немного в другое русло.

Да все "нормально" там с направлением.
Просто сравнивают обычно теплое с мягким, т.е. большие, интернациональные платформы с неплохой  монетизацией (и соотв. модерацией) и любительские проекты типа опеннет.

Причем, не учитывая не только "профессиональную модерацию", но и фактор владения (неродным) английским и интернациональность платформ: токси^W красиво и заковыристо "послать по матушке", да так, чтобы оппонент несмотря на культурные различия понял, не так-то и просто.

А так, в "ихних"  "приличных" тоже вполне могут (или могли -- национальне, неанглоязыячные форумы за последние десять лет хорошо "подвымерли") намекнуть на сходство с некоторыми антомическими отверстиями (используемые для дефекации -- языковые и культурные различия сказываются), на степень умственного развития и/или образования (разве что тема "нищ3бродства" мусолится обычно в более мягких выражениях, но таки мусолится).
В более "школотронских" -- и на древнюю профессию мамы и на однополость "родителей" (или откуда именно вылезал оппонент при рождении) и на размер детородных органов и на нетрадиционные сексуальные предпочтения могут ...

Ответить | Правка | Наверх | Cообщить модератору

143. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от IRASoldier_registered (ok), 07-Окт-20, 20:06 
Бедные альтрайты. Столько фобий и так перепутаны с реальностью...
Ответить | Правка | К родителю #60 | Наверх | Cообщить модератору

62. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Денис (??), 06-Окт-20, 20:04 
> Классное название! Очень инклюзивное!

Транскодер у меня ассоциируется с видеоконвертером, а транспондер со спутником.
Но у кого что болит..

Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

85. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (85), 06-Окт-20, 22:54 
Я знал, что опеннетовцы без этого не смогу. Поэтому в оригинале я написал заголовок вроде "Транс-программист переводит код между языками программирования. Но есть нюанс."
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

11. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от InuYasha (??), 06-Окт-20, 16:01 
Двоякие чувства у меня по поводу этого проекта...
Ответить | Правка | Наверх | Cообщить модератору

106. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Vkni (ok), 07-Окт-20, 06:28 
Ну мертворожденное дело, ясен пень. В переводчиках программ с языка на язык главное - корректность. Это мы, собственно, по переводчикам на ассемблер знаем.
Ответить | Правка | Наверх | Cообщить модератору

12. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (13), 06-Окт-20, 16:01 
А в питон потому что программисты facebook больше ни на что кроме питона не способны. Да и то, даже на питон уже не способны, поэтому транслятор чтобы спокойно тырить чужой код выдавая за свой.
Ответить | Правка | Наверх | Cообщить модератору

14. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от НяшМяш (ok), 06-Окт-20, 16:02 
Ну почему же, ещё у них есть много PHP.
Ответить | Правка | Наверх | Cообщить модератору

17. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (17), 06-Окт-20, 16:08 
А, ну это в корне меняет дело.
Ответить | Правка | Наверх | Cообщить модератору

146. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от IRASoldier_registered (ok), 07-Окт-20, 20:16 
Как будто в этом есть что-то плохое.

Кстати, Facebook активно применяет Erlang, помимо прочего.

Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

39. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от заминированный тапок (ok), 06-Окт-20, 17:33 
зато если в примере убрать строчки с отдельными '{' и '}' то можно заметить, что код на C++ меньше, чем аналогичный код на питоне :-D
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

79. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от niger (??), 06-Окт-20, 22:19 
А это кого-то удивляет? Вроде и ежу понятно. Учитывая что скобки раставляют редакторы нынче сами.
Ответить | Правка | Наверх | Cообщить модератору

107. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Vkni (ok), 07-Окт-20, 06:29 
Там совершенно дикий, неидиоматический С++ переведён на такой же дикий, неидиоматический Питон. Garbage in, garbage out.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

16. Скрыто модератором  –6 +/
Сообщение от Аноним (17), 06-Окт-20, 16:08 
Ответить | Правка | Наверх | Cообщить модератору

20. Скрыто модератором  –3 +/
Сообщение от Аноним (20), 06-Окт-20, 16:21 
Ответить | Правка | Наверх | Cообщить модератору

21. Скрыто модератором  –1 +/
Сообщение от Аноним (17), 06-Окт-20, 16:25 
Ответить | Правка | Наверх | Cообщить модератору

23. Скрыто модератором  –4 +/
Сообщение от Аноним (20), 06-Окт-20, 16:28 
Ответить | Правка | Наверх | Cообщить модератору

26. Скрыто модератором  –1 +/
Сообщение от Аноним (26), 06-Окт-20, 16:42 
Ответить | Правка | Наверх | Cообщить модератору

30. Скрыто модератором  +/
Сообщение от Аноним (20), 06-Окт-20, 16:56 
Ответить | Правка | Наверх | Cообщить модератору

45. Скрыто модератором  +1 +/
Сообщение от Аноним (26), 06-Окт-20, 17:59 
Ответить | Правка | Наверх | Cообщить модератору

31. Скрыто модератором  –1 +/
Сообщение от Аноним (17), 06-Окт-20, 16:58 
Ответить | Правка | К родителю #23 | Наверх | Cообщить модератору

41. Скрыто модератором  –1 +/
Сообщение от Аноним (41), 06-Окт-20, 17:48 
Ответить | Правка | Наверх | Cообщить модератору

44. Скрыто модератором  +/
Сообщение от ksjdjfgklsjdklgfj (?), 06-Окт-20, 17:58 
Ответить | Правка | Наверх | Cообщить модератору

80. Скрыто модератором  +1 +/
Сообщение от niger (??), 06-Окт-20, 22:25 
Ответить | Правка | К родителю #41 | Наверх | Cообщить модератору

40. Скрыто модератором  +/
Сообщение от Аноним (40), 06-Окт-20, 17:34 
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

18. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (18), 06-Окт-20, 16:17 
> Python в C++

Супер! Надо будет portage транслировать и скомпилять в бинарь.

Ответить | Правка | Наверх | Cообщить модератору

22. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (22), 06-Окт-20, 16:28 
Попытайся портировать его в nuitka уже сегодня.
Ответить | Правка | Наверх | Cообщить модератору

35. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (35), 06-Окт-20, 17:04 
nuitka мутноватая вещь... Хоть и транслирует, но всё равно она тащит за собой горы питонных библиотек. Надо что-то такое, что будет еще заменять библиотечные вызовы одного языка на вызовы другого.
Ответить | Правка | Наверх | Cообщить модератору

55. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Андрей (??), 06-Окт-20, 18:55 
> Надо что-то такое, что будет еще заменять библиотечные вызовы одного языка на вызовы другого.

Действительно, ценность проекта получается на поиграться без их распознавания и замены на аналоги, имеющиеся в стандартной библиотеке языка, или популярной библиотеке (glib, logging, tracing...), или "самописные". И если проект с тестами, то ИИ мог бы спокойно поупражняться, до тех пор пока тесты будут пройдены. А вот если без тестов, тогда разработчики получили бы ещё один аргумент в пользу написания тестов.

Эх, питон/джава в Си или хотя бы в Си++ только с нативными зависимостями. Вот это было бы здорово.

Ответить | Правка | Наверх | Cообщить модератору

70. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (70), 06-Окт-20, 21:26 
Надо вначале кому-то заморочиться и этот ТрансКодер транслировать в С++ из питона
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

145. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Дерьмократ (?), 07-Окт-20, 20:11 
Зачем?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

19. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (19), 06-Окт-20, 16:18 
> использующий методы машинного обучения для преобразование исходных текстов с одного высокоуровневого языка программирования на другой

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

Ответить | Правка | Наверх | Cообщить модератору

68. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (67), 06-Окт-20, 21:16 
Ну слушай сидят деньги идут сами собой с рекламы, а заниматься сколь нибудь серезным делом они не хотят, а хотят хайпа. Выпусти они новую версих хранилища на Rust все молча так пожмут усами и дальшей подут, а если в предложении будет что-то нашумевшее в сочетании с чем-то популярным, то они еще раз пропиарят свою уродливый продукт.

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

Ответить | Правка | Наверх | Cообщить модератору

24. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (26), 06-Окт-20, 16:41 
30 лет назад уже были проекты по переводу кода на Фортране в эквивалентный код на С. Однако качество такого перевода не устроило. Поэтому проще оказалось переписать всё на С вручную.
Ответить | Правка | Наверх | Cообщить модератору

27. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (26), 06-Окт-20, 16:45 
Добавление. "Всё" - это получилось примерно 100 тысяч строк кода на С.
Ответить | Правка | Наверх | Cообщить модератору

108. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Vkni (ok), 07-Окт-20, 06:32 
f2c есть, до сих пор используется в разных местах.
Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

25. "Facebook развивает TransCoder для перевода кода с одного язы..."  +7 +/
Сообщение от Фанатик (?), 06-Окт-20, 16:41 
Для гибкости не хватает слоя трансляции гомоморфного кода - ГомоКодера
Ответить | Правка | Наверх | Cообщить модератору

28. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Фанатик (?), 06-Окт-20, 16:48 
Также для тех, кто использует только два языка программирования потребуется слой кеширования - BiCoder
Ответить | Правка | Наверх | Cообщить модератору

42. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (41), 06-Окт-20, 17:50 
А если ты pansexual или heteroflexible как быть? А если вообще nonbinary?
Ответить | Правка | Наверх | Cообщить модератору

123. "Facebook развивает TransCoder для перевода кода с одного язы..."  +3 +/
Сообщение от Аноним (85), 07-Окт-20, 10:21 
>nonbinary

Для таких извращений нужна "Сетунь".

Ответить | Правка | Наверх | Cообщить модератору

29. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним12345 (?), 06-Окт-20, 16:48 
Интересно, как происходит перевод с чистого си на питон ?
Например, работа с указателями

Ответить | Правка | Наверх | Cообщить модератору

52. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 06-Окт-20, 18:26 
а это вообще возможно? понимая, что указатель может ползать где угодно внутри структур и типов.
Ответить | Правка | Наверх | Cообщить модератору

105. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (104), 07-Окт-20, 04:56 
Ну в JS же смогли перекодировать. Просто любой указатель у них это индекс управляемого массива. Одного, на всю программу.
Ответить | Правка | К родителю #29 | Наверх | Cообщить модератору

33. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Michael Shigorinemail (ok), 06-Окт-20, 17:00 
Это уже даже не TDD, а какой-то HDD (hype driven devopsment).
Ответить | Правка | Наверх | Cообщить модератору

97. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (-), 07-Окт-20, 02:10 
ого, нам приоткрыли основной метод разработки альлинукс
Ответить | Правка | Наверх | Cообщить модератору

34. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Маняним (?), 06-Окт-20, 17:02 
На картинке даже не С++98, а С к которому зачем-то вместо printf-ов присобачили std::cout.
Ответить | Правка | Наверх | Cообщить модератору

38. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Маняним (?), 06-Окт-20, 17:32 
ЗЫ: Они бы показали как их чудо транскодер, вооружённый искусственным интелектом, переводит сам iostream хидер в джавапитон, - вот это была бы укатайка.
Ответить | Правка | Наверх | Cообщить модератору

36. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (-), 06-Окт-20, 17:07 
А оно хруст научится делать в си ? Очень была бы неплохая тулза чтоб не тащить гигабайты в систему.
Ответить | Правка | Наверх | Cообщить модератору

72. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от анонн (ok), 06-Окт-20, 21:56 
> А оно хруст научится делать в си ? Очень была бы неплохая тулза чтоб не тащить гигабайты в систему.

Интересно, откуда вы гигабайты берете, если "самодостаточный" пакет ржавчины (с собственной версией LLVM, доками которых там на 200 МiB и сорцами) весит

pkg rquery %n/%sh rust rust-nightly  
rust/695MiB
rust-nightly/494MiB

Ответить | Правка | Наверх | Cообщить модератору

77. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (77), 06-Окт-20, 22:12 
Ну даже пусть и не гигабайты. Но избавиться от лишних зависимостей тоже неплохо.
Ответить | Правка | Наверх | Cообщить модератору

81. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (52), 06-Окт-20, 22:31 
0.7 ГБ... И это только 1 установочный пакет компилятора. 0.2 ГБ - доки, это десятки тысяч страниц, в многотомных энциклопедиях и то меньше.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

88. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от анонн (ok), 06-Окт-20, 23:16 
> 0.7 ГБ... И это только 1 установочный пакет компилятора.

Выкинь сорцы и доки, будет 0.4 ГБ. Но никак не "гигабайты".
> 0.2 ГБ - доки, это десятки тысяч страниц, в многотомных энциклопедиях и то меньше.

И то ли дело с полгига qt5 доков?


Ответить | Правка | Наверх | Cообщить модератору

95. Скрыто модератором  –3 +/
Сообщение от Аноним (-), 07-Окт-20, 02:00 
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

135. Скрыто модератором  –1 +/
Сообщение от Аноним (-), 07-Окт-20, 14:04 
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

46. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от x0r (??), 06-Окт-20, 18:06 
Как запускать кто-нибудь понял?
Ответить | Правка | Наверх | Cообщить модератору

47. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (47), 06-Окт-20, 18:07 
Берешь и все gcc через javac перенаправляешь ищу сторонников кто подскажет машинка уже тут https://github.com/Griggorii/java-8-oracle_linux_modificatio...
Ответить | Правка | Наверх | Cообщить модератору

49. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Anonim (??), 06-Окт-20, 18:19 
Зачем транслятор из с++ в питон не очень понятно. Но вот из питона в с++ это прямо бомба
Ответить | Правка | Наверх | Cообщить модератору

74. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (77), 06-Окт-20, 22:09 
Из Java в C++ тоже бомба. Тонны ынтерпрайзного кода скопились.
Ответить | Правка | Наверх | Cообщить модератору

51. "Facebook развивает TransCoder для перевода кода с одного язы..."  +4 +/
Сообщение от ixrws (??), 06-Окт-20, 18:20 
Полная хрень. Впрочем любой кто более-менее серьёзно либо ковырялся в компиляторах либо сталкивался с переписыванием кода с одного языка на другой - прекрасно понимает, что никакие нейросети тут не по могут. Если эта нейросеть будет иметь мозг, как хотя бы 100 спецов на разных языках и именно что будет думать, когда переписывает код, тогда да. Но до этого нынешние нейросети никогда, то есть ни завтра, ни послезавтра, ни через 100 лет не дорастут. Они работают не так просто, человека заменить не могут, опыт не накапливают, зарплату не получают, детей не растят.
В идеале, если выкинуть нахрен эти нейросети, можно сделать компилятор скажем из python в C++ и наоборот. Но вначале он будет настолько тупой(как сейчас и есть подобные компиляторы), что конвертированный код будет непригоден вообще ни для чего. А потом, если вложить туда мегабабки и миллионы часов разработки, можно будет добиться, чтобы более-менее стандартные варианты кода оно хоть как-то бы преобразовывало не создавая кучу ошибок и результатирующий код работал бы хотя бы не медленее оригинала. Добиться же нормального преобразования кода теоретически можно, но боюсь тут уже даже мегабабки не помогут, слишком много часов разработки.

Короче говоря, нормальный преобразователь должен не только тупо делать реализацию malloc в python чтобы там работал код, который из С конвертировали. А должен будет делать в зависимости от ситуации массивы, словари, объекты. И наоборот. А не как сейчас когда скомпиляют какой-нибудь python или perl в C, а в итоге код в лучшем случае также работает, а то и медленее. Про количество ошибок порождённых и говорить нечего.

А что до юнит тестов кода, то это невозможно технически. Если бы можно было с помощью анализаторов выловить все проблемы, то никто бы даже не рыпался выдумать всякие умные указатели, rust и прочие. Просто бы добавили поддержку анализаторов во все ide и разработчик бы не ошибался. Но как мы знаем, даже Microsoft Office не может даже пунктуацию то толком исправлять. Куда уж миру нормальных анализаторов.

Ответить | Правка | Наверх | Cообщить модератору

84. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (85), 06-Окт-20, 22:48 
Не придирайся. Качество - дело наживное.
Ответить | Правка | Наверх | Cообщить модератору

102. "Facebook развивает TransCoder для перевода кода с одного язы..."  +3 +/
Сообщение от Ordu (ok), 07-Окт-20, 04:02 
> Полная хрень.

Прежде чем кидаться такими утверждениями о проделанной кем-то работе, стоит поинтересоваться тем, какие конкретно задачи автор решал, и насколько эти задачи актуальны. В новости есть ссылка на научную статью, а в научных статьях принятно об актуальности писать в абстракте (кратко) и во введении. Там же во введении всегда можно найти отсылки к related works, и узнать про то, как данное исследование/данная разработка вписывается в эти related works. И если бы ты открыл эту статью, то ты легко бы нашёл там следующее:

> Migrating an existing codebase to a modern or more efficient language like Java or C++ requires expertise in both the source and target languages, and is often costly. For instance, the Commonwealth Bank of Australia spent around $750 million and 5 years of work to convert its platform from COBOL to Java. Using a transcompiler and manually adjusting the output source code may be a faster and cheaper solution than rewriting the entire codebase from scratch. In natural language, recent advances in neural machine translation have been widely accepted, even among professional translators, who rely more and more on automated machine translation systems. A similar phenomenon could be observed in programming language translation in the future.

Это про востребованность решения. В области, где баксы крутятся сотнями миллионов, работа нацеленная на повышение продуктивности труда и снижение стоимости может оказаться очень прибыльной. При этом, если ты подумаешь, то ты поймёшь, что чем дешевле будет перевод с языка на язык, тем больше таких переводов будет выполняться -- это закон спроса-предложения из экономики. А чем больше переводов тем, потенциально, больше денег.

Правда тут есть интересные утверждения, которые не подкреплены ссылками -- было бы неплохо ссылку на описание того, что именно делал Commonwealth Bank of Australia, и по поводу профессиональных переводчиков полагающихся на поддержку машинного перевода очень хочется ссылку: откуда авторы знают про них? Где-то что-то слышали об этом? Насколько их информация достоверна? Может они на опеннете слышали об этом? Но на опеннете чего только не услышишь.

А насчёт того, что реально было сделано:

• We introduce a new approach to translate functions from a programming language to another,
that is purely based on monolingual source code.

Демонстрация нового подхода, бла-бла-бла... любопытно, конечно, но ни о чём.

• We show that TransCoder successfully manages to grasp complex patterns specific to each
language, and to translate them to other languages.

Вот это уже интереснее: человек мыслит о коде паттернами. Чтобы понять код, программист не столько разглядывает индивидуальные выражения и строчки, сколько пытается ухватить полную картину и переформулировать код в терминах типа "итерация по элементам массива", "поиск элемента в массиве", "операция fold/filter/...", инициализация... Человеку, при наличии некоторого опыта, это даётся легко, а вот алгоритмы вечно с этим имеют огромные проблемы. В то же время нейросетки отличаются от алгоритмов тем, что им выявление паттернов даётся довольно просто.

• We show that a fully unsupervised method can outperform commercial systems that leverage
rule-based methods and advanced programming knowledge.

Не совсем ясно, что имеется в виду под "advanced programming knowledge" -- но парой абзацев выше можно найти "Currently, the majority of transcompilation tools are rule-based; [...] they apply handcrafted rewrite rules. Creating them requires a lot of time, and advanced knowledge in both the source and target languages." То есть фишка в том, что для создания rule-based системы нужны дорогущие специалисты, которые шарят в исходном и целевом языке. С системой же на нейросетках можно сэкономить, посадив вместо команды таких специалистов студента, который будет принимать багрепорты в виде примеров кода, которые плохо транслируются, и загонять их в набор сэмплов для обучения нейросетки. Такого студента можно за месяц научить выполнять все эти работы и платить ему не $200k в месяц, а $50k. Это круто, резко скидывает стоимость проекта.

Но стоимость была бы не важна, если бы не "outperform commercial systems", что уже серьёзная заявка. Если коммерческие системы, которые зарабатывают денег тем, чтобы такие системы пилить и применять, могут проиграть конкуренцию нейросетке, которую может натренировать любой Васян, скачав код с github'а и прикупив себе парочку видеокарт, то это очень серьёзно. Это потенциальный game changer.

• We build and release a validation and a test set composed of 852 parallel functions in 3
languages, along with unit tests to evaluate the correctness of generated translations.

Что говорит нам о том, что эта статья не просто теоретическая статья, но вполне практическая статья, где можно надеятся найти методологию оценки/контроля качества перевода кода, которая на практике важнее, чем автоматизация перевода.

• We will make our code and pretrained models publicly available.

Ок. Это значит, что можно поиграться, и оценить перспективы "на глаз", прежде чем тратить время на серьёзное погружение в тему.

> Но до этого нынешние нейросети никогда, то есть ни завтра, ни послезавтра, ни через 100 лет не дорастут.

Такого рода утверждения в голове у человека возникают примерно так: явление X никогда не наблюдалось в прошлом, следовательно, по принципу индукции, явление X никогда не будет наблюдаться в будущем. Но фишка в том, что индукция (не матиндукция, а индукция как инструмент естественных наук) -- это довольно хитрая штука, и применять её надо аккуратно. Люди, чтобы не забывать об этом, придумали мудрое высказывание "всё когда-нибудь случается в первый раз". Оно не покрывает всех граблей применения индукции, но иногда всё же полезно.

Собственно я это к тому, что если ты не будешь думать о том, что ты думаешь, как ты думаешь, и зачем ты это думаешь, то ты продолжишь думать о всякой туфте, доказывая никому не нужные утверждения, причём потенциально ложные утверждения. Ведь ты бы мог думать совершенно другие мысли. Например о том, что у этой разработки есть потенциал изменить игровую площадку, на которой разворачивается бизнес по переписыванию кода. Такие изменения игровых площадок дают возможность новым игрокам присоединиться к игре, и одним из таких игроков можешь быть ты. Может быть тебе это неинтересно -- но это другой вопрос: если ты не научишься видеть такого рода изменения игровых площадок, у тебя не будет возможности заметить вовремя такие изменения, которые тебе будут интересны, и ты будешь узнавать об интересных тебе возможностях задним числом, то есть они для тебя будут упущенными возможностями.

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

112. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от myhand (ok), 07-Окт-20, 07:38 
> Это про востребованность решения.

Ну-ну.

> В области, где баксы крутятся сотнями миллионов, работа нацеленная на повышение продуктивности труда и снижение стоимости может оказаться очень прибыльной.

Че-т я не вижу кобола в списке этой приблуды, равно как и оценки стоимости
миграции с ее помощью.

> С системой же на нейросетках можно сэкономить, посадив вместо команды таких специалистов студента, который будет принимать багрепорты в виде примеров кода, которые плохо транслируются, и загонять их в набор сэмплов для обучения нейросетки. Такого студента можно за месяц научить выполнять все эти работы и платить ему не $200k в месяц, а $50k. Это круто, резко скидывает стоимость проекта.

Не уверен.  Положим, если вовсе не скомпилилось - это баг, который васян-студент может
загнать в базу.  А если скомпилилось, но с багом в логике, что вылетит хрен
знает когда в рантайме?

Насколько я понимаю, ни синтаксическая, ни логическая корректность получившегося
кода, даже при условии идеального оригинала (а в примерах транслируемого для
обучения - тоже могут быть баги) - не гарантируется.  Так что меня гложат серьезные
сомнения, что богатые дяденьки, крутящие ныне кобол у себя в банке - как-то сразу
ломануться за помощью к приблуде нашего друга Васи...

PS: Видел от фейсбушников (частью - тех же) статью про использование машинного
обучения в задачах компьютерное алгебры: интегрирование, решение ОДУ.  Но это примеры,
где сравнительно легко проверить корректность ответа (т.е. его синтаксическую корректность
и, например, производную для интеграла - что просто).  Это вполне имеет смысл.
А вот в данном пример - больше выглядит на то, как сейчас машинное обучение суют
во все нескромные места, если вы понимаете о чем я.

Ответить | Правка | Наверх | Cообщить модератору

121. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Ordu (ok), 07-Окт-20, 10:04 
>> Это про востребованность решения.
> Ну-ну.
>> В области, где баксы крутятся сотнями миллионов, работа нацеленная на повышение продуктивности труда и снижение стоимости может оказаться очень прибыльной.
> Че-т я не вижу кобола в списке этой приблуды, равно как и
> оценки стоимости миграции с ее помощью.

Фейсбук, как я понимаю, пилит эту штуку под свои задачи. И в фейсбуке вряд ли есть легаси на коболе. Если бы ты видел там в списке кобол и указание стоимости, в которую обошёлся перевод с кобола на C++, то тогда у меня не было бы причин говорить о том, что это _потенциальный_ game-changer, потому что наличие таких данных говорило бы о том, что это уже _упущенная_ возможность влезть на новую игровую площадку.

>> С системой же на нейросетках можно сэкономить, посадив вместо команды таких специалистов студента, который будет принимать багрепорты в виде примеров кода, которые плохо транслируются, и загонять их в набор сэмплов для обучения нейросетки. Такого студента можно за месяц научить выполнять все эти работы и платить ему не $200k в месяц, а $50k. Это круто, резко скидывает стоимость проекта.
> Не уверен.  Положим, если вовсе не скомпилилось - это баг, который
> васян-студент может
> загнать в базу.  А если скомпилилось, но с багом в логике,
> что вылетит хрен
> знает когда в рантайме?

Английский, мазафака, ты можешь в него? "Using a transcompiler and manually adjusting the output source code may be a faster and cheaper solution" Какие слова непонятны? Или вообще всё непонятно? Давай я изложу тогда подробнее то, что написано, и то что непосредственно вытекает из написанного.

Речь идёт о том, что транскомпиль используется для перевода, и результат затем обрабатывается вручную. Я процитировал в предыдущем комменте также слова о валидации, которые наводят на мысль о том, что там всё чуть интереснее, и не все проверки результата выполняются вручную. Наличие _коммерческих_ rule-based систем прямо намекает на то, что под них есть рынок и этот сценарий перевода с поддержкой транскомпиля -- это не просто фантазии автора, это вполне себе рынок, где люди работают и даже ради этого запиливают софт. Да, я согласен, ссылок недостаточно -- был бы интересен обзор такого рода проектов, как с использованием транскомпиляторов так и полностью на ручной тяге. Но тут опять же -- если тебе эта тема интересна настолько, что ты хочешь точнее оценить перспективы, то ты сам можешь провести такое исследование рынка.

myhand, ты иногда демонстрируешь проблески интеллекта, но складывается впечатление, что тебе так хочется спорить, что ты готов вышвырнуть свой интеллект в окно, натянуть клоунский колпак strawman'а, лишь бы получить хоть какую-нибудь позицию, которая позволяет спорить.

Ответить | Правка | Наверх | Cообщить модератору

126. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от myhand (ok), 07-Окт-20, 10:58 
> Фейсбук, как я понимаю, пилит эту штуку под свои задачи.

Или в фейсбуке дядиньки просто работают...  Ну вряд-ли там новую CAS пилят,
согласись, хотя статейки (куда интереснее) печатают.

Не будем делать далеко идущих выводов.

> Английский, мазафака, ты можешь в него? "Using a transcompiler and manually adjusting
> the output source code may be a faster and cheaper solution"
> Какие слова непонятны?

Непонятны не слова, а цифры.  Как ты "around $750 million and 5 years of work to convert its platform from COBOL to Java" конвертируешь в "chaper solution", если все-равно
необходимо "manually adjusting" конвертировать труд этой бредогенерилки?

> Речь идёт о том, что транскомпиль используется для перевода, и результат затем
> обрабатывается вручную.

Если раньше был необходим труд специалистов и теперь необходим труд специалистов - то в
чем разница?

> Наличие _коммерческих_ rule-based систем
> прямо намекает на то, что под них есть рынок и этот
> сценарий перевода с поддержкой транскомпиля -- это не просто фантазии автора,
> это вполне себе рынок, где люди работают и даже ради этого запиливают софт.

Этот софт работает на других принципах.  В частности, результат гарантированно
синтаксически корректен, он также не добавляет новых логических ошибок.

Да, результат обработки "rule-based" систем удобнее обрабатывать специалистам,
посколько это лишь детерминированно трансформированный человеческий input, а не продукт
надмозга, который может даже не конпилироваться.

> myhand, ты иногда демонстрируешь проблески интеллекта, но складывается впечатление, что
> тебе так хочется спорить, что ты готов вышвырнуть свой интеллект в
> окно, натянуть клоунский колпак strawman'а, лишь бы получить хоть какую-нибудь позицию,
> которая позволяет спорить.

Дон поражен в пятку...

Ответить | Правка | Наверх | Cообщить модератору

128. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Ordu (ok), 07-Окт-20, 12:18 
> Непонятны не слова, а цифры.  Как ты "around $750 million and
> 5 years of work to convert its platform from COBOL to
> Java" конвертируешь в "chaper solution", если все-равно
> необходимо "manually adjusting" конвертировать труд этой бредогенерилки?
>> Речь идёт о том, что транскомпиль используется для перевода, и результат затем
>> обрабатывается вручную.
> Если раньше был необходим труд специалистов и теперь необходим труд специалистов -
> то в
> чем разница?

А, тебе не приходилось переписывать код? Процесс может быть организован по-разному (можно переписывать сразу всё целиком, можно переписывать функцию за функцией, после каждой добиваясь работоспособности, можно переписывать большими блоками -- типа подсистему за подсистемой), но этому процессу, по-любому, неплохо было бы включать в себя фазу покрытия исходного кода тестами, которые затем можно применить к переписанному коду, с тем чтобы сравнить результаты. В любом случае -- руками ли ты переписываешь или автоматически -- тебе придётся заниматься выверкой кода, потому как привнесение новых ошибок неизбежно.

Автоматическая конвертация избавляет тебя от собственно переписывания кода. Тебе точно так же надо будет писать тесты, точно так же надо будет выяснять причины, почему тесты фейлятся. Но переписывать не надо будет. При автоматической трансляции, я полагаю, будет больше сфейлившихся тестов, и поэтому исправление багов трансляции займёт больше времени. Но переписывание кода довольно долгий процесс, это существенно быстрее, чем писать с нуля, но ты сам подумай: сколько человекочасов надо чтобы переписать 100k строк? Вот эти человекочасы вычитаются, из процесса транскомпилем, и добавляются дополнительные человекочасы на большее количество сфейлившихся тестов.

И это очень полезно: гораздо полезнее тратить время на поиск и исправление багов, нежели на переписывание. Переписывание -- это тупая рутина, которая неизбежно приводит к тому, что внимание рассеивается, концентрация теряется, и вот ты уже добавляешь один баг за другим, и при этом твои баги гораздо более креативны нежели любые баги, которые может привнести алгоритм: чем больше интеллекта, тем заморочнее его ошибки.

>> Наличие _коммерческих_ rule-based систем
>> прямо намекает на то, что под них есть рынок и этот
>> сценарий перевода с поддержкой транскомпиля -- это не просто фантазии автора,
>> это вполне себе рынок, где люди работают и даже ради этого запиливают софт.
> Этот софт работает на других принципах.  В частности, результат гарантированно
> синтаксически корректен, он также не добавляет новых логических ошибок.

Ну, эмм... я не знаю, если честно, но я бы не полагался на отсутствие логических ошибок. Синтаксические же ошибки... Ну во-первых здесь в новости написано, что они по большей части корректируются дополнительными ограничениями в декодировщике. Во-вторых, синтаксические ошибки -- это туфта. Их исправление это конечно муторная отупляющая рутина, но они правятся элементарно. Вот когда новый код ведёт себя не так, как вёл себя старый, вот тут можно серьёзно залипнуть на исследовании старого кода, который хрен пойми что и как делает, и/или выяснении причи, почему новый код ведёт себя иначе.

Но как бы там не было, нельзя полагался на результат переписывания, каким бы образом он бы не был получен -- ручным переписыванием, rule-based транскомпиль, нейросетка... какая разница? В любом случае будут привнесены новые баги, а старые неисправленные усугубятся. А раз доверия коду нет, значит валидация, валидация и ещё раз валидация. Причём не глазами -- глазами человек очень плохо ищет ошибки. Причём с нелокальными ошибками всё гораздо хуже (то есть с ошибками, которые нельзя увидеть анализируя код в окрестности какой-то строки, которые можно заметить, только если посмотреть в три разных окрестности трёх разных строк и прокрутить какой-нибудь специфический сценарий работы этого кода). Unit-тесты очень заходят, интеграционные тесты тоже весьма и весьма полезны.

Ответить | Правка | Наверх | Cообщить модератору

131. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от myhand (ok), 07-Окт-20, 12:41 
> А, тебе не приходилось переписывать код?

Милое дело!

> руками ли ты переписываешь или автоматически

Тут я не копенгаген по части практической, но теоретически - машинная трансляция
по заданным правилам как раз позволяет избежать необходимости ручной выверки кода.

> Автоматическая конвертация избавляет тебя от собственно переписывания кода.

Хороший вопрос - насколько...

> Тебе точно так же надо будет писать тесты

Не понял, а что мешает сконвертировать тесты?  Ну если они не на том же языке пишутся - так
не по олбански-же?

> При автоматической трансляции, я полагаю, будет больше сфейлившихся тестов, и поэтому исправление багов трансляции займёт больше времени.

У тебя какое-то болезненное чувство к наборам тестов.  Это полезно для выявления каких-то
тривиальных вещей, для уверенности что каждый кусок кода хоть где-то - отработал.

Но - не более.

> Вот эти человекочасы вычитаются,
> из процесса транскомпилем, и добавляются дополнительные человекочасы на большее количество
> сфейлившихся тестов.

Я опасаюсь что из этого, для начала, ты не вычел время на чтение и понимание трансконпилировавшегося (или нет) текста...  Читать машинное творчество непросто, да.

> Переписывание -- это тупая рутина

Не совсем.  Разные языки - разные стили программирования.  Т.е. если даже в рамках
одного языка - это задача, то различие языков просто вынуждает к рефакторингу.

> Ну, эмм... я не знаю, если честно, но я бы не полагался
> на отсутствие логических ошибок.

Про это я писал.  Как тебе трансляция одной логической ошибки - в две?  Или в 10?

Вот поэтому мне и кажется это бесперспективным.  В отличие от задач, где легко
можно проверить результат, но сложно его получить обычными алгоритмами.

> Во-вторых, синтаксические ошибки -- это туфта.

Да, но если человеческое время надо тратить даже на такую туфту - тушите свет.

> Но как бы там не было, нельзя полагался на результат переписывания, каким
> бы образом он бы не был получен -- ручным переписыванием, rule-based
> транскомпиль, нейросетка... какая разница?

Разница есть.  rule-based - дает определенные гарантии о поведении результата.

Ответить | Правка | Наверх | Cообщить модератору

138. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Ordu (ok), 07-Окт-20, 15:36 
>> руками ли ты переписываешь или автоматически
> Тут я не копенгаген по части практической, но теоретически - машинная трансляция
> по заданным правилам как раз позволяет избежать необходимости ручной выверки кода.

Я думаю, что такой компилятор можно написать, но он нагенерит тебе такой код, что лучше в него не заглядывать даже. Фишка ведь в том, чтобы получить код, который затем можно поддерживать.

>> Автоматическая конвертация избавляет тебя от собственно переписывания кода.
> Хороший вопрос - насколько...

Да, хороший вопрос. Судя по заявлениям этой статьи, нейросетка избавляет лучше, чем rule-based конвертация.

>> Тебе точно так же надо будет писать тесты
> Не понял, а что мешает сконвертировать тесты?

Если они есть, то их можно скомпилировать. Наверное. Возможно привнесение багов в процессе компиляции, вопрос в том, насколько, вероятно, что баг внесённый в функцию не задетектится тестом, потому что в тесте тоже появился баг.

Я не могу сказать, на самом деле, потому что я не переписывал код с поддержкой транскомпилей. Мне приходилось работать с кодом, переписанным таким образом при помощи p2c, но тот код уже был переписан до меня и уже был в работоспособном состоянии, когда мои ручки до него дотянулись. Кстати исходно я исследовал тот код, допиливая его до лучшего состояния. Например, заменяя вызовы writeln на вызовы printf. И приводя к верхнему регистру все константы объявленные через define (в исходном паскалевском коде они, видимо, употреблялись в разных регистрах, и то ли p2c, то ли тот кто правил код до компилируемого состояния, решил эту проблему посредством множественных define'ов для каждой константы -- под каждое написание константы отдельный define.

>> При автоматической трансляции, я полагаю, будет больше сфейлившихся тестов, и поэтому исправление багов трансляции займёт больше времени.
> У тебя какое-то болезненное чувство к наборам тестов.  Это полезно для
> выявления каких-то
> тривиальных вещей, для уверенности что каждый кусок кода хоть где-то - отработал.
> Но - не более.

Вопрос не в тривиальности тех вещей, которые ловятся, а в количестве тех вещей, которые не ловятся (точнее мы не можем знать это количество, и скорее надо говорить о матожидании этого количества или о вероятности напороться на такие вещи). А это уже к тому, каким образом пишутся тесты.

Кстати, когда ты переписываешь код, то можно писать тесты, которые сравнивают работу старого кода с новым. Причём не только результат работы, но и внутренние состояния программ можно сравнивать на разных этапах их выполнения. Я делал так. Понятно, что сравнивать адресные пространства побайтово не получится, даже значения переменной x из исходного кода со значением переменной x из целевого кода не всегда получится сравнить, потому что переменная может прекратить существовать или изменить смысл. Но какие-то переменные остаются, и их можно отслеживать.

Это очень напоминает фишинг. Чем больше тестов, чем подлее тесты, тем больше шансов отловить возникший баг. Плюс помогает опыт: если писать тесты, а потом разглядывать багрепорты о багах, которые проскочили сквозь сеть тестов, и при этом задаваться вопросом о том, как надо было писать тесты, чтобы эти баги не проскочили, то со временем учишься писать тесты так, чтобы через них проскакивали бы только редкие баги. Отчасти опыт можно заменить чтением книжек о тестировании и, кстати, философией. Тесты -- это тоже своего рода способ познания реальности. Нужно вогнать себя в нужный майндсет, прежде чем писать тесты -- надо целенаправленно пытаться порушить код тестом. Надо научиться чувствовать в себе неуверенность, которая возникает при идее засунуть в функцию какие-нибудь подлые данные -- если неуверенность есть, значит НАДО СРОЧНО ВЗЯТЬ И ЗАСУНУТЬ. Тесты часто пишут проверяя что код делает то, что задумано, но надо писать тесты так, чтобы заставить его сделать то, что не задумано.

Очень полезно, когда тест пишет не тот человек, который писал код, и который будет править код, чтобы тот справился с тестом, показавшим, что код кривой. Когда пишешь тесты под свой код, во-первых, сложно придумать кейс на котором код сфейлится: если ты об этом кейсе можешь подумать, то скорее всего ты уже о нём подумал, когда писал код, и учёл этот кейс в коде, и тестом ты лишь отметишь факт того, что ты об этом подумал, когда писал код. Во-вторых есть тенденция делать слишком много допущений о корректности кода -- отчасти потому, что ты точно знаешь как код написан и что он делает (точнее думаешь, что точно знаешь), отчасти потому, что где-то в глубине психики ты знаешь, что если ты напишешь тест, который порушит код, то тебе придётся тратить дополнительное время на отладку кода и исправление. Понятно, что это глупость, но так работает психика: каждый раз когда ты тестом доказал кривость кода, психика воспринимает это как наказание, начинает вырабатываться условный рефлекс, что хороший тест -- это плохо, и этот рефлекс начинает модифицировать твоё поведение в процессе написания тестов так, что ты будешь писать тесты, которые покажут, что код хороший, годный, безбажный. Надо уметь контролировать эти психические процессы, чтобы они не мешали. Или (что лучше) оставлять написание тестов кому-нибудь ещё, тому кто будет получать бонус к премии за каждый тест, который порушит твой код, для кого тест, порушивший твой код, будет не наказанием, а подкреплением и, соответственно, у него будет вырабатываться рефлекс, что хороший тест -- это хорошо. И этот рефлекс будет автоматически подталкивать его к написанию хороших, подлых тестов, так что тот кто писал код будет чертыхаться и бормотать себе под нос, что тестер извращенец и ему давно пора в психушку.

>> Вот эти человекочасы вычитаются,
>> из процесса транскомпилем, и добавляются дополнительные человекочасы на большее количество
>> сфейлившихся тестов.
> Я опасаюсь что из этого, для начала, ты не вычел время на
> чтение и понимание трансконпилировавшегося (или нет) текста...  Читать машинное творчество
> непросто, да.

Одна из фишек этих транскомпилей -- генерить читабельный код. По-крайней мере не менее читабельный чем оригинальный. Нет никакого смысла транскомпилировать, если результат нечитаемый. Точнее есть, но для совсем других задач -- это когда лень писать компилятор в машинный код, и поэтому компилируем в C, чтобы потом C скомпилировать компилятором. Но в новости речь о транскомпиляторах нацеленных на бесповоротный перевод проекта с одного языка на другой. Нет никакого смысла переводить проект с языка на язык с потерей читабельности кода.

>> Переписывание -- это тупая рутина
> Не совсем.  Разные языки - разные стили программирования.  Т.е. если
> даже в рамках
> одного языка - это задача, то различие языков просто вынуждает к рефакторингу.

Да, но через неделю-две ты понимаешь, что этот рефакторинг -- рутина. Поначалу вроде как приходится думать, но потом мышление становится ненужным, потому что все проблемы решаются из памяти по аналогии с уже решёнными проблемами. Ещё через пару недель хочется выть от того, что делаешь руками то, что можно было бы сделать алгоритмически. Я в компьютерные игры довольно давно уже не могу играть, потому что мне хочется выть от того, что большая часть активности может быть автоматизирована алгоритмически. Но тут будет ещё хуже, в этот момент начинаешь писать бажный код, потому что нет двух абсолютно одинаковых проблем, и перенося решение с одной проблемы на другую надо остановится и подумать о том, насколько такой перенос будет валидным, и поначалу останавливаешься и думаешь, но и эти мысли о валидности переноса решения становятся рутиной, и вместо того чтобы думать их, начинаешь извлекать их из памяти в обдуманном виде, и... короче рекурсии не получается, мозги начинают срезать углы и начинают лепить баги.

>> Ну, эмм... я не знаю, если честно, но я бы не полагался
>> на отсутствие логических ошибок.
> Про это я писал.  Как тебе трансляция одной логической ошибки -
> в две?  Или в 10?

Я к этому отношусь оптимистично: если используемые методы детекта логических ошибок хоть чего стоят, то мультипликация логических ошибок повышает шансы заметить их наличие, а значит и шансы на исправление. При этом, если у тебя есть исходный код и скомпилированный код и они работают по разному, то тебе придётся исследовать и тот, и этот, чтобы разобраться, и при некотором везении  ты начнёшь видеть ошибки не только привнесённые, но и те, что уже были.

> Вот поэтому мне и кажется это бесперспективным.  В отличие от задач,
> где легко
> можно проверить результат, но сложно его получить обычными алгоритмами.

А фейсбуку не кажется. И мне не кажется.

>> Но как бы там не было, нельзя полагался на результат переписывания, каким
>> бы образом он бы не был получен -- ручным переписыванием, rule-based
>> транскомпиль, нейросетка... какая разница?
> Разница есть.  rule-based - дает определенные гарантии о поведении результата.

Я не верю в эти гарантии. Если rule-based -- это механический перевод, который, например, при трансляции C++ -> Python, начнёт запиливать в Python'е модель памяти C++, указатели C++, массивы C++, и так далее, если при этом количество правил не такое уж и большое, и правила простые, если внешние API на, которые полагаются исходный и целевой код -- одни и те же, то можно довериться. Но если мы переводим код с использования STL и boost на стандартные Python'овские библиотеки или обратно, то верить такому переводу нельзя. Такой перевод потребует безумное количество правил, среди этих правил будут достаточно сложные, проверить каждое правило задачка ещё та, доказать что эти правила ни при каких условиях не помешают друг-другу практически невозможно.

Ответить | Правка | Наверх | Cообщить модератору

54. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (54), 06-Окт-20, 18:55 
столько комментов и не заметили очевидной недоработки.
последний кусок на яве обернут исключением, питоновский - нет. хотя делается это элементарно.
Ответить | Правка | Наверх | Cообщить модератору

65. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним84701 (ok), 06-Окт-20, 20:50 
> столько комментов и не заметили очевидной недоработки.
> последний кусок на яве обернут исключением, питоновский - нет. хотя делается это элементарно.

Э-э,  объявлять "foo(bar) throws XYZException" для проброса исключения в питоне не нужно.

Ответить | Правка | Наверх | Cообщить модератору

147. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (147), 07-Окт-20, 21:21 
Ни в питоне ни в с++ нет проверяемых исключений
Ответить | Правка | К родителю #54 | Наверх | Cообщить модератору

58. "Facebook развивает TransCoder для перевода кода с одного язы..."  –2 +/
Сообщение от Аноним (57), 06-Окт-20, 19:25 
Хочу исходные коды ядра Linux в C++ с использованием классов.
Ответить | Правка | Наверх | Cообщить модератору

61. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 06-Окт-20, 20:02 
Хочу забивать гвозди молотком розового цвета!
Ответить | Правка | Наверх | Cообщить модератору

100. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Ordu (ok), 07-Окт-20, 03:08 
Тебе подсказать, где продаётся розовая краска, или чё?
Ответить | Правка | Наверх | Cообщить модератору

165. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (166), 14-Окт-20, 01:37 
А почему такое угнетение гвоздей?! Это гвозди должны забирать молоток для социальной справедливости.
Ответить | Правка | К родителю #61 | Наверх | Cообщить модератору

69. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (67), 06-Окт-20, 21:21 
Проблема в том, что классы это дополнительная информация которой в оригинальном коде нет и этот транс кодер взять эту архитектуру ниоткуда не сможет, так что уровень этого инструмента пословный String Replace перевод. Короче Facebook опозорились и жалко что нет достаточно крутого издания или СМИ которые могли бы обьяснить что ханяты они херней. Вообще такое ощущение, что уровень СМИ он как бы идет с отставанием на 70 лет от актуального разития технологий.
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

132. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (57), 07-Окт-20, 13:29 
Не совсем всё грустно. Можно было бы многочисленные ядерные структуры с указателями на функции заменять на абстрактные базовые классы.
Ответить | Правка | Наверх | Cообщить модератору

137. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (137), 07-Окт-20, 14:29 
Т.е. ты знаешь нишу на миллион долларов и даже не пытаешься ее занять? Странный ты или чего-то не договариваешь.
Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

83. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от sukaslayer (?), 06-Окт-20, 22:39 
хочу исходники ядра на питоне!
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

59. "Facebook развивает TransCoder для перевода кода с одного язы..."  +3 +/
Сообщение от user90 (?), 06-Окт-20, 19:35 
Опачки! Как только я слышу про машинное обучение, то сразу понимаю, что попахивает лажей!)) Не отвергаю эту технологию, только вот применима она лишт для:
1) тупых рутинных операций,
2) с вероятностным результатом "ответа",
3) опирающихся на проработанный матаппарат.
И как это они хотят впендюрить сюда написание кода??
Ответить | Правка | Наверх | Cообщить модератору

63. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 06-Окт-20, 20:05 
> Большую часть ошибок ... удаётся устранить через добавление ограничений ... что генерируемые функции будут синтаксически корректны.

Большую часть ошибок? А остальные?! Вот так вот... Даже синтаксически могут остаться ошибки, не говоря уж про семантику.

Ответить | Правка | Наверх | Cообщить модератору

73. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (77), 06-Окт-20, 22:05 
Но квантовый компьютинг он тоже с вероятностным результатом ответа.
Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

76. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (52), 06-Окт-20, 22:12 
Про квантовые компы: это то же самое, что моделировать кирпич кирпичом.
Ответить | Правка | Наверх | Cообщить модератору

113. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от myhand (ok), 07-Окт-20, 07:44 
Там ответ можно относительно легко _проверить_.  На классическом компьютере или даже вручную.

Здесь - ты легко проверить можешь что-то тривиальное.  Т.е. канпелицца, ай нет.  А
потом ловить баги в рантайме, которые неизвестно когда проявятся...

Ответить | Правка | К родителю #73 | Наверх | Cообщить модератору

66. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (66), 06-Окт-20, 20:56 
С ошибками переводит 1:1 или абы как?
Ответить | Правка | Наверх | Cообщить модератору

75. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 06-Окт-20, 22:09 
> Большую часть ошибок ... удаётся устранить ... что генерируемые функции будут синтаксически корректны.

Получается, остаются даже синтаксические ошибки!

Ответить | Правка | Наверх | Cообщить модератору

78. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (78), 06-Окт-20, 22:17 
Гвидо не тормозит.
Ответить | Правка | Наверх | Cообщить модератору

82. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (85), 06-Окт-20, 22:38 
>Исследователями предложена новая архитектура нейронной сети "Transformer"

Она не новая, она была предложена в 2017 году другими исследователями в работе Attention is all you need. Просто state of the art - лучшие нейросети на данный момент используют её.

Ответить | Правка | Наверх | Cообщить модератору

89. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (-), 07-Окт-20, 00:31 
Перевод будет плохой - иерархии исключений (выше про них уже вспоминали) в разных языках не совпадают. А значит - не ясно на каком именно catch-е в результирующем языке нужно будет "обрабатывать исключение". А это значит - что перевод будет не эквивалентный. Итого - для мелких и неважных поделий конечно сойдёт.
ЗЫ а ошибки исправлять оно сможет? ;-)
ЗЫЫ хмммм, а может подкинуть идею PVS Studio(они тут вроде публиковались)? пусть добавят кнопку "Fix it" для части своих диагностик
Ответить | Правка | Наверх | Cообщить модератору

90. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (-), 07-Окт-20, 00:38 
>> не ясно на каком именно catch-е в результирующем языке нужно будет "обрабатывать исключение"

не ясно не только ГДЕ его обрабатывать, но и КАК

Ответить | Правка | Наверх | Cообщить модератору

91. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (91), 07-Окт-20, 00:46 
а слабо машкоды в с++ развернуть? ;)
Ответить | Правка | Наверх | Cообщить модератору

99. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (99), 07-Окт-20, 02:37 
Благодаря этому сразу видно какой питон уродливый.
Ответить | Правка | Наверх | Cообщить модератору

101. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (101), 07-Окт-20, 03:45 
На минуточку, в C++ по стандарту есть VLA?
Ответить | Правка | Наверх | Cообщить модератору

103. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 07-Окт-20, 04:25 
Какой только фегни нет в плюсах, а того, что работало в си - нету.
Ответить | Правка | Наверх | Cообщить модератору

124. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (85), 07-Окт-20, 10:27 
По факту есть. alloca называется.
Ответить | Правка | К родителю #101 | Наверх | Cообщить модератору

129. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (52), 07-Окт-20, 12:32 
По факту все языки полные, но попы горят только у сплюснутых.
Ответить | Правка | Наверх | Cообщить модератору

134. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (101), 07-Окт-20, 13:44 
В крестовом примере на картинке не аллока, получается, обoсpались
Ответить | Правка | К родителю #124 | Наверх | Cообщить модератору

141. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (141), 07-Окт-20, 18:09 
Это не VLA. VLA это когда int[] в описании структуры. int[] в параметре функции это тоже самое что int*. какой в опу alloca...
Ответить | Правка | Наверх | Cообщить модератору

148. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (52), 08-Окт-20, 01:07 
> int[] в параметре функции

Ты, походу, слепой...

Ответить | Правка | Наверх | Cообщить модератору

151. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Совершенно другой аноним (?), 08-Окт-20, 18:55 
там прямо вторая строчка C++ исходника:

void worstFit(int blockSize[], int m, int processSize[], int n) {
  int allocation[n];
...
}

строка "int allocation[n];" это VLA
Ответить | Правка | К родителю #141 | Наверх | Cообщить модератору

109. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (109), 07-Окт-20, 06:36 
А можно также бинарный код windows транслировать в c++?
Ответить | Правка | Наверх | Cообщить модератору

114. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (114), 07-Окт-20, 08:15 
А кто потом будет фиксить баги в таком коде?
Ответить | Правка | Наверх | Cообщить модератору

116. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (116), 07-Окт-20, 08:28 
дык, адназначна надо строить новый AI powered bugfixer в помощь к этой шняге
Ответить | Правка | Наверх | Cообщить модератору

117. "Facebook развивает TransCoder для перевода кода с одного язы..."  –1 +/
Сообщение от Аноним (117), 07-Окт-20, 08:43 
Не, ну а чё, хорошая идея - сначала пишем на г..не, а потом преобразовываем в норм языки.
Ответить | Правка | Наверх | Cообщить модератору

118. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от myhand (ok), 07-Окт-20, 08:51 
Garbage in - garbage out.
Ответить | Правка | Наверх | Cообщить модератору

119. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Мечтатель (?), 07-Окт-20, 09:31 
Так, глядишь, научатся проводить говнокод на любом яп в нормальный код на нем же. А там рукой подать до перевода: 1. Хочу чтобы на экране окошко вылезло. 2. Хочу чтобы в окошке написалось  Хело ворлд! 3. А ещё хочу чтобы эта штука за меня в ВК отвечала всякими умными словами и видеобложик вела с кучей лайков. 4. Хочу заработать кучу бабла ничего не делая!
Ответить | Правка | Наверх | Cообщить модератору

125. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (85), 07-Окт-20, 10:29 
>1. Хочу чтобы на экране окошко вылезло.
>2. Хочу чтобы в окошке написалось  Хело ворлд!

GPT-3 (гигантская сетка тоже на Transformer) уже это умеет.

Ответить | Правка | Наверх | Cообщить модератору

139. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Трансформатор (?), 07-Окт-20, 15:48 
Только за пределами hello world у неё это очень плохо получается.
Ответить | Правка | Наверх | Cообщить модератору

122. "Facebook развивает TransCoder для перевода кода с одного язы..."  +2 +/
Сообщение от Аноним (122), 07-Окт-20, 10:13 
Ну ок. Пусть занимаются. Хоть наркотики по падикам не употребляют.
Ответить | Правка | Наверх | Cообщить модератору

127. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (127), 07-Окт-20, 10:59 
Скорее Лицокнига развивает trapCoder
Ответить | Правка | Наверх | Cообщить модератору

133. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (57), 07-Окт-20, 13:32 
Вангую, скоро ИИ начнёт заниматься поиском уязвимостей в исходниках.
Ответить | Правка | Наверх | Cообщить модератору

140. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Анонимсан (?), 07-Окт-20, 17:12 
> ИИ начнёт заниматься поиском уязвимостей в исходниках

Это очень опасно. А вдруг ИИ начнёт эксплуатировать найденные уязвимости? Будет взламывать компьютеры хомячков, шифровать весь домашний архив с проном, а затем требовать выкуп в биткоинах? Как представлю себе это,- аж мурашки по коже.

Ответить | Правка | Наверх | Cообщить модератору

149. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (-), 08-Окт-20, 12:30 
Вы слишком хорошего мнение об ИИ. Обычно за любой любым страшным ИИ, сидит кучка обезьянок, только чубы торчат.
Ответить | Правка | Наверх | Cообщить модератору

136. "Facebook развивает TransCoder для перевода кода с одного язы..."  +1 +/
Сообщение от Аноним (137), 07-Окт-20, 14:21 
Лучше русский переводить в джаваскрипт
Ответить | Правка | Наверх | Cообщить модератору

167. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (166), 14-Окт-20, 01:46 
Вранье главного вора в правду
Ответить | Правка | Наверх | Cообщить модератору

164. "Facebook развивает TransCoder для перевода кода с одного язы..."  +/
Сообщение от Аноним (166), 14-Окт-20, 01:31 
Даешь такую же для exe и ipa. Обрезанную тётю Иду не предлагать!
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру