{"id":2727,"title":"\u041a\u0430\u043a \u0433\u0435\u0439\u043c\u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438","url":"\/redirect?component=advertising&id=2727&url=https:\/\/dtf.ru\/promo\/1011062-kak-oblaka-pomogayut-pri-razrabotke-igr&placeBit=1&hash=52c7ee26bed9727bfaf58b8826bf8b9c165b82ea4244c03867ca7437280928e7","isPaidAndBannersEnabled":false}

Язык программирования Python обошёл Java по популярности

Впервые с момента создания индекса TIOBE около 20 лет назад, Java и C больше не занимают первые 2 позиции.

Некоторые говорят, что недавний всплеск популярности Python связан с молниеносным развитием таких областей, как data mining, искусственный интеллект и численные вычисления. Но у меня другое мнение по этому поводу — я считаю, что популярность Python связана с общим спросом. В прошлом, большую часть разработки ПЗ деятельности выполняли инженеры-программисты. Но в наши дни навыки программирования необходимы повсюду, а толковых разработчиков не хватает.

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

Некоторое время назад у меня спустило колесо, и я вызвал на помощь дорожный патруль. Механик спросил, чем я занимаюсь, и когда я использовал слово «программное обеспечение», он улыбнулся и с энтузиазмом начал говорить о своей страсти: программировании на Python. С этого момента я понял, что Python станет чрезвычайно популярным.

Пол Янсен
Генеральный директор TIOBE Software

Индекс TIOBE — показатель популярности языков программирования, который обновляется раз в месяц. Рейтинг основан на количестве квалифицированных инженеров во всем мире, курсов и сторонних поставщиков. Для расчета рейтинга используются популярные поисковые системы и сервисы, такие как Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube и Baidu.

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

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

Определение индекса TIOBE можно найти здесь.

Конечно же, не обойтись и без опроса читателей DTF.

Что круче?
Python
Java
Другой ЯП
Я айтишник, но не программист
Я не айтишник
На DFT мало опросов, нужно больше!!!11
Показать результаты
Переголосовать
Проголосовать
0
175 комментариев
Популярные
По порядку
Написать комментарий...
Узкий щит

Комментарий удален по просьбе пользователя

Ответить
78
Развернуть ветку
Lonely Vasyan

Анимешники программируют на руби.

Ответить
46
Развернуть ветку
import xgboost as xgb

Херня. Настоящий анимешник ранга SS и выше знает теорию типов и пишет на Хаскелле / Окамле.

Ответить
7
Развернуть ветку
Urusai

А Як же ф#

Ответить
0
Развернуть ветку
Советский глобус

Lua жи

Ответить
1
Развернуть ветку
Советский глобус

На Lua воверы, и челики которые делают моды для сталкера)

Ответить
14
Развернуть ветку
SCHRH

И моды для гмода

Ответить
2
Развернуть ветку
Andrey Apanasik

И скрипты для nginx. И скриптинг в Roblox. И множество аппликух, где нужен лёгкий рантайм.

Ответить
1
Развернуть ветку
Andrey Pomazan

И скриптинг в Roblox
эхехе

Ответить
1
Развернуть ветку
Советский глобус

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

Мы ж рофлим ало.

Ответить
0
Развернуть ветку
Andrey Apanasik

Рофлить можно. Но это не отменяет факта, что при всей своей простоте Lua — это кусок неудобного и неприятного говна.

Ответить
1
Развернуть ветку
Советский глобус

Сдаюсь =)

Ответить
0
Развернуть ветку
Andrey Apanasik

Так, блеать.

Ответить
0
Развернуть ветку
Советский глобус

А чо сразу Сталин то?(

Ответить
0
Развернуть ветку
Узкий щит

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Арториас

Сказал это человек с аниме на аве.

Ответить
0
Развернуть ветку
MrDSLow

Не верю. Слишком тупые для этого.

Ответить
0
Развернуть ветку
Арториас

А причём тут анимешники?

Ответить
0
Развернуть ветку
Советский глобус

Да, непонятно кого Вероника пыталась унизить - анимешников или питонистов?

Ответить
0
Развернуть ветку
Dmitriy Zorin

Опрос сосет. Вот мой ответ. 
Круче где? В чем? По каким критериям?
Если это управляемый код, то .Net и Java. 
Если вы контроллеры программируете, берите C. 
Если это WEB-фронт - то другие фреймворки. 
Если WEB-бэк - третьи. 
Сотни критериев - вы по каким языки собираетесь сталкивать?

Ответить
50
Развернуть ветку
Dog Warovich

Все хуйня, айда побитно программировать микрики

Ответить
17
Развернуть ветку
Dmitriy Zorin

Все вообще хуйня, в конце 90-х меня поразил чувак, который на Пике сделал работающий Web-сервер. Т.е. написал TCP-стек, и сам сервер на однокристалку с 16 килобайтами памяти. Вот это хардкор. 

Ответить
11
Развернуть ветку
Алексей

У меня начальник свои первые проги писал в блокноте (БУМАЖНОМ) т.к. сроки горели и потом переносил их в чипы как оборудование и компы приехали 

Ответить
0
Развернуть ветку
Cygnez Shedlauscas

У меня аж мурашки по спине пошли)

