GOD TIER: C# TOP TIER: C, C++, Kotlin MIDDLE TIER: Python, JS LOW TIER: Java, Scala, Ruby, Swift/Objective-C, VB, MATLAB, Erlang SHIT TIER: GO, PHP, 1C, ABAP USELESS SHIT TIER: Pascal (и диалекты, включая Delphi), Perl, Haskell, F#, Lisp (все диалекты, особенно схема), Rust, старые диалекты бейсика, Пролог, sh (и разновидности)
C#: Хорош всем, самый сбалансированный и универсальный язык. Можно писать всё, начиная от операционных систем и заканчивая веб-сайтами и десктопными программами. Обладает шикарным тулингом (VS, ReSharper, Rider). С недавнего времени в него завезли кроссплатформенность. Отлично поддерживает многопоточное программирование, обладает широким функциональным функционалом (лямбды, первоклассные функции, функции высших порядков через LINQ, паттерн матчинг), а также шикарным ООП: объектно-ориентированная модель не перегружена, проста в понимании, но в то же время выразительна: например, нормально работают имплицитные методы. Обладает мощностью C++, позволяет вручную управлять памятью, но поддерживает совершенный сборщик мусора. Легко интегрируется с другими языками. Шикарная стандартная библиотека, развитый менеджер пакетов NuGet, большое количество сторонних библиотек для любых задач. Есть системы для сборки и деплоя, автоматического тестирования. Есть нормальные ORM. Можно делать хорошие десктопные приложения.
C++: Позволяет напрямую управлять памятью и писать любые программы. Хороший тулинг, включая самые совершенные компиляторы из существующих, статический анализ. Абсолютно кросплатформенен, хорошо поддерживает многопточное программирование. Современные кресты позволяют писать в функциональной парадигме, но ООП излишне усложнён, включает бесполезные парадигмы вроде множественного наследования. Вместе с системой шаблонов отладка сложной ОО-архитектуры может превратиться в ад. Нет менеджера пакетов Conan кривой до жути, зато есть библиотеки под любые задачи. Легко интегрируется с другими языками. Отличная стандартная библиотека, плюс нельзя забывать про Boost и Qt. Есть системы для сборки и деплоя (make, cmake и.т.п.), которые необходимо знать для работы. Слишком сложный, однако при должном использовании позволяет добиться максимальной производительности. Обладает кучей недостатков вроде неочевидного Undefined behavior, и требует ебли с компиляторами. ORM говно. Qt говно, но не имеет альтернатив.
Kotlin: замеа устаревшей Java. Очень сильно напоминает C#, местами даже более лаконичный. Подходит весь тулинг от Java, который развивался ближайшие два десятилетия. Нет репозитория с пакетами. Подходят Java-библиотеки, которых очень много, но они менее качественные, чем шарповые. Многопоточность как в Java, однако есть ещё и async/await как в C#, Javascript и плюсах с питоном. В целом, очень хороший язык, но немного хуже, чем C#. Нельзя писать десктопные приложения.
C: подмножество (в нестрогом смысле) языка C++. Очень логичный и простой в изучении, подходит для обучения, программирования микроконтроллеров, а также как второй язык для написания "узких мест" в программах на других языках. Абсолютно кросплатформенный, обладает отличными компиляторами, достойным тулингом. Нет менеджера пакетов, но есть много библиотек. Обладает многими недостатками плюсов. Сложные программы на нём пишет только Линус, ORM нет.
Python: Один из самых простых языков для изучения. Невероятно универсальный, отлино подходит для людей, программирование для которых не является главным скиллом. Из-за этого используется в ML, для прототипирования, в расчётных программах вместо matlab, в качестве инструмента для написания shell-скриптов. Есть богатый репозиторий с пакетами. ООП кривое-косое, инкапсуляция фактически не поддерживается, интерфейсов нет, абстрактных классов нет, зато зачем-то есть множественное наследование. Вместо свитч-кейса используются словари, тормозит, как мразь, глючит кодировками. Есть приличный тулинг (IDE PyCharm от житбрейнс), очень много качественных библиотек и фреймворков, используется в вебе. Многопоточное программирование поддерживает, есть ORM. Функциональное программирование не такое развитое, как в других языках, но присутствует -- есть лямбды, функции первоклассные. Сборка и деплой вроде работают. В целом, как язык -- плох но замены пока не предвидится, поэтому слесарить на питоне не зашквар -- единственный язык динамической параши который в принципе можно терпеть.
JS: Единственный язык, который выполняется в браузере. ООП очень своеобразное, отличается от всех других описанных языков (так как основывается на давно мёртвом смолтолке, а не на симуле) и на мой вкус куцое. Прекрасно поддерживает функциональное программирование. Обладает отличным тулингом, поддерживается во всех мажорных IDE, имеет менеджер пакетов npm, развитые системы для сборки и деплоя. Плохо поддерживает многопоточное программирование, которое работает через жуткие костыли. Много библиотек. Как язык неплох, и слесарить на JS не зашквар, особенно используя костыли вроде TypeScript.
Java: сильно отстаёт от C# и Kotlin. Очень многословна. Существует отличный тулинг, много библиотек, развитая система сборки, а вот репозитория с пакетами нет. Асинхронное программирование поддерживает плохо, функции не первоклассные. ООП классическое, однако многого функционала из C# и Kotlin не хватает. Есть много кривых неприятных моментов: например отсутствуют структуры с семантикой копирования, навязывается throws, платный компилятор... С приходом новых языков стала не нужна и живёт за счёт легаси. Есть много ORM, многопоточное программирование поддеоживается достойно, но хуже, чем в более современных языках. Как язык жаба неплоха, но устарела и слесарить на жабе не зашквар.
Scala: была очень многообещающим языком, но за десятилетия не удалось исправить огромное количество проблем. Тулинг отвратительный, хуже, чем у котлина. Менеджера пакетов нет. С жабой совместима через жопу. Поддерживает много неоправдавших себя парадигм: например, является одним из самых популярных языков для написания акторов и одним из самых популярных языков для создания DSL -- при этом ни то, ни то не взлетело. Есть крутой паттерн матчинг. Срывает голову метапрограммированием и похожим на Ruby ООП, за что заслуживает почётное место на свалке. Имеет встроенную систему для билда SBT. Нормальных ORM не имеет. Нормальных задач не имеет. Используется в банках для распила бюджета.
Ruby: очень похож на питон. Имеет более развитое и логичное ООП, хороший тулинг (включая IDE от JetBrains). Имеет хороший менеджер пакетов, ORM, зато не имеет системы для билда и деплоя. Хорошо поддерживает функциональное программирование и многопоточный код. Как язык руби хорош, критических недостатков не имеет (кроме регулярок в стиле perl) но не взлетел. Типизация динамическая, так что при наличии хороших альтернатив писать на руби зашкварно. На нём почти и не пишут. Нигде кроме веба не используется и никогда не использовался.
Swift/Objective-C: Если честно, на них не написал ни строчки, поэтому рассказывать не буду. Быстрое гугление показывает, что там всё есть, кроме универсальности. Используется только для устройств от Apple.
VB: C# с клоунским синтаксисом. Есть всё то же, что и в шарпе. Зашкварно ли на нём писать не берусь решить.
MATLAB: лучше подходит для прототипирования научных расчётов, чем питон. При необходимости можно написать что угодно, вплоть до ГУИ и веб-сервера, но обладает рядом кривых охуительных особенностей вроде указателей формата double. Писать на матлабе не зашкварно.
Erlang: не писал, не знаю, но похоже зашквар -- акторы, динамическая типизация, при этом может вылететь сегфолт...
GO: сырое говно. Рождён морально устаревшим, нет дженериков, нет функционального программирования, нету исключений. Есть менеджер пакетов, но тулинг дико сырой. Про ORM ничего не известно. Писать на го определённый зашквар. За критику банят в местном чатике. Considered harmful.
PHP: фрактал плохого дизайна. В последних версиях вроде как допилили, но если человека можно пересадить с PHP, то пересадить PHP с человека нельзя. Про недостатки есть отдельные хорошие статьи. Из достоинств -- менеджер пакетов, богатсво библиотек и фреймворков, ORM. Писать на пыхе дико зашкварно. За критику банят в местном чатике. Considered harmful.
1С: Нет ООП (вообще, даже как в perl) и очень куцое функциональное программирование. Язык-недоразумение, почему он плох есть много статей в Интернете. Зашкварище. Considered harmful.
ABAP: Обладает синтакисом COBOL. На этом можно было бы закончить. Функциональное программирование никакое, ООП квадратно-гнездовое. Чрезвычайно бестолков и многослоен. Да, я завидую зарплатам специалистов по этому говну. Писать зашкварно, но за такую зарплату я бы и отсосал.
Pascal: был фракталом плохого дизайна ещё до того, как появился PHP. Признан ошибкой самим разработчиком языка. Обладает отвратительным тулингом, расчитанным на кровавый энтерпрайз. Глючный, тормозной, с клоунским синтаксиом и никаким тулингом. По недоразумению ещё где-то используется, но писать на паскалеподобных языках дикий зашквар. Есть много статей с критикой. Considered harmful.
Perl: исключительно сложный, кривой синтаксис, отсутствует ООП, многопоточность. Очень сильно устарел. Тулинга нет. Управлене пакетами есть. Динамическая типизация шкварит любого прикоснувшегося.
Haskell: 10 лет назад использовался для троллинга. Написать что-то реальное очень тяжело из-за кривого ввода-вывода. Популярен для создания DSL, кроме этого задач не имеет. Тормозной. Тулинг отвратительный. Есть репозиторий с пакетами, но мало кто пишет программы длиннее одной строчки. Писать на хаскеле почётно.
F#: майкрософтовская вариация языка Ocaml. Написать что-то серьёзное на нём очень сложно, поэтому на нём ничего и не написано. Может использоваться для обучения функциональному программированию как надмножество ML, кроме этого преимуществ не имеет -- глючный, тормозной, бесполезный. Но не шкварит.
Lisp: устарел ещё при дидах. Синтаксис отсутствует, ООП отсутствует, но хорошо поддерживает ФП. Тормозной, неонятный и бесполезный. Используется для троллинга новичков с помощью книги SICP. На нём ничего не написано. А, да, типизация динамическая и писать на этом говне зашкварно. Остерегайтесь.
Rust: обладает зачатками хорошего языка. Тулинг отвратительный. Библиотек нет. Есть менеджер пакетов. Осилить также сложно, как плюсы, но никакими плюсами плюсов не обладает. Ненужный язык.
Пролог: любим преподами в ВУЗах, на деле нигде не используется. Тулинга нет, библиотек нет, менеджера пак... Забудьте. Абсолютно бесполезен, при этом очень сложен. Никто на нём не пишет.
>>1693270 >SHIT TIER >1С Петухи закукарекали. 1С по сути - топовая вещь, вы на своих Пистонах и Скакалках запилите что-то хотя бы приближающееся по функционалу?
>>1693247 >GO: сырое говно. Рождён морально устаревшим, нет дженериков, нет функционального программирования, нету исключений. Есть менеджер пакетов, но тулинг дико сырой. Про ORM ничего не известно. Писать на го определённый зашквар. Ну в сущности это как Си, но только с некоторыми нужными высокоуровневыми конструкциями и очень хорошей поддержкой потоков и поддержкой сети. Если воспринимать его в таком ключе, что это не C++/C#/Python, а именно Си с развитыми дополнительными возможностями, то вполне норм язык. На Си ведь тоже много пишут.
>>1693328 В Си нет сетевых библиотек и поддержки многопоточности. А в Го они есть. И многопоточность там реально очень удобная, это самое главное достоинство Го.
Прогу на Си довольно сложно скомпилировать на несколько платформ, сложно на чужую платформу собрать, в Го это в коробке.
Плюс дополнительные высокоуровневые плюшки. Конечно сливает другим языкам, но всё-таки лучше, чем в Си, где ничего нет вообще.
Если тебе нужны системные сетевые утилиты и сервисный софт с не очень сложной логикой, то вполне себе вариант.
>>1693334 >Прогу на Си >скомпилировать на несколько платформ >на чужую платформу собрать На хуя? В области применения Си кроссплатформенность чего-то большего чем хелловорлд - шутка ебаная
>>1693343 > в дата сатанисты щас не пытается пролезть только ленивый. Я тоже пытаюсь, скоро обгоню тебя и заберу твой оффер :-) Ребята, все, вкатывайтесь в дата сайенс и машоб, за этим будущее. Нагибайте рынок. Будете получать больше любых хиккующих выблядков на плюсах и джавах.
>>1693352 >Про зп мимо каво? мидлу/синьеру дата сатанисту платят меньше например чем мидлу/синьеру джява примату >Кодеров в разы больше а работы и вакансий больше на порядки, чем у мошиах лернеров
>C#: Хорош всем, самый сбалансированный и универсальный язык. Надо рантайм таскать. Примерно то же самое, как за интерпретируемыми языками надо таскать интерпретатор внезапно.
>C++: Позволяет напрямую управлять памятью Это и достоинство, и недостаток. Джун может случайно выебать байты с непредсказуемыми последствиями. Из-за того-то Java и появилась. Кстати, на крестах написаны компиляторы и интерпретаторы многих других языков, например, тот же JS.
>C: подмножество (в нестрогом смысле) языка C++. Кресты в строгом смысле надмножество сей. >Нет ORM Ты бы еще для ассемблера ORM попросил, лол. Но вообще, есть крайне ограниченные возможности к пародированию ООП. Потому ORM не проблема запилить, просто не нужно.
>Python: Один из самых простых языков для изучения До тех пор, пока не углубляться в подробности, ну как обычно. >глючит кодировками Руки-жопы. >Сборка и деплой вроде работают. Все способы инкапсулировать интерп вместе с стандартной пуре-либой в одну экзешку - грязные хаки.
>JS: Единственный язык, который выполняется в браузере. Уже не так, теперь есть WebAssembly. Кресты выполняются отлично, остальное типа шарпа просит подгрузить свои тяжеленькие рантаймы, но в принципе тоже нормально выполняется. >ООП очень своеобразное, отличается от всех других описанных языков Сахар же подвезли, и уже давно.
>GO: сырое говно. Рождён морально устаревшим ООП ненужон, но все равно попытались сделать чуть лучше, чем можно на сях. Нет исключений, но есть panic, а с остальным ебись вручную. Авторелиз мусора есть, ORM вроде можно сделать, полиморфизм же есть.
>PHP Синтаксически это скрипт общего назначения типа питона, только очень поганый. Для шаблонов давно используются более подходящие языки, но макак все равно заставляют начинать скрипт общего назначения с фигурной скобки и вопросительного знака.
>>1693383 Ну нихуя себе не считается, а как же суперсет? А пропущенный тип аргумента тебя не смутил? Тогда скомпилируй эту корректную программу на си https://ideone.com/671btz
Я бы разделил языки по уровню удобства функционального программирования. Также есть такая штука как прикладное программирование. Например, условно системные утилиты обычно пишут на c++ и go с недавних пор. AI делают на пайтоне. Это условно и объясняется наличием хорошей инфраструктуры и оптимизацией под конкретные прикладные задачи. Таким образом в каждой плоскости тайр может быть разный.
>>1693387 Ну блин, дефайнами можно вообще все переопределить, это же не значит, что си больше не си. На самом деле, если в этом есть хоть какой-то смысл, то кресты и ObjC - надмножества. Ну можно в сях сделать функцию class, дальше то что? А кресты еще и объекты в структурах хранят.
>>1693246 (OP) > C: подмножество (в нестрогом смысле) языка C++
Хорошо, что есть люди, которые это чётко понимают. Сишка и плюсы похожи синтаксисом, но назвать сишку подмножеством плюсов сейчас можно только с очень большой натяжкой. Кто-то предлагает формулировку "надмножество некоторого подмножества", но слишком уж она размытая, и под неё могут попадать даже ассемблер с питоном.
> C++ > Хороший тулинг, включая самые совершенные компиляторы из существующих, статический анализ. Отвратительный тулинг. "Современный" С++ до сих пор использует тулы из 70х, которые были еще для сишки придуманы (и нет, ничего хорошего в этом нету). Анализировать этот язык практически нереально, ибо непродуманное overbloated говно с кучей легаси костылей. Даже просто отпарсить С++ это уже неразрешимая задача: https://blog.reverberate.org/2013/08/parsing-c-is-literally-undecidable.html . Ни одной нормальной IDE в результате нет. 100% IDE не осиливает банальное go-to definition сделать корректно, потому что хуй проссышь в каком хедере за каким #ifdef'ом в каком неймспейсе (да, ADL, про тебя) какая из перегрузок функции вызывается. Ах да, хочется автодополнения в генерик коде? За щекой проверь, с этими compile-time-duck-typing template'ами эта задача тоже неразрешима. Ну и конечно же, компилируется вся эта красота вечность, а при ошибках выдает непотянтые простыни на несколько экранов.
> Абсолютно кросплатформенен, Ага, конечно. Если "написать по костылю на каждую платформу" это кросплатформанность, то в С++ она определенно есть. Вон на сорцы буста иди посмотри, он весь этой кросплатформенность измазан. Иначе чем построением полной матрицы OS x Arch x Compiler на CI для всех поддерживаемых OS/архитектур/компиляторов и еблей с билдом и\или тестами после каждого второго коммита эта кросплатформенность не достигается.
> Нет менеджера пакетов Conan кривой до жути > Хороший тулинг Конфликтующие параграфы
> зато есть библиотеки под любые задачи. Благодаря предыдущему пункту этот можно просто взять и обнулить. Так как нету стандартизированной билд системы и пекедж менеджера реюз библиотек превращается а ад и израиль очень быстро. Банально просто подключить библиотеку к проекту это жопаболь, которая может растянуться на несколько дней. Другая проблема - интерфейсы в С++ такие, что нихуя не композятся и не расширяются нормально, из за чего почти для каждой первой библиотеки придется писать "прослойку" чтобы интегрировать ее в свой код.
> Легко интегрируется с другими языками. Нихуя не легко. Все эти классы и шаблоны вообще никак на другие языки не переносятся, вся интеграция с другими языками идет через сишный ffi.
> Отличная стандартная библиотека В которой нихуя нету, а то что есть - хуевое. Язык который целится на перформанс и зирокост в стандартной библиотеки имеет медленные коллекции, например. И их уже не поменять ибо ко-ко-ко стандарт ко-ко-ко обратная совместимость. Примеры: std::unordered_map люто проебывает каждой первой хешмапе основанной на открытой адресации, а не ебанном чейнинге, std::vector проебывает boost::small_vector, ибо не может в буфер на стеке, даже ебанный std::unique_ptr не зирокост.
> плюс нельзя забывать про Boost и Qt. И то и другое - overbloated хуйня (это уже мое ИМХО)
> Есть системы для сборки и деплоя (make, cmake и.т.п.), которые необходимо знать для работы. make - говно от дедов, прямиком из 70х, cmake - чуть лучше, но все еще скриптопарашная хуйня хуже питона. Еще есть ninja/meson/autotools/sh/bash/perl/python - да, всё это используется в C/C++ проектах для билда, ибо нормальных тулов за 40 лет существования так и не завезли, приходится кое-как костылить каждому свое. Ну и большие проекты зачастую имеют свою, ОСОБЕННУЮ билдсистему, например boost.build или qmake. В результате системы сборки вроде есть, но по факту имеем полный хаос.
> при должном использовании позволяет добиться максимальной производительности. При должном использовании можно и на джаве или шарпах выжимать из железа практически максимум, но в С++ для этого конечно же больше свистопирделок есть (оптимизации, хинты компилятору, интринсики, инлайн асм - вот это всё).
> Обладает кучей недостатков вроде неочевидного Undefined behavior, и требует ебли с компиляторами. ORM говно. Qt говно, но не имеет альтернатив. Not false.
>отлино подходит для людей, программирование для которых не является главным скиллом. Из-за этого используется в ML, для прототипирования Программирование в ML - это самое адовое программирование. Для работы с данными используются сложные конструкции с кучей функциональщины. Вдобавок нужно знать как все это работает под капотом чтобы не засрать производительность. Писать вебсайты намного проще. >тормозит, как мразь Если уметь пользоваться библиотеками, то по скорости будет как кресты. >глючит кодировками Если руки из жопы. >Многопоточное программирование поддерживает И все потоки работают на одном ядре. Это главный минус питона, которые ты почему-то не упомянул.
>>1693495 >Чем больше прогеров, тем активнее используется платформа в проектах, тем больше работы там Кто выдумал такую чушь? Чем больше прогеров - тем больше твоих конкурентов
>>1693531 >В США аналогично в Долине. там и расходы ебанулись на отличненько, а так как долина это ебаная деревня то эта зависимость ничем не компенсируется
>>1693534 И девок в долине мало(дохера пидоров и свж даунов у сука как у меня горит ),да и по ReversInginiring (ida pro, c,asm) в МСК спрос больше и зп не сказал бы что меньше...
>>1693437 Письку отрежут и заставят пихать дилду по 2 часа в день до конца, недолгой, жизни. Ну ещё и гормоны придётся из Израиля покупать, чтобы не роскомнадзорнуться. https://www.youtube.com/watch?v=ZACOc-NwV0c
>>1694750 У хаскелля в лого лямбда потому что он на лямбда-исчислении основан, а не машине тьюринга. Эти самые ЛЯМБДЫ еще несколько лет назад были как раз только в этих самых языках и уже оттуда пошли в мейнстрим говнецо.
>>1694788 Это о том, что слепили языки с девизом "смотрите, у нас есть ЛЯМБДЫ". Главная ценность, единственное, что можно предъявить. А ничего другого в языке и нет.
А другие языки тихо и скромно подобным инструментарием рутинно пользуются, когда надо. И имеют тысячи других возможностей в языке.
>>1693334 Анимеребенок, если в си нет этого в стандартной либе, это не значит что этого нет. В отличии от твоей госсаннины, которая пригодна только для сервера, в си есть огромное количество кроссплатформенных крутых либ, где кроссплатформа это не прыщелинукс и винда, а так же мак, ios и android, что твоему питухязыку и не снилось. Я уже не говорю что в любом языке взаимодействие с другими языками строится на базе общего знаменателя - си. + тулинг, + инструментарий, + многолетний опыт подходов к использованию. Ты типикал джун или вкатывальщик, который оценивает пригодность языка по синтаксису(первая ступень вкатывальщика) и стандартной либе(вторая ступень вкатывальщика).
>>1693334 >В Си нет сетевых библиотек и поддержки многопоточности Если не добавлять слово кроссплатформенность - они есть. Сетевые прямо в твоем любимом шиндовсе - winsock, winhttp; даже скачивать ничего не надо, прописать биндинги (или взять готовые) - и всё. Треды тоже в его ядре (kernel32) из коробки.
А такая "кроссплатформенность", как в Go - нахуй не нужна. Если ты попытаешься прочитать разрешения файла в шинде через стандартную либу Go (которая возвращает Unix'овский bitfield), угадай что произойдет? Упадет в рантайме? Нет, попробуй ещё раз. Додумает биты за тебя? Бинго.
А что, если ты попробуешь поменять биты, которых в винде нет? Нет, в рантайме оно не свалится, и ошибку не вернет. Оно просто тихо продолжит работу, ничего не поменяв. И там куча таких приколюх с именами каталогов или расширениями файлов, которые либа Go парсит неправильно на разных системах, чем создает уязвимость (ты можешь записать не в тот каталог или удалить не тот файл).
И там даже нет #ifdef WIN32, так что тебе нужно держать разные файлы с кодом под разные системы.
>>1699168 Была рядом с растом в юзлесс шит тир, потом убрал, т.к. я на дишке не написал ничего со всем остальным хоть немного, но на практике знаком. Александреску читал во времена 11 стандарта, узнал по фото и уважаю. Сам язык D мне оч нравится, там и иммутабельность изкоробки, которая в шарпе только-только появляется, и функциональное программирование более развито. unsafe и ебля с указателями точно сделана гораздо грамотнее, чем в шарпе, и тут от парашного раста взято много хорошего. А вот про всё остальное ничего хорошего сказать не могу. Комьюнити толком нет, библиотек нет, тулинга нет, ORM и вообще интерфейсы к СУБД неразвитые, в компиляторах я сильно сомневаюсь, проектов написанных на D не всплывает. Было бы здорово, если бы D приютила какая-нибудь компания и он стал индустриальным языком, а пока он в лучшем случае академический. Поправь меня, если я не прав. оп
>>1699459 >иммутабельность изкоробки, которая в шарпе только-только появляется Какая еще иммутабельность в шарпе? В шарпе все по дефолту мутабельное и никак это уже не изменить.
>>1699495 О, ещё один в крайности бросается. Иммутабельность и мутабельность - инструменты, задача программиста - правильный их выбор.
В многопотоке без иммутабельности неатомарных типов данных вообще не обойтись. Альтернатива - синглтоны под каждый чих, но в случае нечастой смены данных или при неправильной реализации они будут дороже; более того - ими менее удобно пользоватся.
>>1699476 >Какая еще иммутабельность в шарпе? data class и синтаксис with из 9.0 Охуенно. Ещё и с паттерн матчингом как на скале. Всем очень советую шарп, я не зря его на первое место поставил. оп
>>1699543 А многопоточные приложения можно писать без иммутабельности. Да что там - даже без поддержки многопоточности, просто запустить несколько процессов привет питонистам.
А из буханки хлеба можно сделать троллейбус. Но зачем?
>>1699511 >Всем очень советую шарп Поделие, у которого форсится КО-КО-КОРОССПЛАТФОРМЕННОСТЬ, но при этом мобильная разработка - мертворожденный выблядок Xamarin. 10/10, базарю ещё захочешь (нет)
>>1699962 – Статья была дегенартской 7 лет назад, когда её опубликовали –– Нет самых актуальных языков, написана про JS и пыхоплеяду (и откуда-то там взялся лисп, видимо, ради троллинга) –– Не учитывается тулинг, комьюнити, библиотеки и вообще сфера применения –– ООП противопоставляется ФП, хотя это полностью комплиментарные парадигмы – Статья сильно морально устарела –– Некоторые языки (кроме гвидона, пердла и говнолиспа) активно развивались последние годы. Современный пых и современный ЖС вполне годные инструменты и далеко ушли вперёд за последние 10 лет –– Пердл, лисп не используются от слова совсем. SICP уже давным давно обоссан и не отвечает современным реалиям –– По JS давно куча качественной документации и учебников В целом, не рекомендую эту статью к прочтению
>>1699997 Начал за здравие, кончил за упокой. Теперь придётся поподробнее начать с момента >не отвечает современным реалиям а именно что же такое современные реалии, как они отличаются от несовременных реалий и каким должен быть язык, чтобы этим реалиям отвечать. Вангую, что ответом станет дефолтное "экосистема языка", но экосистема языка (совокупность либ, поддержка платформами и наличие гайдов), согласись, на его выразительность не влияет совершенно. Так что нелишним будет выяснить, при сравнении языков речь идёт только о самих языках, или же о сумме факторов, среди которых сам язык на последних местах?
>>1700269 Да забей, ОП - обычный шизофреник, дрочащий на silver bullet и "моральную свежесть". Он не понимает, что практически к любому ЯП можно подключать либы из C.
У ОПа нет понимания, что ЯП может быть узконаправленным с самодостаточной стандартной библиотекой. Для него язык - не инструмент для конкретной цели, а что-то абстрактно хорошее или плохое. И, судя по выбору, главный критерий "хороших" ЯП - популярность в промышленной разработке.
>>1700305 Библиотеки на шарпе напрямую можно использовать из других (не .NET) ЯП? Нет. Может, можно полностью отключить рантайм с GC и запилить realtime приложение? Тоже нет. А под МК можно кодить? А, забей, там одна VM всю память сожрет.
>>1700269 >Так что нелишним будет выяснить, при сравнении языков речь идёт только о самих языках, или же о сумме факторов, среди которых сам язык на последних местах? Нелишним было бы тебе прочитать тред, чтобы узнать, что в оценке участвует экосистема. Как языки в отрыве от экосистемы вся параша, описанная в той помойке, полнейшее невообразимое дерьмо. >>1700354 > Библиотеки на шарпе напрямую можно использовать из других (не .NET) ЯП? Нет. Вообще-то можно. > Может, можно полностью отключить рантайм с GC и запилить realtime приложение? Тоже нет. Насчёт жёсткого реалтайма, конечно, врядли. Но можно операционную систему написать, язык для системного программирования вполне себе. > А под МК можно кодить? А, забей, там одна VM всю память сожрет Да, можно.
>>1700364 >Вообще-то можно. Пруфы будут? Можно только через C++/CLI завернуть шарповскую библиотеку, но это уж точно не напрямую.
>> А под МК можно кодить? >Да, можно. Так и на питоне, и даже на JS можно. Но вот только в индустрии, где цена непопадания в n байт машкода может быть десятки тысяч долларов на партии - их использовать не будут. А на ардуинке или малинке лампочками поморгать практически на чем угодно можно, да. Но вот только там оперативной и неволатильной памяти в десятки раз больше типичного МК; что уж говорить о диком энергопотреблении, вызванного мощностью процессора.
>>1700380 > Пруфы будут? Можно только через C++/CLI завернуть шарповскую библиотеку, но это уж точно не напрямую. Ты гуглить не умеешь, животное?https://www.nuget.org/packages/UnmanagedExports > Так и на питоне, и даже на JS можно Ну, животное, ты уже на пиздеже столько раз попалось, что я даже не знаю, что тебе сказать. Теперь мои микроконтроллеры не микроконтроллеры? > А на ардуинке или малинке лампочками поморгать практически на чем угодно можно, да. Да вполне себе промышленное программирование под контроллеры https://en.wikipedia.org/wiki/.NET_Micro_Framework > Но вот только там оперативной и неволатильной памяти в десятки раз больше типичного МК > The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 256 KB of flash and 64 KB of random-access memory (RAM). Ну это, конечно, не ардуинка, но и далеко не малинка.
>>1700395 >Ты гуглить не умеешь, животное? И что ты мне скинул в итоге? Васянопрепроцессор, который буквально дизассемблирует IL, меняет конвенции вызовов, и собирает обратно. При этом НЕ работает с .NET Core, т.е. привязан к винде. Где поддержка на уровне языка? Где кроссплатформенность?
>Да вполне себе промышленное программирование под контроллеры >The CLR is an interpreter rather than a just-in-time compiler Очередная JVM. Даже не буду шутить про часы, которые на интепретации main лупа выжрут всю батарейку за полмесяца.
P.S.: Откуда у тебя такая фиксация на животных? Мать всё детство так называла? Или, может быть, ты человека животным не считаешь, а являешься приспешником альтернативной науки?
>>1693246 (OP) В какой там раз уже Жабу хоронят? Количество вакансий на ней чекали хоть? очередной мой-ёзык-круче-я-тебя-затралил тред, поэтому держи сажи
>>1693246 (OP) Заметил интересную особенность: постоянно на Хабре, в Mentor'e либо тут натыкался на возгласы "За ГО будущее! Новая парадигма! Революция в программировании! Идеальный язык найден!" однако на вопросы, хуле на нем так мало вакансий, если он настолько пиздат, обычно шел вскудах что я "быдло" и "не шарю"
>>1700670 В Расте с ансейфом будет то же самое, а без ансейфа написать не получится. Если бы задачу можно было решать на Расте без ансейфа, то и аналогичный код на крестах был бы без UB автоматически.
>>1700693 >ряяяяя врееетииии Главное что ты в это веришь.
>>1700682 О, корпоративный макакен подъехал. Ну если открыть сайт раста, посмотреть юзеров и разослать резюме это для тебя сложно — оставайся дрочить на своём заводе.
>>1700693 А пока веруны крестятся, в головах инжинеров гугла примерно такие мысли насчёт плюсов: >Generalizing Blink’s C++ garbage collector, and using it more widely (starting with PDFium). Вот так выглядят современные плюсы, непонятно правда почему не переписать такие куски на жс нахуй. >Custom C++ dialect(s) О да детка. >Defined and enforced by LLVM plugins and presubmit checks. In particular, we feel it may be necessary to ban raw pointers from C++. РЯЯЯЯЯЯ РУСТ НИНУЖИН
>>1700727 >рряяя корпоративный макакен разрыв борщехлёба в прямом эфире >посмотреть юзеров и разослать резюме и что дальше? нахуй им твоё резюме? у них уже набраны команды разработчиков, были бы нужны люди - выложили бы вакансию
>>1700727 > Ну если открыть сайт раста, посмотреть юзеров Ради интереса открыл сайт, посмотрел юзеров. Их два: дропбокс и Yelp. Я, кстати, даже не знаю, что такое Yelp. Или я где-то не там смотрю?
>>1700765 >Yelp — веб-сайт для поиска на местном рынке услуг, например ресторанов или парикмахерских Проиграно в голосину. Вот здесь мы и покажем сишникам, насколько раст круче!
>>1700764 >>1700768 >>1700682 Вот это я понимаю прорыв жепы. От правды о том, что даже гугол смотрит на плюсы как на говно и готов уже их форкать так сильно пичот?
> даже гугол смотрит на плюсы как на говно и готов уже их форкать Гугл? Это тот, который не осилил допилить дарт и кое-как запилил процедурное goвнище для прошлого века? Охуеть авторитет.
>>1700778 > и готов уже их форкать Это тот самый гуголь, который выпустил такую плеяду языков программирования, как Dart и Go? Мне кажется, их неокресты будет выводить в консоль "Убейте меня" вместо "Hello, world"
>>1700801 >Гугл? Да, гугл. Который высрал го и даже он взлетел. >Это тот, который не осилил допилить дарт Дарт кстати цветёт и пахнет в мобилках. Тащемта, гугол один из главных игроков на рынке. И сейчас у него два пути — писать свой раст как это делает майкрософт ( https://github.com/microsoft/verona ), или взять сам раст. Кстати, интересно что ты скажешь, когда твой любимый мс выпустит таки свою версию раста.
>>1700822 Ну, благо я не вкатывальщик и для меня это никак не двигает языки по статусу. И я не плюсовик с завода который боится оказаться с ненужным багажом знаний, лол.
>>1700831 >А ещё толще можешь? Так активное юзание в продакшене всеми, кем только можно (и даже без агрессивного маркетинга уровня шарпа/жавы) — это уже не успех? Что вообще по твоему взлёт?
>>1700825 190" — очевидный жс-альфач, меняющий тней и работу как медецинские маски и получающий 300к/наносекунду. 160" — омежка-плюсовик, девственник, готовый насмерть биться за возможность писать код с сырыми указателями.
>>1700851 >Так активное юзание в продакшене всеми, кем только можно Кстати, когда ходил полюбоваться на два пользователя раста, заметил, что дропбокс перед тем, как взяться за раст, выкинул в помойку бесполезный голанг.
>Форс силами Гугола - это нихуя не агрессивный маркетинг, ага Ну а где форс-то? Они не лочили все новые либы винды на него, не забивали на плюсовую часть визуалстудии на 5± лет ради вылизывания шарповой части, не устраивали тысяч конференций и не выпускале десятков технлогий локнутых на него как мс с шарпом, где форс?
>>1693360 > > >C#: Хорош всем, самый сбалансированный и универсальный язык. > Надо рантайм таскать. Примерно то же самое, как за интерпретируемыми языками надо таскать интерпретатор внезапно.
>>1700298 Да я бы не стал делать выводы об ОПе так поспешно. Какая-никакая внутренняя логика в его высказываниях прослеживается, но вот местами он сыпется (да-да, как раз когда упоминается "моральная свежесть") и пахнет самозванцем. Просто хочу, задавая ему правильные вопросы, вывести, так сказать, на чистую воду и понять, самозванец ли аль действительно профессионал, и если самозванец то насколько и почему.
>>1700364 >Нелишним было бы тебе прочитать тред, чтобы узнать Телепаты в отпуске. Ответишь, не облезешь.
>>1699997 >ООП противопоставляется ФП, хотя это полностью комплиментарные парадигмы И поэтому он пишет, что в раби всё есть объект и вместе с тем у всего есть возвращаемое значение, да?
>>1693247 >Haskell >Тормозной Во многих задачах минимальное отставание от C. Есть многопоточность из коробки. На порядки быстрей ненативных ЯП вроде C# и Java.
>Тулинг отвратительный Есть IDE, есть пакетный менеджер. Обоснуй, чем они тебе не нравятся.
> Kotlin: замеа устаревшей Java. Очень сильно напоминает C#, местами даже более лаконичный. Подходит весь тулинг от Java, который развивался ближайшие два десятилетия. Нет репозитория с пакетами. Подходят Java-библиотеки, которых очень много, но они менее качественные, чем шарповые. Многопоточность как в Java, однако есть ещё и async/await как в C#, Javascript и плюсах с питоном. В целом, очень хороший язык, но немного хуже, чем C#. Нельзя писать десктопные приложения.
Что за хуйню я прочитал? Ты не знаешь основ, основных фишек языка. Подозреваю в остальных пунктах такие же обсеры
>>1702040 >ленивого Ленивость опциональна для большинства функций (хоть неленивый код писать и сложней), есть же strict. Есть всякая дрянь вроде unsafe и хранения стейта, как и низкоуровневые типы данных (Int, ByteString и т.д.).
С другой стороны - есть задачи, в которых условный питон, C# и Haskell не справятся по скорости. Но если ты тащищь эти ЯП на такие проекты - ты ССЗБ, т.к. неправильно выбрал инструмент.
>>1702358 Там в соседнем треде этот хуесос мне рассказывал, как он вместо шарпа будет на си писать и на F#, который ему "приятно чувствуется". Я ещё не получил от него ответа, отмалчивается, падла.
>>1702362 Я тебе в прошлом треде ответил: сомневаешься в моих знаниях - проверь. C, C#, ассемблер x86. Ты ожидаемо слился. Деанониться ради доказательства чего-либо тебе я не собираюсь.
Хорошо, однако, я шарпомакак макнул головой в дерьмо. Второй день с порванной жопой по всему /pr/ бегают.
>>1702392 >кроме laba1 и laba2 ожидаемо не написал На функциональщине и экзотике, для которой во всем мире полторы вакансии - естественно. Ведь тебе важен только опыт промышленной разработки, а он на этих языках может быть разве что в теории.
>>1702667 во-первых, потому что появились очень рано. Да, хотелось бы, чтобы шеллом был бы какой-нибудь питон, но что поделаешь. Во-вторых, потому что shell - это не скриптовый язык, а оболочка для управления юниксовой системой. То, что на нём есть контрол-флоу для создания скриптов - ну, это больше удача, имхо конечно, но мне кажется, что над этим много не парились и сделали для галочки
Они изначально были предназначены в первую очередь для ввода команд, а не написания скриптов. Все эти ${костыли} как раз из-за того, что нужно было сохранить основной синтаксис команда арг1 арг2 арг3 Отсюда имеем невозможность отличить строки от имён переменных и т.д.
Ну и появился sh давным-давно, ещё даже до перла, тогда подобные инструменты были мало исследованы, никто ещё не знал, как лучше делать. Остальные шеллы же играли в совместимость (привет от философии Unix). Вот и получили, что имеем.
Пердолики мечта ют, что бы все другие тоже ПЕРДОЛились с консолью. Им обидно что никто кроме них не хочет, так яростно ПЕРДОЛИТСЯ.
Пердолики яростно флюдоросят, вылизывая АНУСЫ друг у друга и яростно дрочат на любое проявление ПЕРДОЛИКСАTM, даже на ПЕРДОЛЕНИЕ консолью в жопу.
По мнению пердоликов ПОПЕРДОЛИТСЯКОНСОЛЬЮ на ночь, днем и еще вечерком пару раз есть естественное желание любого нормального человека. (ЛОЛШТО?). Остальные просто не поняли этого.
СВОБОДА И НЕ_СВОБОДА. По мнению пердоликов СВОБОДА днями и ночами ПЕРДОЛИТСЯ С ПЕРДОЛИКСОМ лучше СВОБОДЫ не_ПЕРДОЛИТСЯ днями и ночами с другими ОС.
Причем СВОБОДА НЕ_ПЕРДОЛИТСЯ в ужасе называется НЕ_СВОБОДОЙ ПЕРДОЛИКАМИ.
СВОБОДА пердоликов имеет странный вкус. ВКУС_ГОВНА. Остальные просто не поняли всю прелесть вкуса ГОВНА из АНАЛа.
* Пердолики всегда стремится АНАЛЬНО огородится. Любой БУГУРТ провоцирует выпил постов/тредов. ЛЕГИОН призирает пердоликов за это. Особенно того пердолика что выпиливает посты на сосаче. БУГУРТ, да?
>>1700800 >кресты, питон, раст, джс >до 150к Унижения крестовиков бесконечны, у нас на мобилках это бейзлайн зп человека, просто кодящего в рамках платформы на одобренных овнерами языках(kotlin, swift), если ты можешь интегрировать библиотечку на крестах то уже +50к. Унисекс педики(ios, android, какой-нибудь flutter) - овер 250к.
>>1700532 > Есть в крестах Нихуя в этих крестах нету. Есть специальный, отдельный тип ссылок (rvalue reference) и перегрузки для конструкторов, всё. Костыли это всё, а не мув семантика.
>>1703780 Сколько ещё ждать? Я в раст вкатывался лет десять назад на волне хайпа. Десять лет назад шарпу было ровно десять лет и на нём было море вакансий.
>>1703786 Если ты качество ЯП оцениваешь по популярности и количеству вакансий на нём - земля тебе пухом. Программисты уже давно не исключение к правилу 95%.
>>1703786 > лет десять назад на волне хайпа Мань, десять лет назад об этом расте никто не знал. А шарп вообще в другое время создавался, за нулевые очень много софта понаписали (в том числе те же срстемщики), который теперь поддерживать надо.
>>1703792 >Если ты качество ЯП оцениваешь по популярности и количеству вакансий Пiймав борщехлеба! Нет, еще оцениваем по тулингам, библиотекам, фреймворкам - чем может похвастать Rust?
>>1703787 > Нашел узкое место - переписал на strict или вынес в либу на чём-то побыстрее. Только как его найти если для этого хацкеля вашего тулов нормальных нету. А сборщик мусора и скорость это вообще независимые вещи. Просто для некоторых языков есть нормальный тулинг, а другие даже попрофайлить нормально нельзя.
>>1703796 Ну я не говорю, что точно 10 лет назад, но в крестокругах о нём знают ну очень давно. Воз и ныне там, пользуются 3.5 хипстера, больше никому не зашло абсолютно.
>>1703812 Ну так кресты - говнище, которое годится только для написания компиляторов для нормальных безопасных языков, у которых уже будут и тулинг, и фреймворки.
>>1703805 > в крестокругах о нём знают ну очень давно Я как крестовик могу сказать что многие крестовики вообще не слышали про раст, а другие и не хотят слышать вообще, так как кресторелигия не позволяет. Еще некоторые считают что UB это норма (упадет - починим). А реально интересующиеся уже давно пилят петпроджекты на ржавом.
Плюс "сдвинуть воз" очень сложно. Вот в моем компании 5+ миллионов строк кода на плюсах на 3 проекта и куча сопутствующей инфраструктуры., Как в такое раст впихивать?
>>1703803 >для этого хацкеля вашего тулов нормальных нету >даже попрофайлить нормально нельзя Ясно, теоретик хацкеля в треде. Чем тебе встроенный в GHC (флаг -prof) профайлинг не нравится? В stack тоже всякие тулзы для этого есть.
>>1703798 >по тулингам Практически у любого ЯП есть плагины подсветки/автодополнения для всех популярных IDE, пакетные менеджеры у каждого второго; всякие довески тоже чаще есть, чем нет.
>библиотекам Зачем тебе библиотеки на ЯП, в которых есть удобный FFI? Отполированые, проверенные временем либы на C/++ есть на любой вкус и цвет, пользуйся на здоровье. Вот стандартную библиотеку стоит оценивать, т.к. тащить кучу пакетов на стандартный для ЯП CRUD или что-то ещё - не норма.
>чем может похвастать Rust? На Rust не писал, мимо проходил. Увидел, что в интернете кто-то неправ - решил вмешатся.
>>1703829 Просто надо не кидаться говном, а сразу определять предмет беседы: если это спецолимпиада по "прикладности" языков, то это спецолимпиада про прикладности, если это СО по выразительности, то это СО по выразительности. А вы, пидоры, сами не понимаете, о чём вы, собственно, хотите поговорить
>>1703848 Ядро твоей системы тоже на C/++. А через него происходит выделение памяти, операции с консолью, взаимодействие с файловой системой и много других забавных вещей.
>>1703855 >выдающая текстовый файл - нормальный профайлер? Да. Всю нужную информацию он предоставляет. Хочешь визуализации - там дофига тулзов, принимающих на вход этот файл.
>>1693246 (OP) Ну давай разберем, тобою написаное > C#: > Хорош всем, самый сбалансированный и универсальный язык Шиндус онли > С недавнего времени в него завезли кроссплатформенность моно?))) донеткор)))? > Легко интегрируется с другими языками особенно с языками жвм))) бггг)) > C++: тут сразу нужно автора зашкваривать > Хороший тулинг Нет системы сборки и менеджера пакетов > Отличная стандартная библиотека Пиздеж > Есть системы для сборки и деплоя (make, cmake и.т.п.), которые необходимо знать для работы стандарта нету, куча проектов со своими системами сборки > Kotlin: > Очень сильно напоминает C# угадайте на чем пишет на рабстве пидор по имени оп)))) > В целом, очень хороший язык, но немного хуже, чем C#. ))))) > C: > подмножество (в нестрогом смысле) языка C++ а волга впадает в каспийское море > Python: > инкапсуляция фактически не поддерживается, ненужна (даже там где она "фактически поддерживается" ее можно нарушать) > интерфейсов нет, абстрактных классов нет статикодебил раскрыт)))) > JS: > ООП очень своеобразное кто-то не выучил копутер сцайнс ПЛТ > так как основывается на давно мёртвом смолтолке, а не на симуле пиздеж > поддерживается во всех мажорных IDE основных
>>1693246 (OP) > Java: > С приходом новых языков стала не нужна и живёт за счёт легаси и новых проектов тоже нету, особенно в отделе с дотнетчиками) > Есть много ORM ты заебал со своими ОРМ, ты вебмакака? > Scala: > ни слова про уродский синтаксис > ни слова про зависимые типы и тайп-левел программирование так себе разбор > Ruby: > очень похож на питон. у меня в коворкинге за такое убивают > хороший тулинг системы сборки нет, но тулинг хороший > многопоточный код на гринтредах бгг))) > Нигде кроме веба не используется и никогда не использовался. RPG Maker > VB: > C# с клоунским синтаксисом > C# с клоунским синтаксисом > C# с клоунским синтаксисом > C# с клоунским синтаксисом зумерочки-зумерки > MATLAB: очевидно, что ОП-хуй на нем не писал > Erlang: не писал, не знаю, но похоже зашквар ГАГАГА
>>1693247 > Pascal: был фракталом плохого дизайна ещё до того, как появился PHP. пиздеж > Perl: исключительно сложный для людей с ограниченными возможностями может быть > Haskell: 10 лет назад использовался для троллинга неосилятор закукарекал > Написать что-то реальное очень тяжело из-за кривого ввода-вывода мда > Тормозной быстрее твоего шарпа, смотри дебиан шутаут > F#: > Может использоваться для обучения функциональному программированию как надмножество ML ML это не один язык, а семейство, к которому принадлежит и F#, так что ты написал хуйню > Lisp: какой из них? > ООП отсутствует CLOS > На нём ничего не написано Emacs, Macsyma > типизация динамическая Shen, Typed Racket, Typed Clojure > Пролог: > очень сложен Жить вообще тяжело, если ты тупой
> оп: руби похож на питон потому что скриптота и пыхоплеяда > анон: а луа или ш, что тоже на питон похожи, потому что типизация динамическая? > двачеры: луа похож на жс просто пиздец, вам мозг ампутировали?
>>1704823 Причём тут луа, я говорю что то, что раби принято относить к пыхоплеяде - сильная натяжка, т.к. он сильнее всего отклоняется от средней температуры по больнице и восходит к ооп-языкам, в отличие от сами знаете кого.
>>1705836 Не переводи стрелки, скобочник. ЖС это зашквар потому что это уёбище by design, и свои приколы с проёбанным контекстом он унаследовал от лишпа. Я не говорю что лисп говно, но шлейф ароматов после такого за ним длинный.
>>1705840 >Я не говорю что лисп говно Но существует дольше C и ни один из диалектов так и не взлетел, даже в понимании сегодняшних хипстеров, что как бы намекает.
>>1705798 Раби это обращение к еврейскому священнику, язык называется Руби. Язык традиционно относится к пыхоплеяде за то, что на нём пишут гостевухи, хотя, конечно, из всей пыхоплеяды Руби наименее зашкварен. Из всей пыхоплеяды меньше чем Руби пользуются только Пердлом, а жаль. Как язык Руби неплох, но нигде вне веба не используется. Я бы хотел, чтобы руби был вместо гвидона.
>>1706023 Это не мне захотелось, а тебе. Тебе захотелось перенести свойство частного на общее, но в данном случае выглядит как если бы ты пытался запретить немецкий язык по причине, что на нём написан майн кампф.
>>1706069 В принципе, динамическая типизация это морально устаревшая технология. Начиная с шарпа версии 9 на нём уже можно будет без всяких проблем писать удобные скрипты с синтаксисом Top Level Statement Section. Я и раньше скрипты писал почти исключительно на шарпе, изредка обращаясь к питону или sh, а теперь точно окончательно перейду на шарп.
>>1706075 >шарп как скриптовый ЯП >для простой печати стринга нужно 22 нажатия на клавиши >вместо print "str" (6 нажатий) У тебя и ассемблер скриптовый ЯП. И то там хотя бы макросы есть, а шарп в этом плане деградация даже по сравнению с C.
Вот тебе задача - в шарпе есть метод печати строк с меньшим количеством бойлерплейта. Расскажи всем о нём (это не шутка, он действительно есть). Через час приду, проверю твой ответ.
>>1706098 Ты аутист? > cw<tab>"str Ровно семь нажатий. Если тебе нужно прям постоянно генерить строчки (например, ты пишешь скрипт, который генерирует скрипты) делаешь > void S(string x) => Console.WriteLine(x); // А лучше stringBuilder.Add(s) > S($"Zalupa {42}"); И дальше спокойно пердолишь эту локальную функцию > Через час приду, проверю твой ответ. Не забудь отписаться, мне даже интересно стало.
>>1706201 Эта директива сейчас в каждом первом крупном проекте есть, где стайлгайд её не запрещает. Очевидно, что раз ты её не то что не юзаешь, а даже не знаешь - в промышленной разработке ты не участвовал.
Ну не верю я, что ты на позиции джуна всегда сам создаешь новые файлы и прописываешь все директивы. А при внесении правок в чужой код ты обязан был бы хоть раз её заметить.
>>1706266 > Должность у тебя какая? Инженер-программист у всех такая должность где я работаю, грейдинга с лычками нет > Что ты разрабатываешь кроме своего ануса? Инженерное ПО (CAD/CAE), до этого занимался NLP и всякой хернёй по мелочи.
И, да, я знал про using static, просто ты очень туманно сформулировал свой вопрос.
>>1706198 >using static >wildcard Ctrl-Shift-O и никакой ебли, а за дикой карты импорт обоссывают даже питухонщики, так что не понимаю чем ты гордишься.
>>1693247 > >Rust: обладает зачатками хорошего языка. Тулинг отвратительный. Библиотек нет. Есть менеджер пакетов. Осилить также сложно, как плюсы, но никакими плюсами плюсов не обладает. Ненужный язык.
Желаю ОПу-хую ловить сегфолт каждые 3 секунды рантайма :)
>>1706115 Ну сейчас берёшь, и показываешь немца который презирает немецкий и отказывается на нём говорить, мотивируя это тем, что на нём был написан майн кампф, или я ссу тебе в рот.
>>1707091 И ты высирая такую хуйню ещё затираешь что-то про логику? ЖС, тащемта, это прямой потомок лиспа с фигурными скобочками. Нет, маня, очевидно что он не был написан на лиспе, а был лиспом. По твоей логике мейн кампф — это такой упрощённый вариант немецкого языка. Так? Пезда ты ебанат.
>>1707441 >>1707451 Был вариант (охуительный!) затащить в браузер жабу. Айк хотел затащить схему. В итоге смешали и пиздец получился. Слава б-гу до жита дотянули как-то.
>>1707472 JS замечательный язык во всех отношениях. именно потому, что встраиваемый. В отличии от всех иных вариантов, которые все любят предлагать. В тех случаях любой язык бы пришлось кастрировать, в то время когда JS можно просто расширять. Это идеальный минимум, поверх которого можно накрутить все, что угодно, для любого рантайма. будь то браузер, ОС, или embedded железка.
>>1707600 Создатель дельфей и шарфика вот кстати решил, что замечательности как-то недостаточно и запилил TypeScript. Футпринт V8+helloworld - 20 мегабайт, то есть уже не везде встроишь. Extending API не самое лаконичное. V8 кроме JS ничего не умеет, хочешь пэкиджи - встраивать придется Node. Хочешь заменить его event-loop на свой - а это секрет нахуй! JS встраиваемый в пизду твоей мамаше, а потом сразу тебе за щеку. Вот такой он встраиваемый.
>>1707634 Ага, а Сишка говно, потому что POSIX. Ты поехавший или зачем ты мешаешь язык с конкретными реализациями? Ну бери quickjs и встраивай, ducktape еще что угодно. Ссу тебе на голову короче, софист ебаный.
>>1693246 (OP) > Qt говно, но не имеет альтернатив. Qt охуенен. Лучший фреймворк из всех что я видел. Мощность сочетается с простотой и великолепной документацией
>>1707441 Опять гнилая софистика. Аналогия в данном случае не может быть аргументом, она приводится для облегчения понимания сказанного. Оспорив аналогию, ты не можешь опровергнуть утверждение, которое ею подкрепляется. Если тебя не устраивает такая аналогия (не устраивает в смысле "не позволяет тебе понять смысл сказанного"), вот другая, правильная: "гитлер был немцем, следовательно быть немцем зашквар". И в этой аналогии, и в твоём суждении идёт распространение свойства с частного на общее.
>>1707780 Сам высрал что-то про софистику и сам же ещё раз на неё изошёл. Ещё раз: где прямая родственная связь между немцами и Гитлером? Все немцы — его дети в прямом смысле? Или что?
Ты сам растянул частное на общее и ещё обвиняешь в этом меня, занимаясь софизмом и обвиняя в этом тоже меня, тебе в политику надо было идти а не в коденг, обезьяна ебаная.
>>1693246 (OP) Битва-битвой, но как по мне существует 2 наиболее раковых языка, шкварящих всю индустрию: Питон и JS Не, дело не в "хуевости" языков как таковых, просто они весьма пагубно влияют на пограминг в целом из-за толп дебилов, вкатывающихся в них. Как когда-то Бейсик и Пыха плодили даунов, умеющих читать и писать на своем языке но при этом не умеющих программировать, так и сейчас 2 вышеназванных языка плодят толпы дегродов с полутора извилинами
>>1709050 Про ускорение скорости разработки в разы явный пиздёж. Никаких (!) плюсов динамическая типизация не даёт. До появления вывода типов и дженериков в ней ещё был какой-то отдалённый смысл, но теперь технология абсолютно морально устарела.
>>1709384 Ускорение разработки - это не вывод из манясравнений наподобие "у статики X плюсов, а у динамики - Y". Это наблюдаемое явление, когда изучаешь динамику и замечаешь, что код действительно пишется быстрее. Хотя бы потому, что у динамики менее громоздкий синтаксис. Статика не позволит тебе прозрачно хранить разные значения в одном массиве или одной мапе, придётся явно кастить. Не получится и написать конструкцию в духе if (a > 5) { int value; } else { float value; } Дженерики с выводом типов тоже требуют писать дополнительный код, когда в динамике достаточно написать название переменной.
Но все эти фокусы годятся только для скриптов на 100 строчек, в большом проекте от них одни проблемы.
>>1709384 Динамикопетухи живут в идеальном мире, где программисты не совершают ошибок, а клиенты всегда вводят всё в формате, который от них требуется. При этом на стадии обучения, где идет написание небольших программ, скриптопараша ожидаемо оказывается быстрее и проще в написании.
При этом с другой стороны отвращение к строгой типизации им прививается через условную Java, адепты которой свято верят, что без слова TypeName компилятор ни за что в жизни не поймет, какой тип имеет typeName = new TypeName(). Высирание тонн бойлерплейта внезапно не приводит к сокращению ошибок, а только к появлению новых (например, смена типа в одном месте, а он указан в двух) и изшлинему росту кодовой базы.
>>1709405 >у динамики менее громоздкий синтаксис В среднем - да, но при этом бойлерплейтность конкретного ЯП не обязательно зависит от строгости его типизации.
>Статика не позволит тебе прозрачно хранить разные значения в одном массиве или одной мапе, придётся явно кастить. Таки позволит, но требует указания всех хранимых типов данных ЛИБО принадлежность всех типов данных к одному интерфейсу/метаклассу (например, Comparable или Equatable).
>if (a > 5) { int value; } else { float value; } value :: Either Int Float или value = Either<int, float> Но при этом бойлерплета побольше будет при объявлении и использовании этой переменной, здесь согласен.
>>1709585 Писать на пять минут дольше -- это малая цена, относительно лишнего часа отладки, или инцидента на проде. Ах да, если у тебя нет ни прода, ни отладки, ни доработки и рефакторинга твоего одноразового скрипта на 150 строк -- пиши его на чём угодно
>>1693247 > GO: сырое говно. Рождён морально устаревшим, нет дженериков, нет функционального программирования, нету исключений. Есть менеджер пакетов, но тулинг дико сырой. все так, но что не так с тулингом? один из немногих языков, у которых все почти с рождения, а не допиливалось васяными спустя n лет просьб "запилите нам менеджеров пакетов".
>>1693246 (OP) >MATLAB: лучше подходит для прототипирования научных расчётов, чем питон. При необходимости можно написать что угодно, вплоть до ГУИ и веб-сервера, но обладает рядом кривых охуительных особенностей вроде указателей формата double. Писать на матлабе не зашкварно. Зашкварно - зависишь от проприетарной поделки. Сорцов нет, все претензии присылаешь в ООО Рога и Копыта. Хочешь использовать: плати денежку или кради на торрентах. Синтаксис какая-то уебищная смесь С++ и Lua. Своего рода 1С для инженеров. Рекомендуется использовать лишь в тех случаях, когда SCILAB и Octave непригодны.
>>1710164 Когда документация по языку находится у хозяина за пейволом, это ли не мечта современного разработчика. Когда даже сишарп и нет уже швабодные, лол.
>>1710193 Матлаб дешёвый относительно другого научного софта, я не вижу никаких проблем купить лицензию на лабораторию. У нас есть. Но и октавой тоже не брезгую
>>1710432 Растошизик, плиз. Зачем ты сюда gовно++ принёс? Никто из нормальных людей не пользуются этим замшелым копролитом мамонта. Давай сравним на нормальном компиляторе и посмотрим, как себя поведёт твой недоязык. Векторизация где? Она у вас уже заработала? Ещё год назад с этим были проблемы. Как там с параллелизмом? Parallel for уже можно написать? Может быть, уже есть CUDA Rust? Наследование до сих пор только агрегацией? GUI на расте уже можно писать? И.т.д.и.т.п.
>Зачем ты сюда gовно++ принёс? А надо было принести штеуд++? А как же последние стандарты и фичи, мм? >Векторизация где? На месте. >Как там с параллелизмом? Parallel for уже можно написать? Давно уже. >Может быть, уже есть CUDA Rust? Эээ, как это проприетарная хуйня должна где-то появиться без вендора, мм? >Наследование до сих пор только агрегацией? Иди сделай своё ромбовидное наследование и расслабься. Ты давно со стейтом и дебаггером не ебался в своей abstractsingletonproxyfactorybean? Каким же надо быть пробитым дауном, чтобы защищать наследование. > GUI на расте уже можно писать? Да давно уже.
>>1710510 Я вроде уже писал, но похоже не в этом треде. В матлабе дофига всего, чего в питоне нет для научных вычислений, numpy/scipy сыроват и тормозноват, поэтому приходится прототипировать в матлабе. Линал точно гораздо лучше поддерживается в матлабе, чем в питоне.
типы как объекты, каррированные функции как стрелки, HOFs как экспоненциалы, чистота, ссылочная прозрачность, аппликативность и свободные (при совпадении доменов-кодоменов) композиции, equational theory settings / reasoning как следствие, в терминах ТК, в том числе, начальные алгебры / финальные ко-алгебры как фреймворк для описания индуктивных рекурсивных данных (как выход - результаты, значения) и ко-индуктивных ко-рекурсивных потоков данных (как вход); функторы, монады, Kleisli категории - многие индуктивные [возможно] рекурсивные типы данных которые функторы (начиная с Identity, Maybe и List), также, обычные суммы, произведения и степени, то есть кортежи/записи, объединения/варианты и функции - writer, error и reader/environment, для функций более специального вида - prompt, parser, state и cont, par/conc/async как cont для fork/join/io/done языка; функторы, ко-монады, coKleisli категории - ко-индуктивные ко-рекурсивные типы данных которые функторы (простейшие потоки и деревья, например), те же произведения и степени (суммы?), указатели и изменяемые подструктуры (линзы, как функции в), зипперы; свободные монады вокруг типов данных которые функторы - iteratees (которые сами по себе потоки, то есть финальные коалгебры для соответвующих (строго-позитивных таки) функторов), разные языки (eDSL на ADT) и их интерпретаторы; ко-свободные ко-монады для типов данных которые функторы - ?; (под)категории и стрелки - линзы (категория, тензор, но не вполне стрелка), обычные функции, Kleisli стрелки, coKleisli стрелки, стрелки biKleisli категорий, функции ограниченные типом - списки-в-списки, потоки-в-потоки, деревья-в-деревья, сигналы-в-сигналы и поведения-в-поведения (как оно применяется в FRP) и т.п., автоматы, симуляции, преобразователи, некоторые языки-eDSL-на-ADT, опять же; монадические трансформеры как определённого вида натуральные трансформации для определённого вида функторов над разными монадами - WriterT, ErrorT, ReaderT, StateT, ContT, MaybeT, ListT и т.д., например, ReaderT (ConstEnvironment, MutableScope, Resources) IO - эффекты, injectable read-only / write окружение, список ресурсов пополняемый их захватами по мере выполнения и автоматически освобождаемый в конце; полугруппы, моноиды, сворачиваемые и обходимые типы и т.п. категорные и алгебраические типы и классы как «паттерны» и средства декомпозиции.
Если всего этого нет - присваивать языку тир выше чем LOW как минимум странно. Либо вы просто вкатывальщик
>>1710512 >Линал точно гораздо лучше поддерживается в матлабе, чем в питоне. Тут спорно, неужто там лучше LAPACK или лучше ATLAS? Хуже всего у питона с символьными вычислениями, а вот линал как мне кажется везде один и тот же.
>>1710594 > неужто там лучше LAPACK или лучше ATLAS Таки да. У матлаба внутри Intel MKL, он гораздо шустрее, чем швабодная начинка у обгвидков. > а вот линал как мне кажется везде один и тот же. Ну это вздор, братан. Линал одним лапаком не ограничивается, нужны ещё численные методы, разреженные форматы хранения матриц, предобуславливатели... У нас тут своя, особенная кухня. Алсо, сломалась галочка ОПа, всё печально.
>>1710598 >Ну это вздор, братан. Линал одним лапаком не ограничивается, нужны ещё численные методы, разреженные форматы хранения матриц, предобуславливатели... У нас тут своя, особенная кухня. Hypre, Armadillo и еще 100500 библиотек не катит?
>Таки да. У матлаба внутри Intel MKL, он гораздо шустрее, чем швабодная начинка у обгвидков. pip install intel-numpy intel-scipy?
>>1710611 >Hypre, Armadillo и еще 100500 библиотек не катит? Надо пердолиться их прикручивать, конвертировать данные под их формат, разбираться в багах... Мне легче уж тогда полноценную махарайку на крестах написать, чем приделывать это к гвидону. > pip install intel-numpy intel-scipy? Вот про это не знал, спасибо.
>>1710598 >Таки да. У матлаба внутри Intel MKL, он гораздо шустрее, чем швабодная начинка у обгвидков. Не очень разбирающаяся манька хвалит свое привычное болото, не забывая кидать понты, мол, у нас тут наука, буууу. Ты бы потратил пару лет на нормальное изучение того, что может питон, а потом бы пиздел. Вместо этого ты предпочитаешь пердеть в диван и рассуждать о том, что он не может. На, изучи https://software.intel.com/content/www/us/en/develop/tools/distribution-for-python.html Или вот это https://numfocus.org/case-studies У программистов матсофт банально пупок надрывается, потому что питон импрувят ВСЕ, включая intel, включая google, включая разного рода гранты, в язык уже даже типы завезли. Поэтому матлаб это просто хуитка для ригидных манек, которые привыкли, а переучиваться лень. Ну и легаси-говно, конечно же. Бывает, что для нужной некростатьи код на матлабцентрале выложен.
>>1711384 >хозяина обидели боже мой пойду ботинок ему поцелую может полегчает
>программистов Гвидо какое отношение numpy,sympy и scipy имеют к гвидо? ах да, в матлабомирке не слышали про то, что в открытый софт могут контрибьютить разные люди. У них только ВЛАДЫКА, он решает, что запилить, а что нет.
>включая intel >инструкция про то, как заменить бинарный блоб от интела на блоб посвежее, используя гуй вон это я понимаю вклад
>включая google >Quantitative User Experience Researcher собственно для таких вот функционеров и разрабатывают матлаб, это как владение 1С для бухгалтера
>>1711384 Не получится у тебя отреверсить. У меня только коммерческий опыт с матлабом 11 лет, я его знаю очень хорошо. Туториалы мне слать точно не нужно, а нахуя ты прислал мне нейросаенс, если сам занимаешься какой-то конечноэлементной поеботой - не понятно. Нейросаенс в матлабе сосет и отстает на несколько лет. Чисто для петровичей, к которым пришел начальник и сказал срочно прикрутить распознавание котов, не будешь же ради такого учить питон. >потому что матлаб и импрувят ВСЕ Матлаб - проприетарная хуитка, которую никто не развивает, кроме фирмы, которая с него получает прибыль. По ссылке твоей просто туториал, как заменить одну ддлку на другую. Долго думал вообще? По второй ссылке тоже никакого импрувмента нет. Матлаб просто в длинном списке потенциальных инструментов аналитика.
Experience in a programming language commonly used for data manipulation and computational statistics (such as Python, R, Matlab, C++, Java or Go), and with SQL. Experience in a programming language used for data manipulation, visualization, statistical analysis (e.g., Python, R, MATLAB, Java, etc.) Experience driving strategic recommendation through statistical analysis (e.g. in SQL, R, Python, STATA, MATLAB). Experience with big data, machine learning, and numerical programming frameworks (e.g., TensorFlow, Python, MATLAB). Experience with statistical software (e.g., R, Python, MATLAB, pandas) and database languages (e.g., SQL) 3 years of experience working with statistical packages (e.g. R, SAS, Stata, MATLAB, etc.).
В целой одной вакансии при этом не требуется питон, и он всегда стоит раньше. Потому что расчет на то, что если ты толковый, тебя переучат.
>в язык уже даже типы завезли (они там были с самого начала как и в питоне) Я про статические аннотации типов. В матлабе аннотации типов сделаны через жопу - их нет, но они нужны для кодогенерации, поэтому ты можешь это сделать внешними по отношению к языку способами. С типами в матлабе все очень плохо. Такая базовая структура данных, как словарь, например, называется containers.Map. Почему? А хуй знает, наверное потому, что ее вводили лет 20 назад, когда в моде была жава с этими длинными именами, и они думали запилить еще контейнеров, но забили. Использовать эту хуйню невозможно. Есть еще struct, но он только для строк. 'str' == 'str' - это не True, это [1 1 1]. А чтобы сравнить строки, нужно написать strcmp('str', 'str'). Почему? А хуй знает, наверное потому что эту хуитку добавляли 30 лет назад, поэтому, как в каком-нибудь пхп, взяли сишные названия функций. 'str'*2 - это валидный код, возвращающий массив double со значениями 230, 232, 228. Ну то есть был такой DSL для матриц, 30 лет в него абы как добавляли фичи, согласно текущей моде, получилось в итоге вот это. И все, что за пределами собственно DSL для матриц, очень плохо и грустно.
>>1712129 Ну, мне всегда нужен был DSL для матриц и тут матлаб действительно оказывается удобнее. Про другое я и в правду знаю плохо.
Я же не говорю, что питон плохой. Заметь, я его в оп-посте поставил гораздо выше матлаба. Но меня выбешивает этот бесполезный дрочь на швабодку. Никаких преимуществ швабодное лицензирование программе не давало и не даёт. На этот же гвидон можно собрать столько же нелогичностей и "весёлых" моментов, как и на матлаб.
>>1712146 >Никаких преимуществ швабодное лицензирование программе не давало и не даёт программе, может и нет, а использующему её программисту даёт. Можно исправить баг, можно дописать функциональность, можно собрать под свою платформу, а не использовать рекомендованные оптимизации от дяди, да еще и блоб от ШТЕУДА не забыть обновить.
>матлаб действительно оказывается удобнее единственная причина "удобства" матлаба ровно такая, что и удобство "майкрософт офиса" для статьи в журнал: выученная беспомощность, зависимость от конкретного софта.
>>1712146 >Но меня выбешивает этот бесполезный дрочь на швабодку. Никаких преимуществ швабодное лицензирование программе не давало и не даёт. Нахуя тогда весь FAANG опенсорсит кучу всего, и при этом еще делает патчи друг другу? Они тупее тебя по-твоему? Это у проприетарщины есть только одно преимущество - можно продавать лицензии, постоянные или с подпиской, и все. На этом преимущества заканчиваются. Всё остальное за свободным софтом, от удобства деплоя и коллабораций для пользователей, до возможности работать над одним проектом вместе со злейшими конкурентами и бесплатной рабочей силой для разработчиков.
>>1712223 Опенсорс нужен только чтобы воровать чужой код. Вот http://jeder.ru/?p=250, почитай про своего любимого штульмана. Хотя ты скорее всего коммунист и не считаешь воровство чем-то плохим.
>>1712230 То есть когда google опенсорсит tensorflow, это сделано, чтобы воровать чужой код? Ты шизик какой-то с такими охуенными логическими построениями в голове
>>1712240 При чем тут коммунизм вообще? При коммунизме весь софт принадлежал бы государству. А здесь компания выбирает такую бизнес-модель, которая ей удобна. Это ты левак ебучий, потому что против выбора бизнес-модели бизнесом, потому что она тебе не нравится
>>1712235 Это сделано, чтобы собрать коммиты бесплатно вместо оплаты труда программистов. Или ты типа думаешь что гугл чисто по-братски решил поделиться?
Распизделись как диды. Штульман, попенсорс, поприетарность. Как бабки на скамейке, кроме пиздежа нихуя толку. Запилили бы свой дрочедистрибутив или прошивку для однорозовой мобилки. Диды хотя бы в космос летали, а вы за крудами все проебали.
>>1712243 >При чем тут коммунизм вообще? При коммунизме весь софт принадлежал бы государству. Причём здесь государство, дебил? Анархо-коммунисты вообще против государства. Коммунизм против частной собственности, а пердолики своими пердолицензиями хотят частную собственность уничтожить. Следовательно они — коммунисты. >А здесь компания выбирает такую бизнес-модель, которая ей удобна. Только вот эта модель неудобна и опасна для общества и государства. >Это ты левак ебучий, потому что против выбора бизнес-модели бизнесом, потому что она тебе не нравится Либеральный петух закукарекал.
>>1712240 >Google тут жертва, которая поверила опенсорсно-коммунистической пропаганде. Т.е. в гугле сидят совершенно конченные дауны? Хех, ну тогда и поделом! Не жертва пропаганды, а жертва собственной тупости.
>>1712289 >Коммунизм против частной собственности На средства производства >пердолики своими пердолицензиями хотят частную собственность уничтожить. Следовательно они — коммунисты В автобусе едут китайцы, Вася едет в автобусе, следовательно Вася - китаец. >>1712243 >против выбора бизнес-модели бизнесом, потому что она тебе не нравится >i don't like living in slave society very much >but your master gives you food >checkvs matvs
>>1712350 В принципе да, ведь если ты выточил ложку, то ты её выточил чьим-то инструментом (который был сделан из сырья, принадлежащего всему человечеству) из сырья, принадлежащего всему человечеству. Другое дело, что ложка - плохой пример (ложки лучше всё-таки индивидуальные иметь). Если ты написал программу, то ты не произвёл её из сырья, но твоё тело при производстве использовало блага, создаваемые другими людьми: еду, воду, жильё, следовательно твоя программа в той же степени твоя, как и того дядьки что кормил курицу которую ты сожрал за ужином прежде чем сесть за написание программы.
>>1713017 >C# Примитивное говно для индусов как и жяба, устарело на лет 15
>C, C++ Кресты для козлов, говняшная - для газонюхов, хуже только асмодрочеры-червепидоры
>Python, JS Хуита для скриптодетей
>Java Такое же говно как сишарп, параша для мещан, конкурирующих с индусами в бадишопе, отрабатывая кредитный фокус-покус
>Ruby Рельсы хороший инструмент для накидывания мвп по фасту, больше ни для чего не годится. К тому же хватает существенного редизайна.
>Scala Попытка дать обезьяне ружьё вместо дубины, выродилось в ебанутый гибрид ружья и дубины, который неудобно использовать для всего. В целом идея была благородная, но реализация подкачала.
>Swift Урезанная скала для эплорабов, насаждаемая сверху эплом, которые заподозрили что обжси немного устарел (на самом деле устарел катастрофически)
>VB Дельфи Next
>MATLAB Уёбище, худшее в своей нише.
>Erlang Отличная вмка для некоторых задач, неплохо выбранные примитивы языка, но сам по себе ЯП жутко минималистичный с дохлым комьюнити и заброшенными либами, так как все кто не ушёл на пенсию перешли на Elixir
>GO SHIT TIER По всей видимости единственная правильно данная классификация, впрочем это очевидно всем.
>PHP Инструмент регулируемый в диапазоне от башеподобного скриптовысирная (говна) до джавы (говна).
>Pascal Для обучения студентов как альтернатива говняшной, хотя лучше взять модулу.
>Haskell Хороший язык, недостаточно говёный для быдла, поэтому никто кроме элиты до сих пор на нём не пишет, впрочем элита съебала на пруверы.
>F# Дебильная смесь окамла и сишарпа, был нужен чтоб обкатать некоторые фичи, чтобы портировать понятное сишарпоиндусам в сисярп, а непонятное отсеять.
>Lisp Схемка до сих пор один из лучших инструментов для обучения программированию, рэкет интересная игрушка на несколько вечеров, общелисп - единственное скобкоговно, на котором можно (но не нужно) писать настоящие программы. Скобкоёбам нравится.
>Rust Хорошая попытка заменить языки для опущенцев кресты и си чем-то менее говёным, пока под вопросом, продолжаем наблюдения.
>Пролог Это была единственная возможность для быдла узнать что-то про ЛП в студенчестве, в принципе затея была хуёвая, - быдлу такое знать не положено.
>>1713289 Сколько желчи ко всему, однако. Нахуй так жить, чтобы всё ненавидеть?
>>Rust >Хорошая попытка заменить языки для опущенцев кресты и си чем-то менее говёным, пока под вопросом, продолжаем наблюдения. Угу, десять лет уже наблюдаем, а воз и ныне там.
>>1713289 Двачую. Аж сердце обливается, когда думаю о том, сколько студентов во всем мире прямо сейчас губят свой потенциал, ведясь на спекулятивный прагматизм и не чтя тот же LISP. Натуральное производство инвалидов.
>>1713856 Блядь, а может он просто душой болеет за молодежь? Быть может, один, или даже двое, прочтут эту пасту и вдохновятся забить хуй на хайповое говно, которое сколько не учи, рынок тебя через хуй кинет, потому что тупенький.
>>1713856 Чтобы сказать "это куча говна" несомненно нужна мотивация по такой логике (без неё и пальцем не пошевелишь), но она настолько крошечная, что даже говорить о ней нечего.
>>1714215 Есть большая разница написать "это говно" или накатать километровую простыню связанного текста, по которой сразу видно какой была температура ануса при написании.
>>1714874 Всё относительно. Что у одного километровая простыня, требующая титанического усилия над собой, у другого может по напряжению воли совпасть с тем усилием, которое требуется, чтобы пердануть.
Объясните человеку, который совсем не в теме, а почему вообще так много языков программирования? Каждый в чем то уникален и используется для чего-то, что не умеют делать другие, или причина чисто во вкусовщине и они все одинаковые?
>>1715096 Много причин. На любом языке теоретически можно писать вообще всё, но одни языки лучше подходят для каких-то задач, чем другие. Например, для одного языка может быть написана некая хорошая либа, а у других языков подобных либ нет, и поэтому всем приходится пользоваться именно этим языком. Либа обрастает другими либами, которые эту либу юзают, и в краткосрочной перспективе язык становится незаменимым для каких-то задач. Но да, много языков появилось чисто из-за вкусовщины и синдрома NIH.
>>1715121 Если совсем кратко: Java - бекенд/энтерпрайз и андроид Kotlin - потенциально как Java, но сейчас популярен только в андроиде. Objective-C/Swift - iOS C/ассемблер - очень низкоуровневая системщина и микроконтроллеры. C++ - системщина, но уровня выше сишного, типа какой-нибудь подсистемы ОС, но не ядро. Также десктоп, геймдев, что-то сетевое (но не веб). PHP - бекенд. Всё. JS - фронтенд, немного бекенд и десктоп C# - десктоп, геймдев, немного бекенд Питон - бекенд, дата саенс и всевозможная скриптота (для линукса, для рутинных задач, девопс и т.д.) Go - высоконагруженные микросервисы (то есть некоторые фрагменты бекенда).
Есть много тонкостей. Например, и джаву, и питон можно юзать для бекенда, но на джаве обычно пишут огромные серьёзные приложения с сотнями тысяч строк кода для чего-нибудь типа банковской системы учёта. А на питоне пишут, скажем, сравнительное небольшие интернет-магазины.
>>1715140 Бекенд на плюсах писать можно, иногда пишут, когда действительно критична производительность. Обычно нет, поэтому бекенд почти всегда пишут на простых и безопасных языках. Особой разницы нет, большую часть времени этот код простаивает и ждёт, когда база данных вернёт ответ, и скорость работы скриптовых языков - хуйня по сравнению с этим. Можно и десктоп на питоне, но он очень требовательный, и большие гуи типа 3d max на нём не делают. А мелкие делают на чём угодно.
>>1715140 Десктоп на питоне сосет потому что 1. Его легко декомпилировать, стырить алгоритмы или выдрать лицензию 2. Это динамический язык, а значит падучий без большого количества тестов
На бэкенде же тебе более похуй на оба пункта, исходники можно хоть текстом хранить, ну а падучесть компенсируется легкостью патчинга. Обновить код на сервере это тебе не миллион пользовательских устройств обслуживать.
>>1715151 Анон, а поясни пожалуйста за построение фронт/бекенда и вкат в это дело. Любой фронтэнд фреймворк умеет отправлять запросы к любому бэкенду? Я могу сначала научиться писать фронтэнд, освоить, например, react, сделать на нем сайт, а потом выдрочить любой бэкенд вроде django или asp.net и "подключить" к фронту? мимо другой анон
А поясните про разные парадигмы. Вот все популярные языки мультипарадигмальные. Это значит что на языке можно написать один и тот же скрипт совершенно разными способами?
По моему самый офигенный язык это пролог. Тупо написал ему че ты от него хочешь, и он тебе сделал. Говоришь ему - иди чисти зубы, он идет и чистит. Этим же императивным языкам как даунам расписывай каждый шаг, епта. Создать класс ванная, создать класс зубная щетка, создать класс паста, создать класс раковина. Зайти в ванную,сделать шаг в сторону раковины, встать напротив раковины, взять зубную пасту, открыть крышечку зубной пасты, освободить одну руку, взять в свободную руку зубную щетку, фуууууух я уже устал расписывать это дерьмо. Как этим ежедневно можно заниматься?
>Один из самых простых языков для изучения. Только в самом начале, и если не собираешься выходить за пределы простеньких скриптов и дата сайенс. На больших проектах с питоном еще сложнее управиться, чем с пхп - потому что это чистейшая динамико-параша без типов, где на каждый чих надо тест писать, в пыхе хотя бы на уровне сигнатур методов (и полей классов) типы можно прописать и они будут учитываться. Плюс в пыхо-проектах сейчас дичайше дрючат за говнокод, потому что научены горьким опытом, в пистоне требования к код ревью сильно ниже, потому что по-другому никак - язык убогий, и все это понимают.
>Невероятно универсальный, отлино подходит для людей, программирование для которых не является главным скиллом. И в этом нет ничего хорошего, ибо говнокода в питоновских проектах в разы В МИЛЛИАРДЫ сука раз больше, чем в пхпшных.
>ООП кривое-косое, инкапсуляция фактически не поддерживается, интерфейсов нет, абстрактных классов нет, зато зачем-то есть множественное наследование. 1) ООП кривое и используется редко. 2) ОПхуй неверно понимает инкапсуляцию (как и 90% того, о чем пишет). Инкапсуляция - это не сокрытие данных, как тебе говорила преподша на лекции, а объединение данных и методов их обработки в одной программной сущности будь то класс, модуль, пакет или даже функция, если это замыкание. И в этом плане с инкапсуляцией у питона все нормально - чаще всего используется инкапсуляция на уровне модуля, классы редки и нужны только для всяких ОРМ. Для имитации private/protected-методов есть соглашения по именованию переменных и методов. 3) Интерфейсы пистону не нужны, т.к. есть множественное наследование, лол. Для абстрактных классов есть abc-модуль.
>тормозит, как мразь, глючит кодировками Надо пиздец как упороться, чтобы уткнуться в скорость пистона. Про кодировки впервые слышу.
>>1717334 >Инкапсуляция - это не сокрытие данных, как тебе говорила преподша на лекции, а объединение данных и методов их обработки в одной программной сущности будь то класс, модуль, пакет или даже функция, если это замыкание Определение верное, правда не могу взять в толк в чём тут разница с понятием "абстракция".
Решил я как-то потыкать пролог, про который все говорили, что там чуть ли не ИИ. Попробовал решить уравнение x·x = 4 и думал, что мне выведут два корня. Хуй, мне не нашли ничего. Оказалось, что чтобы решить уравнение, нужно писать x·x = 2·2. Ну и нахуй такой примитивный вывод фактов нужен, если дальше одного-шага от исходной посылки уйти нельзя? Такой "вывод фактов" на любом языке запилить можно с помощью списков и фильтров.
>>1717334 > Надо пиздец как упороться, чтобы уткнуться в скорость пистона. Достаточно попробовать сделать на Питоне то, что делается подключаемыми сишными либами. Их не от хорошей жизни подключают
>>1700547 Думаю, потому что для лоу-левела больше даташиты дрочить надо, чем матан, тем не менее, лоу-левел нужон всегда, а дальше сразу божественные языки для науки. Все промежуточное не нужно, потому что служит единственно потреблядству.
>>1719165 Как бы тебе это ни нравилось, на юнити делают реальные игры. Юнити не хуже анрила просто потому, что у него ниже порог вхождения. Хуже по другим причинам.
>>1719248 На юнити делают инди игрушки. Прикольно, но не вау. ААА игры - это все же кресты. Порой на кастомном движке, который написан на крестах, необязательно на unreal engine
>>1719810 В инди тоже играют. Да, бабла там крутится мало, они как правило менее популярны, но это не значит, что юнити сравним с детской песочнией. В конце концов не на unreal же писать платформеры.
>>1719729 Вулкан настолько феерически неудобен и многословен, что одного взгляда на него достаточно, чтобы понять, что либо OpenGL его будет использовать под капотом, либо появятся другие обёртки. Но в ближайшие лет 5 это не грозит, легаси-GPU у юзеров сами себя не обновят.
>>1719947 >Да, бабла там крутится мало, они как правило менее популярны Как будто тебе, как разрабу, теплее становится от количества бабла в индустрии. В инди меньше бабла, но и издержки на всяких промежуточных паразитов намного меньше, что выливается во вполне сравнимую среднюю зп.
>>1719947 Играл я в такие инди - через час непрерывной игры выжирает под восемь гигабайт памяти и тормозит, как скотина. Так что спасибо, но идите нахуй со своим хуюнити.
>>1719948 Ну и дурачок, что с тебя взять. На что ты ориентируешься что у тебя легаси-gpu у которых нет вулкана? На нетбуки 2011 года?
>чтобы понять, что либо OpenGL его будет использовать под капотом, либо появятся другие обёртки. Не будет, а если и будет то с дичайшим оверхедом, как dx эмулировали на ogl.
К тому же пока ты раскачаешься и что-то сделаешь пройдет от года до 3, ogl станет еще более легаси и никому не нужный.