LINUX.ORG.RU

Ваш любимый язык/языки программирования?

 


2

5

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

  1. C 224 (32%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Python 198 (28%)

    ******************************************************************************************************************************************************************************************************************************************************************************************

  3. C++ 171 (24%)

    ****************************************************************************************************************************************************************************************************************************************************

  4. Java 91 (13%)

    **********************************************************************************************************************************

  5. Go 90 (13%)

    ********************************************************************************************************************************

  6. Shell (bash, sh, zsh и тд.) 89 (13%)

    *******************************************************************************************************************************

  7. Rust 81 (12%)

    *******************************************************************************************************************

  8. Pascal (включая fpc, Delphi и др.) 78 (11%)

    ***************************************************************************************************************

  9. PHP 59 (8%)

    ************************************************************************************

  10. Assembler 59 (8%)

    ************************************************************************************

  11. JavaScript 56 (8%)

    ********************************************************************************

  12. Perl 53 (8%)

    ***************************************************************************

  13. C# 50 (7%)

    ***********************************************************************

  14. Lua 44 (6%)

    **************************************************************

  15. Такого ещё не создано 41 (6%)

    **********************************************************

  16. Haskell 40 (6%)

    *********************************************************

  17. Common LISP 37 (5%)

    ****************************************************

  18. Другой (напишу в комментариях) 35 (5%)

    **************************************************

  19. TypeScript 31 (4%)

    ********************************************

  20. Ruby 29 (4%)

    *****************************************

  21. Kotlin 28 (4%)

    ****************************************

  22. Scala 28 (4%)

    ****************************************

  23. Fortran 27 (4%)

    **************************************

  24. Forth 22 (3%)

    *******************************

  25. D 21 (3%)

    ******************************

  26. Ada 20 (3%)

    ****************************

  27. Erlang 20 (3%)

    ****************************

  28. Языки не нужны, машинный код — наше всё 19 (3%)

    ***************************

  29. Tcl 16 (2%)

    **********************

  30. Clojure 15 (2%)

    *********************

  31. BASIC классический 14 (2%)

    ********************

  32. Visual Basic 14 (2%)

    ********************

  33. 14 (2%)

    ********************

  34. Awk 12 (2%)

    *****************

  35. Julia 10 (1%)

    **************

  36. Swift 5 (1%)

    *******

  37. Nim 5 (1%)

    *******

  38. Objective-C 4 (1%)

    *****

  39. Brainfuck 3 (0%)

    ****

  40. РАЯ (язык академика Ершова) 3 (0%)

    ****

  41. COBOL 2 (0%)

    **

  42. QCL 0 (0%)

Всего голосов: 1858, всего проголосовавших: 700

★★☆

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 18)

Ответ на: комментарий от foror

Язык не должен быть прост, всего должно быть в меру.

Это да.
1С пригодна лишь для некой ниши задач.
Многого в ней нет.
Но архитектура 1С весьма интересна.

Forum0888
()
Ответ на: комментарий от Forum0888

Хотя бы немного расскажите об этом ЯП.

  • ООП на уровне джавы и крестов

  • Исходники в бинарном виде

  • Синтаксис отсутствует (программист сам выбирает представление в тексте)

  • Написание и чтение кода только через специализированную IDE

  • Гибридное управление памятью, но без применения GC, автоматическая вставка управляющего кода на этапе компиляции

Это, что вспомнил. ЯП нет, только концепции собираю в блокнотике последние 3-4 года.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от Forum0888
  • Исходники в бинарном виде

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

foror ★★★★★
()
Ответ на: комментарий от foror

Гм., ИМХО ПРАВИЛЬНЫЙ подход.
Для это Вам понадобится разработать специализированный редактор и GUI для него.
Более того, неизбежно понадобится разработка core для этого ЯП.

У меня иной путь в разработке, но ЯП не будет основан на грамматиках.
21-й же век ...

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 6)
Ответ на: комментарий от foror

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

Werenter ★★☆
() автор топика
Ответ на: комментарий от Werenter

Любой текстовый язык можно редактировать в любом текстовом редакторе, хоть в веб-интерфейсе гитхаба

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