Ответить
0
Развернуть ветку
Владимир Бужинский

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

Ответить
3
Развернуть ветку
Dmitriy Zorin

А еще были 8051 - там вообще битовая шина памяти. Ты читаешь/пишешь память по одному биту. 

Ответить
1
Развернуть ветку
Serhiy Botulidze

Что угодно, лишь бы не очередная тема про консоли :) хочется поговорить и о чем-то другом!

Ответить
1
Развернуть ветку
Советский глобус

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

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

Ответить
0
Развернуть ветку
Советский глобус

Стало душновато. Там под статьей опрос (это важно) "Что круче". 

Ответить
–1
Развернуть ветку
Советский глобус

Если человек настолько серьёзно сагрился на шуточный опрос после статьи, то он заслуживает аналогичного ответа, ИМХО.

Ответить
1
Развернуть ветку
Виталий Рабош

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

Ответить
0
Развернуть ветку
Uthyr

А для чего С плюсы и питон?
Реально интересно
И ограничиваются ли задачи Си тем что вы написали?

Ответить
0
Развернуть ветку
BearStrikesBack

Если вы индус, то Питон.

Ответить
0
Развернуть ветку
NightmareZ

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

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

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

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

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

Ответить
35
Развернуть ветку
jake lake

С динамической типизацией сам чёрт ногу сломит в том, что тебе в тот или иной момент может куда угодно прилететь
А что, статическая типизация разрешает чему угодно куда угодно прилетать? Нет. Значит это вы так пишете код, что у вас хз что хз куда летит. Ну и зачем вы так делаете? Не можете по другому? А виноват в этом питон? Ясно понятно.

Ответить
–2
Развернуть ветку
NightmareZ

 А что, статическая типизация разрешает чему угодно куда угодно прилетать?
Ну так в том то и дело, что нет. Если функция ожидает тип A, то при статической типизации туда может прилететь B, только в случае, если он наследуется от A, либо как-то ещё совместим (имеет перегруженный оператор implicit-каста или может кастонуться автоматически, например, int в double). При динамической же типизации, я легко могу ожидать дату, например, а мне приедет строка, потому что кто-то где-то в другом модуле получил дату из json, но забыл распарсить. И это никак нельзя отследить. Проявится только в момент выполнения. И, повезёт, если увидишь это до отправки на продакшен. Потому и нужно всё обмазывать тестами, но они не решают проблему на 100%.

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

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

Ответить
12
Развернуть ветку
jake lake

Да знаю я, как статическая типизация работает.
При динамической же типизации, я легко могу ожидать дату, например, а мне приедет строка, потому что кто-то где-то в другом модуле получил дату из json, но забыл распарсить. И это никак нельзя отследить. Проявится только в момент выполнения.
Как это нельзя узнать, что придет из другого модуля? Модуль написан? Запусти посмотри, че там выдает. Модуль напишут после тебя? Сами будут виноваты, если засунут на вход фигню.
Ок, если все так плохо, что ниче нельзя знать наверняка, валидируй. Знаешь, какой нужен тип на входе? Отлично. Проверь тип. Метод isinstance. Не знаешь или не хочешь знать? Ок, проверь, что то, что прилетело, умеет делать то, что его заставят делать в дальнейшем. Потом юзай.
Ну ок, конкретно вам нужно больше контроля. Возьмите язык, в котором больше контроля - язык со статической типизацией. Нет проблем. Почему динамическая типизация-то говно? Ну серьезно, вы плодите баги, а виноват язык, за то что попу вам не вытирает. Берите тот, который вытирает, но этот-то чем плох?

Ответить
3
Развернуть ветку
NightmareZ

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

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

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

 Метод isinstance.
Зачем нужно использовать проверку типа в рантайме, когда вместо этого можно использовать язык со статической типизацией, и всё за тебя сделает компилятор, а точнее IDE, ещё в момент кодинга?

 Возьмите язык, в котором больше контроля - язык со статической типизацией. Нет проблем. Почему динамическая типизация-то говно?
