Se você pesquisar as perguntas sobre códigos de golfe no StackExchange , verá uma tonelada de idiomas não padronizados, mas do mundo real (por exemplo, não brain-f * ck) como F # , Scala , R , J e Clojure . Visitando seus sites, alguns dos idiomas parecem interessantes para solucionar problemas em qualquer idioma que você já esteja usando.
No entanto, há codificação no tempo livre e codificação por dinheiro. A coisa mais próxima que temos da verdade sobre quem usa um idioma é o Índice TIOBE , que lista nenhum dos idiomas acima nos 10 a 15 principais. O que me faz pensar se vou usá-los.
Eu deveria me preocupar em aprender alguns dos pequenos idiomas de nicho? Não parece que eu estaria ganhando dinheiro, e alguns provavelmente irão falhar de qualquer maneira.
fonte
Respostas:
A hipótese de Sapir-Whorf . Afirma, mais ou menos, que o que você pode pensar é limitado pelo que você tem o idioma para descrever. A conseqüência disso é que as pessoas multilíngues são capazes de pensar de maneiras que os falantes de um único idioma podem não ser capazes.
Muitas pessoas (inclusive eu) acham que isso também se aplica à programação. O aprendizado do Lisp, por exemplo, ensina uma maneira totalmente nova de pensar sobre os problemas que você pode aplicar ao C # ou Java ou Python. Quanto mais paradigmas de linguagem você aprendeu, mais ferramentas estarão em sua caixa de ferramentas mental, independentemente do idioma que você está realmente usando.
fonte
Eu aprenderia qualquer linguagem que me apresentasse conceitos e paradigmas que nunca vi antes. Foi por isso que aprendi haskell e esquema - eles me apresentaram a programação de funções e a programação principalmente funcional, respectivamente. Eu não teria me importado menos se o esquema e o haskell fossem amplamente usados, além de como isso afetaria a documentação e os recursos disponíveis.
Então, basicamente, se uma pequena linguagem de nicho lhe apresentar novos conceitos e paradigmas (especialmente aqueles que você pode aplicar a outras línguas), aprenda!
Outras razões pelas quais você pode querer aprender um idioma 'pequeno / de nicho':
O idioma permite que você resolva um problema específico (tipo de) 'melhor' (mais rápido, com uma solução melhor, mais portável, etc.) do que qualquer outro idioma
O idioma permite que você resolva problemas tão bem quanto um idioma popular, mas possui alguns recursos interessantes que você gosta (por exemplo, clojure)
fonte
Bem, eu estou usando o Clojure (um dos "idiomas de nicho" que você mencionou) e descobri que foi uma experiência muito interessante.
Pessoalmente, prestaria atenção limitada a coisas como TIOBE - elas realmente não dizem muito além do que era popular no passado. Útil, talvez, se você deseja um emprego mantendo sistemas antigos, menos se deseja aprender e ampliar seus horizontes.
fonte
O motivo de estudar um idioma de nicho raramente é a expectativa de que você o use diretamente (por dinheiro ou de outra forma). Geralmente é para aprender algum novo aspecto ou estilo de programação. Isso provavelmente o tornará um programador melhor (e sim, provavelmente mais valioso), mesmo que você nunca use essa linguagem para produzir código de "produção".
fonte
Falando como desenvolvedor profissional em um idioma de nicho , é possível ganhar a vida. Existem vantagens e desvantagens, no entanto.
Coisas que são mais difíceis:
Coisas que são mais fáceis:
Coisas que apenas são :
No geral, se uma carreira é sua preocupação, você nunca deve ser um pônei de um truque, mainstream ou nicho.
fonte
Atualmente, estou aprendendo Ruby usando-o para resolver problemas do Project Euler , apenas porque passo a maior parte do dia programando em C ou PHP (e algumas vezes em C #) e quero ampliar meus horizontes. Até agora, isso realmente abriu meus olhos para o que pode ser feito. Mesmo que nunca o use para qualquer trabalho "real", acredito que o tempo gasto aprendendo sobre ele valerá a pena.
fonte
Concorde com todos os pontos mencionados. Outra motivação para aprender um idioma de nicho é a possibilidade de que um dia se torne muito popular. Nessa situação, seu investimento inicial no idioma pode fornecer pistas para o trabalho em estruturas influentes e elementos do idioma que possam estar em alta demanda no futuro.
Se o idioma se tornar popular, você já estará qualificado e, portanto, estará em alta demanda.
Baixa probabilidade, recompensas potencialmente altas.
fonte
Como outros já disseram, aprender um idioma de nicho apenas porque é um idioma de nicho não faz muito sentido. Muitas vezes, porém, as linguagens de nicho exploram um conceito mais / mais profundamente do que as linguagens convencionais podem ou querem.
E, às vezes, os idiomas de nicho já existem há muito, muito mais tempo do que qualquer um dos idiomas principais - os idiomas Smalltalk, Prolog e Lisp saltam à mente. Eles podem não ser populares, mas também não estão desaparecendo.
fonte