Еще летом на The economist вышла статья о том, что Python все активнее завоевывает рынок. Но завирусилась она только сейчас. Вероятно, так произошло из-за того, что она очень неоднозначная. Ведь несмотря на такой заголовок, автор заявляет, что Python, теоретически, может повторить судьбу Фортрана или Лиспа. Чтож, обсудим. Ниже перевод этой небольшой заметки.



Я ТОЧНО не собирался создавать язык, предназначенный для массового потребления
Так сказал Гвидо ван Россум, голландский ученый, который разработал язык программирования Python в 1989 году. Но три десятилетия спустя его изобретение обогнало почти всех своих конкурентов и дало возможность без барьеров кодить, без преувеличения, всем. За последние 12 месяцев в США «Python» гуглили чаще, чем «Ким Кардашьян» (В России «Python» по тому же принципу обогнал «Тимати». — Прим. ред.). Количество запросов утроилось с 2010 года, в то время как количество запросов по другим основным языкам программирования не изменилось или уменьшилось.

Два основных преимущества языка — это его простота и универсальность. Простой синтаксис позволяет легко учиться, читать и делиться. Универсальность же легко продемонстрировать на примере: ЦРУ использовало его для взломов, Google для веб-сканирования, Pixar для производства фильмов и Spotify для рекомендаций песен.

С такой быстрорастущей пользовательской базой и широким спектром возможностей Python может показаться тем языком, который имеет шансы убить всех конкурентов. Это маловероятно, считает Грэди Буч, главный специалист по программному обеспечению IBM, который сравнивает языки программирования с империями: хотя временами растущая сила может быть близка к мировому господству, ее соперники обычно выживают в технико-культурных нишах, в которых они зародились. Python не заменит C и C++, которые являются «языками более низкого уровня». Они дают пользователю больший контроль над тем, что происходит в процессоре компьютера. Он также не убьет Java, который популярен для создания сложных приложений, или JavaScript, который поддерживает большинство веб-страниц.

