В JetBrains реализовали автодополнение кода на основе машинного обучения

В JetBrains реализовали автодополнение кода на основе машинного обучения

10.03.2020     

Интегрированная среда разработки ПО IntelliJ компании JetBrains внедряет машинное обучение для автоматического завершения кода. Дорожная карта JetBrains IDE IntelliJ 2020 ускоряет машинное обучение, а также включает совместное редактирование и упрощенную обработку текстов.

Дорожная карта

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

Компания давно исследует использование машинного обучения. Ее продукты уже извлекают выгоду из некоторых результатов этого исследования. Текущие версии IntelliJ IDEA используют машинное обучение для ранжирования вариантов завершения. Языковые плагины помечают произведенные варианты атрибутами, а машинное обучение определяет какие атрибуты должны способствовать ранжированию, чтобы самые релевантные элементы отображались вверху списка.

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

Глубокое понимание кода

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

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

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

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

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

Языковая инъекция предоставляет помощь в кодировании для выбранного языка в выражениях и строковых литералах в другом языке. Например, можно вставить фрагменты кода SQL, XPath, HTML, CSS или JavaScript в литералы Java String.

Кросс-языковые рефакторинги позволяют при переименовании класса обновлять все, от класса сущности, до каждого выражения, в котором он используется.

Обнаружение дубликатов находит дубликаты фрагментов кода на лету.

Инспекции и быстрые исправления автоматически оповещают о допущенных ошибках и предлагают варианты действий.

Другие особенности

Кроме автозавершения кода, JetBrains объявил о других улучшениях для IntellIj в 2020 году:

  • Поддержка совместного редактирования. Пользователи смогут подключать свои IDE к основной системе в качестве «тонких клиентов» без необходимости прямого доступа к исходному коду. У каждого пользователя будет свое состояние с набором открытых файлов, позицией вставки, списком вариантов завершения и другими возможностями.
  • Широкое использование IDE в качестве легкого текстового редактора. Специальный режим для редактирования файлов, не связанных с проектом, также находится в стадии разработки.
  • Два режима интеграции с Git. Разработчики смогут переключаться с нового пользовательского интерфейса, который будет поддерживать «область размещения», на текущий интерфейс на основе списков изменений. Сочетание обоих режимов одновременно не представляется возможным.
  • Более простая настройка среды и интеграции. Система установит Git, Java SDK и т. д.
  • Дальнейшая интеграция в облако.
  • Модель проекта переработана с целью устранения текущих ограничений, таких как отсутствие поддержки произвольного смешения проектов разных типов. Среди преимуществ JetBrain выделяет, в частности, более быстрое открытие проектов и более плавную синхронизацию с Maven и Gradle.
  • Улучшена производительность индексирования. Пользователи также будут уведомлены в случае индексации аномалий.
  • Пересмотр модели потоков блокировки чтения/записи для решения проблемы зависаний пользовательского интерфейса.
  • Во время автоопределения больше не обнаруживаются изменения кода. Например, можно будет обнаружить изменения в объявлении метода, и соответствующим образом настроить использование.
  • Поддержка загрузки и выгрузки большинства плагинов без перезапуска. Цель состоит в том, чтобы иметь IDE, которая рассчитана для каждого проекта. Например, проекты Spring будут загружаться только с плагинами, использующими Spring.
  • Добавление возможностей Code Vision для отображения богатой контекстной информации в редакторе кода. Эта возможность уже интегрирована в IDE JetBrain для .NET.
  • Локализация IDE на основе IntelliJ на азиатских рынках с первоначальной поддержкой упрощенного китайского языка. Поддержка корейского и японского языков будет следовать.

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