Ты сам отвечаешь на свои вопросы. Динамическая типизация - говно, потому что в ней ничерта нет контроля над тем, что вообще происходит. Особенно, когда это происходит в гетерогенной среде, где тайпкасты вообще сложная тема. У тебя есть условно БД, орм, слой бизнес-логики и фронт. Без статических типов шансов, что та же дата (к примеру) из БД правильно отобразится клиенту, - ну очень мало. Потому что сначала она кастанётся из sql DATETIME в какую-то хуйню на питоне (+1 каст), оттуда прийдёт в сервис на джаваскрипте (+1 каст) в виде поля джейсона (+1 каст) и отобразится через байндинг ангуляра (+1 каст, работа санитайзера и вот это вот всё). И это, блядь, только одно поле какой-то сраной формы, к примеру. А у тебя в проекте сто форм.

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

Ответить
10
Развернуть ветку
jake lake

И вся та ситуация, что ты описываешь, присуща тебе и твоей специфике. У вас большой проект, который пишет кто попало. Написанное переписывают регулярно, тоже хз кто. Зависимости меняются. Но если в рантайме где-то вылезет ошибка, то это сразу большой геморрой. Разумеется, таких как ты очень много, так как это стандартная бизнесовая ситуация. Но это не значит, что других условий не бывает. Или что там не надо иметь своих инструментов, а надо брать статическую типизацию и героически мудохаться с ней.
Зачем нужно использовать проверку типа в рантайме, когда вместо этого можно использовать язык со статической типизацией, и всё за тебя сделает компилятор, а точнее IDE, ещё в момент кодинга?
Ты сказал, что никак нельзя отследить, че там прилетает. Теперь, я смотрю, тезис поменялся - можно, но неприятно. 
Если для тебя экономия на таких проверках существенна, то используй язык со статической типизацией. Для меня этот момент несущественен, зато существенны другие неудобства статической типизации, поэтому я ее и не использую. Я же тоже могу задать вопрос - а зачем нужно прописывать типы в коде, если все это может сделать интерпретатор? Я ведь тоже на этом наэкономлю кучу времени, как и ты на проверках типа.
Без статических типов шансов, что та же дата (к примеру) из БД правильно отобразится клиенту, - ну очень мало. Потому что сначала она кастанётся из sql DATETIME в какую-то хуйню на питоне (+1 каст), оттуда прийдёт в сервис на джаваскрипте (+1 каст) в виде поля джейсона (+1 каст) и отобразится через байндинг ангуляра (+1 каст, работа санитайзера и вот это вот всё).
И причем тут типизация? Читаешь доки, что во что кастится и как, и делаешь. Чем это отличается от любого другого языка? Или что, типа если типизация динамическая, то никто не знает, как либа работает? Или вы доки не читаете, кастите от балды, а потом облегченно выдыхаете, если все сработало?
Почему я брал  https://www.psycopg.org/docs/usage.html#adaptation-of-python-values-to-sql-types , делал, и все работало? Ну магия, не иначе.
Бизнес требует, чтобы проект вышел вчера и с минимумом багов. И если мне язык будет вытирать попу, то я пойду лучше погулять, вместо того, чтобы дебажить всю ночь.
Ну прекрасно, а в чем вина языка, который тебе не подошел?

Ответить
4
Развернуть ветку
NightmareZ

ой всё

Ответить
5
Развернуть ветку
Образовательный турник

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Vlad Egorov

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

Ответить
8
Развернуть ветку
Советский глобус

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

Ответить
3
Развернуть ветку
Great

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

Ответить
0
Развернуть ветку
jake lake

Или как минимум иметь проверку типов как в Хаскеле — он тож динамический, но строго типизированный.
Так и питон строго типизированный. Видимо, неосиляторы, говоря о питоне, думают о джаваскрипте с его приколами с неявным приведением типов.
Но вот нормальную программу никто не станет писать на языке с динамической типизацией.
Что есть "нормальная программа"? Энтерпрайз? Ну да, там лучше иметь статическую типизацию. Алгоритм из научной публикации реализовать и потестить? Или самому придумать алгоритм? Математические вычисления выполнить? Исследование провести, придумывая и тестируя различные идеи? Для всего этого статическая типизация будет обузой, отнимающей время и не дающей ничего взамен.
Вот пишу я алгоритм линейной алгебры, который матрицы перемножает да декомпозирует. Мне накласть совершенно, каким там типом матрица реализована. Если я обращаюсь к объекту по двум индексам и он мне выдает число, то для меня это - матрица. И для других функций питона это тоже - матрица, если не оговорено обратное. И в этом огромный плюс динамической типизации. Потому что я пишу программу, а она потом работает и с банальным list of lists, и с массивом numpy, и со всеми разновидностями разреженных матриц scipy.sparse, и с какой-нибудь распределенной ебалдой а-ля dask array. Поэтому для меня не будет проблемой взять и вкрутить более широкий функционал, если возникнет такая потребность. А со статической типизацией компилятор будет душить меня ошибками и требовать объяснять каждый чих, и если понадобится что-то новое - будет душить меня по новой. Конечно, если мне понадобится программа на века, я ее напишу на языке со статической типизацией, которая даст мне больше контроля. Но когда я тестирую идеи, далеко не каждая вообще выстрелит. Когда я что-то вычисляю, мне достаточно вычислить это один раз. Делаю все это в основном я, и зависимости у меня не меняются, если я того не захочу. Меня даже производительность не парит особо, пока программа считает, мне есть чем еще заняться, а если понадобится пользоваться ей постоянно и быстро, то и заоптимизирую. Но это все несерьезные применения, я так понимаю, да? Вот то ли дело круды лепить да данные из вьюхи в бд перекидывать и обратно.

