В 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 представила инструменты, которые позволят разработчикам создать модель машинного обучения, не написав ни строчки кода.


Автор:
Сергей Кравченко Обозреватель


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


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


Если человек не может дописать код не зная условий задачи то и никакой смарт-ассистент не сможет предложить готовый код зная только его начало.
Это как в шахматах предлагать варианты решения зная только куда ходили белые фигуры не имея никакой информации о том куда ходили черные...
29. Darklight 22 11.03.20 17:16 Сейчас в теме
(26)В том то и дело - что компьютерный смарт-ассистент не будет дописывать вторую часть программы - я этого не предлагал. Он будет дописывать либо небольшие фрагменты, динамически и параметрически меняя их под дальнейшими действиями программиста. Либо будет производить общую кодогенерцию по реперным точкам от программиста. И всё на основе собранной статистики и единой базы знаний готовых наработок + адаптации оных под текущий (уже сформированный) контекст. То есть - это лишь доведение мыслей программиста (и текущей, уже созданной архитектуры конфигурации) до определённой точки - и то, не финальной - далее программисту придётся редактировать результат самому - но большого сокращения рутины и много ещё неизвестных (или ппозабытых) ему подходов и блоков (из единой базы знаний) программист сможет получить, хотя бы в полуготовом виде. Ну а далее - дело за переходов к более декларативному программированию - на уровне сверхвысокуровневых языков - когда программист лишь в формализованном виде указывает компьютерной системе что нужно сделать, а она уже сама решает как это сделать и какие алгоритмы задействовать (ну программист тут тоже может ей частично указывать) - но это уже более далёкий уровень развития смарт-ассистентов для программиста - ближе к концу века. Хотя представители таких сверхвысокоуровневых языков есть уже сейчас - тот же SQL - пусть и пока не шибко умный, но формально удовлетворяющий официальному определению сверхвысокуровневого языка.
ну ещё примеры того, что я имел в виду в моё посте (24)
33. YanTsys 12 11.03.20 18:48 Сейчас в теме
(29) Тут недавно была ветка где ее автор из 1с-ников пытался вытянуть кто как хранит готовые наработки и примеры кода, и оказалось что большинство хранит чуть ли не в блокноте :(
23. Vladimir Litvinenko 2290 11.03.20 13:24 Сейчас в теме
(10) Ещё у них руководство интересное. Остаются программистами. Понравилась ключевая идея - постоянное улучшение IDE как продукта для инженеров. И понимание как это делать:
https://www.youtube.com/watch?v=YJd0-NLb9DA
22. herfis 363 11.03.20 11:20 Сейчас в теме
По статье не очень понятно, в какое место прикрутят машинное обучение.
Судя по всему - в алгоритмы ранжирования предлагаемых вариантов автодополнения (обучаясь на выборе пользователя).
Как по мне, реальная польза от этого может быть только в довольно узких случаях. Так что это скорее дань моде и инфоповод.
У них там все довольно хорошо и без машинного обучения.
30. Darklight 22 11.03.20 17:27 Сейчас в теме
(22)Ответ в (24) почему-то не прицепился к данному посту
24. Darklight 22 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 498 11.03.20 16:53 Сейчас в теме
(25) у них IDE не только для Java.
31. Darklight 22 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 22 12.03.20 10:15 Сейчас в теме
(38)Вопрос не в том, чтобы она была платной - вопрос в том, чтобы её разработка смогла окупиться - а вот тут то и проблема
40. Лис Р 5 12.03.20 10:37 Сейчас в теме
(39) ну только если косвенно: качественная экосистема (назовем ее так) может поднять продажи "коробок"
41. Darklight 22 12.03.20 10:41 Сейчас в теме
(40)Коробки, вроде бы и так хорошо продаются. Если и подымет продажи - то вряд ли значительно (если говорить только о новой качественной IDE - а не о подъёме всей платформы на революционно новый уровень)
42. Лис Р 5 12.03.20 10:47 Сейчас в теме
(41) Ок, мне сложно рассуждать со стороны 1С,но если б у них все было норм, то они б не проводили опросов сообщества (если это, конечно, не троллинг). Могу только сказать, что с моей стороны (разработчика), чем больше я знакомлюсь с другими ЯП и экосистемами, тем меньше интереса вызывает 1С, как с точки зрения удобства разработки, так и с точки зрения карьерных перспектив
user1311038; +1 Ответить
28. maxpiter 145 11.03.20 16:59 Сейчас в теме
Написано в 1994 году Девид Файнток, Надежда Гардемарина:
...
— Объясните, — резко произнес я. — И хватит возмущаться!
Пилот Хейнц покраснел:
— Простите, сэр. В навигационной операционной системе «Навдос» данные хранятся в файлах, обычно в буквенном представлении, прямо как их записали. Компьютеры работают так быстро, а языковые интерпретаторы настолько совершенны, что в компрессии нет никакой нужды. Программистам намного легче проводить проверки, если им остается только выводить данные на экран и читать их.
— Ну и?..
— Все файлы кончаются меткой «конец файла». Кто-то сделал эти надписи поверх метки конца файла. Фиксированные параметры Дарлы хранятся как раз перед переменными. Из-за отсутствия метки она не могла отличить одни от других. И чокнулась! Ничего удивительного!
— Но кто это сделал? — спросил я. — И зачем?
Главный инженер сердито сказал:
— В перерывах между путешествиями автоматический журнал Дарлы пересылается системным программистам в Луна-Централь. Если возникают какие-то модификации, постоянные параметры могут измениться. Программисты заносят новые данные в журнал, а потом ретранслируют его назад. В тот день они, должно быть, повеселились. — Лицо главного инженера, пока он говорил, заливалось краской.
— Программисты Военно-Космического Флота? — не поверил я своим ушам.
— Да, они, — выплюнул он. —
...

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

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

См. также

В Беларуси заработал сервис видеоконференций на основе российской облачной платформы

Новость Облачные технологии Стартапы

Сервис видеоконференцсвязи на базе российской облачной платформы IVA MCU запустили в Беларуси. Услуги предоставляет республиканский провайдер облачных услуг beCloud. 

вчера в 15:52    196    user1015646    0       

Microsoft открыла исходники для 37-летнего языка GW-BASIC

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

Microsoft представила исходный код интерпретатора языка программирования GW-BASIC. 37 лет назад он был одним из самых популярных языков для написания программ и игр. 

вчера в 11:57    301    VKuser24342747    2       

Создатель Linux отказался от Intel в пользу AMD

Новость Linux Микроэлектроника

Линус Торвальдс стал использовать для работы компьютер на базе процессора AMD. Предыдущие 15 лет он отдавал предпочтение ПК на компонентах Intel. 

27.05.2020    531    user1015646    9       

Microsoft Build 2020: переход в онлайн и главные анонсы

Новость Infostart Software Partners Маркет Новости компаний

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

26.05.2020    779    user1015646    0       

Microsoft создаст единую платформу для разработки под Windows

Новость Infostart Software Partners Маркет Новости компаний

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

25.05.2020    847    VKuser24342747    3       

Разработчик Node.js запустил новую JavaScript-платформу Deno 1.0

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

Создатель платформы для JavaScript-разработки Node.js Райан Даль выпустил первый официальный релиз нового проекта – Deno 1.0.

25.05.2020    539    user1015646    0       

Facebook создал тестовый клон своей сети и населил его умными ботами

Новость Соцсети

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

14.05.2020    847    user1015646    0       

GitHub представил сервис для облачной разработки Codespaces

Новость GitHub

Крупнейший сервис хранения репозиториев кода GitHub выпустил масштабное обновление – компания представила встроенную IDE с инструментами для облачной разработки Codespaces, форумы для обсуждения кода, средства защиты репозиториев и другие новшества

12.05.2020    1530    user1015646    1       

Состоялся релиз Linux-дистрибутива Ubuntu 20.04 LTS

Новость Linux Ubuntu

23 апреля, Canonical объявили о доступности дистрибутива Ubuntu 20.04 LTS, под кодовым названием Focal Fossa. Этот выпуск с долгосрочной поддержкой включает в себя новую тему для рабочего стола и темный режим. Под капотом вы найдете обновленное ядро Linux 5.4 и новый способ установки приложений.

08.05.2020    1398    SKravchenko    0       

Новые возможности видеомессенджера Google Duo

Новость Google Мессенджеры

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

07.05.2020    1065    SKravchenko    1       

Проверка на прочность: разработчиков заставили доказать надежность ОС «Аврора»

Новость ОС Безопасность Госзакупки Импортозамещение Мобильные приложения

Российская мобильная ОС «Аврора» должна была стать основной системой для смартфонов и планшетов, которые планировали закупать для чиновников и госкомпаний. Но чтобы госзакупки состоялись, правительство потребовало у разработчиков подтвердить надежность продукта.

07.05.2020    1580    user1015646    2       

Apple и Google объединились в борьбе с коронавирусом

Новость Mac OS Google

Apple и Google объединились для борьбы против COVID-19. В блогах компаний появился анонс разработки на основе Bluetooth, помогающей правительствам всего мира сдерживать распространение заражения

28.04.2020    1366    feva    3       

IBM возродит язык программирования COBOL

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

Компания IBM решила, что «древний» язык рано списывать со счетов, и намерена возродить его. 

28.04.2020    1985    user1015646    3       

Бесплатная конференция по управлению данными и искусственному интеллекту

Новость

24 апреля состоится бесплатная онлайн-конференция от сообщества лидеров цифровой трансформации Global CIO – «Управление данными и искусственный интеллект». 

22.04.2020    1366    kbazzh    0       

Git – 15 лет: как появилась и чего достигла самая популярная система контроля версий

Новость git

7 апреля система контроля версий Git отметила 15-летие. Решение, разработанное легендарным Линусом Торвальдсом, используют миллионы разработчиков по всему миру. Рассказываем, как создавалась система и почему она так популярна.

22.04.2020    1981    user1015646    0       

Нейросеть Microsoft будет помогать программистам допускать меньше багов

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

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

21.04.2020    1829    VKuser24342747    5       

Эксперты спрогнозировали рост рынка дата-центров из-за коронавируса

Новость Аналитика

Исследователи из iKS-Consulting пришли к выводу, что при позитивном сценарии развития пандемии российский рынок ЦОДов сохранит темп роста в 15%. При негативном произойдет замедление развития. 

20.04.2020    1339    VKuser24342747    0       

CorelDRAW Graphics Suite 2020: ИИ, быстродействие и возможность совместной работы

Новость Infostart Software Partners Искусственный интеллект Маркет

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

16.04.2020    2014    iivanov1    13       

Российские медучреждения в прошлом году приобрели более 40 тыс. копий отечественных ОС

Новость Импортозамещение Медицина

Разработчики Astra Linux рассказали о популярности своей ОС в медицинских учреждениях. За прошлый год компания продала организациям здравоохранения более 24 тыс. лицензий. Еще 20 тыс. поставила «Базальт СПО».

15.04.2020    1439    VKuser24342747    0       

Нейросеть научили расшифровывать названия товаров в чеках

Новость

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

08.04.2020    1909    user1015646    2       

Видеозвонки для всех: Mail.ru провела ребрендинг старейшего мессенджера ICQ

Новость Mail.Ru Мессенджеры

Mailr.ru Group перезапустила мессенджер ICQ. Теперь он ориентирован на групповые видеозвонки, поддерживает возможность создания быстрых ответов и разработки ботов. 

08.04.2020    2209    VKuser24342747    6       

В Liberica JDK 14 улучшилась совместимость с российскими операционными системами

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

Российская компания Bellsoft представила Liberica Java Development Kit 14. Новая версия инструментов для Java-разработчиков обеспечивает улучшенную производительность и совместимость с отечественными ОС.

02.04.2020    1712    VKuser24342747    0       

Microsoft прекратит развитие Visual Basic в качестве языка программирования

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

Разработчикам VB корпорация предложила перенести свои наработки на платформы .NET Core или .NET 5.0, где сохранится поддержка языка.

31.03.2020    2447    AnastasiaKl    11       

Программирование без кода: обзор инструментов

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

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

26.03.2020    3403    SKravchenko    7       

В России создадут систему для выявления «контактеров» с коронавирусом

Новость Минкомсвязь Мобильные приложения

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

26.03.2020    1992    Senator_I    17