Источник: https://infostart.ru/journal/news/tekhnologii/v-jetbrains-realizovali-avtodopolnenie-koda-na-osnove-mashinnogo-obucheniya_1208053/
Автор:
Сергей Кравченко Обозреватель


Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. gudun_ku 61 10.03.20 18:01 Сейчас в теме
Ну а в EDT так и невозможно комплексную автоматизацию редактировать...
lav2985; vladdv; Dmitri93; PLAstic; mihaway; portwein; maksa2005; Itilive.ru; manlak; sansys; CyberCerber; +11 Ответить
3. Brawler 481 10.03.20 18:55 Сейчас в теме
2. igo1 244 10.03.20 18:38 Сейчас в теме
Это нам зачем? не сыпьте соль на рану...
VVi3ard; dock; portwein; maksa2005; CyberCerber; Itilive.ru; manlak; +7 Ответить
4. Brawler 481 10.03.20 18:56 Сейчас в теме
(2) Боитесь машины заменят программистов?)))
7. MikhailDr 11.03.20 08:09 Сейчас в теме
(4) Машина никогда не сможет понять 1С. Там ведь нужна логика.
8. Brawler 481 11.03.20 09:01 Сейчас в теме
(7) Завтра машины уже будут писать сами себя на ими же придуманном языке программирования))
13. iozik 11.03.20 10:36 Сейчас в теме
(7) в хотелках бухгалтерии никакой логики нет )
15. Лис Р 5 11.03.20 11:07 Сейчас в теме
(13) Зря вы так, главная хотелка бухгалтерии - успешно отчитаться в надзорные органы. Другое дело, что в предлагаемых ими способах решения логика и здравый смысл прихрамывают, но со стороны "бухгалтерской логики" - все ок
17. Darklight 27 11.03.20 11:12 Сейчас в теме
(15)Бухгалтера - вообще лишняя трудовая прослойка - лет через 50 в большинстве своём - отомрут нафиг - эта профессия уже обречена! Максимум кто ещё будут востребованы - аналитики-аудиторы-методологи ну может главбухи - их будут подготавливать и взращивать очень долго и сложно - и стоить будут они не дёшево - но и потребности в них особо большой не будет - в основном будут AI системы натаскивать, да новые модели учета разрабатывать - для единой базы знаний! Ну и заказные проверки устраивать - где работу AI нужно будет сверить. Или кто-то закажет себе индивидуальную ОСОБУЮ оптимизацию учётного процесса.
SKravchenko; +1 Ответить
9. 3vs 11.03.20 09:08 Сейчас в теме
(4)Нет, программист будет писать первую строчку кода, остальное будет додумывать ИИ! :-)
11. igo1 244 11.03.20 09:49 Сейчас в теме
(4)Нет, просто сравниваю с новейшей системой от 1С на EDT.
vladdv; dock; +2 Ответить
5. comol 4495 10.03.20 23:29 Сейчас в теме
В 1C Must Have. Кто подпишется под OpenSource проект - наверное плагин к Turboconf и/или EDT
6. Лис Р 5 11.03.20 08:08 Сейчас в теме
Отправьте ссылку разработчикам EDT и их руководство в копию
10. Darklight 27 11.03.20 09:39 Сейчас в теме
Правильной дорогой идут товарищи из JetBrains. За такими умными IDE будущее - просто сейчас это ещё детский лепет, а лет через 20-30 встроенные в IDE смарт-ассистенты будут очень активно динамически и статически помогать по писать новый, анализировать и рефакторить код. В том числе, будут применять глобальные базы знаний в т.ч. с готовыми шаблонами алгоритмов. Деятельность программиста будет сводится лишь к понятному указанию смарт-ассистету того, что он хочет сделать в данный момент (поначалу это будут мелккие фрагменты алгоритмов, но сов временем они начнут укрупняться), далее к выбору предложенных смарт-ассистентом вариантов решений (уже адаптированных их обобщённых шаблонов к текущему контексту), и далее программисту потребуется лишь навести небольшой лоск в готовом коде. Ну и можно ставить новую задачу смарт-ассистенту.

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

Именно такие технологии сейчас привлекают молодёжь - на термин "машинное обучение" она слетается как мухи на... МЁД! Потому что чувствует - именно за этим будущее - и осваивать его нужно уже сейчас! Становится спецами, и потом на волне тренда - рубить бабло (в крепкой валюте)!

