160

Извечное противостояние языков программирования1

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

IT-юмор

7.5K постов53.3K подписчиков

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

33
Автор поста оценил этот комментарий

import antigravity

Иллюстрация к комментарию
показать ответы
3
DELETED
Автор поста оценил этот комментарий

Кэп? Чем же питон так отличается от всех остальных?

раскрыть ветку (1)
8
Автор поста оценил этот комментарий

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


P.S. Python стал популярен среди дата-саентистов как раз из-за большой и гибкой кодовой базы, которую очень легко использовать.

показать ответы
2
Автор поста оценил этот комментарий

и кем он будет? кто там у вас в классификации между джуном и мидлом?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий
Upper junior
показать ответы
0
Автор поста оценил этот комментарий

Добавить в парсер, который строит синтаксические деревья, преподсчет? И это не есть оптимизация? Ясно. Понятно.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Предпосчёт констант сделать очень легко. Это школьного уровня задача
показать ответы
0
Автор поста оценил этот комментарий

Твоя цитата: "Питоновский байткод не проходит оптимизации - это не компиляция, а трансляция кода в байткод напрямую (избавление от оверхеда парсера при повторном запуске)".


Я показал, что это - вранье. Оптимизация есть, но очень маленькая. Ты зачем сейчас вертишься и извиваешься? Не умеешь свои ошибки признавать? Печально, конечно.


При чем тут убирание имен переменных? Ты похоже не понимаешь, что такое оптимизация. Статью открывал? При компиляции выражения вида "2 + 3 × 4 - 8 × 50" предпосчитываются во время компиляции и заменяются на константу в байт коде. Это для тебя то же самое, что заменить имя переменной? Ну тогда мне и сказать нечего

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Предпосчёт констант - это такая же оптимизация, как и убирание имен переменных или комментариев. Она не требует отдельного процесса и легко встраивается в парсер.

С точки зрения теории компиляторов - это всё оптимизации (процесс изменения кода, сохраняющий результат выполнения). Формально, ты прав и можешь гордиться им.
Но с точки зрения прикладного использования есть такие оптимизации, а есть те, что требуют отдельного процесса или больших кодовых измерений (например, разворачивание циклов или параллельный предрасчёт обеих ветвей if-а). Никаких подобных изменений с кодом на питоне не происходит и по твоей ссылке этому дано определение dumb optimization
показать ответы
0
Автор поста оценил этот комментарий

Проходит, но очень маленькую. БОльшую оптимизацию не позволяет делать динамичность языка

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Рекомендую вас изучить получше как устроен интерпретатор питона.
показать ответы
0
Автор поста оценил этот комментарий

Питон тоже компилируется в промежуточный байт-код :)


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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Питоновский байткод не проходит оптимизации - это не компиляция, а трансляция кода в байткод напрямую (избавление от оверхеда парсера при повторном запуске)
показать ответы
0
Автор поста оценил этот комментарий

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


И даже тут можно многое уточнить:

- Жаба и компилируется, и жидуется, то есть должна быть электрометлой. Как минимум, насадкой на перфоратор

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

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Справедливости ради редко какой дата-саентист имеет представление о том, что там стоит за их jupyter notebook, и уж тем более как реализован numpy или pandas.

И питон по своим зависимостям не превосходит туже джаву. Откуда у вас такие предубеждения - не ясно. Тянуть полмира - это удел ноды
показать ответы
0
Автор поста оценил этот комментарий
Речь о том, что выделять какой-то ЯП - это глупо.
на каждом, ну или почти, есть свои отличные проекты.
В том числе SAP написан на паскале.
p.s.
Да, часто припекает у людей, которые ограничены одним языком. Но что взять с лягушки на дне колодца :)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Не обязательно, достаточно чтобы человек не признавал динамические ЯП
0
Автор поста оценил этот комментарий
Первые придерживаются позиции старых подходов (=метла), которые дают наилучшую производительность

тогда почему Java на метле?

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Потому что джава концептуально копирует плюсы.
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Все эти лайтовые подходы к программированию нужны потому что «простое лучше сложного». И люди, кто уже 20+ лет это понимают наилучшим образом, потому что код нужно не только писать, но и поддерживать
показать ответы
Автор поста оценил этот комментарий

Вам то же самое рекомендую.


https://nullprogram.com/blog/2019/02/24/