Ответить
3
Развернуть ветку
Great

Для твоих целей как раз Питон охуенный. Ваще у меня поинт был не в том, чтобы обосрать Питон. Я и сам пишу скрипты на нём иногда в связке с ansible (jinja2 заебок!). Поинт в том, что критичный софт на питоне никто не пишет. А дергать нампай и другие сишные либы, что-то подсчитать, завернуть в json какой-нибудь и отправить на нормальный бекэнд он классный. Скрипты те же писать — тут никто не будет расчихлять джаву/котлин. Это всего лишь инструмент, нет холивара кто лучше, а кто хуже. Для твоих целей питон хорош, для разработки моей основной несомненно джава/котлин лучше. Для инфры опять Питон. "Осиляторы" питона — хех, мда)) Сел и поехал — это питон.

Ответить
0
Развернуть ветку
jake lake

Поинт в том, что критичный софт на питоне никто не пишет
Ну с этим-то никто и не спорит, просто помимо критичного софта есть еще куча некритичного, который тоже может делать серьезные вещи, а не только быть клеем между либами да считать 2+2. Те же либы для питона - это что, скрипты? Понятно, что tensorflow или numpy ты захочешь писать на каких-нибудь сях или плюсах - тебе производительность нужна и управление памятью, это самый низкий уровень, если здесь будет плохо, то везде будет плохо. Но pandas-то почему нельзя написать на питоне?
"Осиляторы" питона — хех, мда)) Сел и поехал — это питон.
Вот потому я и офигеваю, как порой можно нести такой бред, словно с питоном ты знаком по мемчикам.

Ответить
0
Развернуть ветку
Советский глобус

Или как минимум иметь проверку типов как в Хаскеле — он тож динамический, но строго типизированный.
Ты не поверишь, но Python тоже динамический, но строго типизированный.

Ответить
1
Развернуть ветку
Great

Сорян, обосрался!) Вывод типов имел в виду в хаскеле

Ответить
1
Развернуть ветку
Andrey Apanasik

И я искренне не понимаю
Вот поэтому ты на таких языках и не пишешь (¬‿¬ )
А фронт предпочитаю пилить на тайпскрипте, опять же, из-за статической типизации
Это только если везде типы прописывать и не юзать any.

Ответить
1
Развернуть ветку
Ildar Akhmetov

Под каждым словом подписываюсь. Я в душе не знаю какого хрена этот язык популярен. Кого не спрошу из коллег, все говорят, шо язык ховно, но лучше bash'а(да что угодно лучше bash'а). От куда эти любители берутся? Приходилось плагины на этом говне писать для blender'а, все по сто раз обматерил. Но есть же Unity, в котором скрипты пишут на C#, и все кайфуют, а свой не до-питон закопали и забыли. Почему все остальные так не поступят. Да лучше уж на Rust'е писать, там мозга-ебство хоть как-то оправданно. Но какого хрена я должен следить за этими сранными типами, когда с этим машина и без меня успешно справляется. И да, я тоже считаю Kotlin лучше чем Java

Ответить
0
Развернуть ветку
BearStrikesBack

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

Ответить
0
Развернуть ветку
Советский глобус

Паскаль навсегда!

Ответить
18
Развернуть ветку
Dmitriy Zorin

Только Turbo Pascal, только хардкор! 

Ответить
15
Развернуть ветку
Alexander Kraskovsky

"Да что вы знаете о хардкоре..." - Ассемблер.

Ответить
1
Развернуть ветку
Dmitriy Zorin

А вы не пробовали минуя ассемблер сразу в двоичных кодах хуярить? 
На PC можно было и очень даже. Хардкором он меня удивил. :-)))))))

Ответить
0
Развернуть ветку
Alexander Kraskovsky

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