Компании 1С такое видимо даже не снится. И ожидать даже примитивного машинного обучения в обозримом (на десятилетия) будущем тут не стоит (самим такое разработать - задача очень трудоёмкая, разве что - заключить партнёрское соглашение с тем, кто уже собаку на этом съел - хотя бы с той же - JetBrains).
Kolobash95; WizaXxX; vladdv; +3 Ответить
12. Лис Р 5 11.03.20 10:06 Сейчас в теме
(10) Несмотря на все опросы сообщества, компании 1С это все нафиг не нужно
lav2985; PLAstic; +2 Ответить
14. Darklight 27 11.03.20 11:06 Сейчас в теме
(12)Поэтому написал - что им (компании 1С) и не снится это даже! Всё надеяться - что кто-нибудь прикрути их болото к крутому редактору (хоть к JetBrains) в виде плагинов и напишет свой компилятор для расширенного синтаксиса языка 1С (или иного) в опкоды стековой машины 1С (или конвертер из LLVM в стековую машину 1С), и ещё напишет вообще свой альтенативный фреймворк - куда можно будет подключить конфигурации 1С - и там их исполнять без лицензии на платформу 1С, и вообще - напишет свои конфигурации для этой платформы без всякого участия 1С.

ФАНТАСТИКА - конечно ДА - но иногда так сладко об этом пофантазировать!

В РЕАЛЬНОСТИ же - просто программисты окончательно сбегут из 1С туда - где платят больше (и в твёрдой валюте) - а программировать будет куда кайфовее и перспективнее! И входить в профессию будет куда проще и быстрее, и дешевле!
user1311038; Лис Р; +2 Ответить
16. Лис Р 5 11.03.20 11:11 Сейчас в теме
(14) Согласен, просто этим "андроидам" сняться другие "электроовцы".

Почитал тут, что для публикации своей "нетленки" через 1С фреш, нужно у 1С купить соответствующую библиотеку... за 72000р - монетизация просто огненная.
18. Darklight 27 11.03.20 11:13 Сейчас в теме
(16)Да на кой он сдался Вам этот Фреш.... пусть сами варятся в этом болоте
user1311038; +1 Ответить
19. Лис Р 5 11.03.20 11:17 Сейчас в теме
(18) За такую цену - однозначно нафиг
20. YanTsys 12 11.03.20 11:17 Сейчас в теме
(10) Вы сами сможете увидев первую половину программы не зная ничего о поставленной задаче написать вторую половину программы?
21. Darklight 27 11.03.20 11:18 Сейчас в теме
(20)я такого и не предлагал даже
26. YanTsys 12 11.03.20 16:45 Сейчас в теме
(21)
Darklight: я такого и не предлагал даже


Darklight: и далее программисту потребуется лишь навести небольшой лоск в готовом коде


