Если вы просматриваете вопросы по коду для игры в гольф на StackExchange , вы заметите множество нестандартных, но реальных языков (например, не мозг-f * ck), таких как F # , Scala , R , J и Clojure . Посещая их сайты, некоторые языки выглядят интересно, решая проблемы на любом языке, который вы уже используете.
Однако в свободное время есть кодирование и кодирование за деньги. Самое близкое, что мы имеем к правде о том, кто использует язык, - это индекс TIOBE , в котором ни один из вышеперечисленных языков не указан в топ 10-15. Что заставляет меня задуматься, буду ли я когда-нибудь ими пользоваться.
Должен ли я вообще потрудиться изучать некоторые из небольших нишевых языков? Не похоже, что я буду зарабатывать деньги, а некоторые, возможно, все равно потерпят неудачу.
Ответы:
Гипотеза Сапир-Уорф . Более или менее говорится, что то, о чем вы можете думать, ограничено тем, что у вас есть язык для описания. Следствием этого является то, что люди, говорящие на разных языках, могут мыслить так, как не могут говорить носители одного языка.
Многие люди (включая меня) считают, что это относится и к программированию. Изучение Lisp, например, научит вас совершенно новому взгляду на проблемы, которые вы можете применить к C #, Java или Python. Чем больше языковых парадигм вы выучите, тем больше инструментов будет в вашем наборе мыслей, независимо от того, какой язык вы на самом деле используете.
источник
Я бы выучил любой язык, который знакомит меня с понятиями и парадигмами, которых я никогда раньше не видел. Вот почему я изучил haskell и схему - они познакомили меня с функциональным программированием и в основном функциональным программированием соответственно. Меня бы не волновало, широко ли использовались схема и haskell, кроме того, как это повлияло бы на доступную документацию и ресурсы.
В общем, если маленький нишевый язык знакомит вас с новыми концепциями и парадигмами (особенно теми, которые вы можете применять к другим языкам), то учитесь на расстоянии!
Другие причины, по которым вы можете изучать «маленький / нишевый» язык:
Язык позволяет вам решать определенную (тип) проблему «лучше» (быстрее, с лучшим решением, более мобильно и т. Д.), Чем любой другой язык
Язык позволяет вам решать проблемы так же, как и популярный язык, но у него есть некоторые интересные функции, которые вам нравятся (например, clojure)
источник
Ну, я использую Clojure (один из «нишевых языков», о котором вы упомянули) и обнаружил, что это был очень полезный опыт.
Лично я бы уделил ограниченное внимание вещам, таким как TIOBE - они на самом деле не говорят вам ничего, кроме того, что было популярно в прошлом. Возможно, это полезно, если вы хотите работать со старыми системами, в меньшей степени, если вы хотите учиться и расширять свой кругозор.
источник
Причиной изучения нишевого языка редко является ожидание, что вы будете использовать его напрямую (за деньги или иным образом). Обычно это изучение какого-то нового аспекта или стиля программирования. Это, вероятно, сделает вас лучшим (и, возможно, более ценным) программистом, даже если вы никогда не используете этот язык для создания «производственного» кода.
источник
Выступая в качестве профессионального разработчика на нишевом языке , можно зарабатывать на жизнь. Хотя есть и плюсы и минусы.
Вещи, которые сложнее:
Вещи, которые проще:
Вещи, которые просто являются :
В целом, если карьера - ваша забота, вы никогда не должны быть пони, фокус или ниша с одним фокусом.
источник
В настоящее время я изучаю Ruby, используя его для решения задач Project Euler , просто потому, что большую часть своего дня я провожу за программированием на C или PHP (а иногда и на C #) и хочу расширить свой кругозор. Пока это действительно открыло мне глаза на то, что можно сделать. Даже если я никогда не использую ее для какой-либо «настоящей» работы, я считаю, что время, потраченное на ее изучение, будет иметь смысл
источник
Согласитесь со всеми упомянутыми пунктами. Другой мотивацией для изучения нишевого языка является возможность того, что язык когда-нибудь станет очень популярным. В этой ситуации ваши ранние инвестиции в язык могут привести вас к работе над влиятельными структурами и элементами языка, которые могут быть востребованы в будущем.
Если язык действительно станет популярным, вы уже будете в нем владеть, и, следовательно, вы будете пользоваться высоким спросом.
Низкая вероятность, потенциально высокая награда.
источник
Как уже говорили другие, изучение нишевого языка только потому, что это нишевой язык, не имеет особого смысла. Тем не менее, часто нишевые языки исследуют концепцию дальше / более глубоко, чем обычные языки могут себе позволить или хотят.
И иногда нишевые языки встречаются намного дольше, чем любой из основных языков - Smalltalk, Prolog и Lisp. Они могут быть не популярны, но они не исчезают.
источник