Ответить
0
Развернуть ветку
Sorority

LogoWriter смотрит на тебя как на говно и срет медленно уходя по координатам за экран

Ответить
2
Развернуть ветку
Илья Дюдяев

Ну, сравнивать компилируемый и интерпретируемый яп - такое себе занятие. Вот сравнить жабу и шапр можно, или ruby и python, или с++ и rust. В конце концов, языки не просто так создают, они решают конкретные проблемы, поэтому глупо на python делать энтерпрайз, а на java блог. Это всего лишь инструменты под конкретные задачи. Рейтинг, кстати, показывает вовлечённость людей,  а не крутость языка.

Ответить
20
Развернуть ветку
Советский глобус

Ну и жаба все-таки не совсем компилятор. Переинтерпретатор - недокомпилятор, быстрее первых, но медленнее вторых

Ответить
–4
Развернуть ветку
Советский глобус

сравнивать компилируемый и интерпретируемый яп - такое себе занятие
Ок. Давайте сравним Forth. Язык, у которого возможно переключение режимов компиляции/интерпретации непосредственно во время выполнения.

Или Nim, который транслируется как в C,  так и в JS.

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

глупо на python делать энтерпрайз
Ахаха!

Ответить
–3
Развернуть ветку
Советский глобус

@Vzhlv @Great аргументы будут? :) Есть что возразить по делу?

Ответить
0
Развернуть ветку
Vzhlv

Ты чо до меня доебался и откуда у тебя мой номер?

Ответить
0
Развернуть ветку
Советский глобус

Прост

Ответить
0
Развернуть ветку
Great

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

Ответить
0
Развернуть ветку
Советский глобус

Как минимум, на пайтоне уже пишутся системы для big data, а это уже вполне себе энтерпрайз. Бекенд инстаграмма точно раньше был пайтоновский, сейчас ХЗ. Он широко используется в крупнейших международных компаниях как основной ЯП для бека.

Ну и вот интересную ссылку нашёл. Энтерпрайзней просто некуда :)

Ответить
0
Развернуть ветку
Ivan Rybkin

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

Ответить
–4
Развернуть ветку
Советский глобус

Больше он никому не нужен
Backend:

Ответить
39
Развернуть ветку
Ivan Rybkin

пхп и ноджс
Питон это реально шутка в бэкенде

Ответить
–14
Развернуть ветку
Советский глобус

ноджс

Ответить
25
Развернуть ветку
Andrey Apanasik
Ответить
2
Развернуть ветку
Советский глобус

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

Ответить
0
Развернуть ветку
Andrey Apanasik

Ну, я сейчас с чистой ноды на ts перешёл и стараюсь использовать Nest.js

Ответить
0
Развернуть ветку
Советский глобус

Ноджс > питона

Понимаю.

Ответить
3
Развернуть ветку
Ivan Rybkin

Странно что к пхп не придрался

Ответить
4
Развернуть ветку
Ленинский танк88

Комментарий удален по просьбе пользователя

Ответить
5
Развернуть ветку
Советский глобус

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

Ответить
1
Развернуть ветку
Dmitriy Zorin

Ну да, причесали, производительность и все такое.. 
Но когда функции для работы со строками могут начинаться на:
 "str", "stri", etc... ;
писаться через "_", слитно, или как угодно...;
И так везде, а это было только про строки. Ну давайте поговорим о PHP... 
Язык, где разработчики языка не могут договориться о правилах именования, ну и что мы имеем в коде?

Ответить
1
Развернуть ветку
Терри Яки

Меня больше радовало, когда соседних два метода, один сующий в начало массива, другой в конец имели разный синтаксис, типа func1(куда, что) и func2(что, куда)

Ответить
1
Развернуть ветку
Отдельный паук например

Комментарий удален по просьбе пользователя

Ответить
1
Развернуть ветку
Andrey Apanasik

Я не думаю, что современная нода и пыха уступает по перфомансу джаве. Всё зависит от задачи)

Ответить
2
Развернуть ветку
Советский глобус

В них завезли JIT-компиляцию?

Ответить
0
Развернуть ветку
Михаил Быстрянцев

Всяк кулик своё болото хвалит.

У меня вот знакомый как-то пошёл на курсы по C# (первый в его жизни язык) и уже через неделю рассказывал, что С++ сосёт и вообще уже умер и давно устарел (это когда уже вышел C++11 и язык начал стремительно развиваться).

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

Как с PHP не знаю, ибо последний раз имел с ним дело лет 10 назад, но единственный неоспоримый плюс этих языков — низкий порог вхождения.

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

Ответить
0
Развернуть ветку
Andrey Apanasik

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

Ответить
0
Развернуть ветку
Михаил Быстрянцев

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