Если человек не может дописать код не зная условий задачи то и никакой смарт-ассистент не сможет предложить готовый код зная только его начало.
Это как в шахматах предлагать варианты решения зная только куда ходили белые фигуры не имея никакой информации о том куда ходили черные...
29. Darklight 27 11.03.20 17:16 Сейчас в теме
(26)В том то и дело - что компьютерный смарт-ассистент не будет дописывать вторую часть программы - я этого не предлагал. Он будет дописывать либо небольшие фрагменты, динамически и параметрически меняя их под дальнейшими действиями программиста. Либо будет производить общую кодогенерцию по реперным точкам от программиста. И всё на основе собранной статистики и единой базы знаний готовых наработок + адаптации оных под текущий (уже сформированный) контекст. То есть - это лишь доведение мыслей программиста (и текущей, уже созданной архитектуры конфигурации) до определённой точки - и то, не финальной - далее программисту придётся редактировать результат самому - но большого сокращения рутины и много ещё неизвестных (или ппозабытых) ему подходов и блоков (из единой базы знаний) программист сможет получить, хотя бы в полуготовом виде. Ну а далее - дело за переходов к более декларативному программированию - на уровне сверхвысокуровневых языков - когда программист лишь в формализованном виде указывает компьютерной системе что нужно сделать, а она уже сама решает как это сделать и какие алгоритмы задействовать (ну программист тут тоже может ей частично указывать) - но это уже более далёкий уровень развития смарт-ассистентов для программиста - ближе к концу века. Хотя представители таких сверхвысокоуровневых языков есть уже сейчас - тот же SQL - пусть и пока не шибко умный, но формально удовлетворяющий официальному определению сверхвысокуровневого языка.
ну ещё примеры того, что я имел в виду в моё посте (24)
33. YanTsys 12 11.03.20 18:48 Сейчас в теме
(29) Тут недавно была ветка где ее автор из 1с-ников пытался вытянуть кто как хранит готовые наработки и примеры кода, и оказалось что большинство хранит чуть ли не в блокноте :(
23. Vladimir Litvinenko 2507 11.03.20 13:24 Сейчас в теме
(10) Ещё у них руководство интересное. Остаются программистами. Понравилась ключевая идея - постоянное улучшение IDE как продукта для инженеров. И понимание как это делать:
https://www.youtube.com/watch?v=YJd0-NLb9DA
22. herfis 404 11.03.20 11:20 Сейчас в теме
По статье не очень понятно, в какое место прикрутят машинное обучение.
Судя по всему - в алгоритмы ранжирования предлагаемых вариантов автодополнения (обучаясь на выборе пользователя).
Как по мне, реальная польза от этого может быть только в довольно узких случаях. Так что это скорее дань моде и инфоповод.
У них там все довольно хорошо и без машинного обучения.
30. Darklight 27 11.03.20 17:27 Сейчас в теме
(22)Ответ в (24) почему-то не прицепился к данному посту
24. Darklight 27 11.03.20 14:50 Сейчас в теме
Ну конечно же - в первую очередь ради автодополнения. Вот, кстати, пример как может быть
1. Пишу "?Для " //? - поставил специально - как флаг для Смарт помошника - что мне нужна помощь
2. Мене сразу формируют вот такой текст "?Для ?Индекс Из " //? у Индекса говорит о том, что этоа конструкция ешё не утверждена
3. Пишу после Из КакаяТоКоллекция
3. Мне сразу формируют
"?Для ?Элемент Из КакаяТоКоллекция Цикл"
//курсор тут
КонецЦикла;"
4. Я пишу "?Элемент=Строка."
5. И мне сразу всё заменяется на
"?Для ?Строка Из КакаяТоКоллекция Цикл
?Строка.
КонецЦикла;"
6. А теперь представим, КакаяТоКоллекция - это коллекция элементов на форме и я уже имею разные наработки алгоритмов обработки данной коллекции - и IDE их знает - тогда она мне тут же в окошке предлагаети выбрать один из них. например такой:
7. "Если ГруппыДоступа(?ГруппаДоступа, Строка.Родитель) Тогда //Здесь ? - это параметр шаблона
Строка.Видимость = Ложь;
КонецЕсли;"
8. Я соглашаюсь и мне нужно только в отдельном поле выбрать значение для ГруппаДоступа - причём мне там их тоже в списке отфильтруют по частоте использования и доступных в текущем контенте (а если не будет нужно - предложат выдрать из другого шаблона их добавление) и я получу код:

"?Для ?Строка Из КакаяТоКоллекция Цикл
?Если ГруппыДоступа(?ГДОператорыСклада, ?Строка.Родитель) Тогда
?Строка.Видимость = Ложь;
КонецЕсли;
КонецЦикла;"

9. Нажимаю CTRL+ENTER - и код фиксируется (при желании его потом можно обратно конвертироватаь в шаблон):
Для Строка Из КакаяТоКоллекция Цикл
        Если ГруппыДоступа(ГДОператорыСклада, Строка.Родитель) Тогда
              Строка.Видимость = Ложь;
        КонецЕсли;
КонецЦикла;


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

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

Ещё одной моделью применения ML - может быть такой сценарий:
1. Смарт-ассистенту подаётся какой-то исходный контекст (архитектура данных, и уже написанный программный код); может быть несколько контекстов на входе
2. И подаются различены тэги, которые могут быть дополнительно параметрически привязаны к какими-то данным, или алгоритмам из исходных; главное чтобы по этим тэгам уже ранее была набрана статистика (т.е. они были связаны с готовыми алгоритмами).
3. А смарт ассистент это всё анализирует и выдаёт наборы готовых алгоритмов, которые были связаны с этими тэгами ранее, но уже в контексте новой структуры данных и алгоритмов - т.к. проводит их скрещивание
4. Программисту остаётся только настроить некоторые вариативные параметры, поправить ошибки, ну и скомпоновать воедино готовые блоки кода, и дописать ту логику, которую смарт-ассистент ещё не знает (иди поискать её более точными или более общими запросами).

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


Или ещё сценарий:
Программист может писать алгоритм очень обобщённо без деталей реализации - почти как бы на псевдокоде - а смарт-ассистент будет потом этот псевдокод-код использовать как схему декларирования намерений - и подбирать для него конечные реализации исходя из конкретного контекста применения, имеющихся библиотек и статистики алгоритмов. Далее производить кодогенераци. Программисту останется только внести исправления. И дописать куски, где смарт-ассистент не "дотюкал" - а он на основе этих исправлений наберёт новую статистику
Vladimir Litvinenko; +1 Ответить
25. Mortum 11.03.20 16:07 Сейчас в теме
Ну всё. Пошли все учить Java, ибо 1с безнадёжна.
27. ltfriend 659 11.03.20 16:53 Сейчас в теме
(25) у них IDE не только для Java.
31. Darklight 27 11.03.20 17:33 Сейчас в теме
(27)1С сейчас питает любовь к Java - того глядишь к середине века выйдет новая платформа 1С: Предприятие 9 - с Java в качестве базового ЯП - ну или хотя бы на Java-машине (при сохранении общего синтаксиса 1С но его большом сходстве с языком Java (ну походим на язык Kotlin), в его версии, актуальной к тому моменту, хотя бы в английской раскладке), и с возможностью подключать практически произвольные Java-библиотеки (причём не обязательно на Java языке). А IDE будет разработана самой JetBrains - они уже руку на создании IDE ух как набили - у них есть IDE даже для прикладного программирования! Не понятно, почему 1С связалась с Eclipse - лучше бы слили в JetBarains весь проект по созданию отдельной IDE для 1С - те бы 100% справились. Вот только сколько бы это стоило. Сейчас EDT можно считать условно бесплатным, на то и был расчёт, видимо (хотя со временем ситуация может измениться - когда EDT существенно обгонит конфигуратор почти во всём). А все IDE от JetBrains - это платные продукты, не дешёвые. Хотя - если бы на таком уровне была IDE для 1С - то может, действительно, её тогда можно было бы реально продавать по цене как пол платформы за лицензию (ну обычно компаниям не так много таких лицензий надо - разве что франчам - ну им хорошую скидку сделать можно). Но, всё-равно, это ещё вопрос - даже по 200$ (хотя цены на IDEA куда выше и платить нужно каждый год) если продавать и такую IDE дейсвтительно будут более менее активно покупать (ну хотя бы по 1000 лицензий в год после 5 лет раскрутки, в среднем по 100$ - с учетом всевозможных скидок, так чтобы 1С получила хотя бы 50$ c лицензии дохода) - окупится ли такое партнёрство даже лет за 10? Очень сомневаюсь. Но кадровый голод, вероятно, заметно бы поубавился (если будет и фриварная IDE)!
Эх.... раскатал губу....
38. Лис Р 5 12.03.20 09:32 Сейчас в теме
(31) Если мифическая платная IDE для 1С в разы увеличит скорость разработки, то не вижу ничего криминального в ее платности. Просто ее будут покупать франчи (в текущей конфигурации бизнеса 1С) или крупные организации со своим штатов программистов, где критична скорость и качество разработки, а для мелкого бизнеса, которому "только печатную форму поправить", хватит и бесплатного Конфигуратора. Зато наличие качественной IDE, глядишь, привлекло бы свежие кадры в 1С, но это не точно.

У той же IntelliJ IDEA есть бесплатная Community-версия, например.
39. Darklight 27 12.03.20 10:15 Сейчас в теме
(38)Вопрос не в том, чтобы она была платной - вопрос в том, чтобы её разработка смогла окупиться - а вот тут то и проблема
40. Лис Р 5 12.03.20 10:37 Сейчас в теме
(39) ну только если косвенно: качественная экосистема (назовем ее так) может поднять продажи "коробок"
41. Darklight 27 12.03.20 10:41 Сейчас в теме
(40)Коробки, вроде бы и так хорошо продаются. Если и подымет продажи - то вряд ли значительно (если говорить только о новой качественной IDE - а не о подъёме всей платформы на революционно новый уровень)
42. Лис Р 5 12.03.20 10:47 Сейчас в теме
(41) Ок, мне сложно рассуждать со стороны 1С,но если б у них все было норм, то они б не проводили опросов сообщества (если это, конечно, не троллинг). Могу только сказать, что с моей стороны (разработчика), чем больше я знакомлюсь с другими ЯП и экосистемами, тем меньше интереса вызывает 1С, как с точки зрения удобства разработки, так и с точки зрения карьерных перспектив
user1311038; +1 Ответить
28. maxpiter 146 11.03.20 16:59 Сейчас в теме
Написано в 1994 году Девид Файнток, Надежда Гардемарина:
...
— Объясните, — резко произнес я. — И хватит возмущаться!
Пилот Хейнц покраснел:
— Простите, сэр. В навигационной операционной системе «Навдос» данные хранятся в файлах, обычно в буквенном представлении, прямо как их записали. Компьютеры работают так быстро, а языковые интерпретаторы настолько совершенны, что в компрессии нет никакой нужды. Программистам намного легче проводить проверки, если им остается только выводить данные на экран и читать их.
— Ну и?..
— Все файлы кончаются меткой «конец файла». Кто-то сделал эти надписи поверх метки конца файла. Фиксированные параметры Дарлы хранятся как раз перед переменными. Из-за отсутствия метки она не могла отличить одни от других. И чокнулась! Ничего удивительного!
— Но кто это сделал? — спросил я. — И зачем?
Главный инженер сердито сказал:
— В перерывах между путешествиями автоматический журнал Дарлы пересылается системным программистам в Луна-Централь. Если возникают какие-то модификации, постоянные параметры могут измениться. Программисты заносят новые данные в журнал, а потом ретранслируют его назад. В тот день они, должно быть, повеселились. — Лицо главного инженера, пока он говорил, заливалось краской.
— Программисты Военно-Космического Флота? — не поверил я своим ушам.
— Да, они, — выплюнул он. —
...

Автоподстановка и ИИ это круто, но пользоваться этим будет не менее опасно.
32. Darklight 27 11.03.20 17:34 Сейчас в теме
(28)Пока речь только о подконтрольном самим программистом применении
34. maxpiter 146 11.03.20 20:15 Сейчас в теме
(32) с подконтрольной все и начинается :)
Не, я совсем не критикуют, наоборот, это круто. Без использования автоподстановки в IDE вообще страшно представить как раньше было, а OpenConf в 7.7 с подстановщиком позволило 1С существенно шагнуть в программистские массы.
Идею блочного (CASE) программирование впервые услышал в 1997 году и по-моему это то, к чему все придёт. Программисты, такие как 1Сники, сишники, жаберы и прочие, увы, вымрут, т.к. сама наша специальность по большому счету надумана отсутствием удобных и простых интерфейсов, а чем больше мы напишем универсальных блоков и автоматических алгоритмов, тем быстрее кончимся. Но ещё лет 20 есть :)
35. Darklight 27 11.03.20 21:38 Сейчас в теме
(34)
Но ещё лет 20 есть

