24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
ВЫБОР ЯЗЫКА ДЛЯ БЭКЕНДА Надеюсь здесь есть люди, которые имели опыт разработки бэкенда для веб-приложений. Я начал изучать веб стек. Пока изучил html, css и javascript версии 3. Как закончу изучать js 6, планирую изучать язык для бэкенда. Но выбор не очевиден. Конечно я, с высоты моей неосведомленности, больше склоняюсь к PHP. Послушал лекцию 2017 года создателя этого языка и еще одно интервью. Там все так радужно с новым PHP, что по производительности он стал в разы быстрее. А на счет многозадачности, которую противопоставляют языку PHP, сравнивая с node.js, разработчик PHP говорит, что PHP не дает возможности для этого, потому что для высоконагруженных приложений нужно разделять приложение на составляющие, т.е. разные задачи должны решать разные сервера, а не все на одном. И исходя из этого node.js теряет свое преимущество, потому что для легких приложений подойдет любой язык, а для тяжелых все равно придется разделять архитектуру. Обращаюсь к опытным анонам. Какой язык выбрать, если я возможно запланирую сделать сайт, который, допустим, будет хостить фильмы онлайн? Я думаю там будет большой трафик. Ну это как пример конечно. Какие ваши советы?
>>1156576 (OP) Посмотри, что востребовано по вакансиям в городе. Я учил джаву и сильно проебался, потому что раз в под года всплывает 1-3 хороших вакансии для джунов. Вот мидлов и синьоров сразу хватают. Зато пхп говна 70% рынка. Это если хочешь быстро войти в айти. Не обязательно крутость гарантирует востребованность.
>>1156587 Go для поддержки для высоконагруженных приложений, как я понял тебя это интересует. Но на нем в нашей дивной стране почти нет вакансий. Так что подойдет как второй язык. Python универсальнее и для бэкенда веб-приложений самое то, но медленнее компилируемых языков. Java - классика для крупных ынтерпрайзных веб-проектов.
>>1156576 (OP) Если быстро что то нужно PHP Если надежно, то я бы посоветовал начать с JAVA, просто из за строгости типов. В PHP минус в том что в нем много подводных камней.
В последние годы от стал похож на JAVA, соответственно, если тебе нужно писать такой же код и думать так же, почему бы сразу не начать с JAVA.
Ну и на конец - PHP ценится больше за его экосистему заточеную под веб, но из за того что на нем можно написать код с ошибкой, которая хз где, но он работает, но работает не так его и не любят.
P. S. Почему еще не было? Важен не язык, а прослойка между креслом и монитором
>>1156625 Это одновременно и плюс и минус. По поводу компиляции, JAVA просто не скомпилируется, если ты где то вызываешь несуществующий метод, к примеру опечатка.
PHP же будет работать до тех пор, пока не дойдет до того метода и лишь потом выплюнет тебе Fatal Error. Поэтому тесты здесь еще более востребованы чем в JAVA. Потому что ты можешь не знать что на сайте, где то на этапе восстановления пароля падает скрипт, пока не заглянешь в логи.
>>1156630 Еще между ними разница в обработке входящих запросов. PHP рожден, чтобы умереть Даже если говорить о php-fpm, потому что про модуль для Апачи уже нужно забыть, каждый раз когда ты делаешь запрос, рождается новый процесс, подымаются все твои конфигы, все ядро, отрабатывает какую то логику и процесс умирает. Вот такой вот 100% метод борьбы с утечкой памяти.
На JAVA у тебя приложение уже загружено в RAM и просто выполняет логику от поступающих запросов.
Справедливости ради, что то подобное делают и на React-PHP. Даже симфонисты прикрутили какую то штуку, что их Kernel 1 раз загружается и потом держится в памяти, кол-во обрабатываемых запросов за единицу времени вырастает колоссально.
>>1156576 (OP) > Java Если нравится быть маленьким винтиком бездушной энтерпрайз-системы, это твой бро. Ну или если есть мечта хуячить стартапы на Scala. > Python God tier. Попробуй, базарю, ещё захочешь. > RoR Ok tier. Раньше в роре было дохуя хипсторов-смузихлёбов, сейчас вся эта мразота съебала в ноде.жс, так что появилась надежда, что эта экосистема выкатится из сраного говна. > PHP Не трогай, подумой, будешь за миску досирака с миллиардами школьников конкурировать. > C# Shit tier. Мокрософтовский наш ответ Java. Нигде, кроме венды, не работает, следовательно, для веба непригодно. > Node.js Фу блять, фу нахуй, ещё хуже, чем похапе.
Работаю с дотнет стеком, вакансий много, больше только у пхпшников. Для нагруженных проектов подходит. Имеет зрелую и богатую экосистему. Это все даже если не брать во внимание дотнет кор. Но эта же экосистема - минус. Очень закрытая и завязанная на себя.
>>1156617 не забывай, что ноду на изичах можно развернуть в современных облаках всем похуй на производительность, когда можно отмаштабироваться когда можно все завернуть в контейнеры того же докера и пехануть в облако нода этим сильна
>>1156659 ну, признай, что это больше под энтерпрайз подходит потом бэкграун у программиста все же больший должен быть, по большому счету это должен быть кодер с вышкой по специальности это чтобы не "плавать" в дотнете потом обычно к дотнет стеку на фронте прилагается ангуляр с тайпскриптом, а это опять же уровень не вкатывальщика
>>1156682 нет, нода и реакт - фреймворки но язык то остается тем же тат же синтаксис, та же семантика не надо учить еще один язык, а главное не надо переключать свой мозг постоянно с одного яп на другой
Я пока склоняюсь к PHP. То что везде можно писать на одном JS для меня не аргумент. PHP - это: не нужно перезапускать серв для применения изменений в коде, много хостингов с поддержкой php, легко установить все что нужно для разработки на ноуте и это не много весит.
>>1156689 >перезапускать серв Это любой интерпретатор ты описал. Можно и на питоне с руби так делать. >легко установить Ну это вряд ли ключевое. >много хостингов Согласен. С этим не поспоришь.
>>1156689 >хостингов с поддержкой php Сейчас shared-хостинг уже не особо актуален, все юзают облачный/vps, на котором что хочешь устанавливаешь. Остальное в других языках также есть.
>>1156576 (OP) Если хочешь скорости выбирай компилируемые языки java, c#. Все скриптовые языки очень медленные и сравнивать их по скорости не имеет смысла. Поэтому многопоточность не нужна, кстати она есть в php. Тебя обманули.
>>1157211 lwt, react, кучу либ из mirage, js_of_ocaml + виджеты на жабоскрипте из какой-то либы.
До этого писал на рубях на рельсах и жанге, как ни странно необходимость во фреймворке отпала, ибо тут проще руками что-то написать используя готовые либы (которые все довольно красивые и лаконичные), чем заполнять лакуны фреймворков и потом бороться с языком.
>>1157251 С производительностью хорошо, даже очень, GIL напрягает, но судя по прогрессу в мультикор ветке, осталось не так долго страдать. Пока проблема решается процессами и шареной памятью, плюс я накостылял себе что-то вроде акторов с простым планировщиком. В любом случае это лучше пиздона, да и плюсы языка перекрывают недостатки.
После того, как доделают мультикор с эффектами, это будет просто язык мечты.
>>1157271 Ну чем, быстрее гораздо, статическая типизация с продвинутой системой типов, вменяемый язык с глубоким дизайном, а не куча слепленный кое-как фич, которые понравились гвидо.
>>1157273 Ну ты зацени список пользователей на их сайте, там довольно много крупных контор, вроде дассо, джейн стрит, блумберга, фейсбука, плюс разные универы.
Хз на счет калек, но качество либ меня пока радует куда как больше, чем в пистоне и го, а обсуждение на гитхабе говорят о том, что чуваки, которые это пишут, очень глубоко шарят в ЯП и своих областях. Ну и либ в опаме сейчас предостаточно.
Чувак из джейн стрит говорил как раз, что, мол, качество окамл программистов покрывает количество.
Для ады, кстати, тоже мало пишут, что не мешает ей быть своего рода безальтернативной в сфере аэроспейса и риал тайм критических вещей.
>>1157276 Ризон это просто js-лайк синтаксис поверх окамла, не компилятор в джаваскрипт. Нахуй мне этот синтаксис, я ж не жс макака. Ризон использует тот же стек, что и окамл.
Компилятора в жс 2, js_of_ocaml и bucklescript.
Первый транслирует байткод окамла в жабаскрипт. Плюс такого подхода в том, что ты можешь использовать любой компилятор окамла и все, что компилится в окамл, просто компилируешь в байткод, а потом в жс.
Второй является бэкендом для компилятора, сразу компилирует в жс. Минусы, нужно ждать, когда пропатчат свежий компилятор. Зато жс более читаемый.
bucklescript больше нацелен на жс инфраструктуру и жс либы, есть в нпм и интегрируется с нпм. js_of_ocaml больше нацелен на интеграцию с окамл либами и окамл инфраструктурой.
>Как там тулинг
Пакетный менеджер опам и система сборки жбилдер эталонные, дебажить можно гдб, сейчас идут активные работы по улучшению дебага с гдб, но мне за все время как-то не понадобилось ничего дебажить, кроме пары случаев, где было достаточно гдб. Есть крутой профайлер памяти spacetime, всякие линтеры и тулзы для автокомплита и просмотра типов в редакторе тоже есть.
>>1157283 >Ризон это просто js-лайк синтаксис поверх окамла, не компилятор в джаваскрипт. В смысле? Это как раз таки компилятор (https://bucklescript.github.io/) + тулинг и интеграция с жс-инфраструктурой.
>bucklescript. А, ну вот, я его и имел в виду как часть ризона.
А, ну и дальше ты тоже самое пишешь, что я в первом абзаце написал, лол. Надо было целиком пост прочитать, прежде чем ответ начинать печатать.
>дебажить можно гдб Не понял, как ты гдб скормленный браузеру код собираешься дебажить. Я ж про браузер говорил.
Вообще, окамл конечно сила (вот только тайпклассов не завезли, эх), но когда после кложи и скалы он у меня полчаса качался@компилялся полчаса, а потом вылетел с ошибкой зависимостей, я как-то погрустнел. Алсо, топлевел течет, как сука, через полдня спокойно сжирает пару гигов памяти. Ну и в целом пердолить@компилять - это довольно грустно. Надо протестировать супротив трех разных версий языка - три раза жди по полчаса и молись, чтобы мейнтейнеры там не накосячили чего-нибудь (про искоробочную разрешалку зависимостей я вообще молчу, по-моему это пиздец так делать в 2018). В то же самое время ты можешь просто взять скалку (если сервер-сайд) или кложу (если сервер+клиент), и у тебя в общем-то будет все то же самое, только с обкатанной инфраструктурой, сотнями нефти либ, хорошим браузерным воркфлоу (в кложе), ну и сменой зависимостей одной строчкой за 10 секунд. То есть респект тебе, конечно, но согласись, что нерационально костылять себе акторов с простым планировщиком, если нужно работу делать, а не ковыряться для себя. Имхо, все-таки окамл имеет смысл, когда нужно компилять в нативный код (хотя тут ему уже в затылок нежно дышит раст), а для описанного тобой юзкейса есть более лучшие альтернативы. Дискас? Если что, я не хочу сказать "НЕНУЖНО", не пойми неправильно, анончик.
>>1157302 >А, ну вот, я его и имел в виду как часть ризона.
Это не часть ризона. Ризон - простой транслятор синтаксиса, который пилят в фейсбуке. Баклскрипт - дополнительный бэкенда для компилятора, который пилят в блумберге.
Никто не мешает скомпилировать ризон в байткод и потом в жс жс оф окамлом. Ризон никак не завязан на баклскрипт.
Тулинг там чисто для нпм и жабоскрипта, и то никаких тулз там особо нет, разве что все из жс мирка, для бэкенда не подходит совсем, если ты, конечно, не хочешь окамл на ноде гонять.
>Не понял, как ты гдб скормленный браузеру код собираешься дебажить. Я ж про браузер говорил.
Ну в браузере дебажить мне как-то не доводилось, не представляю даже, зачем. В хаскиле и окамле в дебаг в принципе лезть приходится обычно, если что-то не так с сишными биндингами или чем-то таким.
Хз, у меня с utop проблем таких не было, компилятор тоже компилируется без ошибок, что у тебя за ошики были? Зависимости оно сейчас прилично разрешает, раньше, до опама 2.0, там просто не было искаробочной решалки зависимостей. Ну в крайнем случае есть сторонняя. В других языках ты вообще руками версии указываешь, не мешает никто сделать так и здесь.
Имплиситы в планах, но вообще тайпклассы не нужны, всегда доставляла хаскель-вики, советующая их не использовать вообще, если нужен перформанс. Серьезно, кроме пары основных операторов ад-хок полиморфизм нигде не нужен, а оверхед виртуальные указатели дают значительный, особенно в циклах.
На кложуре писал большой проект, больше желания нет. Скала - тоже пиздец с отвратным тулингом, да и сам язык хоть и вырос из окамла, но какая-то жесть с крайне странной помесью ооп и фп, тьюринг полным тайпчекером и отсутствием взаимной хвостовой рекурсии.
Ну то есть если мне нужен будет жвм язык, я бы взял скалу, но так желания ее трогать нет.
Про либы порадовало, мне как раз нужно было раотать с пдф на кложуре. Под окал есть state of the art pdf либа,
Но есть мультикор, это плюс, но кложура такая медленная, что даж хз.
Смена зависимости в одну строчку есть и в окамле, ни разу не было проблем с опамом. Там еще и локальные switch теперь есть.
>трех разных версий языка
Ну так собери три switchа, будто в других языках тебе не понадобится три компилятора.
В целом нынешний воркфлоу с опамом, odig и жбилдером мне напоминает раст, про компилять тоже не понял, в расте, скале и кложуре же тоже соур бэйзд пакетные менеджеры, там тоже надо компилять. Окамла, кстати, очень быстро компилирует, на уровне го.
>хотя тут ему уже в затылок нежно дышит раст
ооп нет, скопед треды убрали, ебаться с указателями тоже не очень приятно. То есть для кодеков, низкоуровневой фигни годно, но если можно писать на языке со сборкой мусора, я бы предпочел не писать на расте.
>>1157325 Кстати, чувак, написавший эту пдф либу на окамле, написал три книжки, две по окамлу и одну про пдф. Самая годная книга о пдф, которую я видел. Либу для кложуры написал автор кучи кложур фреймворков и главный продвигатель кложуры на реддите, просто потому что на кложур либы для пдф нету, он также написал половину кложуровского веб стека.
Ну это к вопросу о качестве и количестве коммьюнити.
>>1157325 >который пилят в блумберге А, а я-то думал, что их оба одна команда делает, и второй ради первого и затевался. Тогда ок, понял.
>Никто не мешает скомпилировать ризон в байткод и потом в жс жс оф окамлом Это-то я понимаю, да.
>Ну в браузере дебажить мне как-то не доводилось Ну я говорю о сорс-мапах и всем таком прочем.
>что у тебя за ошики были? Полгода назад дело было, не помню уже сейчас. Но осадочек остался.
>В других языках ты вообще руками версии указываешь Да ну ладно тебе, анончик.
>кроме пары основных операторов ад-хок полиморфизм нигде не нужен, а оверхед виртуальные указатели дают значительный Это интересный угол зрения, но я слабо себе представляю, как написать любую future-proof расширяемую либу без тайпклассов\протоколов\трейтов.
>На кложуре писал большой проект, больше желания нет. Почему? Расскажи.
>Скала - тоже пиздец Ну, в плане натягивания ооп на фп окамл, конечно, приятнее, а скалка те еще кресты, есть такое. Зато акторы не надо велосипедить, анон :3
>отсутствием взаимной хвостовой рекурсии Ад-ход полиморфизм не нужен, а взаимный тейлрек ему подавай!
>под кложур только какое-то ограниченное говно Ну хуй знает, анон, я через эту же либу пдфки генерил, мне хватило.
>либо страдай и пердолься с жабалибами. Как что-то плохое.
>Но есть мультикор, это плюс, но кложура такая медленная, что даж хз. Ты же выше писал, что с питончега на камло пересел. Ну так по сравнению с питончегом и кложа была бы быстрой. До pure c конечно далеко, но оно и не нужно.
>будто в других языках тебе не понадобится три компилятора. Так в том и поинт, что не понадобится. Я к тому и писал, что если тебе нужно в вебню, то я не совсем вижу смысл с нативными компиляй@педофиляй пердолиться.
>соур бэйзд пакетные менеджеры, там тоже надо компилять В смысле? В джарниках же все.
>но если можно писать на языке со сборкой мусора, я бы предпочел не писать на расте. Это понятно, анон. Я к тому говорил, что если тебе прям нужно компилять в нативный код, то есть ненулевая вероятность, что тебе нужно будет еще и байтоебить (а если не нужно байтоебить, то, быть может, и в нативный код компилять не нужно, коль уж речь про бекенды). Поэтому и "дышит в затылок", то есть очень близко, хоть и не совсем то.
>>1157331 >он также написал половину кложуровского веб стека. Это же вроде автор Luminus? Это далеко не половина веб-стека, это же просто один из популярных бегиннер-френдли фреймворков.
>Ну это к вопросу о качестве и количестве коммьюнити. Ну ты такие далекоидущие выводы делаешь из того, что один чувак с бизнесом про пдфки свою тулзу на окамле написал, лол. Замечательно конечно, но про качество и количество комьюнити это говорит немного.
>>1157373 >как написать любую future-proof расширяемую либу без тайпклассов\протоколов\трейтов.
Используя модули, функторы, интерфейсы, классы.
>Почему? Расскажи.
Из плюсов, сайдер в имаксе очень удобный, по ссш можно дебажить. Из минусов динамическая типизация, что есть ад в большом проекте, нулевое коммьюнити (да, да, за кложурой фактически стоят две компании, а все либы пишут несколько человек, и да, в окамле с либами гораздо лучше).
>мне хватило.
Тебе хватило, потому что тебе не надо было по ескд генерить, видимо, а просто что-нибудь в свободном формате. Я даже думал латех заюзать, но тогда вообще терялся смысл в жвм.
>Так в том и поинт, что не понадобится.
Не понял, а зачем тебе в окамле три компилятора для веба? Качай последний, собирай жс оф окамл. Если нужен баклскрипт, то тот вообще через нпм ставится.
>В смысле? В джарниках же все.
Ну это только в жабамирке с джитом. В мите AOT компиляции это не работает.
>то есть ненулевая вероятность, что тебе нужно будет еще и байтоебить
Не факт, нативный код нужен там, где жит дорого, памяти мало, у меня вон на окамле бэкенд 10мб жрет.
>Замечательно конечно, но про качество и количество комьюнити это говорит немного.
Да у кложура мертвое коммьюнити. У скалы еще куда ни шло, за кложурой фактически стоит одна компания. Сейчас с нее все активно сваливают либо обратно на руби, либо на скалы всякие с котлинами.
>Зато акторы не надо велосипедить, анон :3
Да, акторы - это хорошо. Ну тут в любом случае ждать мультикора остается, там уже будет очень просто реализовывать планировщики и всякое такое, спасибо эффектам. Ну мне в целом окамл нравится именно тем, что на нем легко решить на месте нетривиальные задачи, даже если нет либ.
Так в целом скала это ад вроде крестов, еще и тайпчекер тьюринг полный.
>>1157388 >нулевое коммьюнити (да, да, за кложурой фактически стоят две компании, а все либы пишут несколько человек, и да, в окамле с либами гораздо лучше). Мне кажется, у тебя НЕБОЛЬШОЕ ПРЕУВЕЛИЧЕНИЕ, в слаке clojurians вон 12к человек сидит, где даже новичкам объясняют всякую хуйню, а у верблюда даже своего загона в слаке нету.
Ну я говорю не про какиров со слаки, а про компании, которые инвестируют в язык, и про людей, которые используют язык в продакшне и пилят либы. Вот у кложуры этого очень мало при качестве коммьюнити на уровне рубей, количество явно хромает, либ мало, многие сделаны на отъебись, как та единственная пдф либа.
>>1157388 >Используя модули, функторы, интерфейсы, классы. Ты сторонник подхода "хочешь расширить конкрит тайп на интерфейс - овни либо тайп, либо интерфейс пиши врапперы, пидор!"?
>за кложурой фактически стоят две компании Анон, ну что-то ты явно придумываешь. Даже мне сходу сразу приходят как минимум 4 компании (сам когнитект, волмарт лабс, призматик и кложурверкз), и даже не из-за того, что я их либами пользуюсь, а просто потому что они светятся везде. То есть на самом деле их еще больше. Так можно и про джаву сказать, что за ней всего две компании (оракл и гугель, лел).
>все либы пишут несколько человек, и да, в окамле с либами гораздо лучше Ну все няша, ты огребаешь! Ну серьезно, ты придумываешь, анон. Когда я игрался с окамлом и хотел написать какую-нибудь шняжку с графикой, то слегка офигел от того, что нет ничего, кроме заброшенных биндингов к сдл с сайтом в стиле "привет девяностые". Про срачи насчет стдлиб я и вовсе молчу, это совсем пиздец. Я согласен, что за последние несколько лет ситуация начала потихоньку улучшаться, но говорить, что в окамле с либами гораздо лучше - ну это просто враки. Кстати, сами кложурцы постоянно ругаются на самих себя, что мол НУЖНО БОЛЬШЕ ДОКУМЕНТАЦИИ, но на самом деле по части либ (количество, документированность, культура сопровождения) кложа как раз далеко впереди х-лей, камлов, лишпов и ерлангов. Да даже от жс-либ после них зачастую плеваться хочется.
>по ескд генерить Ну в таких специальных случаях вполне логично брать специально заточенные под это инструменты. Вполне нормальная тема - собирать данные на жвм-бэке, перегонять в нужный формат, а рендерить уже хоть скриптом на питончеге, который шелл-утилиты твоего пдф-чувака вызывает.
>Не понял, а зачем тебе в окамле три компилятора для веба? Качай последний Анон, ну понимаешь, хорошо сказать "качай последний", но ирл этот "последний" каждые эн месяцев выходит, да плюс у тебя 50 зависимостей, и вот здесь пофиксили нужный тебе баг, здесь добавили нужную тебе фичу, ну и начинаются пляски. А если ты что-то переиспользуемое пишешь, то тут вообще запуск тест-сьюта на эн последних версиях перед релизом - мастхэв. Ну и я в первом посте же как раз и описал, как "скачал последний", лол.
>Если нужен баклскрипт, то тот вообще через нпм ставится. Я в том числе поэтому про ризон изначально испрашивал. Но у меня был (вронг) ассампшн, что бакл - часть экосистемы ризона, а не отдельный проект.
>Ну это только в жабамирке с джитом. В мите AOT компиляции это не работает. В смысле? Не понял тебя. АОТ же как раз сурсы в джарники и компилирует. Ты, видимо, имел в виду "в жабамирке с жвм" и "в мире аот компиляции в наткод"? Разговор же о скалке и кложе шел.
>жит дорого, памяти мало >байтоебить Seems legit. ^_^
>Да у кложура мертвое коммьюнити. Ну, уже выше написал, это ерунда какая-то. Алсо, как раз на руби никто не сваливает, блин, ну откуда ты такое взял? Посмотри на тренды руби, ну блин, анон. Зачем выдумывать-то.
>Так в целом скала это ад вроде крестов СИ С КЛАССАМИ @ ДЖАВА С БАЙ-ДЕФОЛТ ИММУТАБЕЛЬНОСТЬЮ
>>1157425 Серьезно, возникает ощущение, что ты только по этой одной либе и делаешь такие выводы. Ну неправда это, анон. Из кложекомьюнити идеи расползаются по всей индустрии, от фейсбука до мозилы, от ес6 до го. Ну какое "на уровне рубей", чесслово.
>>1157436 >Ты сторонник подхода "хочешь расширить конкрит тайп на интерфейс - овни либо тайп, либо интерфейс пиши врапперы, пидор!"?
Не понял вопроса. Виртуальные классы в ооп, тайпклассы в хаскиле и модули в мл это вещи одного порядка. Чем интерфейс модуля хуже интерфейса тайпкласса?
>Про срачи насчет стдлиб я и вовсе молчу, это совсем пиздец
Почему пиздец, есть отличная стандартная либа, есть расширения под разные нужды: core а ля пистоновская анаконда, батарейки а ля питоновские батарейки, контейнеры а ля крестовый стл.
>что в окамле с либами гораздо лучше
Ну я ж тебе конкретный пример с пдф привел. С остальным проблем не было, потому что мне кроме бд, аутентификации и жабоскрипта от кложуры ничего не надо было.
>да плюс у тебя 50 зависимостей
Опам апдейт, компилируется же все быстро. У меня вон свитч с 300 пакетами за 15 минут на ноуте собирается. Из всего, что видел, долго компилится только компилятор из-за бутстрапа, да coq, потому что огромный.
>эн последних версиях перед релизом
Так используй тревис, ты ж не руками это собрался делать?
>Из кложекомьюнити идеи расползаются по всей индустрии
Какие идеи? Кложура же довольно скучный язычек без особых новшеств.
>>1157461 >Чем интерфейс модуля хуже интерфейса тайпкласса? Смотри, либа А объявляет "интерфейс". Либа Б объявляет тип. В моем коде, использующем А и Б, мне нужно определить реализацию интерфейса для этого типа. На модулях этого нельзя сделать, ну и вообще там же используемую реализацию надо явно указывать.
>Почему пиздец, есть отличная стандартная либа Анон, ну не толсти. Без core (или не коре) оно неюзабельно. Мне в том числе потому ризон и импонирует, что он закрывает этот пейн поинт.
>Ну я ж тебе конкретный пример с пдф привел. С остальным проблем не было Ну так я же про то и говорю, ты один очень узкий и специальный юзкейс генерализируешь до общего высказывания, что не есть логически корректно.
>долго компилится только компилятор Ну так я про это изначально и говорил. А когда тебе нужно найти последнюю версию, на которой работают все твои зависимости, ты промудозвонишься весь день с этим говном. Неудобно. А скалке с кложей поправил циферку, запустил, поправил еще раз, опять запустил, полчаса - и готово. Поэтому я и говорю, что если делаешь бэк, то в общем случае удобнее брать менеджед код - разницы с нативным особо нет, а в обращении удобнее. Ну, мне кажется можно уже закрыть эту тему, вроде мы тут оба уже все сказали, что можно.
>Какие идеи? Кложура же довольно скучный язычек без особых новшеств. Опять толстишь, лол? Она оче сильно повлияла на современный вротенд в целом, ом, лайттейбл, датомик, спек, дата-ориентед дизайн в целом, недавно вот в го утащили идею хикки про версионированные апи.
Ты как-то упорото описал, но именно для этого модули и нужны, реализовывать интерфейс. модули ML поддерживают структурный полиморфизм и сабтайпинг. Еще в мл есть функторы, то есть функции, которые принимают модуль и возвращают модуль. Собсна, ад-хок полиморфизм в окамле и реализован с использованием first-class modules. Просто сейчас компилятор не умеет подставлять модули неявно, для этого и нужны modular implicits.
>Алсо, сдл-либы он год назад написал,
Там первый релиз в 2013
> генерализируешь до общего высказывания
Ну по большому счету моя основная претензия к кложуре была в динамической типизации, писать что-то на динамически типизированном языке в 2018 году это патологическая форма мазохизма.
>на которой работают все твои зависимости
Там была где-то матрица совместимости, плюс у каждого пакета указано, для каких он версий собирается. Сейчас там почти три тысячи пакетов собираются под 4.06, а это была единственная версия за много лет, которая что0то сломала. Так что просто ставь последнюю версию, опам сам зарезолвит версии пакетов.
>полчаса - и готово
Руками править полчаса вместо того, чтоб дать резолверу все отрезолвить? Ну жабамир славится мазохизмом, xml-конфиги, фабрики фабрик, подбирать версии либ руками пол часа. Тут ты тоже можешь руками подбирать, если нравится страдать.
>лайттейбл, датомик, спек, дата-ориентед дизайн в целом
Кроме базвордов есть че? Это обычный довольно унылый динамический язычок без значимых нововведений, такой себе недолисп.
Ни тебе новых продвинутых систем типов (dependent types, linear types, GADT и.т.д), ни каких-то радикальных вещей, вроде корутин, call/cc, алгебраических эффектов.
Чем оно изменило фронтенд? Реактивное функциональное программирование появилось в 90-х, а в веб пришло с реактом и elm, то, что ты называешь дата-ориентед дизайн это вообще какой-то лютый базворд, ибо все программисты (даже те, что на сишке пишут) знают, что данные и типы главнее алгоритмов. Версии апи это что-то из раннего ML опять же с их Module.Vx. По сути кложура это урезанный CL c чуть большим уклоном в функциональщину, ну и фич поменьше.
>>1157686 > По сути кложура это урезанный CL c чуть большим уклоном в функциональщину, ну и фич поменьше. Ну не скажи, кложа - это лисп-1, в отличие от CL. Да и насчёт фич спорно - в CL, насколько я знаю, нет ни set'ов, ни map'ов.
Это плюс, конечно, но до схемы ей все равно далеко, да и в целом лисп говно по нынешним временам, каким бы он ни был. Вон в рэкет впиливают типы, а смысл, если язык насквозь динамический.
В CL есть все, вопрос только в качестве реализации и удобстве использования. Синтаксиса со скобочками, отличными от круглых, нет, это да.
>>1157686 >Ты как-то упорото описал, но именно для этого модули и нужны, реализовывать интерфейс. Нет, анон, боюсь, что ты не понял. Поинт в том, что тип чужой, и интерфейс тоже чужой. И тебе нужно определить реализацию чужого интерфейса для чужого метода. В камле этого сделать нельзя, нужно обязательно писать враппер. Поправь, если ошибаюсь.
>Ну по большому счету моя основная претензия к кложуре была в динамической типизации Лол, ну так бы и сказал сразу, а то либы ему не так, комьюнити ему не эдак. У статикопидоров статиконяш это обычно религия, так что тут спорить-обсуждать смысла и нет.
>у каждого пакета указано, для каких он версий собирается >имплайин собирается (компилируется) - значит работает Лол, узнаю статиконяшу! Анон, ну правда: это хорошо, когда все просто работает (с)(тм), но обычно так не бывает.
>Руками править полчаса вместо того, чтоб дать резолверу все отрезолвить? В смысле? Я же говорю про зависимости твоего проекта, а не зависимости твоих зависимостей.
>Кроме базвордов есть че? Эм, так это и не баззворды, это названия проектов. Анон, если лично ты не в курсе - это ведь не значит, что этого нет, согласись.
>Ни тебе новых продвинутых систем типов Лол, ты в курсе, что coq в конце 80-ых появился? Прям БЛИДИН ЭЙДЖ, ага. И вообще, ты походу путаешь исследовательские проекты с промышленными языками. Кложа изначально писалась для того, чтобы на ней можно было хуяк-хуяк и в продакшн. Х-ль писался для того, чтобы писать про него пейперы. Как-то глупо упрекать джаву в том, что она не агда, да? Ну вот и тут то же самое.
>дата-ориентед дизайн это вообще какой-то лютый базворд Так это не про типы данных. Это, если в общих чертах, про то, что всю программу можно писать как кучку веб-сервисов, которые перекидываются жсоном с базой. Ну, то есть да, вот это как раз баззворд, потому что не так-то просто описать это коротко и другими словами.
>>1157693 ...ни атомов, ни stm, ни агентов, ни async, ни spec...
>>1157700 >Вон в рэкет впиливают типы, а смысл Чтобы можно было писать (if (number? x) (foo x) (bar x)) :3 Тайпед рэкет на самом деле очень симпатичный, чего ты так. А религия про типы - это такой же хайп, какой был на ооп. Ну подрочат все на типы, поймут, что сложные типы - они, сука, сложные (скалку с крестами ты и сам сравниваешь), да и успокоятся. Будущее же все за graduate typing. Нужно больше статических чекеров, хороших и разных :3
А вот динамичность и интроспекция как были ценны полвека назад, так и не потеряли актуальности. Сейчас как раз REPL ну точнее его аналог воспринимается как нечто само собой разумеющееся, без hot reload'а хипсторы уже писать не могут. И это хорошо.
>>1157717 >Поинт в том, что тип чужой, и интерфейс тоже чужой. И тебе нужно определить реализацию чужого интерфейса для чужого метода. В камле этого сделать нельзя, нужно обязательно писать враппер. Поправь, если ошибаюсь.
Покажи пример на тайпклассе.
>когда все просто работает (с)(тм), но обычно так не бывает.
Ну разве что в динамическом языке, где тебе внезапно могут поменять интерфейс, и все повалится в рантайме. В окамле оно впринципе не может собраться, но не работать.
>Я же говорю про зависимости твоего проекта
Я просто пишу в jbuild файле своего проекта либы, а опам сам качает и собирает.
> ты в курсе, что coq в конце 80-ых появился
В 80-х в коке не было зависимых типов, если что, они появились только в конце 90-х начале нулевых. В начале мануала к коку есть история, когда и что было запилено.
К тому же кок - тотальный язык, любое выражение в котором завершается, в таком языке легко запилить зависимые типы, но ты не сможешь написать бесконечный цикл, что сужает применимость.
Первые не тотальные языки с зависимыми типами это идрис и F, поторые появились вот только недавно.
>И вообще, ты походу путаешь исследовательские проекты с промышленными языками
Здрасте, давайте все на сях и жабе писать, новые фичи не нужны.
Ладно, поясню. Существует два параметра, по которым оценивают языки: soundness и completeness. Первый обозначает какой процент некорректных программ компилятор/интерпретатор языка может отбросить на этапе тайпчекинга. Второй обозначает процент корректных программ, который язык может вычислить.
Динамические языки обычно почти или полностью complete, но при этом крашатся в рантайме и позволяют творить лютую дичь.
Статические языки обычно почти или полностью саунд (если под статическими языками понимать аду, мл, раст и хаскелл, а не си какие).
Идеал это язык, который абсолютно саунд и комплит.
Проблема динамический языков в том, что они суть подмножество статических языков, которое всегда complete и при этом unsound.
То есть ты в принципе не запилишь безопасный язык без типов, доказательством чему служат диалайзер и новый вывод типов в питоне, рэкете и других динамических языках.
Проблема же статических языков в том, что они хоть и безопасные, но здорово сужают спектр возможных корректных программ.
Вот для того, чтоб с одной стороны сохранить soundness, но расширить границы того, что мы можем написать на статическом языке, нам и нужны новые продвинутые системы типов.
Это не какая-то дичь упоротых ученых, которым заняться нечем. Ты не напишешь безопасный гетерогенный список без GADT. Ты не напишешь безопасное avl дерево со статическими гарантиями сбалансированности без GADT. Ты не напишешь безопасную функцию перемножения матриц без dependent или хотя бы pi типов. Ты не реализуешь статическую проверку доступности ресурсов и прав доступа без линейных типов.
Это все не блидинг эйдж, это то, что сильно упрощает жизнь, уменьшает время на дебаг и тесты (да, тесты не нужны, если ты описал инвариант в типах). Промышленные языки от этого сильно выигрывают, см раст, F, ada+spark.
Естессна речь не про тупой макакинг, там достаточно пхп.
Но вот финансисты любят окамл и хаскел, на всяких атомных станциях крутится ада, а часть тлс слоя в фуррифоксе написана на F*.
>В окамле оно впринципе не может собраться, но не работать. Лол, ну прям манямирком типофанатиков повеяло. А если я там, извините, вместо a/b написал b/a и у меня теперь половина программы не работает?
>Я просто пишу в jbuild файле своего проекта либы, а опам сам качает и собирает. Блядь, анон, это и так очевидно и понятно, я про другое говорю. Ладно, не так уж это и важно.
>они появились только в конце 90-х Ну это же в корне меняет дело! Не 30 лет назад, а всего 20! Ок, уговорил :3
>Первые не тотальные языки с зависимыми типами это идрис и F, поторые появились вот только недавно. Да вроде идрису тоже лет 10, не? Я вроде его давно тыкал.
>Здрасте, давайте все на сях и жабе писать, новые фичи не нужны. Не понимаю, как ты это из моего поста вывел. Я тебе пишу, что кложа - промышленный язык, а не исследовательский. Из этого не следует "новые фичи не нужны" вообще никак.
>Существует два параметра, по которым оценивают языки: soundness и completeness. Не языки, а системы типов. Языки программирования оценивают исходя из требований бизнеса, по внешним для их формального описания свойствам.
>Проблема динамический языков в том, что они суть подмножество статических языков Это примерно как говорить "проблема положительных чисел в том, что они больше нуля".
>доказательством чему служат диалайзер и новый вывод типов в питоне, рэкете Строго говоря - нет, доказательством это не служит, эти вещи прямой связи не имеют. Раз уж пишешь пост о логике, будь аккуратнее :3
>Это не какая-то дичь упоротых ученых, которым заняться нечем. Ну привет, капитан очевидность. Основная проблема типофанатов в подобных диалогах: если ты не визжишь от типов, как юная американка при виде битлз, и не убеждаешь всех, что именно они спасут отца русской демократии, индустрию и Аллаха, то типофанаты сразу определяют тебя как неверного или непосвященного и начинают доказывать, что либо ты не прав и дурак, либо ты ничего не понимаешь и дурак.
Анон, я знаю, чем soundness отличается от completeness. Я понимаю, зачем нужны линейные типы. Не надо мне америку открывать, ладно? Я же тебе написал: во-первых, промышленные языки != исследовательские языки; во-вторых, будущее - за gradual typing. Мне не нужна одна идеальная система типов (с)(тм) - таких, кстати, не бывает. Мне нужны разные системы типов. Много разных. И чтобы я мог их менять по ходу дела. Чтобы можно было примерять новые проверки без тотального opt-in'а. Чтобы можно было в разных частях программы гарантировать разную степень надежности. И чтобы на каждом этапе программа компилировалась, запускалась и позволяла себя интроспектировать.
Понимаешь, в текущем виде статическая типизация нужна только для монолитных codebase'ов. За пределами твоей программы нет никаких типов. То есть достаточно оторвать нос от монитора, подняться всего на один уровень выше - и пшик, все. Уже вообще без разницы, идрис у тебя или не идрис. Задача промышленных языков в том, чтобы строить системы, которые друг с другом взаимодействуют. И статическая типизация в ее текущем виде этому вообще почти никак не помогает. Есть она, нет - а на выходе у тебя, извините, жсон. Так и живем.
Тут еще можно про экономическую целесообразность начать, но тогда совсем уже грустно будет, лол.
Короче, не надо думать, что если кто-то не писает кипятком от слова ТИПЫ, то он просто ЕЩЕ НЕ ПОЗНАЛ СУТЬ(ТМ) и надо непременно начинать проповедовать. Да, это прикольно, да, это хорошо. Если бы я сейчас начинал дизайнить свой пет-язычок, то я разумеется бы начал как минимум с ХМ. Но типы - не серебряная пуля. Это просто инструмент, который еще, хочется верить, находится в довольно зачаточном состоянии, и у которого есть свои достоинства и недостатки. Иногда достоинства перевешивают, иногда - не очень. Хайп мимолетен, интроспекциярефлексия самопознание - вечно. Добра :3
Ну замени все классы на модули и получишь тоже самое в мл.
>доказательством это не служит, эти вещи прямой связи не имеют
Всмысле не служат, если ты не можешь проверить корректность программы без вывода типов, анностаций и тайпчекера, а все динамические языки тащат к себе типы для проверки корректности
>За пределами твоей программы нет никаких типов.
Это вообще не проблема, так как статическая типизация всего навсего доказывает соответствие реализации интерфейсу, причем интерфейс может включать в себя как описание данных, так и инварианты.
Грубо говоря статическая система типов нужна только для того, чтоб доказать соответствие реализации интерфейсу формально, то, что лисперы писали в докстрингах и принимали на веру. Никакой горячей замене кода оно, естественно, не мешает, просто повышает корректность кода.
Про системы типов вообще какую-то чушь написал, они все ортогональны и никак не мешают применять новые проверки.
>>1157811 >Ну замени все классы на модули и получишь тоже самое в мл. Ох... ну вот я и говорю, что с тайпклассами это можно сделать, а без тайпклассов - нельзя, придется городить сотни костылей.
>ты не можешь проверить корректность программы без вывода типов, анностаций и тайпчекера Корректность программы и вывод типов, аннотации, тайпчекер вообще никак не связаны.
>Это вообще не проблема Перечитай внимательнее, пожалуйста. Системы типов не помогают решить эту проблему. Эта проблема важная, а та, которую решают системы типов - нет. Их недостаточно. Есть они, нет их - разница минимальна. Вот в чем поинт, если ужимать его до пары предложений.
>Про системы типов вообще какую-то чушь написал Ты бы вместо того, чтобы словами кидаться, попытался лучше понять, о чем речь в посте идет. Короче, вижу, что это бесполезно, уже в третий раз за наш диалог пишу слова "не, ты не понял; ладно, проехали". Собственно, я ровно об этом выше и говорил, когда писал о типофанатиках, лол. Ну, ладно, вы молодые-шутливые, со временем это пройдет. Тред можно уже и топить, пожалуй.
И да, модули в мл куда как более продвинутая абстракция, чем тайпклассы, так как поддерживают инкапсуляцию состояний, фенкторы и структурные типы.
>Корректность программы и вывод типов, аннотации, тайпчекер вообще никак не связаны.
Гугли соответствие карри-ховарда. Интуиционистская логика - единственный способ доказательства корректности в принципе, а тайпчекер это и есть теорем прувер, позволяющий доказать, что реализация соответствует интерфейсу и заложенным в него инвариантам.
На том построены все системы доказательства корректности программ: spark, coq, frama-c, fstar/idris. Типы - утверждения, программы - доказательства. По-другому ты корректность не докажешь, тебе нужно сделать утверждение (описать инварианты), а это - тип, а потом доказать это утверждение, а доказательство - это программа. А проверяет корректность доказательства тайпчекер. Например на тайпчекере окамла легко доказать коммутативность сложения и то, что судоку имеет решение. МЛ система типов впринципе выросла из теорем пруверов
>>1158723 Мамкин гуглопосылатель, ты подумай головой, будет ли выгодно компании, чей бизнес построен вокруг ОСи на основе удачно спижженых из OS/2 технологий, делать кроссплатформенный софт, а тем более кроссплатформенный системный софт.
>>1156576 (OP) Если ты уже имеешь опыт разработки на c++, то можешь смело изучать php. Если это твой первый язык, то лучше возьми java или c#. Иначе с первым языком php ты станешь супер говнокодером.
А что ты, уважаемый ОП, хочешь вообще писать? Дело в том, что веб технологии немного не так работают.
Связка HTML+CSS+JS является шикарным средством, для создания легковесного, удобного, универсального пользовательского интерфейса. То есть по сути, можно быть веб байтоёбом.
Пишешь себе прошивку для какого-нибудь роутера или ip-камеры, или охранной системы, или ещё хуй знает какого говна, и делаешь этому всему веб интерфейс. Идеально же. По сути можно писать игры и редерить их при помощи webGL.
Есть ещё руби. RoR занимает где-то ту же нишу, что и PHP + Laravel, но типа является более приятным языком. А когда эти пидоры VM допилят - так вообще вах.
>>1158747 Чёртила, ты тупой, да? Я у тебя спрашиваю про живой, рабочий проект, а ты мне свои манялибы втюхиваешь. Вот смотри, на C написано 3/4 юзерспейса линукса, grep, find, хуё-мое, и почти весь гном, evince, nautilus, rhythmbox. На C++ есть Chrome, Firefox. На Clojure есть CircleCI. На Haskell есть XMonad и XMobar. Назови мне хотя бы одну программу, написанную на этой твоей табуретке.
Вот один вопрос. Тебе как разрабу не поебать? Какое бы ты не делал кроссплатформенное приложение, его всё равно 90% будут открывать на винде. А не на линуксе или маке.
PS: Другой анон. Не надо говорить "манёвр пошёл" и тд.
>>1158826 Пажжи. Как ты на винде откроешь связку из nginx, postgres, redis и веб-приложения, например, на кложе, которая ещё и оркестрируется докером? Не, в принципе, изрядно поебавшись, ты его запустишь, но это же буханка_из_троллейбуса.svgz
>>1158887 Там же написано, веб - это не только сайты. На C++ можно написать веб-клиент для 1С и заставить секретарш в нём сидеть. Это тоже веб технологии.
Не ОП, но тоже нахожусь в раздумьях. С тем различием, что после создания сайта нужно будет создать простенькое приложение для андройд. Скорее всего приложением заниматься буду не я, и отдадим большую часть на аутсорс, но более менее понимать что там к чему надо, потому как поддержка приложения будет на мне. Собственно по этой причине думаю вкатываться на Java, на ней же и лепить бэк. Когда то давно немного умел в C# потом поплотнее в PHP, но армия, распиздяйство и алкоголизм привели к тому, что пытаться что-то вспоминать равнозначно изучению заново. Так что выбор Java в этом случае довольно логичный
>>1158890 >На C++ можно написать веб-клиент для 1С и заставить секретарш в нём сидеть. Это тоже веб технологии. Все равно логику будет выполнять сервер, какая разница чем ты там апи дергаешь, плюсы тут нахуй не уперлись, особенно в качестве веб морды, и то, что ты написал это больше энтерпрайз
Бля, нахуй вы про Окамл вспомнили? Снова несколько дней буду жалеть о том, что он не так распространён. п.с. если бы окамл был бы более популярным, то как бы он назывался?
Идеальный язык уже давно придумали и имя ему D. Тут вам и охуенные удобные шаблоны, каких я не видел, и удобная работа со множествами без лишней ебли, и ооп какое хотите, и функциональщина, и асинхронщина во все поля, и по синтаксису все понятно, да еще и быстро, безопасно(относительно), мысли превращаются в код быстро почти как с питоном.Если бы гугл не искал во всем фатальный недостаток и не высрал то, что он высрал, а помог бы сообществу D вылизать компилятор и занялся бы рекламой языка, то мы бы давно все забыли про боль и страдания
>>1159790 Какие у тебя претензии к библиотекам? Давай с примерами. В репозиториях уже под 2к библиотек, не нпм с миллионом лефтпадов, конечно, но прилично.
Тем более язык хороший, багов мало, это тебе не го, где авторы кюбернется в рантайме переизобретают динамическую типизацию и имееют по 20к багрепортов.
>>1158726 Таки юзаем неткор второй в проде на линухе, кодим под райдером (он сейчас много шустрее visual studio + resharper) для веба и хорошего кроссплатформенного бэка отличный вариант, ты зря наговариваешь.
>>1156576 (OP) >Какой язык выбрать, если я возможно запланирую сделать сайт, который, допустим, будет хостить фильмы онлайн? Я думаю там будет большой трафик. Ну это как пример конечно. Какие ваши советы? Ты лучше подумай о жестком диске, пропускном канале и бутылке правообладателей, чем о языке программирования.
>>1161517 Что кроме выебонов даёт хаскель? Как правило у разработчика есть палка, на одном конце - производительность на другом скорость разработки. Отсюда и отталкиваемся.
>>1158734 потому что эти языки имеют стронг тайп лол. Это поможет тебе понять основы ООП лол кек пушто если первый язык будет скриптовым очень вероятно что твой код будет бессмысленной макароноподобной хуетой
>>1162173 Плюс, большая часть записей - это не работа кложе.
Чаще всего просто написано что нужно иметь опыт на одном из языков. 1+ years academic experience with one or more of the following programming languages: Erlang, Haskell, Ocaml, Scala, Prolog, Clojure, Racket, Java, Python, Go, Ruby, Perl, C, C++, SML, Scheme, Groovy, or Rust.
>>1162181 >если вы не можете переехать в Калифорнию. Да не, в Европке тоже дохуя. Вон недавно был блогпост, где автор в какой-то то ли Дании, то ли Норвегии даже не хайрил, а просто разместил объяву, типа го прямо сейчас кложу месить у кого прод-опыт есть, по деньгам договоримся, - и за 2 дня получил что-то около 30 отзывов, более чем нормально ящитаю.
>>1162182 >Так что максимум 1-2 страницы Да, ето так. But I almost got you, huh? ^_^
Кто-нибудь может мне объяснить адекватно и с аргументами, почему все льют говном с ног до головы php и js? Повторю, объяснить адекватно - без этих ваших "смузиХЛЁБЫ, НЕОСИЛЯТОРЫ, НЕ ТРУЪЪЪ КОДЕРЫ!!!11". Если блять вакансий на пыху и js хуева гора, почему бы не идти в ногу с рынком и заниматься вебом(особенно если тебе нравится это, нежели ебаться с указателями и структурами данных в крестах)? Какого хуя я должен слушать от очередного мамкиного кодера, что я веб-макакич и что я никогда не найду себе работу, хотя куда ни плюнь, везде ебучий php,js, mysql. А? А? А? Или теперь всем "веб-макакам" бросать то, что им нравится, переучиваться, и потом всю жизнь сосать хуй?
>>1162208 PHP создан человеком, который не знает и ненавидит программирование, о чем не раз заявлял, а также нихуя не понимает в языках и их реализации. пхп - хуевейший язык из всех поныне созданных и широко используемых, язык, в котором критические баги рантайма просто документируются вместо исправлений.
Ну а работ много, потому что это языки для суперпростой грязной работы, на которую нанимают студентов за дошер. Хочешь работать за дошер?
Про js красноречиво говорит количество языков, компилируемых в жс, ну и лефтпад.
>>1162238 >человеком, который не знает и ненавидит программирование >ненавидит программирование Может, он еще и матанозадротов ненавидит? В любом случае, эта характеристика звучит очень лестно для пыха. Может, туда и перекачусь.
мимо с++-ниишник, желающий перекатиться в нечто менее петушиное, чем байтоебство и матанопараша
Да я пишу на пхп и жс и ненавижу эти языки. Делаю это ради денег. Будь я мамкиным борщехлебом, то задротил какую-нибудь жаву или хаскель. Но я не могу себе позволить роскошь безработицы.
>>1158243 >Ох... ну вот я и говорю, что с тайпклассами это можно сделать, а без тайпклассов - нельзя, придется городить сотни костылей Вообще говоря, "возможность сделать инстанс чужого класса для чужого типа" называется когерентностью инстансов. У хаскеля по этому поводу одна политика, а у purescript - другая, и в последнем ты действительно будешь вынужден делать newtype для чужого типа и чужого класса. Уточню, что "чужой" в этом случе означает "определенный в другом модуле"
>>1158839 >Тот же Windows Server, IIS, так далее Исходники закрыты? Сразу нахуй. Нагрузишь это говно как-то не так, как в мелкософте, вылезет критический баг, будешь сидеть ждать пока господа снизойдут и пофиксят (это реальная история с IIS).
>>1162452 как будто бы если вдруг в апаче или энжиникс вылезет критичный баг, тебе хватит хварификации его пофиксить хотя да, сорцы открыты так же будешь сидеть и ждать заплатки
>>1162481 да нет никакого карьерного роста. зп у хаскелистов меньше в разы, это же околонаучное. java - ну это пушка. там загоны с рабами - управление 80 годов, феодализм. лучше свободный график и js. так что с точки зрения карьерного роста, он уже достиг вершины. точнее, вершины пальмы.
Единственное, что я до сих пор не хочу осиливать - это всякие вуе, ноды, тайпскрипты, реакты. мне достаточно жиквери для фронта, для бэка есть пхп. писать бэк на жс - извращение на мой взгляд.
>>1162530 не намекаю, что js - макакство. имею ввиду карьеру в программировании. я себе представлял карьеру, как процесс всей жизни. да ладно, это субъективщина.
>>1162547 Vue - годная вещь я - не тот форсер, лол. Но, если тебе не надо - не заморачивайся. jQuery - норм, не слушай тех, кто говорит, что "не нужно". Нод - только в качестве среды разработки. Ангуляры-хуяры и прочее гуглоговно - не нужно.
>>1162530 Бля, кого вообще в 2к18 интересует весь этот лангосрач, нахуй.
ООП есть? Библиотеки более-менее понятно написаны? Возможностей проебаться не хуева телега, как в крестах, например (это, в первую очередь, других макак касается, кому охота сидеть неделю отлаживать)? Коллеги не отбитые задроты-мудаки? Ну и норм язык, значится.
А вся эта илитарщина типа хуйскеля, лишпа и ирлонга - это все задротами форсится, и они же и будут коллегами в случае закатывания в эту парашу. И единственное, что их будет интересовать, как и всех закомплексованных неудачников - это почесать свое эго за счет всего, что движется.
>>1162629 >почему бы не взять нормальный XXX фреймворк?
Потому, что у людей есть уже существующие проекты, которые надо поддерживать и развивать? А не перепиливать ежеквартально, по мере выхода очередных XXX-YOBA-фреймворков?
Мир многообразен. Помимо смузи есть ещё и водка, например.
>>1162208 Ненавидят в основном веб-макак, которые пишут САЙТЫ. То есть не веб приложения со сложным функционалом, а "сайт статейник", "лендинг пэйдж" и "блог".
Ибо это не программирование, а сосание хуя. Меньше программирование чем 1С.
А самый популярный стек технологий на это дело: php+js+mysql+html5+css3+jQuery.
Поскольку от JS и разметки в вебе далеко не уйдешь, хэйтят php
>>1162776 >C Опа, вот и вскудахт байтоеба. Лучший язык в плане "плодить идиотские ошибки, которых можно было бы легко избежать, спроектировав язык нормально, а не через жопу на коленке"? Тогда да.
>Ненужное говно от иорл Но ведь на него есть спрос, не? Значит, нужно.
>Но ведь на него есть спрос, не? Значит, нужно. Миллионы мух ошибаться не могут. Язык такое же говно, как и яблочные телефоны. Хотя блин. На них же тоже есть спрос. У сотен шлюх, которые за них сосут.
>>1162781 Язык не плодит ошибки, их плодят макаки.
>>1163099 воще говоря хорошо когда язык плодит ошибку а не когда выдаёт неверный результат. Но у нас всё хорошо, лишь бы ничего не упало и похуй как оно там работает.
>>1162795 >их плодят макаки Ну дооо, конечно. https://www.youtube.com/watch?v=pi8naYUwzMc Там еще вторая часть есть, про костыли, которые они запилили для отлавливания всей этой хуйни. >>1163113 Или убивающая людей без краша в самый неожиданный момент, что гоораздо хуже. >>1163108 >хорошо когда язык плодит ошибку а не когда выдаёт неверный результат Вот это вот точно не о си-параше.
>>1162831 У задротов обычно искаженное понимание задротства. Задрот - это тот, кто любит ебать мозги задачками и мериться, у кого опердени функциональнее.
>>1163201 Да ладно, в JS вашем любимом, или php/питоне из-за динамической типизации макакены наделали просто дохуищи ошибок, хотя бы из-за того что там.
>>1162238 >PHP создан человеком, который не знает и ненавидит программирование
Блять, как же вы заебали, дауны тупые. Горите в аду мрази. Анус ваш ебал.
Он сказал "я ненавижу программировать, но люблю решать задачи".
Этим он намекает, что он практик. Он не любит кодинг ради кодинга, он любит чтобы всё работало. Да и ясно что фраза немного с юмором.
Это как во многих компаниях ПМы говорят "я ненавижу программный код, и хочу чтобы в нашем продукте его было как можно меньше". Намёк на то, чтобы не рассерали код на тыщи строк.
Вот я засуну тебе хуй в жопу. У тебя хуй в жопе. И у меня хуй в жопе.
Только у меня хуй в твоей жопе, а у тебя в жопе мой хуй. Но это детали. А без контекста звучит как одно и то же. Ненавидит программирование какой-нибудь студент политтеха с лабами на паскале. А Расмус таки программист.
>>1163320 Расмус: Я программист! Программист: А по-моему, ты говно! (Расмус стоит несколько минут, потрясённый этой новой идеей и падает замертво. Его выносят.)
>>1163271 >он практик так и есть человек-практик в философии, например, рассматривается скорее в негативном смысле как специалист, в принятии решений опирающийся на собственный опыт, чем на существующую научную теорию, на которой базируется область его работ в "проектировании" языка, если созданиние пхп можно было назвать проектированием, это заметно
Этим он намекает, что он не инженер или специалист, а мастер наколеночных говноподелий, уровня бригаты таджиков.
Лучше ли бригада таджиков нормальных архитекторов и строителей? Если нужно построить сарай - да, потому что дешевле, но возводить мосты или бизнес центры им никто не доверит, разве что в качестве рабочей силы, все равно нужны архитекторы, прорабы и прочие крановщики.
Вот пхп-шник - это такой же молдованин, лепящий примитивное говно за сверхнизкую зарплату, в 99% случаев студент на подработке.
Прильщает ли кого-то такая доля? Сомнительно, но если ничего лучше все равно не светит, то все лучше, чем в пятерочке грузчиком.
>>1163615 >Лучше ли бригада таджиков нормальных архитекторов и строителей? Если нужно построить сарай - да, потому что дешевле, но возводить мосты или бизнес центры им никто не доверит, разве что в качестве рабочей силы, все равно нужны архитекторы, прорабы и прочие крановщики. > >Вот пхп-шник - это такой же молдованин, лепящий примитивное говно за сверхнизкую зарплату, в 99% случаев студент на подработке. Схоронил в коллекцию анти-похапе паст
>>1163439 >человек-практик в философии, например, рассматривается скорее в негативном смысле
Смотря в какой философии. В материализме практик это нормальный человек, а теоретик - пиздобол собеседник.
>научную теорию Хуючную. Такие языки как coq, haskell, idris, LISP(не диалекты) и тд. Которые созданы с научным подходом. Они больше и подходят для научной деятельности. А вот для промышленной разработки подходят языки, написанные практиками и прагматиками.
C++ так ещё и не победили в нагруженых системах. Java так ещё и не победили в enterprise PHP так ещё и не победили в вебе.
А все эти научные erlang'и займут нишу и всё.
>инженер или специалист Он именно инженер и специалист. В противовес компьютерным учёным.
"Сидите, разлагаете молекулы на атомы, забыв что разлагается картофель на полях".
>>1164144 >А вот для промышленной разработки подходят языки, написанные практиками и прагматиками.
То-то в финансовом секторе так любят окамл и хаскель, а в аэроспейсе сплошняком ада, а в эмбеддеде взлетает sel4 и пошла тотальная мода все верифицировать, юзая те же сат солверы с теорем пруверами.
>>1164144 Нет, ну пиздец, научные эрланги. Ты в курсе, что когда тебе заказчик перечисляет 50 рублей на дошик за очередную гостевуху на пыхе, смска с подтверждением оплаты на карту проходит через систему, написанную на Erlang? Плюсы у него в нагруженных системах, блядь. Ну пиздец, что за толстота в моём /pr/ поселилась, блядь.
>>1164294 это не говорит что на лямбде алгоритм реализуется так же просто (понятно, эффективно по времени и памяти). для императивных яп не нужно даже знать что такое рекурсия. поменять в участке памяти один элемент на другой. - это все исходит из работы машины.
если попробовать ответить на вопрос почему в эрланг то или иное делается именно так и не иначе, то на это уйдет много времени. тот кто в этом понимает, тот не практик. на си гораздо меньше всех этих вещей и практик может ответить на многие вопросы. тоже самое и с руби. ну по крайней мере может попробовать ответить прост очитая исходный код без обращения к научным публикациям.
Видел не раз, нытье про то что ущербную пеху выебут нод жстовцы и пиздонисты, но могу сказать одно. Язык обошел море всяких днище проектов и прочего говна.
PHP будет востребован еще лет 5-10, без каких либо серьезных проблем.
Вся та дурь витаремая про то что якобы ИНТКПРЫТЫРУЭМЫЕ ЯЗЫКИ ГАВНО!1!1!!1! Жаба бырее, хаскель удобнее - могут идти подальше.
В каждом инт языке присуствует компилятор из чел кода в набор команд.
90% сайтов сделанны на php, язык прошел многих врагов и будет жить дальше, хороший старт и получение реального опыта. Есть фреймворки, и вполне реально собрать проект лишь на композере.
Из минусов могу отметить лишь то что этот язык заточен под шаблонизацию и не может поддерживать онлайн приложения. (Есть не офицальное решение, но оно пролетает)
>>1192560 >Язык обошел море всяких днище проектов и прочего говна. В днище проектах и прочем говне и остался. Там и будет десятилетиями, ибо похапешники ничего больше не знают.
Надеюсь здесь есть люди, которые имели опыт разработки бэкенда для веб-приложений. Я начал изучать веб стек. Пока изучил html, css и javascript версии 3. Как закончу изучать js 6, планирую изучать язык для бэкенда. Но выбор не очевиден.
Конечно я, с высоты моей неосведомленности, больше склоняюсь к PHP. Послушал лекцию 2017 года создателя этого языка и еще одно интервью. Там все так радужно с новым PHP, что по производительности он стал в разы быстрее. А на счет многозадачности, которую противопоставляют языку PHP, сравнивая с node.js, разработчик PHP говорит, что PHP не дает возможности для этого, потому что для высоконагруженных приложений нужно разделять приложение на составляющие, т.е. разные задачи должны решать разные сервера, а не все на одном. И исходя из этого node.js теряет свое преимущество, потому что для легких приложений подойдет любой язык, а для тяжелых все равно придется разделять архитектуру.
Обращаюсь к опытным анонам. Какой язык выбрать, если я возможно запланирую сделать сайт, который, допустим, будет хостить фильмы онлайн? Я думаю там будет большой трафик. Ну это как пример конечно. Какие ваши советы?