А о нюансах скажу, что при росте нагрузки рано или поздно даже круды/апишки могут стать бутылочным горлышком.

Наблюдал даже ситуацию, когда в ряде задач заменяли половину стека (например — Erlang, Ruby, Python и даже Java) на Go как на нативно компилируемый язык с низким порогом вхождения, потому что условные апишки на условных ruby на больших масштабах начинали серьёзно кушать память и периодически генерировать пиковые нагрузки.

Ответить
0
Развернуть ветку
Andrey Apanasik

Если ради перформанса Erlang заменили на Go, то это говорит не в пользу компетентности разработчиков)

Ответить
0
Развернуть ветку
Михаил Быстрянцев

Как это связано с компетентностью разработчиков? Графики нагрузки и бенчмарки конкретных проблемных кейсов говорят сами за себя.

Тем более Erlang хорош только в простых распределённых вычислениях. Любая вещь, напрямую кушающая CPU, там реализуется через NIF'ы, т.е. пишется на C.

Ответить
0
Развернуть ветку
Andrey Apanasik

Я уже запутался. До этого вроде обсуждали круды и апи. Да, CPU-жрущие задачи не для Эрланга.

Ответить
0
Развернуть ветку
Михаил Быстрянцев

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

Потом была ремарка про случай, когда подобные сервисы по этой причине переписывали на Go.

Затем выразил недоумение по поводу утверждения насчёт Erlang, Go и компетентности разработчиков.

И вот мы здесь.

Я уже запутался.
Я тоже запутался, потому что тут снова взаимоисключающие параграфы:
Если ради перформанса Erlang заменили на Go, то [...]
Да, CPU-жрущие задачи не для Эрланга

Ответить
0
Развернуть ветку
SKY nv

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

Ответить
0
Развернуть ветку
Михаил Быстрянцев

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

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

Ответить
0
Развернуть ветку
SKY nv

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

Ответить
1
Развернуть ветку
Терри Яки

Помню, в 2010 катался в москву на Hightload. Первая конфа в моей жизни. И ещё тогда удивился, насколько разнится у людей само понятие о хайлоаде. За 10 лет в головах людей это понятие размылось ещё больше, имхо. Для кого-то это 100 запросов в секунду, для кого-то 252525975 запросов в ту-же секунду. Кто-то ради выгоды в пару десятков запросов готов заниматься экономией на спичках неделями кряду, а кто-то просто жмахает новый инстанс и любись оно всем конячим табором :)

Ответить
1
Развернуть ветку
Михаил Быстрянцев

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

Ответить
0
Развернуть ветку
Михаил Быстрянцев

Странно что у тебя нет парочки инстансов
Я ничего подобного не писал, там ключевое слово "лишних". Масштабирование будет так или иначе, это понятно. Просто при разных реализациях могут понадобиться разные мощности. И различия эти могут быть достаточны, чтобы ощутимо бить по карману.

Ответить
0
Развернуть ветку
SKY nv

Поэтому я и написал. 
<q>Главное делать это адекватно.</q>

Ответить
0
Развернуть ветку
Andrey Apanasik

Шутка — это вот такие высказывания)

Ответить
0
Развернуть ветку
Верховный щит

Комментарий удален по просьбе пользователя

Ответить
6
Развернуть ветку
Отдельный паук например

Комментарий удален по просьбе пользователя

Ответить
7
Развернуть ветку
Советский глобус

У жс альтернатив нет, само собой всем плевать на реализацию. Тем более сейчас, когда все юзают фреймворки.

Ответить
14
Развернуть ветку
Отдельный паук например

Комментарий удален по просьбе пользователя

Ответить
2
Развернуть ветку
Советский глобус

О, это про меня. Вообще не ебу как жс устроен внутри. Благо фронт не моя специализация)

Ответить
1
Развернуть ветку
Терри Яки

Вы про те фреймворки, которые на днях у меня на сервере выжрали 8 гигов оперативы и счастливо упали при попытки сбилдить штуку, которая на сраном жквери пишется в 100 строчек кода?)

Ответить
0
Развернуть ветку
Ryner

Что за фреймворк? Что за штука? Уверен, что виноват не твой код, а именно фреймворк? jQuery... Ну, тут вообще без слов.

Ответить
1
Развернуть ветку
Терри Яки

Ангуляр, простенький сайтец который из бэка берет околотабличные данные и отражает их в браузере. Точно не мой код, пальцем к нему не прикасался, я ближе к девопсам :)
А жквери, ну простите, я с фронтом в последний раз дело имел ещё в те года, когда кроме жкверей и знать то толком ничего не знали. Я его как пример привел из тех, что я знаю. И вот я бы со своими на 10 лет устаревшими знаниями решил бы задачу в условные 20кб кода, а современные "фронтендеры" для этого тащат ноду с ангуляром, добрасывают в зависимости 2 десятка непонятных пакетов, а потом это пердя и кряхтя лагает на компе с 16 гигами оперативы и околотоповым процом.

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