Берите больше - думаю у современных программистов лет 50-80 ещё есть - далее просто революционно само программирование сильно изменится, но даже тогда будет потребность в относительно низкоуровневом программировании алгоритмов - и эта потребность скорее всего будет востребована ещё как минимум век, постепенно, очень медленно снижаясь.
Что касабельно декларативного программирования бизнес моделей - то тут всё только начинается и весь следующий век, скорее всего, тоже будет востребовано - хотя да - такое программирование каждые пол века будет видоизменяться очень существенно (с большим перекосом в сторону отдачи прямых и косвенных команд исполнительной системе - но - всё-таки это ещё будет программирование). В итоге - уже к концу следующего века (а начнётся всё ещё во второй половине этого века) AI системы научатся, как чётко разбирать ТЗ (сначала, затем и более неформальные описания постановки задач), так и оптимизировано их выполнять, опираясь на уже накопленную за десятилетия базу знаний алгоритмов; а так же, в конечном итоге, AI системы начнут проводить исследования и эксперименты на предмет создания новых алгоритмов.
И да, уже к концу этого века AI системы-таки научатся писать программы самостоятельно, а концу следующего века - они будут делать это эффективнее человека почти во всех областях. Но лет 200 профессия программиста - ещё просуществует (в том или ином виде) - а далее - AI, скорее всего, превзойдут людей практически во всём. И наступит либо идиллия. Либо деградация для человеческого рода. Ну, если люди (или, вдруг, машины, а может инопланетяне) не уничтожат род человеческий ещё раньше, или не отбросят его назад - в каменный век
36. maxpiter 146 12.03.20 00:26 Сейчас в теме
(35) 200 лет нашему обществу - это прям что-то невероятное. В таком состоянии как сейчас общество, а человек в нем, не могут полноценно развиваться и должны себя уничтожить, что бы возродиться. Плавных переходов никогда? не было.
Сейчас развитие в основном идёт для того, чтобы бабла заработать, а не технологию особо полезную для человечества реализовать. Куда не посмотри, жкх, медицина, образование ю, наши политики и "элита", очевидные вещи и проблемы, но мы усиленно изобретаем новые велосипеды.
Извиняюсь, это уже оффтоп.
JetBrains рулят!!!
37. Darklight 27 12.03.20 09:19 Сейчас в теме
(36)Ну, человечество ранее и не из такого мрака выбиралось - так что шанс всегда есть
Оставьте свое сообщение