Как минимум немного самых базовых constant folding и allocation optimization он умеет делать, что опровергает ваши слова. Ну и да, поменьше снисходительности вам бы тоже не помешало

раскрыть ветку (1)
Автор поста оценил этот комментарий
С таким подходом, убирание имён переменных (=сокращает текст поограмммы) можно называть громким словом «оптимизация»
показать ответы
Автор поста оценил этот комментарий
"противостояние"
Работяги такие работяги. Ты бы ещё сказал, что pascal умер и его никто не использует :)
раскрыть ветку (1)
Автор поста оценил этот комментарий
О мертвых или хорошо или никак.

PS уже не только паскаль, но и дельфи умер.
PPS я знаю немало людей, у которых припекает на почве популярности питона
показать ответы
Официальный аккаунт
Автор поста оценил этот комментарий

По поводу дата-сайнс вполне возможно. И Яндекса. Да и пайтона тоже.

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

Возможно я в предыдущем комменте просто неправильно сформулировал мысль, да.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Ну я работал в яндексе и кодил на пайтоне. И я особенно не понимаю какое отношение пайтон имеет к приложениям (видимо мобильным).
показать ответы
4
Автор поста оценил этот комментарий
О вкусах не спорят. Но преимущества питона это быстрый старт и human readable имхо. То что дата саенты в нём это и подтверждает. Выбрали просто то, с чем можно разобраться за месяц. Но открою вам один секрет. Чтобы стать мидлом с нуля на джаве нужен год. Сколько думаете нужно чтобы стать мидлом на питоне ??? Барабанная дробь... Тоже год. Потому что язык это инструмент. Не больше не меньше. Программист нормальный не заложник инструмента. В его голове типы данных, алгоритмы и архитектуры. Он думает о том как хранить/получать/обрабатывать/передавать информацию. И всё. Мобилку будем для яблочников ? Держи Swift. Highload backend для банка ? Держи Java. Простенький интернет магазин для одежды ? Держи PHP. Движок для игры ? Встречай C++. И т.д. Что придумывать на ровном месте очередной холивар ? Питон не заменит тех что я пересилил. Даже мертвое дитя php.
раскрыть ветку (1)
Автор поста оценил этот комментарий
Преимущество питона - это syntax sugar, заложенный в философии языка. Поэтому все программисты стараются делать как можно более изящные решения. И это даёт бенифиты в легкости старта.

Насчет года на то, чтобы стать мидлом, то у вас очень плохие критерии мидла. Через год джун перестанет быть джуном, но до мидла нужно ещё год-три опыта набираться.
показать ответы
22
Автор поста оценил этот комментарий

Assembler/C/Fortran/Cobol/Lisp/Haskell/Erlang Programmers

Иллюстрация к комментарию
раскрыть ветку (1)
Автор поста оценил этот комментарий

В части перечисленных вами языков нет ООП

показать ответы
Официальный аккаунт
Автор поста оценил этот комментарий

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

раскрыть ветку (1)
Автор поста оценил этот комментарий
Есть «мнение», что вы понятия не имеете о чём говорите
показать ответы
0
Автор поста оценил этот комментарий

Pandoc'ом пользуются уже сотни тысяч пользователей, правда он в основном под капотом трудится.

Читаем $ просвещаемся

https://wiki.haskell.org/Haskell_in_industry


P.S. Я имел в виду "операционную систему на нем не напишешь". Буду уточнять в следующий раз. Так-то я прекрасно пользуюсь OpenRC в своей уютной Гентушке :)

раскрыть ветку (1)
Автор поста оценил этот комментарий
Посмотрел, список просто смешной. Ни одного проекта уровня youtube или хотя бы dropbox
1
Автор поста оценил этот комментарий

Python -- отличный императивный язык для "человечьей скорости" (Human speed). Систему на нём не напишешь, а вот всякие интерфейсы -- пожалуйста.

Говорю как человек, который "программирует" на Haskell.

раскрыть ветку (1)
Автор поста оценил этот комментарий
Я видел (и работал) огромные проекты, которые были целиком написаны на питоне. А вот хаскель - это как раз пример учебного языка, который концептуально прекрасен, но никто в здравом уме не будет его использовать для проектов уже среднего уровня (сотни тысяч пользователей).
показать ответы

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества