Хотелось бы узнать как вы выбираете язык программирования для своих проектов?
Недавно задался интересным вопросом, исходя из чего стоит выбирать язык для проекта? Сам уже заканчивал несколько проектов, и в вебе чаще всего выбирал php/typescript для бека, а в андроиде выбирал kotlin. И вот сейчас задался вопросом почему именно так? Знаю что бывают быстрые языки, бывают компактные, но если уж сравнивать вся языки то большинство мало чем отличается. Например kotlin и typescript, python и haskel и swift очень похожи. Вот так мне и стало интересно чем конкретно вы исходя из своего опыта руководствуетесь, просто я хотел бы начать пару своих проектов в вебе и не только, и не могу определится. Вот как-то так, надеюсь не начну холивара.
очень просто - тот на каком проще реализовать задачу тот и использую. временами даже десктопные GUI приложения пишу на PHP(сейчас правда больше использую ElectronJS), а мобильные(Android) на JS c Cordova..
kotlin и typescript, python и haskel и swift очень похожи
пошли в родителей))
языки зачастую создают не из-за того что имеющиеся чем-то кардинально не устраивают или авторы придумали придумали новый революционный подход, а как часть экосистемы корпорации и/или способ подсадить народ на свои продукты, яркие примеры - это MS - VBscript. Apple - Swift, JetBrains - Kotline(хотя в данном случае это скорее надстройка)
Я понимаю что языки обычно выбирают просто из личного отношения и опыта в этих языках, просто иногда кажется что перебор писать всё на одном языке и может есть выход по лучше, так и родился мой вопрос. Особенно после прочтения о проектах где и бек, фронт, мобилки и десктоп написан на одном только Js или Kotlin или C#. Сам даже подумывал полностью написать сайт на kotlin)
AleksKlepow, просто некоторые языки заточены под конкретные задачи и их инструментарий больше для этого подходит. но если Вы хорошо знаете какой-то язык и нет явных минусов в его использовании в данном случае, то почему бы нет? естественно для создания gui приложений на php или python нужно будет доп.софт, например, чтобы на php создать gui приложение потребовалось написать адаптер на pascal(Delphi) для обмена данными по IPC протоколу т.ч. фактически GUI элементы создаются другой программой, но самим процессом можно управлять полностью из php - создавать окна с UI элементами, другой аналогичный вариант работа через COM/ActiveX
Антон Шаманов, Java ещё как фигурирует, и после просмотра вакансий удивился что вакансий Java даже больше чем python и php. Просто заинтересовало что чаще вижу js и python разработчиков на всяких форумах и на том-же хабре
AleksKlepow, не бери пример с него. GUI приложения на скриптовых языках, потому что "других языков не знаю". Весело же. В итоге мы получаем кучу говно "софта". Их распухшие дистрибутивы, куча посредников в в софте, по типу микросерверов и т.д. Идиотизм в чистом виде.
Антон Шаманов, а я не лезу в веб. Я пишу на десктоп и мобилки.
Помимо делфи, я знаю Шарп, питон, пхп и джс. Если надо, делаю там. В остальном, делфи справляется лучше большинства
Hemul GM, ты б еще тут на табурет встал и стишок рассказал... делфи это среда, а не язык, а сам по себе паскаль давно не жизнеспособен ты цепляешься за него потому что ты его лучше знаешь.
Антон Шаманов, Мда. Делфи - это язык программирования, появившейся в 1995 году. Среда - RAD Studio. Делфи - это язык, диалект Object Pascal. Не жизнеспособны твои аргументы. А ты, не знаешь о чем говоришь. Делфи - это кроссплатформенный язык программирования. С нативной компиляцией под винду, андроид, линукс, мак, иос и т.д. Хоть бы сначала почитал что ли, прежде чем что-то пытаться доказать.
Антон Шаманов, можешь зайти на мой гит, он ни для кого не секрет. Затем, сравнить его со своим. Увы, к сожалению, кода на js и php ты там не найдёшь особо, т.к. он только в проде в компаниях, где я работал.
Антон Шаманов, ты - клоун.
1. Я не читал твои комменты. Я читал твой ответ (а в ответе этого нет, клоун)
2. Делфи - это язык, а не только среда. Да, были версии среды с одноименным названием. Только тем не менее, Делфи - язык, а среда это Borland Delphi или далее RAD Studio. Я тоже начинал не с RAD Studio. Так что утрись.
Насколько нужно быть ущербным человеком, чтоб пытаться принизить оппонента, назвав его "малым".
Язык подбирают под задачу. Если проект делается под заказ, и под требования проекта подходят 2-3 языка, выбирают 1) Самый распространенный на рынке, с большим количеством спецов достаточной квалификации. 2) В случае сформированной команды - язык который хорошо знает большинство членов команды.
Если это личный проект в аналогичных условиях - 1) Хорошо изученный язык, если проект задуман для выполнения в короткий срок или нужен как рабочий инструмент/коммерческий продукт. 2) Специально выбирается малознакомый язык, дабы сделать на нем что-то более-менее серьезное и прокачать скилл.
Прочие маловстречающиеся случаи в принципе плюс-минус укладываются в описанные кейсы.
Пожалуй лучший ответ. Вопрос: как можно определить насколько язык распространён на рынке? Допустим для веб проекта подходят Python, Kotlin, TS все эти языки распространены на рынке (ну разве что кроме Kotlin), в таком случае кидать жребий?
AleksKlepow, Идешь на сайт вакансий, смотришь сколько резюме по Python, Kotlin, TS, охреневаешь от количества PHP прогеров, в итоге пишешь на Ларавеле....
Здесь всё проще чем кажется. Для десктоп софта подходят компилируемые языки. Они работают на порядок быстрее и имеют обширные возможности, которые легко расширить самостоятельно.
не стоит выбирать скриптовые языки для программ с GUI. Не стоит выбирать веб-устоявшиеся языки для разработки приложений вообще.
Для веба используешь js, для серверов уже вариантов побольше (php/nodejs/ruby/c#...)
Для десктопа или мобилок из множества компилируемых языков в зависимости от задачи. Т.к. многие языки имеют разный набор готовых решений/шаблонов, которые ускорят разработку. Где-то больше игровых движков, если пишешь игру, где-то больше для работы с вебом, если пишешь бекенд. Где-то больше возможностей для создания приложений с GUI.