См. также

Самые медленные языки программирования с динамической типизацией

Новость ИТ-новость Языки программирования

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

вчера в 15:20    886    SKravchenko    2       

Мэрия Москвы разработала мессенджер для замены Telegram и Skype

Новость Импортозамещение ИТ-новость Мессенджеры

Российская компания ID Partner совместно с правительством Москвы создала приложение TDM Messenger. Согласно описанию, оно позволяет полностью заменить другие мессенджеры, в том числе Telegram и Skype.

02.03.2021    1636    VKuser24342747    6       

Совсем взрослый стал: Python исполнилось 30 лет

Новость ИТ-новость Языки программирования

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

02.03.2021    864    user1015646    1       

Энтузиасты создали для популярного эмулятора патч с поддержкой процессоров «Эльбрус»

Новость ИТ-новость Микроэлектроника Новости компаний

Свободный эмулятор QEMU получил неофициальную поддержку отечественной архитектуры процессоров «Эльбрус». В разработке реализовано около 80% набора инструкций «Эльбрус-8С».

01.03.2021    1813    VKuser24342747    0       

Российский разработчик создал неофициальную версию Clubhouse для Android

Новость Android ИТ-новость Мессенджеры Мобильные приложения

Бывший разработчик из «ВКонтакте» Григорий Клюшников выпустил приложение для Android, предоставляющее доступ к большинству функций Clubhouse. Официально соцсеть доступна только пользователям iOS.

