Программирование постоянно развивается, а с ним и языки программирования, которые используются разработчиками. Чтобы быть успешным в мире IT, важно выбрать актуальный и востребованный язык программирования для изучения. Мы решили провести голосование, чтобы выяснить, какие языки программирования считаются самыми актуальными и популярными, а какие самыми неактуальными среди представленных в 2023 году по версии пользователей Habr.

1. Python

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

Где изучать Python?

2. JavaScript

JavaScript остается основным языком для веб‑разработки, отвечая за интерактивность и динамичность сайтов. С развитием фреймворков и библиотек, таких как React, Angular и Vue.js, JavaScript стал неотъемлемой частью современной веб‑разработки.

Где изучать JavaScript?

3. Java

Java занимает особое место среди языков программирования благодаря своей платформенной независимости и масштабируемости. Широко используется для разработки Android‑приложений и корпоративных систем. Обучение Java открывает доступ к широкому спектру возможностей в разных отраслях.

Где изучать Java?

4. C#

C# разрабатывался Microsoft как часть платформы .NET и считается одним из самых универсальных языков программирования. Применяется для создания десктопных, веб‑ и мобильных приложений, а также игр на платформе Unity.

Где изучать C#?

5. Kotlin

Kotlin — современный язык программирования, разработанный JetBrains, который быстро набирает популярность благодаря своей совместимости с Java и удобству использования. Google официально поддерживает Kotlin для разработки Android‑приложений, что делает его востребованным языком среди мобильных разработчиков.

Где изучать Kotlin?

6. Swift

Swift — язык программирования, разработанный Apple для создания нативных приложений на платформах iOS, macOS, watchOS и tvOS. Быстрый и безопасный, Swift стал ключевым инструментом для разработчиков Apple и отличным выбором для тех, кто хочет заниматься разработкой мобильных приложений.

Где изучать Swift?

7. Go

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

Где изучать Golang?

8. Rust

Rust — язык программирования, разработанный Mozilla с акцентом на безопасность и производительность. Благодаря своим уникальным механизмам управления памятью и подходу к параллелизму, Rust привлекает внимание разработчиков и становится привлекательным языком для изучения.

Где изучать Rust?

9. TypeScript

TypeScript — это надстройка над JavaScript, разработанная Microsoft для улучшения статической типизации и масштабируемости кода. TypeScript позволяет обнаружить ошибки на этапе написания кода, что повышает качество и надежность разрабатываемых приложений. Интеграция с популярными фреймворками делает TypeScript востребованным языком среди веб‑разработчиков.

Где изучать TypeScript?

10. Ruby

Ruby – еще один язык программирования общего назначения, известный своим выразительным и читаемым синтаксисом. Основным преимуществом Ruby является фреймворк Ruby on Rails, который значительно упрощает разработку веб-приложений и делает Ruby актуальным для веб-разработчиков.

Где изучать Ruby?

Почему участие в голосовании за самые популярные языки программирования в 2023 важно?

Участие в голосовании поможет определить актуальные тенденции в области программирования и даст представление о том, на какие языки программирования стоит обратить внимание. Ваши голоса помогут другим разработчикам и новичкам в IT‑индустрии определиться с выбором языка программирования для изучения и развития своей карьеры. По истечению недели мы отредактируем список статьи с топ-10 языками программирования для изучения в 2023 основываясь на результатах голосования.

Не забудьте продолжать изучать новые технологии и следить за тенденциями рынка, чтобы всегда оставаться в курсе последних разработок и сохранять свою конкурентоспособность. Удачи вам в освоении актуальных языков программирования в 2023 году и в развитии вашей карьеры в IT!

Лучшие школы программирования в 2023 (голосование)