И как я говорил, бинарное представление позволит создавать любое текстовое представление. И преобразовывать измененный текст обратно в бинарный вид.

Плюс бинарное представление можно быстрее загружать в память IDE. Избегая парсинга текста и поиска связей между классами. Что будет плюсом для проектов с большой кодовой базой.

foror ★★★★★
()
Последнее исправление: foror (всего исправлений: 3)
Ответ на: комментарий от foror

Что есть такого в 1С, что я не видел в джаве и крестах?

  1. Вездесущий встроенный ORM. Причём интегрированный с языком запросов. То есть, можно писать
Запрос = Новый Запрос("ВЫБРАТЬ Ссылка Из Справочник.Номенклатура КАК Спр Где Спр.Производитель.Страна = ЗНАЧЕНИЕ(Справочник.Страны.РФ)");
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
  Если Найти(Выборка.Ссылка.Наименование, "КПК") Тогда
     О = Выборка.Ссылка.ПолучитьОбъект();
     О.Группа = Справочники.Номенклатура.КПК_РФ;
     О.Записать();
  КонецЕсли;
КонецЦикла
  1. Единый язык для фронтенда и бэкенда. Если перед процедурой или функцией написано &НаКлиенте, она скомпилируется в JS или байткод тонкого клиента. Если &НаСервере, то в байткод сервера 1С. При этом серверные процедуры можно просто вызывать из клиентских. Например (в одном модуле формы),
&НаКлиенте
Процедура КнопкаПриНажатии(Команда) // обработчик события
  Если ОстатокНаСервере() < 0 Тогда
    ПоказатьПредупреждение("Недостаточно " + Объект.Номенклатура); // диалоговое окно может быть только на клиенте
  КонецЕсли
КонецПроцедуры

&НаСервере
Функция ОстатокНаСервере()
  Запрос = Новый Запрос...
  Запрос.УстановитьПараметр("Номенклатура", Объект.Номенклатура);
  Возврат Запрос.Выполнить().Пустой();
КонецФункции

При этом реквизиты формы автоматически синхронизируются сами.

  1. Те самые метаданные, которые здесь обсуждаются. Все типы, перечисления и предопределённые значения (аналог констант) описываются не в коде, а в метаданных. Описания типа достаточно, чтобы автоматически сформировать форму списка для просмотра и форму элемента для редактирования.
monk ★★★★★
()
Ответ на: комментарий от monk

Я вот почитываю, что вы пишете про 1С и кажется, что это такой Метапрог, который смог (c). Это замечание ни к чему не относится, просто абстрактная заметка 😊.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Метапрог, который смог (c)

В смысле описания не средствами языка программирования? Так тогда первый метапрог — это HTML+CSS+JS. Все метаданные в HTML+CSS.

monk ★★★★★
()
Ответ на: комментарий от monk

Так тогда первый метапрог — это HTML+CSS+JS. Все метаданные в HTML+CSS.

Шутка

Началось всё с ini файлов, а потом «огородами, огородами и к Котовскому».

Forum0888
()
Ответ на: комментарий от monk

Это да, но данные то использовались в алгоритмах.
Это конечно наверное самые примитивные метаданные.
Разные типы метаданных бывают, но лишь 1С продемонстрировала как их можно использовать «по взрослому».

Forum0888
()
Последнее исправление: Forum0888 (всего исправлений: 2)
Ответ на: комментарий от Forum0888

Они использовались как значения.

Разные типы метаданных бывают, но лишь 1С продемонстрировала как их можно использовать «по взрослому».

Да. Посмотрел, 1С 5.0 для DOS (там впервые появилась связка язык+метаданные) в 1993, Delphi и JS в 1995.

monk ★★★★★
()
Ответ на: комментарий от monk

Ну в фортране вроде с этим проще, хотя отсустствие unsigned в любом виде и бесит.

Slackware_user ★★★★★
()
2 марта 2024 г.

Отметил только три.

Си, Ruby. И как ни странно — JavaScript. При всех его исторически сложившихся заскоках, кодить на нём весьма интересно.

wandrien ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.