26.02.2021    2123    VKuser24342747    0       

Масштабное обновление Trello: пять новых видов досок и интеграция с Google Docs

Новость ИТ-новость Новости компаний

Компания Atlassian выпустила масштабное обновление сервиса управления проектами Trello. Разработчики изменили дизайн, добавили пять новых видов досок и реализовали для карточек возможность отображать информацию из сторонних сервисов.

25.02.2021    3793    user1015646    0       

Видеоигра на базе нейросетевого генератора текстов стала бизнес-консультантом

Новость Видеоигры Искусственный интеллект ИТ-новость

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

25.02.2021    2210    VKuser24342747    1       

В ближайшие годы возрастет потребность в персонале центров обработки данных

Новость Дата-центры ИТ-новость Цифровая экономика

Согласно отчету Uptime Institute, количество сотрудников, необходимых для обеспечения работы ЦОД, вырастет с 2 млн. в 2019 году до 2,3 млн. в 2025 году.

24.02.2021    2164    SKravchenko    0       

Google кардинально изменит дизайн Android 12

Новость Android Google ИТ-новость Мобильные приложения Новости компаний

Компания Google анонсировала глобальное обновление популярной операционной системы Android. Новая версия выйдет под номером 12. Говорят, что Android 12 назовут «Snow cone» – летний десерт из сладкого колотого льда.

24.02.2021    2562    mouse187    0       

Google представила новый сервис для поиска уязвимостей в открытом ПО

Новость Google Безопасность ИТ-новость

Компания Google запустила платформу с открытым исходным кодом OSV (Open Source Vulnerabilities). Она создана для поиска и закрытия уязвимостей в свободном ПО.

18.02.2021    1349    user1015646    0       

Отечественная компания представила сервер приложений Java EE

Новость ИТ-новость Новости компаний Языки программирования

Российская компания Bellsoft представила отечественный аналог сервера Oracle и IBM для JavaEE. Раньше продукт на базе открытого кода был доступен только для некоторых клиентов организации.

17.02.2021    2384    VKuser24342747    4       

Rustоманы из Долины: Google, Microsoft, Huawei, Mozilla и AWS основали фонд поддержки языка программирования

Новость Google ИТ-новость Новости компаний Языки программирования

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