Ответить
0
Развернуть ветку
Советский глобус

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

Ответить
0
Развернуть ветку
Ivan Rybkin

Представляю твоё лицо когда ты узнаешь про Go

Ответить
1
Развернуть ветку
Советский глобус

Забавный случай с Go. На текущем проекте моем бэк весь модный и микросервисный, и какой-то умник написал один сервис на своем любимом Go. А потом уволился. А Go из всей тимы никто не знал больше

Ответить
1
Развернуть ветку
Советский глобус

У нас так челик на плюсах написал и уволился. Так что го - норм.

Ответить
1
Развернуть ветку
Советский глобус

Да я про сам язык ничего плохого и не говорю, сам подумываю его поизучать как-нибудь на досуге)

Ответить
0
Развернуть ветку
Ivan Rybkin

а так на чём пишешь? 

Ответить
0
Развернуть ветку
Советский глобус

За деньги на js (front), а так много на чем
Бэк на проекте частично на жабе, частично на пыхе (микросервисы мать их)

Ответить
1
Развернуть ветку
Советский глобус

Го круто че. Жаль что его идея это "си-подобный язык, на котором смогут не косячить даже обезьяны". Жаль, что на нём у гугла процентов 20 кодовой базы. 

Ответить
0
Развернуть ветку
Отдельный паук например

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Советский глобус

Вики говорит что таки на Go.

Ответить
1
Развернуть ветку
Советский глобус

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

Ответить
1
Развернуть ветку
Отдельный паук например

Комментарий удален по просьбе пользователя

Ответить
0
Развернуть ветку
Советский глобус

А ну вот)

Ответить
1
Развернуть ветку
Советский глобус

У нас в универе в основном плюсы учат. А питон у многих на «самообучении»

Ответить
0
Развернуть ветку
sloa

Причин популярности Питона несколько:
1. Читаемость
2. Читаемость
и 3. Читаемость.

Есть ещё четвертая причина, которую редко упоминают:
4. Читаемость.

Ответить
10
Развернуть ветку
Советский глобус

Ещё читаемость забыл упомянуть.

Ответить
4
Развернуть ветку
BearStrikesBack

Язык с динамической типизацией читаемый? Чево?

Ответить
3
Развернуть ветку
jake lake

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

Ответить
–1
Развернуть ветку
Советский глобус

def my_method(a: int,  b: str) -> float:
    pass

Где тут проблема с читаемостью? Кто тебе запрещает исполльзовать аннотации типов?

Ответить
–1
Развернуть ветку
Mikhail Kashkin

Там весь Дзен Питона правильный. Когда привыкнешь к этой философии, то смотришь доки какого-нибудь совсем свежего языка типа Swift’а и думаешь зачем усложнили тут и там. Ведь и так слишком много сложностей. Любое приложение начинается с git’а, базы, нескольких языков шаблонов, всяких синтаксисов языков сборки или виртуализации. Ну почему бы не упростить базовый синтаксис языка для читаемости как в Питоне. 

Ответить
3
Развернуть ветку
Andrey Apanasik

У тебя в слове nodejs 6 ошибок.

Ответить
0
Развернуть ветку
Vladimir Gladun

Оба промахнулись с написанием "GoLang", но у тебя ошибок всего 5.

Ответить
1
Развернуть ветку
Great

Там дженерики завезли хоть?

Ответить
0
Развернуть ветку
Vladimir Gladun

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

Ответить
0
Развернуть ветку
Great

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

Ответить
1
Развернуть ветку
Лев Шохирев

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

Мораль проста: подбирайте инструмент под задачу, а не наоборот.

Ответить
9
Развернуть ветку
Mikhail Kashkin

Я-у-мамки программисты пришли морали читать после программы в сто срок. 

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

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

Ответить
–5
Развернуть ветку
Sorority

Язык – прежде всего инструмент. За удовольствием вам в подъезд с гитаркой и наташой.

Ответить
7
Развернуть ветку
Советский глобус

Мораль моралью, но стек в компании/отделе никто не отменял.

Ответить
1
Развернуть ветку
Dmitriy Zorin

Начиная со слова "Мораль" - золотые слова. 
Спагетти можно в каждом языке писать. 

Ответить
0
Развернуть ветку
Советский глобус

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

Ответить
0
Развернуть ветку
Ленинский танк88

Комментарий удален по просьбе пользователя