Кроме того, питонисты, которые уверены в полном превосходстве своего языка, должны следить за рынком. Фортран, Лисп и Ада были очень популярны в 1980-х и 1990-х годах, согласно индексу TIOBE, который отслеживает использование языков среди профессиональных разработчиков. Их доли резко сократились, поскольку стали доступны более эффективные варианты кодинга. Ни одна империя, независимо от ее могущества, не может существовать вечно.

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


  1. 0xf0a00
    18.01.2019 15:18
    +7

    Спасайтесь друзья. Это вторая волна. Первой были JS-ники всех мастей, мы получили Электрон. Теперь фанаты Тимати массово идут в айти.
    *Все выше сказанное шутка, если что :)


    1. sergof
      18.01.2019 15:19

      print(3 * 'Ha! ')


      1. Spiret
        18.01.2019 15:46
        -1

        [print('Ha! ') for x in range(0, 3, 1)]


        1. sergof
          18.01.2019 15:52
          -1

          print('{}!'.format('-'.join('ha' for _ in range(3))).capitalize())


          1. MaxVetrov
            18.01.2019 20:36

            a = 0x48612120
            H = lambda a : chr((a>>24)&0xff)+chr((a>>16)&0xff)+chr((a>>8)&0xff)+chr(a&0xff)
            print(3*H(a))

            or
            print(map(lambda a : chr((a>>24)&0xff)+chr((a>>16)&0xff)+chr((a>>8)&0xff)+chr(a&0xff), [0x48612120])[0]*3)


            1. sgjurano
              19.01.2019 20:26

              H = lambda a: ''.join([chr((a >> 24 — 8 * i) & 0xff) for i in range(4)])


              1. MaxVetrov
                19.01.2019 21:03

                a = 0x20216148
                H = lambda a : "".join([chr((a>>i) & 0xff) for i in range(0,25,8)])
                print(3*H(a))

                .) Your turn!


                1. sgjurano
                  19.01.2019 21:08

                  Теперь хорошо, у перфекционизма должен быть предел xD


                  1. MaxVetrov
                    20.01.2019 00:32

                    Perfection never ends.)
                    a = 0x40870c8
                    H = lambda a : "".join([chr(a>>i&0x7f) for i in range(0,22,7)])
                    print(3*H(a))



                    1. vvsotnikov
                      20.01.2019 16:45

                      То же самое, но в TensorFlow:

                      import tensorflow as tf
                      with tf.Session().as_default() as sess:
                          H = lambda tensor: "".join([chr(sess.run(tf.bitwise.bitwise_and(tf.bitwise.right_shift(tensor, i), 0x7f))) for i in range(0,22,7)])
                          a = tf.constant(0x40870c8)
                          print(3*H(a))


        1. fireSparrow
          18.01.2019 16:02

          Имхо, использовать list comprehension не для формирования списка, а ради сайд-эффекта функции, — не очень хорошо.


        1. sergey-gornostaev
          18.01.2019 16:13

          Of course, it is possible to abuse list comprehensions to write truly incomprehensible code. I’ve seen Python code with listcomps used just to repeat a block of code for its side effects. If you are not doing something with the produced list, you should not use that syntax.

          Luciano Ramalho — Fluent Python


      1. DmitryAnatolich
        18.01.2019 15:55

        print(' '.join(['Ha!'] * 3))


    1. Spiritschaser
      18.01.2019 15:46
      +1

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


    1. arandomic
      18.01.2019 18:38
      +1

      Я так понимаю это оффтоп, но я не понял шутки.
      У Тимати есть какая-то особенность, которая роднит его с питонистами?
      UPD. Перечитал статью, понял про тимати.


  1. Jouretz
    18.01.2019 15:36
    +1

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


    1. hunroll
      18.01.2019 15:44

      Ну это же популярность в поисковике. Есть куча факторов, которые этому могут помешать:
      1. Могут просто не гуглить ничего по определённому языку. Например, он понятный, имеет обширный хэлп, не глючит, ведёт себя предсказуемо, никто не будет ходить каждые 2 мин на stackoverflow. Антипример — сложный непредсказуемый язык, который по-разному себя ведёт в зависимости от компилятора и платформы. Про него все гуглят каждые полчаса.
      2. С++. Есть огромное количество синьёров С++, которым не нужно ничего гуглить. Они просто делают свою работу.
      3. Сам поисковик. Если бы у Амиго был свой поисковый движок — то самым популярным языком программирования был бы html.

      P.S. Питон и правда очень популярный, но слабо верится что ежедневно его использует большее количество людей чем тот же C++. Правильнее сказать — «Самый популярный язык программирования среди запросов в Google» или просто «Самый трэндовый».


      1. Jouretz
        18.01.2019 15:53

        Заголовок статьи просто желтоват. учёный покусал журналиста


        1. sahsAGU Автор
          18.01.2019 16:04

          Согласен. Хотя издание известное


      1. SirEdvin
        18.01.2019 16:05

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

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


        1. hunroll
          18.01.2019 16:20
          +1

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


          1. SirEdvin
            18.01.2019 16:35

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

            Самая крупная ниша за последнее время — это веб, и после Python, Ruby, Golang там практически не осталось место для C++. Разве что в каких-то топ 10 посещаемых сайтов мира да и то вряд ли.


            1. Jouretz
              18.01.2019 16:39

              Есть хоть один AAA проект на js в геймдеве?


              1. SirEdvin
                18.01.2019 16:44

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

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


                1. Jouretz
                  18.01.2019 16:53

                  Это просто к вопросам «как считать» и «популярность языка».
                  На флэше тоже тысячи игр написано было, и где теперь тот флэш?
                  А области занятые теми же плюсами остаются таковыми десятилетиями.


                  1. SirEdvin
                    18.01.2019 16:57

                    Это какие такие области?

                    Десктопные приложения? — У нас есть javafx, електрон, kivy и еще ряд других штук.
                    Embedded? — Тут уже больше все-таки используется C с кастомными диалектами. Опять же, есть всякие микропитоны.
                    Системное программирование? — Ну, опять же таки, у нас есть немного раст.
                    Геймдев? — Кроме довольно небольшой части разработчиков движка, все остальные используют в основном скриптовые языки (самописные или нет).


                    1. roryorangepants
                      18.01.2019 17:09

                      Десктопные приложения? — У нас есть javafx, електрон, kivy и еще ряд других штук.

                      Перечислили технологии для десктопа и не назвали ни одной из .net-стека, что, мягко говоря, странно, если учесть, что это самый топовый стек для десктопной разработки под Windows, а Windows — самая популярная десктопная ОС.


                      1. SirEdvin
                        18.01.2019 17:10
                        +1

                        Простите, забываю всегда про windows, к сожалению.


                        1. BalinTomsk
                          18.01.2019 19:00
                          +2

                          ---забываю всегда про windows

                          При том что он на подавляющем количестве десктопов и никого JS там нет и не привидится и даже практицески нет java. C# + WPF & C++ + QT


                          1. SirEdvin
                            18.01.2019 19:06
                            -1

                            VSCode, Slack, Mattermost и куча других тулзов для более-менее программистов почему-то пишутся кроссплатформенно на js :)


                            1. BalinTomsk
                              18.01.2019 19:39

                              VSCode kак и все другие ГУИ от microsoft-a написан на С#.
                              Code.exe размером в 70 Mb легко просматриваетса в Dependence Walker, как и остальные полста dll-к.


                              1. Jouretz
                                18.01.2019 19:44

                                github.com/Microsoft/vscode
                                Я так понимаю, пока вы сами из исходников её не соберёте вы не поверите. Дык теперь это возможно.
                                www.archlinux.org/packages/community/x86_64/code
                                Там список файлов прилетающих с проектом. code.exe и полста dll-ок?


                                1. BalinTomsk
                                  18.01.2019 19:53

                                  Я таки запустил и поверил вам. :)


                      1. 0xf0a00
                        18.01.2019 17:26
                        +1

                        Delphi image


                        1. khim
                          18.01.2019 18:10

                          Дельфи по желанию владельца превратился в Cobol.


                          1. Groramar
                            19.01.2019 10:33

                            Владелец давно сменился :) Так что не всё так печально, как казалось 10 лет назад.


                            1. khim
                              19.01.2019 14:36

                              Владелец сменился, подходы не сменились. Последняя версия бюджетного Паскаля, Turbo Pascal 7.0 — вышла полвека назад.

                              А среда разработки — продаётся под Enterprise и с соответствующими целями. Если бы это была часть какого-то популярного Enterprise продукта (как 1С) — Паскаль изучали бы как часть продукта… А так… В школах нет, потому что это не Enterprise, в Enterprise нет, потому что это просто среда разработки… Ну и где оно может использоваться?


                              1. Groramar
                                19.01.2019 17:23

                                Есть полнофункциональный Community Edition. Если доход от деятельности до $5000, то можно использовать легально и бесплатно. В том числе там доступен мобильный пак, то есть можно писать под все поддерживаемые платформы. Используется много где и кем, в мире порядка трех миллионов установок (по оценке Эмбаркадеро).


                                1. khim
                                  20.01.2019 04:33

                                  Не знаю где и кем эти три миллиона установок сделаны, нр вот тут — его нету. Есть даже Komodo и Light Table, а Delphi — нету.


                                  1. Groramar
                                    20.01.2019 08:18

                                    Не могу сказать, как они там считают. Но, думаю, Эмба своих клиентов знает лучше :)
                                    www.embarcadero.com/press-releases/embarcadero-brings-millions-of-c-and-delphi-developers-to-windows-10-with-its-latest-rad-product-release
                                    «RAD Studio 10 Seattle brings Embarcadero’s three million strong community of C++ and Delphi developers to Windows® 10»
                                    И это было в 2015-м. Сейчас, я думаю, парк больше, и за счет Community Edition и, вообще, активного продвижения.


                                    1. khim
                                      20.01.2019 16:14

                                      Не могу сказать, как они там считают. Но, думаю, Эмба своих клиентов знает лучше :)
                                      Не обязательно во-первых, и главное — не в их интересах посчитать всё получше.

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


                                      1. Groramar
                                        20.01.2019 21:55

                                        Не обязательно во-первых, и главное — не в их интересах посчитать всё получше.
                                        Понимаете, они работают на Западе. Там за недобросовестную рекламу/информацию могут неплохо отсудить денег.
                                        Если у нас появится в сборке какой-нибудь маленький модуль на Delphi и для того, чтобы его поддержать на 1000 машин раскатать компилятор — нельзя будет сказать, что у нас появилось 1000 программистов на Delphi.
                                        Зачем компилятор кидать на тысячу машин? :) Это же компилирующий ЯП :) Один раз собрал бинарь на одной машине разраба — и он будет работать хоть на всех компьютерах мира с подходящей ОС.


                                        1. khim
                                          21.01.2019 13:02

                                          Зачем компилятор кидать на тысячу машин? :)
                                          Потому что это дешевле и проще. Если какая-то тулза нужна для сборки одного из проектов — она должна быть везде.


                    1. tcapb1
                      19.01.2019 07:46

                      Я как-то ходил на собеседование в компанию, где довольно масштабную игру писали вообще на PHP.


          1. dmitry_dvm
            18.01.2019 19:05
            -2

            Геймдев на Unity денется.


      1. Ariox41
        18.01.2019 16:42

        Если искать по количеству запросов в google trends, по 'С++' будет в три раз больше запросов, чем по 'Java', у 'Python' немного меньше, чем у 'Java'. Но есть искать по темам "язык программирования ..." — результат обратный.


        При этом у меня, например, в большинстве запросов не встречается 'C++', зато встречается 'Qt', 'Qt5', отдельные классы Qt без упоминания самого Qt и различные другие библиотеки. Я сильно сомневаюсь, что можно реально оценить, какие запросы к какому языку относятся.


        1. facha
          20.01.2019 00:52

          Если искать по количеству запросов в google trends, по 'С++' будет в три раз больше запросов, чем по 'Java', у 'Python' 

          Странный результат, учитывая то, что Java это еще и остров, а python — еще и змея.


  1. altrus
    18.01.2019 15:57
    +1

    За последние 12 месяцев в США «Python» гуглили чаще, чем «Ким Кардашьян» (В России «Python» по тому же принципу обогнал «Тимати». — Прим. ред.)

    Хм-м…
    Что-то у переводчика не то или с ориентацией, или с логикой, потому как аналогом Кардашьян у нас будет Бузова, а не Тимати. И тут уж Оля рвёт Питон по швам…

    image


    1. sahsAGU Автор
      18.01.2019 16:06
      +1

      Что-то у переводчика не то или с ориентацией

      По вашему в 2019 году с ориентацией все еще бывает что-то не так?


      1. mkshma
        21.01.2019 11:04

        Оффтоп конечно, но да. То, что «альтернативные» ориентации есть отклонение — факт. Сейчас стоит лишь вопрос отношения к этому. Раньше принудительно лечили, а теперь в большинстве стран спокойно себе живут люди, как и живут люди, родившиеся с тремя почками и шестью пальцами.


        1. khim
          21.01.2019 13:04

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


    1. Ariox41
      18.01.2019 17:09

      Вы ищете по темам, а не по запросам.

      image


      1. DukeKan
        18.01.2019 21:05
        +2

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


    1. muhaa
      18.01.2019 17:10
      +3

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


  1. muhaa
    18.01.2019 16:36

    Я недавно гуглил Python потому, что решил попробовать что такое машинное обучение с TensorFlow. Может такие как я и создают этот рост запросов?


    1. janvarev
      18.01.2019 17:30

      Когда начинаешь гуглить про Python и TensorFlow, сложно остановиться…


  1. DaneSoul
    18.01.2019 16:38

    Доминирование в поисковиках вполне объяснимо — Python сейчас становится языком №1 для начала обучению программированию, как на разных курсах, так и в зарубежных ВУЗах.
    А начинающие всегда задают максимальное количество вопросов.


    1. mafia8
      18.01.2019 16:55

      То есть получается так: если придумать язык программирования, к нему хороший справочник, учебник, учебные материалы, среду разработки, то это уменьшит количество запросов в интернете, а следовательно, и рейтинг этого языка программирования?


      1. DaneSoul
        18.01.2019 17:00

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


      1. jaiprakash
        18.01.2019 17:51
        -1

        Так случилось с Pascal/Delphi.


        1. khim
          18.01.2019 18:14

          Ни разу нет. Delphi вполне целенаправленно ушёл в Enterprise. Собственно Филиппа Кана кивнули потому, что он этому делу мешал…


          1. jaiprakash
            18.01.2019 18:22

            Я про то, что на паскаль, как учебный язык, есть и книжки, и встроенная документация. Да и WTF относительно нечасто случается.
            В хоронильщиках не состою, если что.


            1. khim
              18.01.2019 18:29

              Паскаль да — и если вы во времена его расцвета в 80е годы были поисковики, то популярность Питона показалась бы мелкой и незаметной.

              Но вот выход Delphi, фактически, закрыл развитие универсального языка и превратил его в «инструмент для Enterprise»…


              1. hoegni
                18.01.2019 21:41

                А потом пришел Free Pascal c Lazarus и стал идеальным инструментом для хобби-программистов, и отчасти для ученых.


                1. khim
                  18.01.2019 23:03

                  Только для тех, кто застал ещё Turbo Pascal. Очень мало кто из тех, кто не застал времена, когда Turbo Pascal использовали для обучения в школах про них знает…


                  1. hoegni
                    19.01.2019 21:26

                    Ну, благодаря Lazarus и дельфийцы иногда знают. Хотя отчасти Вы правы. Сам-то я из эпохи Turbo Pascal.


        1. DmitryOgn
          19.01.2019 17:37

          На конференции ~2003 года в Москве руководство Borland заявило что создало C# Builder и ВСЕ решения компании будет переводить на «замечательную платформу .NET».

          На этом моменте трогательной дружбы в M$ я понял что Borland перестала существовать. Тогда же Borland не осилила дописать комиллятор/библиотеку под Linux (Kylix — продакшн релиз был скорее альфа-версией по стабильности, например из-за смены локали с C на ru_RU начинал путать точки и запятые в C++ коде).

          С тех пор про Borland ничего не слышно.


          1. Groramar
            19.01.2019 19:29

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


            1. khim
              20.01.2019 04:40

              Это как раз были «мелочи».


            1. DmitryOgn
              21.01.2019 08:22

              >> И тут под Линукс появляется мега-тул быстрой разработки.

              А Вы пробовали этот «мега тул»? Я с ним работал, на работе, на лицензионном. Локаль ru_RU — компиллятор путает точки и пробелы в исходнике. Только менять локаль на С и потом запускать. Огромное количество плавающих багов. Не компиллирует — добавляешь пробел в случайном месте, больше ничего не меняя — исходник откомпиллировался (!).

              Возникает вопрос — можно ли вообще работать с компанией, выпустившей в энтерпрайз релиз компиллятор, за тысячи долларов, с таким качеством?

              Одновременно на конференции руководство заявляет о великих планах, что будут дублировать VS.NET своим C# Builder (т.е. забросит VCL?), вместо того чтобы делать VCL/Delphi/C++ Builder мультиплатформенными и совместимыми со сторонними комилляторами/библиотеками.

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


              1. Groramar
                21.01.2019 10:14

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


                1. DmitryOgn
                  21.01.2019 13:05

                  Из VCL можно было сделать аналог современного Qt, доведя Kylix до нормального качества и сделав совместимость VCL с другими компилляторами (пусть и с каким-то препроцессором, как в Qt).

                  Тогда, возможно, сейчас для UI смартфонов писали бы на Delphi, вместо JS/Kotlin/Swift. И что-то вроде KDE/Gnome было бы на этой библиотеке.

                  One of the main architects of the first Delphi versions, Anders Hejlsberg, was hired by Microsoft and became one of the main architects of .NET.


                  at the time (1996), «Borland alleged that Microsoft had hired 34 Borland employees over the past 30 months in order to steal Borland trade secrets. Borland also claimed that Microsoft offered and delivered expensive lures to Borland workers. In two cases, incentives topping $1 million were involved.»


                1. khim
                  21.01.2019 13:11

                  На самом деле вы оба правы. Подтянуть Kylix было, в принципе, возможно, но беда в том, кто Enterprise хотел получить что-то, что можно было деплоить везде, бинарник. Ну и сам Kylix — это тоже бинарник, без сорцов.

                  А пресловутое «сообщество» в те годы от одной мысли что кто-то что-то будет поставлять без исходников впадало в истерику и начинало биться в конвульсиях. CADT-поколение, вообще, гордилось тем, что они из релиза в релиз ломают совместимость.

                  Потребовалась пара десятилетий пока «бунтари» выросли и, наконец, осознали, что борьются-то они не со «страшным Enterprise», а со своими собственными пользователями.


          1. khim
            20.01.2019 04:53

            Borland умерла гораздо, гораздо раньше. Когда она выпустила Delphi и убила Turbo Pascal.

            Это может показаться бредом: Delphi — отличный продукт и одно время он был весьма популярен… и, тем не менее, это так.

            Вы не можете взять учебник, рассчитанный на Turbo Pascal и использовать его с Delphi! Вот никак! Никаких аналогов Turbo3 и Graph3 (позволивших, в своё время, перенести пригораммы с Turbo Pascal 3 на Turbo Pascal 4/5/6/7) — нету. Совсем нету! Написать инструкцию в две странички, объясняющую как перейти с OWL на VCL — нельзя!

            Зато можете взять учебник, рассчитанный на Turbo C++ 3.1 — и использовать его с Visual Studio 2017… а вот с C++ Builder'ом — его использовать не получится.

            Это разрывает «связь поколений». Примеры, которые позволяли компаниям преодолеть такой разрыв — тоже известный. Это, например, переход с DOS на Windows NT или c MacOS Classic на MacOS X. Во всех случаях многие годы поддерживались два стиля работы: «старый» и «новый». И всё равно многих «потеряли».

            А Borland… решил всё «одним рывком» сделать — и поплатился за это. Не он один: точно также умер Visual Basic (да, Visual Basic.NET существует… но кто им пользуется? а когда-то вначале Basic, потом Visual Basic были самыми популярными языками в мире), Windows Phone (потерявший всех разработчиков и пользователей Windows Mobile) и много других продуктов.

            Просто Borland потеряла свой основной продукт — потому это так сильно ударило по всей компании…


            1. Groramar
              20.01.2019 08:23

              Замечу, что VB.NET и сейчас 5-й в индексе TIOBE. Поэтому ценность поста сомнительна.


              1. khim
                21.01.2019 13:21

                Если бы вы не искали к чему придраться, а хотели бы разобраться в том, что произошло, то сходили бы на страничку того же TIOBE и обратили бы внимание не только на позиции VB.NET в индексе, но и на динамику тоже. Хотя бы на табличку «Very Long Term History». Или на график.

                Да, признаюсь, не сходил на TIOBE и не обратил внимание на то, что, оказывается, в последние год-полтора VB.NET вновь приобрёл популярность (интересно — за счёт чего?)… но появился-то он в 2001м! То есть больше 10 лет Microsoft вкладывал в этот продукт не получая отдачи.

                Если это для вас — какой-то второстепенный продукт… то вы можете себе это позволить. А если это ваш флагман… тогда будет то, что с Borland'ом случилось…


            1. DmitryOgn
              21.01.2019 08:34

              Они перепутали себя с M$. M$ может раз в 5 лет добровольно-принудительно переводить клиентов и сообщество на новые платформы, библиотеки и инструментарий, забрасывая все эти DCOM, ActiveX, MFC, .NET Forms…

              Борланд — фактически компания одного продукта в двух вариантах (Pascal/C++).

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


              1. Groramar
                21.01.2019 10:16

                Борланд много чего выпускал. Конечно, этот продукт был самым успешным. Воевать на рынке с мега-корпорациями сложно, мягко говоря. Что и как уж сделали — история рассудила. Если бы Майрософт не вмешался, вполне возможно что инструмент дотянули бы до нормального состояния и сейчас вся индустрия была бы несколько иной.


                1. khim
                  21.01.2019 13:29

                  Borland много чего выпускал, да — но это с самого начала была «компания, выпускавшая Turbo Pascal и что-то там ещё».

                  Как Microsoft был «компанией выпускавшей MS DOS» (да, я помню, в 70е они начинали с бейсика, но это — другая эпоха).

                  Однако Microsoft, выпустив совершенно другую OS (и до этого поигравшийся ещё и с совсем альтернативной OS) — поддерживал MS-DOS пользователей многие годы, аж до начала XXI века.

                  А Borland отрезал себе всё одним махом (ошибка, которую, удивительным образом, Microsoft повторит позже, в 2010м). Результат мы видим.


      1. khim
        18.01.2019 18:13

        Вы не поверите, но нет. Новички всё равно проигнорируют учебник, забудут про справочник и запутаются в среде разработки.


  1. RedCatX
    18.01.2019 17:20
    -2

    Простой синтаксис позволяет легко учиться, читать и делиться
    Не соглашусь. ИМХО, синтаксис Python весьма тяжёл для чтения — во многом благодаря ошибочно построенной автором логической цепочки «меньше символов => проще». Как пример — код, написанный многословным паскалеподобным синтаксисом, читается не в пример проще кода написанного в чрезмерно лаконичном синтаксисе Python. А динамическая типизация тем более не придаёт языку читабельности и простоты.


    1. Groramar
      20.01.2019 11:19

      Согласен. Как-то приводил примеры:
      habr.com/ru/company/psb/blog/433434/#comment_19536944
      Могу свежих докинуть.


  1. SergeiMinaev
    18.01.2019 17:22

    Python не заменит C и C++

    Автор статьи, случаем, не Captain Obvious?


  1. red_andr
    18.01.2019 18:00

    Почему Питон должен повторить судьбу Фортрана, Лиспа и Ады? Почему он не может повторить судьбу Си, который лидирует на протяжении чуть ли не полувека, почти с момента своего создания и по сей момент? Причём вполне очевидно, что он будет оставаться если не на первом месте, то в топе и в обозримое будущее.
    Кстати, я сам программирую на Фортране и могу сказать, что он остаётся несменяемым лидером в своём сегменте. У него просто нет конкурентов для решения численных задач. Ну не на Питоне же с Джавой писать модели решающие системы дифуров. Точнее, написать то можно, даже есть такие попытки, но скорость будет в разы, а то и порядки ниже. Си тоже довольно быстрый, но менее удобен. А общее лидерство Фортран потерял исключительно из-за появления других сегментов. Если до 80-х, может быть 90-х, большая часть компьютеров использовались как числодробилки, то сейчас хоть их число возросло, но число компьютеров для других применений возросло ещё больше.


    1. roryorangepants
      18.01.2019 18:07

      Ну не на Питоне же с Джавой писать модели решающие системы дифуров.

      Высокоуровневые вычисления неплохо писать как раз таки на Питоне, пользуясь библиотеками, написанными на C и том же Фортране.


      1. red_andr
        18.01.2019 18:16

        То есть всё таки собственно вычисления делают модули написанные совсем не на Питоне. Да, я разбирал такие библиотеки как NumPy и SciPy, там всё внутри на Фортране и Си. Это, конечно, удобно, не могу не согласится, но в целом всё равно проигрывает полной реализации на одном Фортране.


        1. roryorangepants
          18.01.2019 18:27

          в целом всё равно проигрывает полной реализации на одном Фортране.

          Да не проигрывает же.

          То есть всё таки собственно вычисления делают модули написанные совсем не на Питоне.

          Само собой. Но ресерчер в результате пишет код на питоне и фортрана может не знать вообще.


          1. red_andr
            18.01.2019 22:50
            +1

            Ну как не проигрывает, если проигрывает ;)
            Overhead в виде питоновской прослойки может быть очень велик. Конечно, всё зависит от конкретной задачи. Где то достаточно пары вызовов функций на Си, а снаружи только простая обработка результатов и их вывод. Но зачастую просто нет библиотечных функций для критичных частей кода. Например, в моей области, моделирование химии атмосферы. Приходится всё писать на Фортране.


            1. Groramar
              20.01.2019 11:27

              И оверхид есть. И писать код мотаясь по множеству сред — удовольствие ниже среднего. Намного удобнее, когда код монолитный и единый. Опять же: на 'стыках' накосячить нельзя в принципе, просто потому что стыки отсутствуют. А так — нужно знать массу особенностей, типы могут быть разные в разных языках, boolean, string — запросто. А это всё верный путь к потенциальным багам. Вообще, на стыках постоянно всякая 'веселуха' проявляется. По собственному опыту.


    1. trix
      18.01.2019 19:09
      +2

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


      1. red_andr
        18.01.2019 22:42

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


        1. khim
          18.01.2019 23:08
          +1

          Хотя разве VB был когда-нибудь в лидерах?
          Смотря что считать «лидерами». Где-то на рубеже веков от 40% до 60% людей, называвших себя «программистами» использовали VB.

          Правда не в России: в России эту нишу заняли частично 1С-программисты, частично — Delphi-разработчики.

          Скажем, никто на корпоративном уровне не мог даже заикнутся, чтобы его использовать.
          Наоборот: до пришествия в энерпрайз Java и интранета на VB было написано безумное число внутрифирменных поделок.

          Возможно кто-нибудь когда-нибудь проведёт исследование и выяснит почему на Западе в те временя бизнес выбирал VB и VBA, а в России — Delphi и 1C.


          1. Groramar
            19.01.2019 10:32

            Известно почему, на Западе был (применим это слово, сейчас ситуация существенно поменялась) монополист — Майкрософт, который агрессивно продвигал .net и VB, а у нас люди себе выбирали инструменты сами. У нас такой монополист — 1С, в своей области.


            1. khim
              19.01.2019 14:39

              То что люди выбирали инструменты сами, я думаю, не критично. Скорее сыграло роль другое. Delphi был популярен во времена, когда инструменты продавались на всех станциях метро «на вес». Неважно — 100 рублей за диск или 500… важно, что официальная цена значения не имела. А на Западе — таки имела.


              1. Groramar
                19.01.2019 17:29

                Всё это понятно. Однако выбор (при равных прочих) был сделан в пользу Delphi, а не VS. Сейчас, к слову, ситуация стала лучше. Выпустили Community Edition, полнофункциональную среду, с ограничением по доходу с неё.


                1. khim
                  20.01.2019 04:56

                  Всё это понятно. Однако выбор (при равных прочих) был сделан в пользу Delphi, а не VS.
                  Дык не было «прочих равных»! В школах в те времена использоватли Turbo Pascal, так что при продаже софта «на вес» использование Delphi с тем же языком — было естественным.

                  Но с тех пор Turbo Pascal из школ ушёл… он долго держался, лет ещё 10 назад я эти синие окошки видел… но, в конце концов, таки умер… А Community Edition — это уже совсем другое. На нём программировать в школах не обучают.


                  1. Groramar
                    20.01.2019 08:29

                    В школах, понятно, не было. Однако 'на рынке' было доступно всё.


                    1. khim
                      20.01.2019 17:32

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


                      1. Groramar
                        20.01.2019 22:03

                        Сейчас Жаву где-то изучают в школах?
                        Вот смотрю на киберфоруме:
                        www.cyberforum.ru/pascal
                        www.cyberforum.ru/java
                        Основная масса явно учебных вопросов как была так и осталась на Паскале/Делфи. А глянуть на рынок спроса специалистов — ситуация совсем другая.


                  1. RedCatX
                    20.01.2019 21:06

                    В школах точно также и QBasic использовали, причём, по моим наблюдениям, намного чаще чем Turbo Pascal. Так что возвращаемся к «прочим равным».


        1. wlr398
          19.01.2019 01:42
          +1

          SolidWorks (Солидворкс) — программный комплекс САПР для автоматизации работ промышленного предприятия на этапах конструкторской и технологической подготовки производства.
          Разработчик Dassault Systemes
          Написана на Visual Basic
          ru.wikipedia.org/wiki/SolidWorks

          Интересно, это реально так…
          Вроде система очень серьёзная.


          1. DmitryOgn
            19.01.2019 17:48

            Dassault купил SolidWorks, хотя и довольно давно.

            Сейчас он написан на C#, ядро переезжает с движка Сименс на собственный движок Dassault ACIS (созданный для CATIA).

            Возможно, в 1995 году он и был написан на VisualBasic, но эта информация устарела минимум лет на 15.


  1. Delsian
    18.01.2019 18:25

    Всяк кулик свое болото хвалит (с)
    Помнится, в прошлом году предсказывали, что на первое место выйдет Rust — а на графике его вообще нету.


    1. khim
      18.01.2019 18:32

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

      Да, он крут, да его популярность растёт… Но до популярности питона или js ему расти и расти.


  1. litwr2
    18.01.2019 18:31
    +1

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


    1. valemak
      18.01.2019 19:22
      +1

      Паскалю это сильно помогло?


      1. litwr2
        18.01.2019 22:08

        Паскалить массово в школах стали прекращать с начала 90-х, потому как паскаль почему-то перестали поддерживать — как в сказке, как будто кто-то произнес волшебное заклинание и всё переключилось на яву. Но МГУ ВМК вроде до сих с паскалем дружит. Язык сам кое в чём до сих пор лучший. Учит абстрактно относится к данным, а не утилитаристично как с питоном или рубином, с множествами работать математически, а не по-программистки,… Поколение паскальщиков до сих пор во многом поддерживает Дельфи. Потом пошла система питон-ява, что и даёт нынешние несколько завешенные пики по этим языкам. Хотя и питон и ява очень даже достойные продукты. Но мне, например, Ruby предпочтительнее, чем Python.


    1. vagon333
      18.01.2019 19:49

      Ну, школота серьезный трафик не создает, не тот уровень вовлеченности.
      Кстати, насчет языка в школе, у ребенка Java и C#:
      — на Java все домашние задачи,
      — на C# и Java факультативные классы (Game Design — Unity C#, Robotics — Java).
      Т.е. без Python в школе.


      1. litwr2
        18.01.2019 21:41

        Интересно, это где так?



      1. DmitryOgn
        19.01.2019 17:54

        Хорошая школа…


  1. Acuna
    18.01.2019 19:43
    -2

    Все бы конечно хорошо и правильно, но как известно, Sun лет 10 судилась с Гуглом по поводу использования Java, в конечном итоге Гугл ей проиграл, но Гугл не был бы Гуглом, если бы не имел козырей в рукаве, они мне кажется совсем не горевали, и приступили к созданию ОС Fuchia и Dart — сильно JS-подобного языка и фреймворка Flutter для него, для которого уже написано рекордное количество модулей на все случаи жизни, оконфузился даже всеми горячо любимый Котлин. Почему? Потому-что на мобильном рынке имеется две оси — iOS и Android, и понятно что все мечтают о кроссплатформенности, чтобы не писать то же самое и для iOS c нуля, причем совершенно на другом ЯП и SDK. Кроссплатформенность уже реализована благодаря фреймворку Xamarin от MS на C#. И все бы хорошо, но Fuchia не будет поддерживать никаких сторонних ЯП, свиньи под названием Java от Sun им уже хватило с лихвой. Котлин туда же, плюс он не кроссплатформенный, вот и все, а уж какие в СМИ в те дни были эмоции, «Google выбрала для своих разработок российский язык программирования», 10 расшитых путиных из 10, бояра лилась рекой, я даже в те дне лишний раз новости не читал, и сейчас все котлинисты с неким стыдом в голосе спрашивают мол а что же теперь делать, как же наш горячо любимый Котлин, это же так модно-молодежно.

    Это я все к тому, что хоть в статье речь идет о десктопной разработке, однако кусок мобильной разработки просто огромен и будет сильно сбивать статистику, поэтому в любом случае говорить о том, что "<название_языка> — полная замена С++ в будущем" как минимум узколобо. Я не знаю как этот маховик в конечном итоге раскрутится, я сам пишу для Андройда для души (я веб-разработчик), но учить новый языка каждый год тоже не хочется…


    1. SirEdvin
      18.01.2019 21:46

      И все бы хорошо, но Fuchia не будет поддерживать никаких сторонних ЯП, свиньи под названием Java от Sun им уже хватило с лихвой.

      Вы не поверите, но linux питон тоже не поддерживает. Все немного наоборот.


      1. Acuna
        18.01.2019 21:54

        Как наоборот? Нет, мне и правда интересно. Андройд пользует свое SDK на Java, результат этого оказался немного предсказуемым. Это же может ждать и все остальные языки, ибо нужно реально хотеть выстрелить себе в ногу, что выбрать, например, Xamarin на C#, который создан мелкомягкими, не, ну а казалось бы, Dart, как и JS, очень специфичный языки в плане синтаксиса язык, вот, пожалуйста, есть C#, который практически полностью похож на Java, еще и поддерживается многими архитектурами, пиши не хочу.


        1. SirEdvin
          18.01.2019 23:09
          -1

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

          Опять же таки, довольно большая проблема, связанная с джавой (помимо того, что ее развитием занимается одна компания, в отличии от других языков, типо С++ и python) состояла в том, что гугл очень сильно подпортил создателем джавы планы, сделав форк их языка, назвав его джавой, а затем сказал, что «ой, простите, но вот обновлений к ней не будет». Конкретно в этом случае проблема была в том, что андроид не поддерживает джаву, это его сдк поддерживет совместимую с джавой реализацию. С моей точки зрения это был такой макретинговый ход гугла, что бы захватить большую аудиторию разработчиков, наплевав при этом на абсолютно всех, кроме себя. Что, как бы не очень хорошо.

          С другими языками, при помощи которых можно писать на андроид ситуация другая — это они поддерживают андроид. Как-то так.


          1. khim
            18.01.2019 23:47

            Опять же таки, довольно большая проблема, связанная с джавой (помимо того, что ее развитием занимается одна компания, в отличии от других языков, типо С++ и python) состояла в том, что гугл очень сильно подпортил создателем джавы планы, сделав форк их языка, назвав его джавой, а затем сказал, что «ой, простите, но вот обновлений к ней не будет»
            А в чём проблема? Разработчики Java Card сделали то же самое, однако (пройдите по ссылке, прочитайте).

            Что, как бы не очень хорошо.
            Однако это то же, что сделал Oracle с разработками IBM (SQL). И Microsoft с разработками Digital Research (CP/M API… впрочем Digital Research отплатил ему той же монетой, когда выпуcтил DR DOS).

            P.S. Вообще то, что в результате подобные вещи станут невозможными — скорее плохо… но тут уж ничего не поделать…


            1. SirEdvin
              19.01.2019 12:34

              А в чём проблема? Разработчики Java Card сделали то же самое, однако (пройдите по ссылке, прочитайте).

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


              А так норм.


              1. Groramar
                19.01.2019 17:34

                Они вверх не совместимы? Я просто на той же Delphi привык, что крупных проблем, как правило, нет. Были как-то давно при переходе ansi > unicode. Сейчас юникодовый код почти весь. Больше такого глобального изменения в коде как-то не наблюдалось. Версию подняли, ну может дефайнов пяток обновили, работает дальше с минимальными правками. По собственному опыту переноса больших проектов на старшие версии.


                1. SirEdvin
                  19.01.2019 23:48

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


          1. Acuna
            19.01.2019 23:06

            Ого! Вон оно что, я даже не знал, спасибо. Однако Гуглу и без того разработок хватает, кроме как тот же Питон натягивать. Ладно Котлин, он к нему питает теплые чувства, ибо на Яву похож.


    1. DmitryOgn
      19.01.2019 17:56

      >> Котлин туда же, плюс он не кроссплатформенный

      Really? :)


      1. Acuna
        20.01.2019 19:03

        А разве нет?) Я, если честно, не видел на SO вопросов касаемо разработки на Котлине под iOS, например. Я вообще сомневаюсь можно ли на iOS внедрить JVM и будут ли они (Apple) этим заниматься. Да, адаптацией ее под разные платформы занимается Sun, а не вендоры процов, но ведь ее каким-то образом нужно развернуть.


        1. MaxVetrov
          20.01.2019 20:11

          1. Acuna
            20.01.2019 23:50

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


        1. DmitryOgn
          21.01.2019 08:39

          Назвать «не кроссплатформенным» язык с базовой библиотекой, живущий на трех платформах (JVM, JS, native), каждая их которых OS-независимая… Сильное заявление :)


  1. maxzhurkin
    18.01.2019 21:56

    Чего-то в голосовалке не хватает, чего не пойму, а голос отдать не смог


    1. vvpoloskin
      18.01.2019 23:25

      Не хватает «наплевать, если надо, перейду на другой инструмент»


      1. maxzhurkin
        18.01.2019 23:50

        Нет, в моём случае это «Не знаю, что случилось с Fortran, LISP и Ada, да и к Python не имею отношения»


  1. Druu
    19.01.2019 08:22
    +2

    Повторит ли Python судьбу Fortran, LISP и Ada?

    Достаточно очевидно, что любой язык повторит судьбу Fortran, LISP и Ada, рано или поздно, так или иначе.


  1. xakepmega
    19.01.2019 23:20

    ПИТОН ПРЕЗИДЕНТ МИРА УРАААА