16.02.2021    1620    user1015646    0       

В Microsoft Teams появилась платформа для общения и обучения

Новость Интернет ИТ-новость Мессенджеры Новости компаний

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

15.02.2021    3201    user1015646    0       

Google рассказала, как защищает Android от взломов

Новость Android Google Безопасность ИТ-новость

Google опубликовала информацию о том, как компания пытается улучшить безопасность Android, и какие шаги предпринимаются для борьбы с распространенными угрозами. Отчеты об уязвимостях играют в этом значительную роль.

12.02.2021    1925    SKravchenko    0       

Для регионов разработают приложение онлайн-записи на прием к врачам

Новость ИТ-новость Медицина Минкомсвязь Цифровая экономика

О возможностях приложения рассказали в Минздраве и Минцифре.

10.02.2021    1936    Senator_I    2       

Google разработает новую мобильную ОС

Новость MobileOS Google ИТ-новость Мобильные приложения

Корпорация Google создаст мобильную операционную систему для повышения безопасности использования устройств. Проект запущен под рабочим названием microdroid.

09.02.2021    2164    user1015646    0       

Google закрывает собственную игровую студию Stadia

Новость Google Видеоигры ИТ-новость Новости компаний

1 февраля Google официально закрыл собственную студию разработки игр для проекта Stadia, чтобы сосредоточить внимание на технологиях, лежащих в основе платформы.

09.02.2021    1526    SKravchenko    0       

Google представила технологию для замены cookies

Новость Google Интернет ИТ-новость

Методы сбора файлов cookies для повышения точности подбора рекламы не раз упрекали в нарушении личного пространства пользователей. Компания Google представила технологию, которая позволит отказаться от cookies и повысить уровень конфиденциальности.

09.02.2021    1284    user1015646    0       

Украинская команда FireWay одержала победу в хакатоне NASA Space Apps Challenge 2020

Новость ИТ-новость Стартапы

Украинская команда FireWay из Днепра стала победителем международного хакатона NASA Space Apps Challenge. Их изобретение было описано как «решение, которое демонстрирует наиболее инновационное использование технологии».

05.02.2021    2004    SKravchenko    2       

Китайцы разработали целых две альтернативы Flash

Новость Интернет ИТ-новость

Китайцам пришлось разработать собственную технологию ReFla взамен Flash для предотвращения сбоев в работе систем. Также они выпустили доработанную версию Flash Player с кодом 34.0.0.92.

04.02.2021    2143    mouse187    4       

Популярные дистрибутивы Linux могут лишиться поддержки Chromium

Новость Linux Google Интернет ИТ-новость

Из дистрибутивов Arch Linux, Fedora, Debian, Slackware и openSUSE может исчезнуть поддержка браузеров на движке Chromium. Причина – жесткие правила Google, из-за которых возникли проблемы с синхронизацией данных.

03.02.2021    2417    user1015646    3       

Microsoft участвует в разработке цифрового паспорта вакцинации от Covid-19

Новость ИТ-новость Медицина

Крупнейшие корпорации из сектора здравоохранения и ИТ-гиганты, такие как Microsoft, Salesforce и другие, объединились для создания цифровых идентификационных карт, которые подтверждают статус вакцинации против Covid-19.

02.02.2021    1788    capitan    3       

Что нового в Chrome 88: проверка надежности паролей и поддержка профилей

Новость Google Интернет ИТ-новость

Компания Google представила новый релиз браузера Chrome и обновила движок Chromium. Теперь ПО будет предупреждать о небезопасных паролях, а пользователь сможет создать привязанный к учетной записи профиль для персонализации работы в сети.

01.02.2021    2258    user1015646    0       

280 символов для науки: Twitter откроет доступ ученым к архиву твитов

Новость ИТ-новость Соцсети

Twitter предоставит академическим исследователям социальных сетей бесплатный доступ почти ко всем твитам. Исключение площадка сделает только для заблокированных аккаунтов.

29.01.2021    1511    VKuser24342747    1       

Отключение Flash на сутки лишило город железнодорожных служб

Новость Интернет ИТ-новость

Прекращение поддержки Flash парализовало работу железнодорожной сети китайского города-миллионника. Организация проигнорировала предупреждения Adobe о грядущем отключении технологии.

29.01.2021    1901    VKuser24342747    1