Ответить
5
Развернуть ветку
sloa

Лучше сам научись нормальные отступы делать.

Ответить
2
Развернуть ветку
Ленинский танк88

Комментарий удален по просьбе пользователя

Ответить
2
Развернуть ветку
sloa

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

PEP8, Muthafuckas.

Ответить
13
Развернуть ветку
jake lake

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

Ответить
0
Развернуть ветку
Марк Брут

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

Ответить
2
Развернуть ветку
Inquisitor

без жабаскрипта опрос не правильный

Ответить
4
Развернуть ветку
Владимир Бужинский
Ответить
3
Развернуть ветку
Vedmed

Бля, вспомнил этот ебучий питон нужно было ставить для каких то приложу на симбиан

Ответить
3
Развернуть ветку
Артем Ситников

Тащемта с прошлого года ничего не изменилось
https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted

Ответить
2
Развернуть ветку
Danis Atanov

Почему мой ДжаваСкрипт на 7 месте? :(

Ответить
2
Развернуть ветку
Николай Копейкин

Да нормальный язык под свои задачи. Главное не забывать подбирать язык под задачи, а не наоборот.

Ответить
2
Развернуть ветку
TopoR

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

Ответить
1
Развернуть ветку
Korzinkin Andrii

Для 3Д артистов Питон конкуренции фактически не имеет. Так что за него.

Ответить
1
Развернуть ветку
Rufus Gon

Верить индексу глупо. Писать надо на том, за что платит работодатель. Кто то и на хаскеле или перле неплохо живёт.

Ответить
1
Развернуть ветку
Алексей Диц

Чего тут спорить?

Ответить
1
Развернуть ветку
alex ilmarranen

🐍.... Не нашёл эмоджи говна. Лень стало

Ответить
–1
Развернуть ветку
indi

Тем временем, в не столь параллельной вселенной:
Астрономам порекомендовали меньше использовать суперкомпьютеры и Python из-за вреда экологии

Ответить
0
Развернуть ветку
NightmareZ

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

Ответить
1
Развернуть ветку
indi

Поделился статьёй, что бы все посмеялись) А статья реально не стёб. Учёные бывают разные.

Ответить
1
Развернуть ветку
Great

Языки — это инструменты, опрос тупой максимально. Что круче, отвертка или болгарка или какой-то другой инструмент?

Ответить
0
Развернуть ветку
v0k

Скорее - какая отвертка круче:
1. Простая
2. Крестиком
3. Звездочка
4. Другое
:)

Ответить
1
Развернуть ветку
Vzhlv

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

Ответить
1
Развернуть ветку
v0k

Вот-вот, так же и с ЯП, вопрос только в эффективности.

Ответить
0
Развернуть ветку
Dmitry Palchak

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

Ответить
0
Развернуть ветку
Илья Lizard

Ну вообщем, не удивительно. Как сказал один мой хороший друг-программист: "питон - латынь современного IT".  
Насколько я понял из общения со знакомыми, у питона есть потенциал стать современным аналогом бейсика 80-х - языком одновременно обучения, любительских проектов и вполне профессиональной работы.

Ответить
0
Развернуть ветку
Советский глобус

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

Шутка про то, что псевдокод понимается интерпретатором питона не настолько уж и шутка :)

Ответить
1
Развернуть ветку
y s

2020. Visual Basic на 6м месте

 Рейтинг основан на количестве квалифицированных инженеров во всем мире, курсов и сторонних поставщиков.

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

Пойду свою крипту в екселе 2003 создавать

Ответить
–1
Развернуть ветку
NightmareZ

Но ведь VB — это не только эксель. Есть ещё VB под дотнет, который по своей сути не сильно отличается от C#, кроме многословного синтаксиса и отсутствия некоторых редкоиспользуемых фич типа unsafe-блоков.

Ответить
1
Развернуть ветку
y s

О, я думал он умер.
Не понятно что они туда включают (наверно VB.Net + VB6), у них есть:
https://www.tiobe.com/tiobe-index/visual-basic/ - vb.net + vb?
https://www.tiobe.com/tiobe-index/visual-basic-dotnet/ - vb.net
https://www.tiobe.com/tiobe-index/classic-visual-basic/ - vb

Хотел было соскочить на шутку, что надеюсь хоть JScript они похоронили, но лол-кек - https://en.wikipedia.org/wiki/JScript_.NET

UPD. не, всё нормально, про него таки забыли

Ответить
0
Развернуть ветку
Kysh

Индус питонщик - это страшно.

Ответить
0
Развернуть ветку
Kiboune

Неудивительно, с учётом того сколько развелось советчиков "начать программировать на питоне и гребсти миллионы"

Ответить