Настоящий чарт языков программирования.
>>826737 (OP)Куда относятся: Python, Lisp, D?
>>826743Python - к промышленным.Lisp - в основном к форс-языкам, но Clojure - к хипстерским.D - к форс-языкам.
>>826748Как насчет F# и Swift?
>>826751Swift - к хипстерским. Почему не к нишевым? Потому что разработка под Apple-продукцию - это такая себе ниша.F# - скорее к промышленным, чем к хипстерским.
>>826737 (OP)>Языки, которых все ненавидятСначала научись в рюзге язык, петушок
>>826756>F# - скорее к промышленнымСпермохлбик, плиз.
Но джаву же все ненавидят, чему она не на первом месте?
>>826805Джаву ненавидят только в определённых контекстах. Просто так никто не будет писать "как же я ненавижу джаву". Про CPP такое пишут, взять хотя бы пасту про лямбду и Страуструпа.
>>826808Мне кажется ты пишешь на плюсах и просто себе льстишь.
>>826808Плюсы - кал.
>>826812Двачую, не настолько плюсы ненавистные чтобы выность их в отдельную категорию, обычный промышленный язык, хейтеров жабы или питухона не намного меньше.
>>826819Ну ты не путай жопу с пальцем же. Жабу или пистон ненавидят из-за недостатка фич или из-за тормознутости. А кресты - исключительно из-за неосиляторства. Ни разу не видел, чтобы senior C++ developer писал про них хейтерскую пасту, в отличие от.
Черный на фиолетовом, надеюсь ты сдохнешь чмоша
>>826737 (OP)Я что-то не пойму. Форс-языки ненавидят все, кроме тех, кому они нравятся. Тоже самое и с языками, которых все ненавидят. Разница у тебя только в том, что одних людей ты считаешь быдланами, а других уважаешь. А на каком, собственно, основании ты приходишь к своим выводам? Значит так, чепуш. Даю тебе две недели, чтобы пояснить за эту классификацию и обосновать свой авторитет по части классификации ЯП. Где можно почитать твои публикации на эту тему? Каково твое научное звание?
>>826821Какая разница из-за чего ненавидят? Ведь плюсы в свою категорию попали исключительно из-за факта поверчивания на хую хейтеров.> Ни разу не видел, чтобы senior C++ developer писал про них хейтерскую пасту, в отличие от.Ни разу не видел что бы кто-то подписывал свою должность под хейтерской пастой, но в питонотред регулярно заглядывают плюсовики просто говном побрызгать, наверное они ещё не синьйоры.
>>826743Промышленный, если только речь идет про веб, в остальном плане это обычная скриптопараша, которая годиться для мелкой атоматизации.
>>826828Deep Learning ещё.>>826825Форс-языки никто не ненавидит. Напротив, очень многие считают хаскель хорошим языком, потому что на дваче сказали, что это хороший язык.
>>826737 (OP)Си нужно сдвинуть в топ чарта, он нифига не узкоспециализированный, на нем пишут абсолютно все то же что и на плюсах.
>>826748А Lua?
>>826833Современный игровой движок на Си в студию!
Это уже который тред по рейту языков? Пятый? Школьник под конец каникул решил оторваться по полной?
>>826839Собственно любой игровой движек. Плюсовых API пока не завезли.
>>826841Написанный на Си, умник. Только давай с конкретными примерами, ладно?
>>826842Дык, любой плюсовый движек написан на базе сишных компонент. Вот тебе и пример.
>>826843> конкретный примерПо-русски не понимаешь? Принеси хотя бы один, где большая часть кода - на пюр Си.
>>826846> игровой движок, написанный на Си> GNU/Linux, BSD, Plan 9, UNIX, WIndows (partly), Wayland protocol, DWM, Sway, Velox. ttytanks, Linux kernelХотя пердолинг в линуксе можно назвать игрой.
>>826845Гугл говорит что это IdTech. Я, честно сказать, не особо знаю игровые движки. Но подозреваю что использование разных API, особенно с выходом вулкана и интеграцией SPIR-V (физика, вычисления, анимация, 7.1 звук) - думаю не меньше половины современных движков пишется на Си. Увы, они не опенсорсные.
>>826848Половины, всмысле 1/2 кода проекта, понятное дело что интерфейсные всякие вещи пишутся на других языках.
>>826851OpenCL это SPIR-V адаптированный под вычисления, если грубо.
>>826848>>826850IdTech уже сто лет как пишет с использованием C++, Си там только на уровне API и очень специфических функций, глянь движок того же Дума3, он давно в открытом доступе. То же самое касается и любых других современных игровых библиотек.В Си, увы, слишком много копипаста для такой комплексной вещи, как игровой фреймворк, хотя свой первый я написал используя именно няшную Сишку.>>826852https://wiki.blender.org/index.php/Dev:Doc/FAQ> C++ - physics, audio, game-engine and Cycles render engine.Даже тут ты умудрился обосраться, шизик. Зачем ты живешь вообще?
>>826855Я веду к тому, что C++ можно заменить в игровом проекте (например на C#), а от си никуда не деться. Все современные API пилятся именно на базе его синтаксиса.
>>826856А я веду к тому, что на АПИ Си обычно и заканчивается.
>>826858Сейчас его стало сильно много. На "API и обертки к нему" перевели: материалы (шейдеры и прочий процессинг), вычисления логики, вычисления физики, вычисления звука, сеть (когда выносится сетевой стек в юзерспейс, например через DPDK), работа с разными девайсами вроде шлемов виртуальной реальности, вся работа с контроллерами, вся связь с операционной системой. Что остается? Логика загрузки ресурсов, логика взаимодействия со внешним миром через разные API движка, ну и коннективити между всем этим.
>>826860> вычисления логики, вычисления физики, вычисления звука> на СиГде такое видел? Первые два особенно неудобны - ООПа и нормальных инструментов не хватает.
>>826863>физикаИз того что сам использую - BPL https://ru.wikipedia.org/wiki/Bullet_Physics_Library - 80% си.>звукCUDA/OpenCL там где нужна симуляция объема (т.е. почти всегда, никто 7.1 не хранит)>логикаОпять же сейчас тренд все загонять на видеокарту, рассчитывать логику я думаю тоже уже начали, особенно если перевести рассчет всяких матриц поиска пути в сверточное представление (наверно можно, гипотетически).
>>826737 (OP)Затрудняюсь с определением категории для Rust.
>>826821>senior C++ developer писал про них хейтерскую пастуman Луговский хотя бы
>>826833На си сейчас ничего не пишут, кроме системного софта. Ты застрял в девяностых.
>>826873Bullet на крестах https://github.com/bulletphysics/bullet3CUDA - кресты.Для OpenCL начиная с 2.1 есть C++ спецификация.Няшная не нужна. Учитывая нулевую выразительность, вдвойне не нужна.
>>826748А что с D не так?
>>827106Форсится как суперлучший язык, а на деле не нужен никому.
Автор кодер на крестах, возомнивший себя "свободномыслящим человеком, независимым от мнения других"?
>>826774А зачем мне хорошо знать петушиный? Лучше язык эльфов поучу, чем оркобыдло.
>>827112Ну так-то он хорош, просто сообщество слабое, да? Если я там собираюсь вещи для себя писать или хочу учиться по нему исключительно в образовательных целях, то норм?
>>827106Вжопустамеску, залогиньтесь.
>>826756>разработка под Apple-продукцию - это такая себе ниша.>такая себеХорошие определения у дауна.>F# - к промышленным>Scala - форсА после этой экспертизы можно закрывать тред и ОПа-хуя гнать ссаными тряпками в нору откуда он вылез.
>>827179Хорошо, объясню тебе про ниши.C - системное программирование. Написание драйверов и системных служб. Требует подробных знаний об архитектуре процессора и устройств. Совершенно отличается от написания обычных программ, где натянул кнопку на формочку и готово.Ada - программирование под устройства оборонно-военных целей. Никаких привычных средств, всё совершенно секретно, задача - писать максимально надёжные программы. Совершенно отличается от написания обычных программ, где утечка памяти - это хуйня, памяти у пользователя много.Fortran - расчёты во всяких математических лабораториях. И опять ничего привычного, только сложные системы дифференциальных уравнений. Совершенно отличается от обычных программ, где верх математики - численно посчитать производную.А теперь посмотрим на Swift. Всё то же, что и на винде. Или на линуксе в каком-нибудь Qt. Разве что синтаксис другой и ООП чуть-чуть по-другому реализовано. Новый опыт? Новые знания? А хуй вам.
>>827179Поддерживаю, на скале раз в 20 вакансий больше.
Как отличить маньку от нормального программиста в спорах о достоинствах или недостатках того или иного языка? Для программиста важен вид типизации, парадигма выразительность, имеющаяся инфраструктура, сообщество, еtc. К чему аппелирует манька? К движу, который по её мнению возникает вокруг. С++ харашо потому что Страуструп модный парень и вообще это помужицки сношать себя в анус двумя крестами. Scala/Go/что угодно -- плохо, потому что хипстеры, там форс и вообще, язык которй не заставляет пользователя страдать - не язык. Гоните манек, насмехайтесь над ними. Манька не программист а обоссанец, шариков от программирования
JS в форс просится ппц...
>>827202На js написана каждая пиздюлинка интернета в котором ты 24/7 сидишь.
>>827205Каждая пиздюлинка в интернете шутит про маней и петухов, воровач перестал быть форсом? Алсо жсу как-то не сидится в браузере, обиженки хотят на нем чипы прогать.
Кресты говно и нинужны.
>>826737 (OP)чем ближе конец каникул, тем больше тем с сравнением языков.
Меня так заебало выбирать язык, что решил наплевать на всё и тупо учить Жабу с крестами. Нахуй идите, блять, понаделали языков, половина из которых нужна тупо чтобы ЧСВ авторов увеличить, а потом ещё и срачи устраивают и сбивают начинающих программистов с пути истинного. И Д И Т Е Н А Х У Й
>>827348на каждые школьные каникулы выбирай по языку(учить он джаву и с++ собрался, одновременно, фантазер)
>>827368си шарп так то, а не плюсы.и они похожи во многом, с одного на другой перекатиться как нехуй делать. Сисярп кстати тоже в продакшне используецца
>>827379ты думаешь, что программировать - это выучить синтаксис?Там тонна либ, "технологий" и каждый со своими причудами.Легко он перекатится...
>>826737 (OP)Аналитика твоя полное говно, макак.Начну, пожалуй, из середины. Джява, сисяра - языки для индусов и приматов, на них пишется низкотребовательное к ресурсам говно, которое может быть написано на любой другой технологии. В основном используются в аутсорсе, в распилочных проектах, или в фирмах, где IT-отдел - дотационный кусок говна, не приносящий бабки напрямую (чаще не приносящий их вообще). Очень любимы тырпрайзом, так как в нём сделать в срок, важнее, чем сделать быстро. Разработка на этих языках крайне медлительная (тут сказывается примитивность ЯП, рассчитанная на вчерашнего курьера или таксиста, но никак не программиста с мозгами). Можно реально охуеть от эстимейтов жаба-сениоров, которые оценивают в неделю простейшее говно, которое любой обгвидок написал бы за 4 часа. Лично был свидетелем, как в одной уважаемой конторе отдел из 10+ джявамартыханов проёбывал по продуктивности команде из 2х питонистов и одного жсвоца на аналогичном проекте. Тут макаены начнут возражать, что главное в их языках это не скорость разработки, а поддерживаемость, но всем известно, что любой большой проект на явапараше это abstractpreauthenticatedprocessingfilter, abstractannotationconfigdispatcherservletinitializer и конечно же abstractsingletonproxyfactorybean. Тысячи говноклассов, в каждом из которых по 20 строчек ничего не делающего кода, составляющие 80% проекта, плюс метапраграммирование на XML-конфигах - всё это конечно способствует поддерживаемости. В результате, как правило проект знает 1-3 олдфага, остальные хуеплёты просто фиксят баги и допиливают какое-то говно на периферии. Когда те самые олдфаги наконец-то съябывают, дальше никто не знает как это всё работает, и каких-нибудь ебантяев кидают прямо в говно кора - "учить проект". Учить проект - это очень популярное занятие в жябамирке. Пришел в офис, ответил на письма, посидел на митинге, посидел на открытии, выпил чайку, подождал пока загрузится нетбинс, поучил проект, написал 5 строк кода - закрыл тикет (подвинуть кнопку на 2 пикселя влево), ответил на почту, - очередной день человека-джявапрограммиста окончен. Бизнесу конечно на это всё совершенно насрать: скорость разработки, качество, скорость фикса багов, потребление ресурсов - всем всё строго похуй. А наш джява/сисярпмартыхен - это обычный офисный клерк, без знаний, мотивации, обычная корпоративная амёба, далёкая от программирования.Итог: джява/сисярп - примитивные, ничем не выдающиеся языки офисных рабов, популярные исключительно по исторической случайности.
>>827635>обгвидок написал бы за 4 часаА потом потратил бы месяц на тесты. Или хуяк и в продакшен и ещё полгода на вылов багов на живца.
>>827647>имплаинг, что убогая жяватипизация спасает от написания тестов, а жюнит - это от лукавого и вообще нинужнотак в джаваговнах багов не меньше чем в динамикеолсо, http://thedeemon.livejournal.com/112666.html
>>826737 (OP)прастите
>>827635Сам-то на чём пишешь? Пестонист, что ли?
в пирамиде не хватает ступени "опущенные языки" с единственным языком PETOOH
>>827653>имплаинг, что ему говорят "тесты нинужны", когда ему говорят "с тестами то на то и выйдет"Хотя у пистона ещё и рантайм тормозной.
>>827755>рантайм тормознойВаш габиджь КАЛэкшон - ваще дрисня.Вот, ты скажи, если б жова действительно была такая жы быстрая, как и плюсы, то почему на дваже не написано ни одной 3Д игры, а?
>>827894Лол, ты реально сравниваешь нативный код и байт байт код по скорости? Все очень плохо. И да java медленнее, чем кресты, очевидно поэтому игры на ней и не пилят, но это не отменяет, что питон в разы тормознее, как и любой скриптовый язык, который хорош только для прототипов и мелкой автоматизации
>>827924И сайтов средней нагрузкиfixed
>>827924и машинг лёрнинга с биг датой.
>>827201>Для программиста важен вид типизацииВерно, чем это менее популярный и зафорсенный вид типизации, тем лучше.>парадигма Действительно, чем парадигма меньше упоминается на сайтах вроде двача и хабра, тем лучше.>выразительностьИ правда, очень хороший признак. Чем выше у языка т.н. "выразительность", тем больше школьников с двача называют язык крутым. А это очень плохой признак для языка .>имеющаяся инфраструктураТы прав. Хорошая инфраструктура привлекает много хипстеров и быдла. Поэтому на инфраструктуру очень важно смотреть.>сообществоВ точку. Даже размера сообщества достаточно - если сообщество большое, то на языке писать смысла нет.>С++ харашо потому что Страуструп модный пареньА вот тут ты неправ. Если бы Страуструп был "модным парнем", я бы никогда не писал на C++.
>>827942Нитакойкакфсе прибежал
>>828121Я ОП.
>>827942> много хипстеров и быдла.> Если бы Страуструп был "модным парнем", я бы никогда не писал на C++.Охуеть критерии, сразу видно свободномыслящего человека не зависящего от мнения других людей.
>>827635продолжай
>>828206Что это меняет?
>>828512Нельзя "прибежать" в собственный тред.>>828431Да нет, всё так. Зависимый от мнения других людей будет желать только одного - чтобы его мнение совпало с мнением толпы. Я же просто хочу показать, что могу идти толпе наперекор и мне за это ничего не будет.
>>826737 (OP)Почему не в /б/?
>>828620Блядь, ну ты же максималист мамкин. Если ты идешь против толпы, то ты ничем не лучше того, кто идет вместе с толпой - в обоих случаях твое направление направлением толпы определяется. Мудрый человек идет туда, куда ему надо, вне зависимости от остальных, а не стремится назло бабушке уши отморозить.
>>828652два чая этому мудрому господину
>>828652Я знал, что ты напишешь что-то подобное. Но видишь ли, я иду наперекор не только толпе. Я иду наперекор и тем. кто идёт против толпы. Чем больше различных групп людей(программисты на яве, программисты на хаскеле, etc.) будут моими действиями задеты, тем лучше. Поэтому я иду именно туда, куда мне надо. Только при этом я стараюсь объявить говном как можно большее число людей.
>>828666Ну тогда себя не забудь говном объявить, иначе будешь не человеком, а сыном псины. Логично?Да, меня задел тот факт что с полуидиотом вроде тебя кто-то беседует.
>>828652Мудрые мысли на дваче. Благослови тебя господь!
>>827942Ну вот. Какое-то левое говно вместо критериев отбора. Типизация не зафоршена -> Хорошая типизация!Страус труп нимодный -> Страус труп молодец -> надо писать на плюсах. Ну охуеть теперь. Детектирую в тебе позерскую обезьяну, а не программиста
>>829277Двачую.
Тему прочитал как "Чёрт языков". Оппост как "Настоящий чёрт языков программирования.". Посмотрел пикчу. Настоящий чёрт языков - это кресты. Так и не заметил подвоха. До сих пор думаю, что оп имел в виду "кресты - это чёрт языков".
>>828652Двачую>>828666Ты не свободен, если ты зависишь от того, чтобы идти наперекор кому-то.
>>829277Ну конечно, лучше писать на том, что хвалят на дваче. Ведь это путь настоящих необезьянок.>>829292Ты не понял. Да, мне нравится идти наперекор. Но кому - абсолютно неважно. Я не завишу от кого-то конкретного. Если что-то, чему я шёл наперекор, внезапно исчезнет, я просто буду продолжать идти наперекор остальным. И ничего не изменится.
>>826737 (OP)Пистон не тронули я спокоен
>>827348проиграл с тебя.
Аж пригорело с беспросветной тупости оп-хуя, надеюсь это толстота.
>>826737 (OP)Распечатал твой пост с картиной. Пойду посру, подтерусь
>>828666>Я иду наперекор и тем. кто идёт против толпы(ОП==-а х толпа) && (ОП==-b х (-толпа)) => (толпа==0) || (ОП пиздит).
>>829289Да это вообще дьявольский тред, посмотри на его номер >>828666
>>829418И опять ты не понял. И наперекор толпе. И наперекор тем, кто идёт против толпы. И наперекор тем, кто идёт против тех, кто идёт против толпы. И так далее, я абсолютно свободен в этом плане.Выбирать надо тот язык, который не хвалит вообще никто.
>>829576 Жду пример твоего кода на brainfuck.
>>829576Я хвалю вообще все языки. Кому-то пора валить из профессии)
>>829576Я хвалю Лисп, угадал?
>>827942Ты что-то имеешь против выразительности?Напиши мне парсер хмл на асме.
>>829576Какой же ты еблан.И да, плюсы тоже хвалят.
>>829356Я просто не верю в то, что можно быть таким тупым уебаном.Не пробовал ходить наперекор составу метро?
>>826737 (OP)Где ассемблер, школяр?
>>830080Это норм.
>>830080Скрипты с джавой/шарпом поменять бы, как минимум большая часть софта пишется на джаве и шарпе
>>830080Ну всё, даунский ОП теперь с плюсов перекатывается на функциональнуюю парашу. Вопреки мнению картинки на двощах
>>830081удваиваю асм
>>830080Не въеду что таково модного в функциАнале что даже жаба в 2014 разродилась такой вот надстройкой вот только взгляните на этот волшебный пример peoples.stream().filter((p) -> p.getAge() >= 18).filter((p) -> (p.getSex() == Sex.WOMEN && p.getAge() < 55) || (p.getSex() == Sex.MAN && p.getAge() < 60)).count()Это кратко , но разве это читабельно ?
>>830213Ну вообще-то это куда читабельнее чем куча циклов на 2 экрана...
>>830213Ну давай, напиши мне процедуру, чтобы она выбрала мне из коллекции всех людей которые:1)Старше 18 и2)Если это женщина то младше 55, а если мужчина -- младше 60И, да, это должно быть читаемо и красивоКстати говоря, в этом примере именование анонимных функций значительно повысило бы читаемость. Примерно так:peoples.stream().filter(adult).filter(!pensioneer).count(). Прошу заметить, концептуально очень похоже на этот ваш SQL
Хуёвый пример.var result = 0;for (human in peoples) {var maxAge = 60;if (human.getSex() == Sex.WOMAN) maxAge = 55;var age = human.getAge();if(age < maxAge && age >= 18) result++;}Не сказал бы, что это нечитаемо или некрасиво. А вот по эффективности они и рядом не стоят.
>>831114Поставил лойс. Намного лучше блядских стрелочек через точку.
>>831114> Java> varНу-ну.
>>831239Специально для тебя, долбоёба.in result = 0;for (Human human : people) {int maxAge = 60;if (human.getSex() == Sex.WOMAN) maxAge = 55;int age = human.getAge();if(age < maxAge && age >= 18) result++;}
>>831245Спасибо.
>>831239Это не ява, а емакскрипт.
>>829579Брейнфак в этом плане - хороший язык, кстати. Но есть более мощные языки, которые тоже никто не хвалит.>>829580Да, тебе, дураку без вкуса, давно пора.>>829625Нет, лисп - зафорсенное на лурочке говно.>>829633Сам пиши. Но асм - отличный язык, кстати.>>829688Кто?>>830019Составу метро - нет. А вот по дороге на работу всегда перехожу улицу на красный.>>830080Нет, не пытайся. Твоя картинка была лишь попыткой меня раззадорить. То есть смысл в ней примерно такой: "А затроллю-ка я ОПа!". Пойдя наперекор этой картинке, я лишь пойду у тебя на поводу. Нет.>>830081В нишевых. >>830232А тебе промыли мозги. Верный признак этого - употребление модных словечек вида "читаемость, понимание кода, удобство рефакторинга".
>>831114По эффективности оно эквивалентно. Надо правда сделать вот так вот: peoples.stream().filter(adult && !pensioneer).count(), хотя хз, некоторые конпеляторы сами оптимизируют По читаемости твой пример уступает даже тому, что ты привел сам выше. И будет уступать ещё сильнее если нам понадобиться в результате не число, а просто отфильтрованная коллекция, например. И самое главное: я могу регулировать степень "развернутости" описания функции. Я могу именовать параметры, и промежуточные значения переходя от абсолютно сжатой до абсолютно развернутоё версии, где каждое промежуточное значение имеет имя. К примеруval humanStream = people.stream())val ableToWork = humanStream.filter(isPensioneer && isAdult)val res = ableToWork.count()О том, как паралелить написанное тобой говно я просто молчу
>>831282>По эффективности оно эквивалентно.Зависит от компилятора. Часто - нет.>не число, а просто отфильтрованная коллекцияЗаменяешь первую строку на что-то Human[] result = new ArrayList<Human>() (или как там оно в жабке), и result++ на result.add(human) - пиздец, как сразу нечитаемо стало.>я могу регулировать степень "развернутости" описания функции.А я, значит, не могу?int result = 0;for (Human human : people) {int maxAge = getMaxAge(human)int age = human.getAge();if(age < maxAge && age >= 18) result++;}// --int result = 0;for (Human human : people) {if (ableToWork(Human)) result++;}// -- for (Human human : people) {if(callback1(human)) callback2(human);}>О том, как паралелить написанное тобой говно я просто молчу Как же распараллелить одиночный проход по массиву без какой-либо зависимости по данным? Очень сложная задача. Тут надо академиком быть, наверное.Вместо того, чтобы высасывать из пальца аргументы (которые нормальные, но не для этой ситуации), лучше бы пример получше придумал. А то сейчас ты выглядишь как те ребята, которым вдолбили в голову, что goto и eval - это плохо и вообще никак нельзя, и они теперь это повторяют и городят костыли даже там, где и гото и евал были бы к месту.
В java есть способ компактно и читаемо сделать передачу параметров\аргументов по-умолчанию, не хуяря реализации на каждое возможное сочетание?
>>827635>Тысячи говноклассов, в каждом из которых по 20 строчек ничего не делающего кодаВот тут люто двачую. Сам охуел с таких порядков, наслушавшись про "настоящее ООП", в котором, оказывается, для единичного использования в одном месте хуярят целый класс.
Лучший язык для: ООП: python, ruby, Java, smalltalk (последний - для академического интереса). Жаба - энтерпрайз и приложения. Питон примерно тоже самое, что руби, но с уклоном в дата сцаенс/науку. Многопоточность: ? Erlang, Scala, go Функциональщина: ? Scala, haskell Метапрограммирование: ? D, closure, scala Вообще, интересуют последние две парадигмы: в каком языке они реализованы лучше всего? Можно даже без коммерческого применения, интересно для себя. D действительно так хорош, как пишут? Если мне именно для академического интереса, в образовательных целях, то он пойдёт? Или в скале тоже метапрограммирование неплохое? Мета очень заинтересовало. А вообще хочу начать свой язык программирования писать. Не для практического применения, а тупо для интереса.
>>827198> Fortran - расчёты во всяких математических лабораториях.Как там, человека то на Луну отправили уже?
>>831328>Лучший язык для ООП>ПитонЯ в маму твою какал, уебок
>>831335 Перечисленные там языки равны. Питон там первый только по очерёдности, а не по значению. Так что не бугурти.
>>831328ООП: Java утиной типизации-то нету, да и не нужно, это хакерство, C++, smalltalk (последний - для академического интереса).Многопоточность: Erlang, Ada, Scala, goФункциональщина: haskell, Lisp, closureМетапрограммирование: ruby (книга есть такая)
>>831341>Метапрограммирование: ruby Сириузли? Можешь пояснить подробнее.
>>831347https://www.toptal.com/ruby/ruby-metaprogramming-cooler-than-it-soundshttps://pragprog.com/book/ppmetr/metaprogramming-rubyМне лично это не нужно.
>>826737 (OP)Долбоебы, давайте еще бугурт тред запилите на нулевой и сакрального оленя.
>>831341>Метапрограммирование: ruby (книга есть такая)>мда мдеClojure для этого подойдет куда как лучше. На крайняк Nemerle. Но точно не раби
>>826737 (OP)> языки, которых все ненавидят> программист на таком языке вызывает нескончаемое уважениеЕбать, ты аутист. Что несёт? Мало того, что бред, так ещё и взаимоисключающие параграфы
>>827128Тогда пиздуй на форчонг или реддит.Которых ненавидят. Которые, ненавидят
>>827348Ты рэндомно выбрал языки? Один для игорь и драйверов, второй - лютый тырпрайз. Тогда уже лучше задрачивай пока один. Или смотри, по каким языкам в вашем городе больше вакансий
>>831356К школе готовься, уебище.
>>829416Лойс
>>830080Ой, блядь. Как будто прел, питухон и руби чем-то принципиально отличаются от похапе и жабаскрипта. Хотя, жабаскрипт на данный момент всё же самый убогий.А перл так и вообще протух
>>830213Я разбиваю такой код на отдельные строки и всё становится предельно понятноpeople .stream() .filter((p) -> p.getAge() >= 18) .filter((p) -> (p.getSex() == Sex.WOMEN && p.getAge() < 55) || (p.getSex() == Sex.MAN && p.getAge() < 60)) .count()Но даже так, каждая строка заменяет много строк, если использовать циклы. Алсо, какие нахуй peoples? Английский подучи.
>>831395А на божественном свифте ещё лаконичнее:people.stream().filter{ $0.getAge() >= 18 }.filter{ ($0.getSex() == Sex.WOMEN && $0.getAge() < 55) || $0.getSex() == Sex.MAN && $0.getAge() < 60) }.count()
> Sex.WOMEN
>>831382Ебало на ноль подели, пока я тебя не вычислил
>>831397>>830213peoples.where(p -> (p.Age >= 18) && ((p.Sex == Sex.WOMEN && p.Age < 55) || (p.Sex == Sex.MAN && p.Age < 60))).count();На божественном шарпе все выглядит как как лучше
>>831461Да ну раз все равно хардкодить, то лучше сделать в p проперти, и писать как-то вродеpeoples.where(p -> (p.Age >= 18) && (p.IsYoungMale || p.IsYoungFemale)).count();
>>831315> Human[] result = new ArrayList<Human>()Мне уже хочется блевать.>Я значит не могуСвернуть в одну строку свою хуйню ты не сможешь.>Как же распараллелить одиночный проход по массиву без какой-либо зависимости по данным?Задача то простая, но с твоим подходом говна будет ещё больше. Много нечитаемого говна, от которого нормального человека просто тошнит. И да, goto и eval это очень, очень мать его, плохо.
>>830213страшнее другое, как оно там все под копотом работает и не будет ли добавление чего-то необычное к тотальному оверхеду
>>831318когда ты открываешь класс в либе, среди полусотни методов ты хочешь найти свой метод, а не сидеть и гадать - вот этот подойдет, а нет вот наверное этот, скорее всего (а компилятор выберет другой, где отстрелишь еще себе логику).
>>831511>Мне уже хочется блевать.Вот что мне нравится в местных функциональщиках - они тупые. Они задрочили свои мапы с фильтрами, а самим думать не научились. Они патологически не могут в абстракции. То есть, то, что встроено в функциональный язычок - это они могут, а вот самим что-то придумать - это уже никак.>Свернуть в одну строку свою хуйню ты не сможешь.int result = 0; for (Human human : people) {if (ableToWork(Human)) result++;}Не сильно хуже однострочной функциональной версии. Символов столько же, и читабельность примерно такая же.Тут можно, конечно, свои фолды наизобретать, мне лень просто.>goto и eval это очень, очень мать его, плохо. Ну вот, как я и говорил - обычная глупая макака с вбитыми кем-то в голову стереотипами. Надеюсь, когда-нибудь ты наберёшься опыта и поймёшь, когда что-то можно, а когда нельзя.
>>831873>int result = 0; for (Human human : people) {if (ableToWork(Human)) result++;}>Классно свернул. Что то уровня обфускатора для jsНо eval - это на самом деле весьма плохо, ты не знал?
>>831511>И да, goto и eval это очень, очень мать его, плохоНормальный eval - это очень охуенно, только он мало где есть за пределами лиспов и фортов. Да и goto может улучшить читаемость в некоторых случаях.
>>831922Недавно одному парню в ньюфаг-треде надо было распарсить на питоне файлик, состоящий из строк вида "["stroka1", "stroka2", 123, "stroka3"]". После того, как ему дали однострочник с эвалом, вылез кто-то (может быть, даже ты) и пожелал автору смерти. Раз уж ты такой умный, расскажи мне, почему здесь использовать eval - это плохо, и покажи свой код, который это пропарсит.
>>832018Я не он, но тут же очевидно, что в файлике может оказаться вредоносный код
>>831341ООП: Common Lisp/Scala/Smalltalk (последний лично я не знаю).Многопоточность: С, Erlang.Функциональщина: Haskell only.Метапрограммирование: Common Lisp/Schema (схему не знаю тоже, но там есть серьёзные отличия от CL, которые являются предметом срача).В Скале есть экспериментальная поддержка метапрограммирования (что не мешает использовать его во множестве проектов), но оно довольно сложное. Сейчас делают попытку №2 - scala.meta, более простое решение с учетом предыдущего опыта и всех появившихся юзкейсов. Когда закончат - не известно. В любом случае, метагпрограммирование в статически типизированном языке намного сложнее чем в динамическом, поэтому не думаю что Скала годится для обучения ему.>>832032Очевидно что у всякого инструмента есть границы применимости. Никто не говорит что нужно использовать eval где ни попадя.>>831511Не пытайся объяснять даунам работу с коллекциями на таких примерах. Они кукарекнут "я тоже могу в одну строчку записать" и всего делов. Другое дело, когда у тебя таких шагов не 1, а 10 и операции не только filter и map, а еще и всякие group by, slice, flatMap etc. Про распараллеливание он вообще не понял, видимо.
>>832018Парсинг такой хуйни на какой ни будь нормальной библиотеке типо хаскелевого parsec займет несколько строк, и гарантированно не вычислит того, что вычислять нельзя.
>>832267>Многопоточность: С>ООП: Common LispТы дурак?
>>833035Ну тут этот петух совершненно прав. В лиспе преркасное ООП, гугли CLOS
>>833035Иногда следует пытаться понять то что тебе говорят люди, даже если в силу своей ограниченности ты с этим пока не согласен.
Почему скала и хаскелль на одном уровне? Сейчас как раз ради интереса на hh.ru смотрел вакансии. В ДС2 для скалы он выдает 50 вакансий, причем как минимум половина именно вакансии Scala-разработчика, где ты на ней и будешь писать.Для хаскелля выдает 8 вакансий, причем во всех хаскель указан исключительно как дополнительный плюс, а не как язык разработки.тред не читал
>>833485>измерять уровень ЯП по кол-ву вакансий
>>833491В ТРАЛЛЬНОМ )))) ОП-пике там написано:> код на них ценности не представляет, работодателю они не интересны