Комментарии (221)


  1. PTM
    00.00.0000 00:00
    +18

    vba.... в некоторых местах без него никуда


  1. dark_ruby
    00.00.0000 00:00
    +9

    логотип для раста у вас не правильный, тот что у вас от игры, а не от я.п.


  1. SergeyTatevosyan
    00.00.0000 00:00
    +16

    Зря вы так про VBA, он очень даже актуален в некоторых компаниях :D


    1. ReadOnlySadUser
      00.00.0000 00:00
      +10

      Я бы так сказал, если бы тут на хабре тусовались представители профессий, которые 90% времени сидят в excel, думаю оценки для этого языка улетели бы просто в космос :)


      1. RealSup
        00.00.0000 00:00
        +12

        Некогда тут сидеть, макрос сам себя не напишет


        1. Sau
          00.00.0000 00:00

          Мы бы уже написали макросы, работающие за нас.


  1. wolfy_str
    00.00.0000 00:00

    Java лучший. Правда на собесах замотают) Жаль что уступил не только питону.


    1. evgenyk
      00.00.0000 00:00
      +4

      Toolchain у него неудобная и слишком болтливый.


      1. ris58h
        00.00.0000 00:00
        +1

        Toolchain у него неудобная

        По сравнению с чем?

        и слишком болтливый.

        Это что значит?


        1. evgenyk
          00.00.0000 00:00
          +5

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


          1. iskateli
            00.00.0000 00:00
            +8

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


          1. tkutru
            00.00.0000 00:00
            +8

            Тогда правильнее сказать - многословный.


        1. sandworm
          00.00.0000 00:00
          +2

          Ну это примерно как "слышь, ты" и "не будете ли так любезны".

          Первое - короче. Второе - ну, приятнее слышать.


          1. nuclight
            00.00.0000 00:00

            А ведь можно "пожалуйста" - и то и другое, и еще короче.


      1. Homyakin
        00.00.0000 00:00
        +3

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


        1. domix32
          00.00.0000 00:00
          +3

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


      1. wolfy_str
        00.00.0000 00:00
        +1

        что такое Toolchain?


        1. evgenyk
          00.00.0000 00:00

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


          1. vedenin1980
            00.00.0000 00:00
            +1

            А какие претензии у вас к Intellij Idea? И в чем там разница с каким-нибудь Intellij PyCharm? Или вы говорите о встроенный командных утилитах вроде javac? Но кто их использует на реальном большом проекте?


            1. Aldrog
              00.00.0000 00:00
              -1

              Речь, в первую очередь, о конфигурации проекта и управлении зависимостями. То есть условный gradle (или что там актуально) для джавы, и PyPA для питона.


              1. AWE64
                00.00.0000 00:00

                чем Gradle не угодил?


            1. comdivuz
              00.00.0000 00:00
              +1

              Претензии не к idea а отсутствия как такового встроенного тулинга. Если не работаете с новым поколением языков типа go где всё типовые вопросы а-ля тестирование, пакетныйменеджер, профилирование, авто форматирование, линтинг, покрытие, кодогенерация и прочее идёт из коробки и очень простое, то вам сложно понять что не так с Java или C++. Настройка авто сборки того же голанга пара простых команд в makefile. Адекватная же сборка на gradle, npm, CMake, это уйма копипасты или тайных знаний и привлечения всякого набора внешних средств.


              1. wolfy_str
                00.00.0000 00:00
                -1

                да. Зато это требует специалистов, а значит будет работа) А когда отваливается версия компилятора это нечто. Поначалу такое было, потом как то прошло. Не правильно выбранная версия проекта это полбеды, это ерунда, а когда слетали внутренние настройки. Обычно программы притераются и уже не ломаются так :) У меня такое с любым новым софтом. Да, мне сама IDEA не особо нравится на английском и куча настроек, а не комбайн как MS Visual Studio (и есть на русском). Да, только студио использовал для обучения, а джаву для работы. Потому спустя пару лет среда для меня чёрные ящик, ну не совсем, но отчасти. Я не против английского, но можно было прикрутить русские скрины, тем более разработчики русские. Я имею ввиду разработчики среды. Если бы работал на зарубежного заказчика, жил бы в Европе, Америке или Австралии тогда да, притензии к английскому софту обсурдны, но для России лучше качественно переведённая среда, так как утопаешь в настройках, но спустя даже годы не можешь всё запомнить, тебе это не особо нужно, а мозг отказывается в этом разрабираться. А они знаете что сделали? Просто ушли из-за санкций. К санкциям у меня неоднозначное отношение, где то поддерживаю, где то нет, но тут просто решил что мне ничего не мешает пользоваться кракнутой юльтимейт версией IDEA тем более это делается за пару минут.

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


              1. vedenin1980
                00.00.0000 00:00
                +7

                а отсутствия как такового встроенного тулинга.

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


                То есть, у java сознательно в ядро языка вносили лишь самое важное, а многие вещи специально оставили для реализации другими компаниями (например, работу с базой данной или создание микросервисов/Rest). Идея оказалось хорошей, потому что так получались лучшие инструменты, чем если бы был один стандартный способ.


                1. domix32
                  00.00.0000 00:00
                  -1

                  1. mrsantak
                    00.00.0000 00:00
                    +4

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


            1. MountainGoat
              00.00.0000 00:00
              -1

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


              1. vedenin1980
                00.00.0000 00:00
                +4

                Потому что стандартный метод многих не устраивает.

                В Java специально так сделали — если бы был один стандартный метод, другие методы просто не возникли бы. А за десятки лет выяснилось бы что стандартный метод плох, но все кололись, но использовали его бы. Особенность open source философии Java — только самые важные вещи должны быть в самом языке, чтобы его легко могли реализовывать разные вендоры. А все остальное (jpa, jree, spring, ide, системы сборки) — максимум спецификации и интерфейсы для стандаризации. Это позволяет конкурировать разным проектам и выживать наиболее популярным. Именно поэтому java сильна инфраструкторой.


                Приходишь в другой проект — а там другой инструментарий для тех же самых целей.
                Давно не видел нигде ничего кроме Idea, сборки maven/gradle и т.п.

                Ещё и платный то и дело.

                И что? Это головная боль работодателя, если он не готов заплатить 200$ в год за инструментарий, то и зарплату он вам посторается зажать.


            1. wolfy_str
              00.00.0000 00:00

              вообще то не единым pyCharm'ом. Сам я не питонист, но удивился какой простой интерфейс у встроенного редактора, colab. https://colab.research.google.com/ Каждая ячейка это отдельная программа, при том ячейки последовательно инициализируются, можно сохранять. Очень классный инструмент


              1. alwaystried
                00.00.0000 00:00

                пхпхпхпхпх. Colab - это просто тот же самый Jupyter, только онлайн


      1. aPiks
        00.00.0000 00:00

        Зато поддерживать его и через 5 лет можно, а не один раз написал и молиться, чтоб там ничего не сломалось, пока другой команде сервис не уйдёт.


      1. rrrav
        00.00.0000 00:00
        +1

        Когда-то вроде были соревнования на краткость кода на Perl


        1. evgenyk
          00.00.0000 00:00
          -1

          Я тоже против излишней краткости кода, запихивания всего в одну строку и так далее. Но Java это другая крайность.


        1. DeadikG
          00.00.0000 00:00

          программа из одной строчки ни Perl не печатает=(


  1. mymailru
    00.00.0000 00:00

    автор, а добавьте плиз Паскаль (Lazarus и Delphi) и еще zero Coding - (blueprint Unreal Engine и аналоги в Unity и других игровых движках и проектах)


    1. zarytskiy Автор
      00.00.0000 00:00

      done


      1. longclaps
        00.00.0000 00:00
        +6

        Языка программирования с названием Lazarus не существует.

        Lazarus - это IDE для паскаля, так же как и Delphi.


        1. geher
          00.00.0000 00:00
          +2

          Языка lazarus, действительно, не существует. Это графическая IDE для FPC (который, в свою очередь, вроде умеет и Object Pascal, и Delphi). А вот с Delphi не все так просто. Это не только IDE, но и язык программирования, несколько отличающийся как от классического паскаля, так и от экзотического Object Pascal. Одни считают его диалектом паскаля. Другие - самостоятельным языком.


      1. iskateli
        00.00.0000 00:00
        +2

        Julia ещё добавьте пожалуйста, часто в ML проектах, моделировании и научных расчётах используется. А Clojure чего кстати забыли? ни одного языка семейства Lisp


    1. MiraclePtr
      00.00.0000 00:00

      И в "Неактуальные" тоже, иначе нечестно получается.


  1. hatman
    00.00.0000 00:00
    +14

    Даже смешно, как низко рейтят PHP, когда это сейчас самый популярный язык для корпоративных стартапов в РФ вместе с GO.


    1. SerJook
      00.00.0000 00:00
      +1

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


      1. treppilk
        00.00.0000 00:00
        +19

        Не соглашусь, язык удобный. Был корявым лет 5 назад. Уже версия 8.2 вышла. Посмотрите, насколько далеко шагнул язык


        1. s207883
          00.00.0000 00:00
          -9

          Я посмотрел, выпал в осадок, когда как фичу представляли возможность указать, что метод возвращает только true/false/null. Если это не пробивает дно, то, как минимум, его царапает.


    1. s207883
      00.00.0000 00:00
      +5

      Откуда инфа? Готов поверить, что корпораты будут за Java, либо что-то модное и стильное, но пыха?


      1. init0
        00.00.0000 00:00

        У вас извращенное понимание того, что выбирает крупный бизнес. Не " что-то модное и стильное ", это вам к различного рода стартаперам и другим любителям смузи, корпорации берут то, что проверено годами и имеет качественную поддежку, да, конечно Java (Spring итп), но и Symfony с Laravel не далеко ушли.


        1. s207883
          00.00.0000 00:00

          Я примерно в таком и работаю и вижу, что выбирают либо java/c#, либо берут что-то древнее и допиливают под себя, либо стильное и модное.

          У нас так в одной группе собрались команды на ts, c#, java, prolog и ещё одна команда выбирает на какой язык перейти(не помню на чем пишут), из питона и c#.

          Так и получается, что либо стильное, либо старое, либо стандартное. Может быть где-то и пхп есть, но не у нас.


          1. tommyangelo27
            00.00.0000 00:00

            На прологе и С# под веб пишут?


            1. MiraclePtr
              00.00.0000 00:00

              А в чем проблема с C# под веб? Это так-то одно из его самых сильных и часто используемых применений.


              1. tommyangelo27
                00.00.0000 00:00
                +1

                Проблем нет, просто сравнивать php, который про веб-разработку в 99,9% случаев, имхо стоит с типично-веб языками. У C# сфера применения значительно шире (опять же, насколько я знаю).


                Допускаю, что неправ.


                1. gavrilovanton
                  00.00.0000 00:00

                  В 95% случаев проект на C# это веб


                  1. Free_ze
                    00.00.0000 00:00

                    Скорее бэкенд вообще, как Java.


  1. Rinat111
    00.00.0000 00:00
    +3

    Fortran язык математиков. Если вы с ним не столкнулись, то изучать всё таки не стоит.


  1. salkvus
    00.00.0000 00:00
    +2

    Добавьте, плиз, Haskell, OCaml, Racket


    1. AAngstrom
      00.00.0000 00:00
      +3

      Тогда уж и Julia.


    1. zarytskiy Автор
      00.00.0000 00:00

      Добавил


      1. vasyash
        00.00.0000 00:00
        +2

        SQL можно добавить


      1. lil_master
        00.00.0000 00:00

        Почему такая предвзятость к языку программирования Dart, что его нет в списке?

        Неужели ABAP мощнее и популярнее?

        Dart - отличный язык, Flutter - отличный фреймворк, и очень удобные инструменты для разработки.

        Добавьте пожалуйста Dart в список.


        1. AnthonyMikh
          00.00.0000 00:00

          Почему такая предвзятость к языку программирования Dart, что его нет в списке?

          А для чего он используется, кроме Flutter?


  1. slsktnkv
    00.00.0000 00:00
    +1

    Оказывается, C&C++ любят больше всех (кроме питона). Может, стоило их разделить?


    1. anka007
      00.00.0000 00:00

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


      1. TrueBers
        00.00.0000 00:00

        Что это за области такие, где нельзя заменить Си? На полке в музее?


        1. Flux
          00.00.0000 00:00
          +12

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


          1. MiraclePtr
            00.00.0000 00:00
            +8

            Но все что вы описали совершенно не свидетельствует о том факте, что при написании подобного софта C невозможно заменить ни на что - даже хотя бы на тот же Rust (не без unsafe, но это не важно).

            То, что пока во всем этом главенствует C, во многом идёт от того, что 30-40 лет назад, когда оно все начиналось, приемлемых альтернатив ещё не существовало, а сегодня, естественно, никто просто так это выкидывать не будет, поэтому продолжают использовать. Хотя в том же чисто Сишном ядре Linux недавно разрешили писать драйвера на том же Rust :)


            1. comdivuz
              00.00.0000 00:00

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


              1. TrueBers
                00.00.0000 00:00
                +2

                незаменим, например в геймдеве серьёзном

                Например? Очень хотелось бы услышать, что есть такого в С++ особенного для геймдева?


                1. domix32
                  00.00.0000 00:00
                  +1

                  Две крупнейших платформы для разработки игр (Unreal и Unity), и ещё кучка платформ поменьше (Godot и иже с ними) и всякие корпоративные платформы типа Havoc, CryEngine и пр.. Остальные пока ещё getting there и пока ещё не имеет успешных примеров аналогичного уровня.


                  1. TrueBers
                    00.00.0000 00:00
                    +2

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


                    1. Aldrog
                      00.00.0000 00:00

                      Я бы сформулировал по-другому: пока не наблюдается языков, готовых заменить C и C++. Rust пока ещё слишком молодой и непопулярный, чтобы можно было уверенно сказать, что он их способен заменить, а прочие языки либо ещё мельче, либо обладают особенностями вроде сборщика мусора, не дающими заменить C/C++ в ряде областей.


              1. MiraclePtr
                00.00.0000 00:00

                Эм... Нет. В русском языке "незаменимые" - это именно что когда вообще нет альтернатив, выполняющих ту же функцию со сравнимыми характеристиками = невозможно заменить.

                НЕЗАМЕНИМЫЙ — НЕЗАМЕНИМЫЙ, ничем незаменяемый, незаместимый, невозместимый, невознаграждаемый чем иным, не могущий быть заменен. Толковый словарь Даля В.И.


            1. nuclight
              00.00.0000 00:00
              -3

              Rust (не без unsafe, но это не важно).

              Это важно. Без unsafe от Rust нет никакого смысла, особенно в перечисленных областях типа ядер ОС.


              1. MiraclePtr
                00.00.0000 00:00
                +2

                — Си не заменить ничем!

                — Можно заменить его на Rust

                — Нет, Rust обязательно должен быть без unsafe! Нельзя заменить!!!1

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

                Это как если бы кто-то сказал, что на Си невозможно писать ядра ОС и работать с железом. Потому что для этого нужны указатели, а мы решили Си должен быть без указателей :)


                1. evgenyk
                  00.00.0000 00:00

                  Без указателей Си, это уже не Си.


                  1. MiraclePtr
                    00.00.0000 00:00

                    Unsafe - это часть Rust, следовательно, без unsafe Rust это уже не Rust :)


                1. nuclight
                  00.00.0000 00:00
                  -1

                  С того, что он без safe лишается главной идеи, а значит, становится бессмысленным. Это, действительно, как если бы выкинуть из Си указатели (между прочим, проекты с таким кодом даже существуют).


                  1. MiraclePtr
                    00.00.0000 00:00

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

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


                    1. kovserg
                      00.00.0000 00:00
                      -1

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

                      Еще бы эти гарантии чем-то помогали https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=rust пока только сплошной пиар изо всех щелей. Видимо не хотят хомячки есть кактус.


          1. TrueBers
            00.00.0000 00:00
            +3

            Перечисленные вами факты -- исключительно историческое наследие.

            Я это написал, ответив на фразу "заменить их никак не получается". Вот мне и интересно, у кого не получается? У комментатора? У тех, кто не пробовал? Инертность, "трушность"? Так это тогда не проблема языка, а проблема тех, у кого не получается.
            Кто осилил закопать это гавно мамонта, у тех более чем получается. Ни один адекватный человек сейчас не начнёт новый проект на Си, если только не религиозный фанатик.

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


            1. mapron
              00.00.0000 00:00

              Подождите а в чем проблема новый проект на Си начинать? Огромное количество библиотек и готовых инструментов. Можно быстро связать например SDL и ffmpeg. на Rust мало того что новый язык изучать, но еще и разбираться как сторонние библиотеки подключить чтобы компилятор был доволен, на что не каждый согласится. Плюс если вы пишете на Rust обертки над С библиотеками - по сути разработчику проекта надо уже знать ДВА языка, а не один, более простой (С). Не то что все это непреодолимые препятствия (и наоборот, человека который согласится вот это все решить расковырять и объединить - я всецело уважаю!), но не каждый разработчик будет настолько отважен. Я вот лично сколько раз пробую за последние 2 года окунуться в Rust - постоянно зависаю с интеграционными работами.

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


              1. TrueBers
                00.00.0000 00:00
                +4

                еще и разбираться как сторонние библиотеки подключить чтобы компилятор был доволен

                У раста ffi-библиотеки любой сложности из коробки собираются и линкуются, ни с чем не нужно разбираться. Сам, когда несколько лет назад учил язык на низкоуровневом хобби-проекте, без проблем и бубнов встроил огромные проекты: язык Dart с его фреймворком Flutter. Сейчас же, с опытом, обернуть либу, для которой внезапно нет готового пакета, занимает пару часов.

                никуда он от нас не денится, еще нашим внукам останется

                В плане чтения кода на Си, я согласен, он будет жить ещё очень долго, но писать на нём уже мало кто решается.

                Взять тот же Гугл, Майкрософт, Фейсбук, Cloudflare, Amazon. Откройте их крайние репозитории, начатые в течение последних 3 лет. Ни ОС, ни драйверов, ни системных утилит, ни реализаций стека протоколов, почти никто из них не начинал писать на Си.
                Зато референсные реализации того же WASM, WebGPU написаны на Раст. Ядро HTTP3, протоколы QUIC и WireGuard у Cloudflare реализованы на Раст. В Андроиде на Rust написаны стек Bluetooth, NFC, HAL, гипервизор. Новая гугловская KataOS полностью написана на Раст, включая ядро и драйверы, а в Fuchsia половина кода на нём уже. Майкрософт усиленно пилит биндинги для Windows SDK под Раст.

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

                постоянно зависаю с интеграционными работами

                Странно, по-моему мнению, тулчейн и экосистема Раста -- лучшее, с чем приходилось работать за всю кодерскую жизнь.


                1. mapron
                  00.00.0000 00:00
                  +4

                  У раста ffi-библиотеки любой сложности из коробки собираются и линкуются, ни с чем не нужно разбираться

                  ну видимо я с каким-то другим растом работаю :)

                  > по-моему тренды довольно показательны.

                  мне кажется это эффект наблюдателя какой-то вы именно на это хотите обращать внимание и замечаете. я вот сейчас по работе ковыряю опенсорсный проект на Си который стартанул несколько месяцев назад от силы. А что-то новых проектов на Rust я не замечал (опять же не значит что их нет)


                  1. shagonru
                    00.00.0000 00:00
                    +1

                    Замечать новые проекты на Rust (и не только) весьма просто - достаточно в Github Explore в раздел Trending заходить время от времени, там что-нибудь да встретится. И новые проекты там есть, которые получают интерес сообщества, и старые, взлетевшие после апдейтов. В основном вижу там что-то на Python(привет бум всяких Stable Diffusion, Anything-With-ChatGPT и тд, чуть новость - всё забито этим), что-нибудь из существующих Java-проектов (новых вот убей не помню), обвязки на C/C++, облачные тулы стабильно на Go, какая-нибудь очередная CMS или новый UI на JS/TS, ну и проекты на Rust.

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


                    1. mapron
                      00.00.0000 00:00
                      +1

                      https://github.com/trending/rust?since=weekly суммарно 2923

                      https://github.com/trending/c?since=weekly суммарно 3558

                      https://github.com/trending/c++?since=weekly суммарно 4186

                      Окей, довольно объективно. Rust "застаривают" весьма активно. Но я бы не сказал что и старичок Си мертв по такому критерию.
                      Опять же втупую из этих чисел нельзя никакие выводы делать - я например не дурачок и прекрасно понимаю что а) разработчиков на Rust поголовно раз в 10 меньше чем С и С++ б) разработчики на C куда менее вероятно активничают на гитхабе (по крайней мере все кого я сам знаю лично дикие противники опенсорса, они туда даже и не зайдут)

                      Был неправ, немного заблуждался по активности в Rust, буду иметь в виду. По "актуальности" С пока останусь с прежним мнением.


                      1. TrueBers
                        00.00.0000 00:00
                        +1

                        https://github.com/trending/rust?since=weekly суммарно 2923

                        https://github.com/trending/c?since=weekly суммарно 3558

                        https://github.com/trending/c++?since=weekly суммарно 4186

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

                        Гугл в конце 22-го года проводил исследование. С внедрением Раста количество уязвимостей упало на 25%, количество падений из-за повреждения памяти -- на 70%! А это десятки миллионов долларов в их масштабах. И сэкономленные нервы пользователям.


            1. ReadOnlySadUser
              00.00.0000 00:00
              +2

              Расскажите это embedded-разработчикам :) Они долго будут смеяться про "никто не начнет новый проект на Си" :)

              А ещё люди пишут и ещё тыщу лет будут писать модули ядра Linux на Си, просто потому, что это в 100 раз удобнее, чем на Rust.


              1. Free_ze
                00.00.0000 00:00
                +3

                просто потому, что это в 100 раз удобнее, чем на Rust.

                Синдром утёнка никто не отменял)


                1. ReadOnlySadUser
                  00.00.0000 00:00

                  И это тоже, но не всегда утёнок неправ. Иногда утёнок и правда с первого раза видит свою маму) И вот когда я смотрю на embedded и Си, создаётся у меня ощущение, что здесь всё правильно и хорошо)

                  Я просто не вижу особо смысла пихать Rust в embedded. Те, проблемы, которые он решает там ваще не возникают зачастую (хотя embedded очень разный бывает, тут уж да). А даже если и возникают, то один фиг со всех сторон придется обмазываться unsafe-ами.

                  Можно попробовать аргументировать, что вот за обмажемся "unsafe-ами", напишем safe обертки и заживём, но в embedded, не особо-то много логики, которую реально можно так обмазать. Все эти абстракции будут регулярно протекать.


                  1. Free_ze
                    00.00.0000 00:00
                    +1

                    Те, проблемы, которые он решает там ваще не возникают зачастую

                    Такой embedded подгребет последним, да. Но внедрение поддержки Rust в QNX, к примеру, уже анонсировали в этом году. То есть сегодня вы не видите смысла менять С, как умолчательное решение, а лет через 10-15 лет, когда вокруг будет армия растоманов, переползающих из других областей, все может выглядеть уже не так однозначно: "Зачем брать C, если Rust умеет все то же самое и даже больше?".


                    1. domix32
                      00.00.0000 00:00

                      Там ещё и у FreeBSD оказывается тоже что-то есть по ржавой экосистеме.


                      1. nuclight
                        00.00.0000 00:00

                        Что?


                      1. domix32
                        00.00.0000 00:00
                        +2

                        В документации по FreeBSD есть секция, рассказывающая как писать модули ядра на Rust. То есть кто-то сделал похожую работу для ядра FreeBSD, которую делал для ядра линкукс Охеда


                    1. nuclight
                      00.00.0000 00:00

                      Вовсе не факт. Всё может сложиться абсолютно наоборот - мода на Rust пройдет, и лет через 10-15 будут спрашивать "Rust? это что-то типа Delphi?"


                      1. Free_ze
                        00.00.0000 00:00

                        Разумеется) Речь была о том, что не мгновенный набор популярности языка зависит не только от самого языка.


                      1. taishi-sama
                        00.00.0000 00:00
                        +1

                        Delphi убила в первую очередь жадность и медлительность компании-разработчика, а не технические причины. Хотя наличие конкурента в виде C#, который тоже позволяет создавать графический интерфейс под Windows одной ногой закрытыми глазами, тоже помогло смерти Делфи


                  1. anka007
                    00.00.0000 00:00
                    +1

                    Embedded тоже бывает очень разного уровня. Кто-то и питоновский скрипт, запущеный на малинке и дергающий датчик назовет embedded. Есть не слишком дорогие МК на армах, куда даже JVM умудряются впихнуть. А есть какой нибудь batteryless, где даже чистый Си ассемблером для оптимизации разбавляют.


                1. iShrimp
                  00.00.0000 00:00
                  +4

                  Сфера Embedded - это как машина времени, которая словно переносит вас на 20 лет назад...


                  1. anka007
                    00.00.0000 00:00
                    +1

                    Нет. Просто предметная область предполагает ограниченость вычислительных ресурсов, а за первые десятилетия вынужденной ограничености этих самых ресурсов был найден компромис между человеком и машиной в виде Си и С++. А за последние десятилетия еще и добавился большой пласт legacy в виде библиотек и стандартов де-факто. Слишком глубоко и широко находится С/С++. Заменить на что-то другое будет слишком дорого стоить для всей инфраструктуры.


                  1. nuclight
                    00.00.0000 00:00

                    Между прочим, 20 лет назад в большинстве сфер IT было куда лучше...


            1. nuclight
              00.00.0000 00:00
              -1

              Ни один адекватный человек сейчас не начнёт новый проект на Си

              Чего? Это либо толстый троллинг, либо полное непонимание современного положения дел, хотя бы на TIOBE посмотреть. И могут, и начинают, и это адекватнее того же Rust'а.



            1. Flux
              00.00.0000 00:00
              +3

              Ни один адекватный человек сейчас не начнёт новый проект на Си, если только не религиозный фанатик.

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

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


              1. TrueBers
                00.00.0000 00:00
                +1

                неистово вы фапаете на раст

                Не поверите, но за всю жизнь написал всё же больше кода на Си и С++, нежели на Расте.

                называть неадекватами профессионалов лишь за то что они используют инструмент который вам не нравится

                Да мне ваще параллельно на то, что кому нравится. И Си, и Плюсы, и Раст сам использую по мере надобности без лишних слов. А говорю лишь об упёртости и не желании смотреть в будущее, страхе смерти своего лампового Сишечки. Раст -- это же страшно, это для зумеров, его читать невозможно, а писать так вообще -- руки отсохнут!

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

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

                А уж право решать, кто тут быдло, оставлю вам, простите.


          1. rustemhus
            00.00.0000 00:00

            Спасибо! Без С никуда)


        1. ibnteo
          00.00.0000 00:00

          В микроконтроллерах сложно заменить на что-то другое.


          1. TrueBers
            00.00.0000 00:00
            +2

            1. kovserg
              00.00.0000 00:00

              Что уже есть rust для 8051?


              1. domix32
                00.00.0000 00:00
                +1

                За 8051 не скажу, но как минимум были кросскомпиляторы для Dos, Gameboy, ZX Spectrum и NES. Есть какое-то космическое железо с ржавчиной на борту.


            1. UFO_01
              00.00.0000 00:00

              Только кто этим будет пользоваться в промышленной разработке, уже много раз слышал про javascript и micro python для микроконтроллеров, и это в ту же степь, подойдёт только самоделкиным или тем, кто к embedded не имеет никакого отношения, и надо быстренько запилить проект под какие-то нужды не вдаваясь в суть дела. Я думаю, С из разработки встроенных систем выдавят ещё очень нескоро


        1. anka007
          00.00.0000 00:00

          Ну вот есть два джуниора-студента. Один выучил Rust, но С не знает, другой С, но о Rust только слышал. Кто быстрее найдет работу в области эмбедед или геймдеве? На мой субъективный взгляд доучить синтаксис и особенности rust поверх С/С++ вопрос нескольких недель практики. Если умеешь нормально писать на С, то код на rust будет сложно испортить. Понять зачем что-то делается так, а не иначе в С/С++ после rust - совсем другой уровень сложности. Однако без этого понимания С/С++ исчезает понимание многих вещей в гововых библиотеках и опыте предыдущего поколения разработчиков. Насколько уверены в гениальности джуниор-студентов, чтобы доверить им изобретать очередной велосипед на rust?


          1. MiraclePtr
            00.00.0000 00:00
            +5

            Если умеешь нормально писать на С, то код на rust будет сложно испортить.

            Это только потому что компилятор Rust за откровенную хрень бьёт по рукам и отказывается компилировать до тех пор пока программист не сделает нормально. Совсем испортить не получится, но фигни наделать можно (как говорится, "Программист на Фортране может писать на Фортране на любом языке").

            А вот с C++ веселее, когда Сишники набегают в C++-проект и начинают писать там как привыкли, то нередко на результат без слез не взглянешь, можно лицо фейспалмами разбить.


          1. domix32
            00.00.0000 00:00
            +2

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


        1. UFO_01
          00.00.0000 00:00

          Я работаю в embedded, и 90% любого проекта, связанного с контроллерами, пишется на С, даже С++ файлы используются разве чтобы стек lwip поднять или немного облегчить себе жизнь, скажем, сделав класс для парсинга текстовых команд.


      1. WASD1
        00.00.0000 00:00
        +3

        @slsktnkv написал "разделить" (это значит отдельно голосовать за С отдельно за С++) а не заменить.


      1. BareDreamer
        00.00.0000 00:00
        +2

        Rust в принципе может использоваться вместо C и C++


        1. anka007
          00.00.0000 00:00

          А бывают мидл разработчки на rust без знания С/С++?


        1. nuclight
          00.00.0000 00:00
          -2

          Не может. Напишите мне код на Rust, без unsafe, реализующий участие узла в четырех двусвязных списках сразу - типичная задача в ядре.


          1. Free_ze
            00.00.0000 00:00
            +1

            Чем же вам unsafe не угодил? Даже в этом режиме большинство проверок продолжают работать.


            1. nuclight
              00.00.0000 00:00
              -1

              Ну потому что всякий смысл Rust в нём теряется, и получается просто неудобный C++. Если уж unsafe, проще Си и брать.


              1. Free_ze
                00.00.0000 00:00
                +1

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

                неудобный C++

                С точки зрения новичка C++ - это антоним удобства. Но влившему в него годы времени и усилий будет обидно с ним расставаться, а что-то новое будет вызывать отторжение и раздражение.

                проще Си и брать

                А в чем простота, ключевое слово писать не надо?


                1. nuclight
                  00.00.0000 00:00
                  -1

                  Это стандартный ответ религиозных фанатиков Rust, не умеющих посмотреть на объективную реальность и практичность.

                  > С точки зрения новичка C++ - это антоним удобства.

                  Именно на это и был намек - будет еще неудобнее.

                  А в чем простота, ключевое слово писать не надо?

                  В том, что не нужно тащить в голове весь багаж Rust (как не нужно и багаж C++), и можно сосредоточиться на предметной области. Размер багажа примерно определяется BNF языка плюс необходимых ей концептов.

                  Поясню с более философского уровня - есть прогресс, а есть регресс. Прогресс хорошо, регресс плохо.
                  Есть сложность предметной области, а есть - accidental complexity.
                  Если мы снижаем вторую - это хорошо, и это прогресс, а не регресс.

                  Так вот, языки типа C++ и Rust - повышают accidental complexity, не давая ничего _существенного_ взамен. Нет, сказки про безопасность рассказывать не надо, это не подтверждается измерениями.


                  1. AnthonyMikh
                    00.00.0000 00:00
                    +3

                    Нет, сказки про безопасность рассказывать не надо, это не подтверждается измерениями.

                    Memory Safe Languages in Android 13


                    There are approximately 1.5 million total lines of Rust code in AOSP… To date, there have been zero memory safety vulnerabilities discovered in Android’s Rust code.

                    As the amount of new memory-unsafe code entering Android has decreased, so too has the number of memory safety vulnerabilities. From 2019 to 2022 it has dropped from 76% down to 35% of Android’s total vulnerabilities. 2022 is the first year where memory safety vulnerabilities do not represent a majority of Android’s vulnerabilities.


                  1. TrueBers
                    00.00.0000 00:00
                    +3

                    Размер багажа примерно определяется BNF языка

                    А весь багаж вариаций UB из С++ тоже входит в BNF? :D


                  1. Free_ze
                    00.00.0000 00:00
                    +2

                    будет еще неудобнее

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


                    В том, что не нужно тащить в голове весь багаж Rust

                    Эм… тащить? Либо владеете инструментом, либо нет. Когда его знаете — уже ничего за собой не тащите, это набор инструментов, облегчающих жизнь. Rust сложнее, чем C, но проще C++, при том обеспечивает некоторые преимущества.


                    можно сосредоточиться на предметной области

                    Можно сосредоточиться на рутине своего инструмента, вроде ручного управления памятью и отлаживания доступа к висячим указателям)


                    Размер багажа примерно определяется BNF языка плюс необходимых ей концептов.

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


                    сказки про безопасность рассказывать не надо, это не подтверждается измерениями

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


          1. domix32
            00.00.0000 00:00

            А есть конкретный пример?


            1. nuclight
              00.00.0000 00:00

              1. domix32
                00.00.0000 00:00
                +1

                Пока не увидел чего-то криминального и требующего unsafe. Veclist кажется осилит справиться с тем что используется в структуре. Можно конечно и с честными списками заморочиться, но вроде не особо нужно. На Си оно так выглядит из-за отсутвия Vec и генериков.


                1. WASD1
                  00.00.0000 00:00

                  Ну вроде ситуация, когда объект надо хранить в 2х коллекциях не супер частая, но и не очень уж редкая.
                  Есть какое-нибудь best practics на Rust как это делать?
                  - разумеется объект должен быть мутабельным
                  - желательно чтобы это скэйлилось на N коллекций.
                  (разумеется "как-то" я могу придумать, но начинают лезть не очень хорошие trade-off).

                  И вот такие вопросы (ну просто они регулярно всплывают "что будет если") меня останавливают от того, чтобы Rust тянуть в prod.


                  1. domix32
                    00.00.0000 00:00

                    Для одномерных структур - Vec, VecDeque и LinkedList есть. Для примера выше, где перекладывают из одного списка в другой этого хватит. Если хочется связывать списки друг с другом, то можно обмазывать хранимый тип в Cell / Box. Можно свои листы написать. Для линуксового ядра подозреваю что-то отдельное изобрели. Есть варианты работы с графовыми структурами, если хочется устроить совсем адок с указателями во все стороны.

                    И вот такие вопросы

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


          1. AnthonyMikh
            00.00.0000 00:00

            реализующий участие узла в четырех двусвязных списках сразу

            Но, простите, зачем? Нет, серьёзно.


  1. IMnEpaTOP
    00.00.0000 00:00
    +7

    Идём на hh.ru и видим количество вакансий разработчиков:

    Swift: 670
    Kotlin: 1164
    C#: 2680
    PHP: 3335
    Java: 4362
    Python: 5284
    JS: 6768
    1C: 11002

    Вопрос - почему 1С нет в опросе и посте? Актуальность, объективно, выше условного Delphi.


    1. programmerjava
      00.00.0000 00:00

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


      1. IMnEpaTOP
        00.00.0000 00:00
        +4

        Нет, это именно "программист 1С". Если брать вообще все вакансии, в т.ч. не связанные с программированием, то на hh их будет на порядок больше: 143282


        1. vedenin1980
          00.00.0000 00:00

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


          2) По той же причине, по которой нет программистов на SQL, Html и Excel. "программист 1С" это скорее отдельная профессия, как верстальщики, бизнес-аналитики и т.п.
          Вообще, за границей есть разделения "Software Developer"/ "Software Engeener" / "IT consultant". Вот инженеры, настраивающие условные SAP и т.п. системы, это скорее последние два, чем первая профессия. Это не значит, что они хуже, просто это совсем другая профессия.


          1. elfukado
            00.00.0000 00:00
            +6

            Может вы себе представляете консультанта 1с, который обновит платформу, поможет настроить отчёт бухгалтеру в небольшой фирме, где просто купил/продал и ничего сложного.

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


          1. IMnEpaTOP
            00.00.0000 00:00
            +2

            1) Ок, рассматривайте возможность релокации. Но в РФ и СНГ много-много десятков миллионов населения - все они не релоцируются. И работать/получать услуги не перестанут. Значит всегда будет спрос на этом рынке и всегда будут программисты, которые здесь готовы и хотят жить. Почему их интересы (актуальность для них языка и платформы) должны игнорироваться?

            2) Matlab, Fortran, R, VBA, Blueprint тоже языки-инструменты очень узкой направленности. Это им не помешало встать в опрос. 1С чем хуже, тем что его здесь делают?


            1. Ad_fesha
              00.00.0000 00:00

              R узконаправленный??


          1. AlexGorky
            00.00.0000 00:00
            +3

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

            Я не собираюсь релоцироваться. Мало того, на 1С я зарабатываю достойные деньги, которые не смогу заработать на VBA, который в списке почему-то есть.

            Странный рейтинг для РФ, ИМХО.


          1. Flywood
            00.00.0000 00:00
            +1

            1) 1С нужен за пределами СНГ. Украина с  2018 года выходит из СНГ, членом которого она не была. Но все никак оуончательно не выйдет.
            2) "SQL, Html и Excel" - не языки программирования, по этому и программистов нет )))


    1. rrrav
      00.00.0000 00:00
      +3

      Если еще по алфавиту упорядочить, 1С будет первый ))


  1. Mike_666
    00.00.0000 00:00
    +2

    Нет Lua...


  1. asakasinsky
    00.00.0000 00:00
    +2

    zarytskiy, добавьте Clojure и Elixir, пожалуйста


  1. VictorMartynov
    00.00.0000 00:00
    +1

    Python гибкий )


  1. SaemonZixel
    00.00.0000 00:00
    +3

    @zarytskiy, пожалуйста добавьте Smalltalk. Это достаточно живой язык. Есть активно развивающиеся бесплатные реализации (например Squeak/Pharo), так и платные (например Cincom VisualWorks). Для создания моделей систем и экспериментов в программировании он хорошо подходит.

    А Lazarus пожалуйста уберите. Это не язык программирования, а IDE для разработки на Object Pascal.

    Ещё стоит добавить Erlang. Это тоже живой развивающийся язык со своей узкой нишей.

    И странно почему написано Assembly, а не Assembler. Я чего-то не знаю, отстал от жизни?

    Коль добавили Powershell, то наверное стоит добавить и Bash-скрипт. Который очень популярен в Unix среде.


    1. vasyash
      00.00.0000 00:00

      Assembler это транслятор в машинный код. А Assembly это язык. Не зря же говорят, язык ассемблера)


    1. nuclight
      00.00.0000 00:00

      Только он не bash, а shell.

      А про Smalltalk интересно... эти бесплатные реализации дружат с Си-либами?


      1. Uint32
        00.00.0000 00:00

        А про Smalltalk интересно... эти бесплатные реализации дружат с Си-либами?

        Использовал VM GNU Smalltalk из C++. Правда, давно это было ...


      1. SaemonZixel
        00.00.0000 00:00
        +1

        Да дружат. У Squeak/Pharo есть пакет FFI, внутри которого есть примеры использования. На wiki.squeak.org есть инструкция и простой пример.

        Cincom VisualWorks Smalltalk существует в бесплатном некоммерческом варианте. По функционалу такой же как и в коммерческий вариант. И у него вроде как с этим делом даже лучше. Есть пакет DLLCC и подробная документация в формате pdf в составе дистрибутива.


  1. EGA_production
    00.00.0000 00:00

    а как же html? (если что, шучу)


  1. StjarnornasFred
    00.00.0000 00:00
    +9

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


  1. danial72
    00.00.0000 00:00
    +1

    @zarytskiy, добавьте dart пжлст


    1. domix32
      00.00.0000 00:00
      +1

      В список неактуальных.


      1. danial72
        00.00.0000 00:00

        разве он не актуален ?


        1. domix32
          00.00.0000 00:00

          Скорее неактуален, чем актуален. Пользовательскую базу так толком и не успел нарастить и уступил позиции в пользу TypeScript. Хотя в ковидные времена были какие-то попытки воскресить развитие языка, но оно вроде даже в недрах породившего его гугла так и не нашёл широкого распространения, уступив тому же Go. Энтузиасты ещё есть и даже на хабре иногда всплывают, но это скорее нишевая забава вроде Haxe. Кампания, которая долгое время писала на Dart и писала про это на хабр тоже в итоге решила пересесть на кажется тот же TS, главным образом потому что им почти в соло приходилось тянуть экосистему. Это уже наверное год 19 или раньше.


  1. AlexG37G
    00.00.0000 00:00
    +3

    1. Koioes
      00.00.0000 00:00
      +2

      ловите иноагента!


      1. AlexG37G
        00.00.0000 00:00
        +1

        Вы не понимаете, это другое ;)


    1. domix32
      00.00.0000 00:00

      То есть Fortran


      1. nuclight
        00.00.0000 00:00

        Он и близко к английскому не подходил.


    1. StjarnornasFred
      00.00.0000 00:00

      Конечно, Паскаль - самый популярный, его же все школьники знают


  1. svr_91
    00.00.0000 00:00
    +9

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

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


  1. aceofspades88
    00.00.0000 00:00

    объяните плз такой отрыв пайтона, кроме того что он служит пакетным менеджером для датасайнтистов что на нем сейчас пишут и зачем?


    1. Joysi
      00.00.0000 00:00

      Как скриптовый, например. Считать и распарсить файл, забрать/закинуть в/из СУБД + API данные + вывести их в excel/xml. Можно скриптить в файле, можно в Jupyter notebook + выводить диаграммы и т.п. Удобно и порог вхождений небольшой.


    1. MiraclePtr
      00.00.0000 00:00
      +1

      Датасайнс и аналитика, всевозможная автоматизация рутины (например, генерация тестовых данных, скрипты сборки), симуляторы всяких API и железок, веб-сервисв и веб-сайты (бэкенд), десктопный софт.


    1. micronull
      00.00.0000 00:00
      +1

      В machine learning очень много пайтона.

      Люди занимающиеся наукой и исследованиями используют пайтон.

      Вообще очень универсальный язык с огромным набором всевозможных библиотек.


      1. rssdev10
        00.00.0000 00:00
        +1

        Люди занимающиеся наукой и исследованиями используют пайтон.


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


        1. domix32
          00.00.0000 00:00

          уже есть порты всяких NumPy/PyTorch и прочих числодробилок с похожим API?


          1. rssdev10
            00.00.0000 00:00

            NumPy в Julia точно не нужна, поскольку векторные операции - часть её синтаксиса. А оптимизация циклов же выполняется компилятором. Касаемо "портов" - вообще-то она разработана именно под математику и научные вычисления. И тащить в неё библиотеки с чужим синтаксисом - не факт, что нужно. Но если очень надо, можно и PyCall вызвать. В целом, код на Julia будет компактнее, чем Python, поэтому тащить из него API библиотек как есть - это создавать ненужные надстройки.

            Вместо PyTorch можно использовать родную Flux.jl, либо оптимизированную ONNXRuntime.


            1. domix32
              00.00.0000 00:00

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

              API библиотек как есть - это создавать ненужные надстройки.

              Ну, это бабушка надвое сказала, на самом деле. Когда-то и у питона urllib был библиотекой, поверх которой крафтили ещё библиотеки. Кому-то дефолтного API достаточно, кто-то хочет абстракции попроще.


              1. rssdev10
                00.00.0000 00:00

                Проблема, что для того чтобы пересадить людей с Питона на Джулию

                Первый же вопрос - а нужно ли это делать?...

                Структура ЯП в области DS/ML/научные исследования - это довольно тёмный вопрос. Не надо думать, что все тут знают и используют Python. Стоит ли переносить на что-то проекты с R? Не факт. С Matlab? Если только по санкционным или лицензионно/экономическим причинам. Переносить готовые проекты с них на Python? Это вряд ли.

                В бизнес-задачах по аналитике и прогнозированию устойчивый тренд - машинное обучение без программирования. Всякие Amazon SageMaker Canvas и пр. Тут никакой ЯП не нужен. Всё визуально через формочки.

                В нише научных исследований, где занимаются статистической обработкой результатов, нужны "типовые калькуляторы", а не язык программирования как таковой. И даже если какой-нибудь Python используется, то на минимально уровне для решения вполне типовых задач, решение которых выглядит примерно одинаково везде. С одинаковыми же именами функций стандартных библиотек. Безразлично какой ЯП.

                Ниша, где требуется создание новых методов анализа информации и новых алгоритмов (биоинформатика, математика) - это вообще не ниша Python, хотя его и пытаются навязывать. Если кто-то здесь говорит, что он пишет на чистом Python, почти наверное, недоговаривает, что по факту пишет на каком-нибудь C++, а на Python изредка приделывает обёртки. И, как раз, здесь и есть ниша Julia с её основным аргументом - один язык для всего и без проблем с производительностью (как в части скорости написания кода, так и в части исполнения кода).

                С другой стороны, любой ЯП живёт только до тех пор, пока есть люди, готовые им пользоваться. И тут мы знаем и пример с Коболом, на котором до сих пор работают некоторые программы и до сих пор требуются программисты для поддержки (потому как те кто писал код уже буквально вымерли). И пример с Паскалем, на котором совсем недавно в наших университетах учили абсолютно всех, но последние лет 20 он крайне мало кому был нужен.

                При этом, за 10-20 лет рельеф ЯП и библиотек меняется довольно сильно. Проектов создаётся много. Но много ли из них выживает 3-5 лет, даже если нахватали звёзд на github? Исследовательские проекты, часто, вообще пишут под одну публикацию. Год спустя проект никому не нужен. Поддерживать старый код не надо.

                Да и программисты - не вечны. За 20 лет трудовой деятельности мало кто остаётся программистом и продолжает поддерживать старый код. Ну а молодёжь после университетов вообще без проблем переучится на что угодно реально востребованное, и совместимость библиотек 1 в 1 им тоже не нужна.

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


        1. AAngstrom
          00.00.0000 00:00
          +1

          Очень непросто взять и отказаться от чего-то. В научных вычислениях тренд последних 20-ти лет -- это ядро на C/C++ или Fortran, обёрнутое в Python. Казалось бы, давайте всё это выкинем и начнём всё писать на Julia. Но тут возникает много нюансов:

          1. Релизная версия Джулии вышла только в 2018-м (если правильно помню). До этого были версии 0.x.y.z. Начинать серьёзный проект на бета-версии языка -- мягко говоря рискованное решение, если только вы не сидите в одном здании с главными разработчиками языка.

          2. Время жизни серьёзных числодробильных программ -- десятки лет. Люди, вносящие свой вклад в разработку -- это, в основном, студенты и постдоки, которые меняются каждые 4-5 лет. В особенности для пост-дока важно включаться в работу как можно быстрее, потому что ему нужно наклепать статей за 1-2 года, иначе можно вылететь из академии вообще. А теперь возникает связанный с этим вопрос: какова вероятность того, что вновь пришедший пост-док разбирается на хорошем уровне в Julia? Вероятность того, что человек имеет опыт разработки в C++/Fortran/Python, близка к 100 %, если кандидат писал диссер, связанный с разработкой численных методов.

          3. В догонку к п. 1 и 2: все проекты, начатые, условно, до 2018-го года, уже основаны на C++/Fortran/Python. Никто, в здравом уме и памяти, не будет это переписывать всё это на другом языке просто, потому что так красивше.

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


    1. evgenyk
      00.00.0000 00:00
      +2

      Ну например что я делаю на пайтоне:
      1) Большой бэкенд на работе. Весь бэкенд на пайтоне. Как машинной обучение, так и API.

      2) Для себя. Более сложные скрипты, которые неудобно писать на Bash.

      3) Для себя. Простенькие веб интерфейсы.

      4) Для себя. Простые программки для Распбери.

      5) Для себя. Пробую Kiwy, хочу делать простенькие программки для Android.

      Ну и вообще, питон сейчас работает почти на всем, что шевелится, не Си, конечно, но все-таки.


      1. domix32
        00.00.0000 00:00

        Последний раз когда трогал Kiwi время запуска приложения на девайсе длилось секунд 10-15, как будто я на бабушкофоне игру запускаю. У них с тех пор что-то поменялось или всё также печально?


        1. evgenyk
          00.00.0000 00:00

          Еще не знаю.


    1. nuclight
      00.00.0000 00:00
      +1

      Это следствие хайпа на machine learning. Миллионы мух не могут ошибаться.


    1. StjarnornasFred
      00.00.0000 00:00

      Универсальный и везде применяется. Один раз выучил - и пиши хоть игры для телефонов, хоть вирусы, хоть нейросети, хоть просто автоматизацию по мелочи. "Можно перейти на", а можно и не переходить.


      1. aceofspades88
        00.00.0000 00:00

        ну шуруп тоже можно молотком забить) в целом вопрос был именно про профессиональную разработку


  1. Bessnov
    00.00.0000 00:00

    А что подразумевается под словом лучший?
    Например,

    С++ лучший язык для обработки данных и "машин лёнинга"?

    Fortran лучший язык для написания драйверов и управления контроллерами SCADA систем?

    ;)


  1. shasoftX
    00.00.0000 00:00
    +1

    Где ABAP? Среди неактуальных он самый актуальный


    1. K0styan
      00.00.0000 00:00

      Притом в "любимых" есть некий SAP (надо думать, тут ABAP и подразумевался), а вот в "неактуальных" ни под тем, ни под другим именем нету...


  1. cherv2
    00.00.0000 00:00

    Val


  1. domix32
    00.00.0000 00:00
    +1

    Забавно, что в списках есть всякие Erlang/Ocaml/Elixir, но нет F#. И всяких сишных альтернатив пожалели а ля V или Zig.


  1. saag
    00.00.0000 00:00
    +1

    Cobol в неактуальные закиньте плиз...


    1. nuclight
      00.00.0000 00:00

      Здрасьте. Еще как актуальный, я за полгода много раз в сырцы компилятора GNU Cobol залазил.


  1. alexdora
    00.00.0000 00:00

    Отдельно доставляет как Rust в обоих списках занимает лидирующие места :)


  1. jkelly
    00.00.0000 00:00

    Все еще не понимаю почему Go и Rust существуют. В смысле, посмотрите на их синтаксис...


    1. wolfy_str
      00.00.0000 00:00

      а что с ними не так? Просто когда работаешь со своим языком особо нет времени изучать другие


    1. Free_ze
      00.00.0000 00:00
      +2

      Так посмотрите на Python, а он вообще в топе)


      1. evgenyk
        00.00.0000 00:00

        Python был хорош, но набежала толпа и превращает его изо всех сил в C++/Java.


        1. domix32
          00.00.0000 00:00

          То есть хотеть скорости от языка это такой смертный грех? Всякие 10к rps из коробки, а не из танцев с бубнами и общением с Си.


          1. evgenyk
            00.00.0000 00:00

            Вы про что? Я больше о синтаксисе и посказках типов. Прироста скорости они не дают никакого.

            Что касается желания скорости от интерпретируемого языка, то как мне кажется оно несколько неуместно, да и не особо нужна скорость Си в 95% случаев, ИМХО. Гораздо важнее скорость написания. А на 5% есть библиотеки, Си и Cython.

            Совсем не скоростью исполнения взял питон.


            1. domix32
              00.00.0000 00:00

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


              1. evgenyk
                00.00.0000 00:00

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


                1. domix32
                  00.00.0000 00:00

                  def sum(a, b):
                    return a+b
                  
                  sum(1,2)
                  sum("asd","qwe")
                  sum((1,2,3),(3,2,1))

                  Если кратко - то вот такие перегрузки очень больно отлаживать не зная ни входных ни принимающих типов. Хинтинги уменьшают скоуп проблемы до перегрузок с конкретными типами. Как-то так и взлетел TypeScript, который по большей части тот же JS только с более строгими типами.


                  1. evgenyk
                    00.00.0000 00:00

                    Зачем такое писать?
                    Но если напишете, такое работает по умолчанию в питоне. Если попытаетесь сложить разные типы, питон ругнется и выдаст стек, из которого вы легко найдете, где ошибка.
                    Вы с Джаваскпирт не перепутали? В питоне по умолчанию строгие типы.


                    1. domix32
                      00.00.0000 00:00

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

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


                      1. evgenyk
                        00.00.0000 00:00

                        У меня такие ошибки ловятся на этапе тестирования. Тесты все равно нужны.

                        Но что-то мне Ваш пример кажется не совсем жизненным.

                        Ну и ломается одна из главных идей питона, что такое проверяется в рантайме.

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

                        Добавил: Пока-что на работе мне не смогли привести ни одного внятного примера, когда внедряемый подход с типами помог поймать ошибку. А мусора он добавляет очень много.


                      1. evgenyk
                        00.00.0000 00:00

                        Добавил 2: В Вашем римере с пайплайном для JS будут проблемы, он преобразует типы и сложит их незаметно для разработчика. А питон просто честно упадет, что от него и требуется. За что его и любим. Ранний крэш, это великолепно.


                      1. domix32
                        00.00.0000 00:00

                        Чяднт, что у меня ничего не крашится?


                      1. evgenyk
                        00.00.0000 00:00

                        >>> def sum(a, b): return a+b
                        ... 
                        >>> sum(1,"a")
                        Traceback (most recent call last):
                          File "<stdin>", line 1, in <module>
                          File "<stdin>", line 1, in sum
                        TypeError: unsupported operand type(s) for +: 'int' and 'str'
                        >>> 
                        

                        Так как у Вас, и не должно крэшится, там с типами все в порядке.


                      1. domix32
                        00.00.0000 00:00

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


                      1. evgenyk
                        00.00.0000 00:00

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

                        Там, гда есть возможность прилета не того, типа полей формы, с типами все равно нужно писать кастомные валидаторы, как правило.


                      1. domix32
                        00.00.0000 00:00

                        Я на самом деле от питона ничего не хочу. Я его использую редко да и то в основном в виде калькулятора или какой-нибудь веб-паук побыстроляну оформить. Остальной народ, который не использует его в числодробилках типа нейронок/ML использует его в качестве веб серверов, и конкретно в этом месте у питона начинается немало проблем из-за разношёрстности пользовательского ввода и невысокой производительности. Именно в этом случае как раз и начинается неприятная свистопляска, которую безболезненнее решать с типами. Можно конечно выкинуть питон и пересесть на java или .net какой, но если у тебя кодовой базе лет 5, то сколько будет тот перевод происходить?

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


            1. AAngstrom
              00.00.0000 00:00

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


    1. domix32
      00.00.0000 00:00
      +1

      То ли дело perl...


      1. nuclight
        00.00.0000 00:00

        Гораздо проще и понятнее, действительно.


  1. eugenk
    00.00.0000 00:00
    +1

    Жаба forever !!! Для меня это просто спасение, а не язык. Дело в том, что я предпочитаю линукс. А большинство моих заказчиков-работодателей работает под виндой. Поэтому средства разработки/управления для своих электронных игрушек пишу на яве. Большинство моих проектов это некая смесь явы и верилога, с вкраплениями С. Почему не питон ??? Во-первых не люблю динамическую типизацию, даже суперстрогую. Во-вторых идея структурирования кода отступами, кажется мне худшим из того что было в IT со времён ламповых динозавров. Поэтому жаба, жаба и ещё раз java ! Плюс scala, которая легко компилируется в джаваскрипт, если надо делать GUI (GUI последние года три я делаю только браузерным). Из системных языков - С. С очень небольшим и осторожным использованием С++, там где он во-первых реально помогает, во-вторых предсказуем и безопасен. Дело в том что чистый С обладает "прозрачностью". Т.е. глядя на код, довольно легко понять, во что он будет развернут, и сколько это будет стоить. С++ этим свойством не обладает. И операция разыменования какого-нибудь умного указателя, легко может потребовать доступа в интернет. Это не страшно, если приложение предназначено для бухгалтера или геймера. А если оно управляет коробкой скоростей автомобиля ??? А на С(С++) я пишу в основном для электроники, причем порой управляющей чем-то реальным, и иногда опасным. С++ мне кажется непригодным для этого. Слишком абстрактен и слишком многое позволяет. Rust - пока играюсь на десктопе, компилируя и дизассемблируя. Увы, ещё слишком плохо его понимаю, чтобы рискнуть применить для реального железа. Хотя язык очень интересный. Вот примерно так. Прошу прощения, если кого-то ненароком обидел, и прошу не пинать ногами, если с чьей-то точки зрения сморозил глупость.


    1. PrinceKorwin
      00.00.0000 00:00

      V язык не смотрели? Судя по вашему комментарию он вам должен зайти хорошо.


      1. eugenk
        00.00.0000 00:00

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

        P.S. Нашел. https://github.com/medvednikov . Пишут во всяком случае интересно. Наверно и правда мне понравится. И приятно что автор соотечественник. Будет забавно, что расширения исходников придется как-то переименовывать, чтобы не путать с верилогом :)))


        1. PrinceKorwin
          00.00.0000 00:00

          Если понравится было бы интересно от вас почитать статью про этот язык :)


          1. eugenk
            00.00.0000 00:00
            +1

            Ну это наверно чуть позже. Всё никак не могу дописать серию статей про свой процессор для проектов на FPGA. Кстати возможно средства разработки для него напишу на V. Сейчас оно у меня на java. Интересно будет сравнить.


      1. eugenk
        00.00.0000 00:00

        Забавно что для языка такого типа есть REPL. Ядра для юпитера как я понял пока нет, но раз есть REPL, без проблем можно будет накатить самому. Удивительно что сам автор до сих пор этого не сделал. Юпитер просто обожаю. Вобщем спасибо за наводку, действительно очень интересная штуковина. Пока есть немного свободного времени, буду разбираться.

        По-русски: https://proglib.io/p/v-znachit-yazyk-programmirovaniya-2020-02-23 и https://koplenov.github.io/vpage/


      1. AnthonyMikh
        00.00.0000 00:00

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


        1. eugenk
          00.00.0000 00:00

          Ну я бы не сказал. Активность сооба довольно высокая.


          1. AnthonyMikh
            00.00.0000 00:00

            Высокая активность != нормальная разработка


            1. eugenk
              00.00.0000 00:00

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


  1. Mitai
    00.00.0000 00:00
    +1

    Dart нет в списке...


  1. vldmrdbnn
    00.00.0000 00:00
    +1

    Пыха ван лав


  1. darklord1984
    00.00.0000 00:00

    Весьма интересно, возьму на заметку.


  1. dmidem
    00.00.0000 00:00
    +1

    Php всегда будет языком программирования который стоит изучать!


  1. no404error
    00.00.0000 00:00

    Исходя из пропаганды различных курсов в "этих их интернетах", все делится на две категории: "как срубить бабла если мозгов дофига" и "как срубить бабла если оппыта нет нефига".

    И обе порочны.

    Во-первых, откуда потенциальному пользователю курсов знать свои реальные возможности? И, во-вторых, рубить бабло в любом случае не выйдет, точка. Максимум что по факту выйдет - дикая "дрочка" и упоротое забивание еще не состоявшейся репутации под плинтус.

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

    В контексте человеческого развития... Прошел курсы - поздравляю, тебя научили складывать слово МАМА из кубиков. Хочешь получать 100 000 в месяц? Молодец, только каждый месяц сумма будет падать, поскольку бэкграунд тебя не отпустит.

    А осознание наступит либо с досираком на кассе, либо с очередным заданием, когда попросят сложить МАМА из Ж, О, П и А.


  1. barsty
    00.00.0000 00:00

    Не хватает Кобола и Excel )