Experiências com linguagens que não são main-stream

14 respostas
louds

Gostaria de compartilhar e discutir a experiência que cada um tem com linguagens que realmente estão fora do dia-a-dia de 99% das empresas. Falo de linguagens como Ruby, Erlang, Haskell, Scheme, Lisp, ML, O’Caml, forth e similares.

Ruby certamente é a única que está em trânsito para o main-stream, dado que gerentes agora até sabem que ela existe, mas as demais tenho certeza que deve dar para contar nos dedos quantos deles em SP conhecem.

Eu já brinquei com várias das que citei, principalmente Erlang, Ruby e Scheme. Das quais Ruby foi a que menos me chamou a atenção, não sei se é pela familiaridade com Java e C, ou pelo fato de ser menos interessante que as outras duas.

Uma das coisas que mais me irrita é o fato de que o pessoal administrativo acredita piamente na teoria do ‘one size fits all’, que o desenvolvimento deve ser padronizado em torno de apenas uma linguagem. Já ví muitos e muitos casos onde a linguagem em questão, quase sempre Java, C# ou C/C++ era uma das piores opções, na qual usar uma linguagem menos popular não somente iria acelerar o desenvolvimento quanto iria produzir melhores resultados.

Um desenvolvedor que não consegue de aprender uma nova linguagem em poucos dias tem que se matar, pois independente da sua forma e paradigma, o raciocínio envolvido em desenvolver software não está relacionado diretamente à linguagem utilizada.

14 Respostas

R

É por essas e outras que eu sou contra o ensino de linguagens de programação em universidades. A pessoa deve aprender lógica ao máximo, linguagens são parecidas, o que muda é a sintaxe. Quando o aluno aprende apenas determinada linguagem, ele se prende demais a ela, dificultando a passagem a outras, achando que a que ele sabe é a melhor de todas.

T

Algo que é interessante nessas linguagens que não são mainstream é que na verdade elas são até mais antigas que o Java (em termos de idade, não de filosofia ou tecnologia).

  • Java: 1995
  • Ruby: 1995
  • Python: 1991
  • Erlang: 1987
  • Haskell: 1990 (Haskell 1.0)
  • Lisp: 1958
  • Scheme: 1975 (note que Scheme é um dos dialetos do Lisp)
  • ML: 1973
  • OCaml: 1996 (Um dialeto de ML)
  • Forth: por volta de 1970 (sistematizada em 1977)

Ou seja, muitas dessas linguagens acabaram ficando restritas a nichos - como é o caso da Erlang, ou classificadas como linguagens de script (como é o caso do Ruby, do Python e do Perl. ) Ou então as pessoas foram imunizadas contra algumas dessas linguagens na faculdade (com o é o caso do Lisp, ou em tempos mais modernos do Haskell).

louds

Thingol, quando você fala em imunizadas, da a entender que aprender Haskel é ruim. É isso mesmo?

O fato de não existir nenhuma linguagem importante desenvolvida recentemente meio que indica que a pesquisa nessa área estagnou a partir da segunda metade da década passada.

Eu conheço apenas duas linguagens desenvolvidas nesta década que valem a pena ser estudadas, Scala e Fortress, a primeira é uma salada dificil de decifrar feita por pesquisadores franceses, a outra é um projeto de pesquisa do Guy Steele.

F

Olá,

SmallTalk cairia nesse caso de nao ser main-stream?

]['s

T

louds:
Thingol, quando você fala em imunizadas, da a entender que aprender Haskell é ruim. É isso mesmo?

Claro que não (aliás eu mesmo estava tentando aprender um pouco - mal passei do conceito de “currying”).
Falo “imunizadas” porque muitas vezes a matéria em que essas linguagens foram introduzidas era muito “estratosférica” para nós, pobres mortais, e a pessoa que teve de aprender algum rudimento de Haskell para poder passar nessa tal matéria acabou ficando com “anticorpos” contra a linguagem.
Muitas vezes há boas aplicações práticas das linguagens que não seguem o paradigma procedural ou OOP - como é o caso do Linux Linspire, cuja configuração é feita em Haskell - mas normalmente os exemplos são muito estratosféricos também, o que ajuda a afastar as pessoas.

louds

fabgp2001:

Olá,

SmallTalk cairia nesse caso de nao ser main-stream?

]['s

Quase, SmallTalk já fez bastante sucesso, mas tem um bom tempo que caiu no ostracismo. Apesar disso, não deixa de ser uma linguagem fabulosa.

ASOBrasil

louds:
Gostaria de compartilhar e discutir a experiência que cada um tem com linguagens que realmente estão fora do dia-a-dia de 99% das empresas. Falo de linguagens como Ruby, Erlang, Haskell, Scheme, Lisp, ML, O’Caml, forth e similares.

Pelo título pensei que você fosse falar um pouco do que você gostou em cada linguagem dessa que você estudou! Exemplo: “Achei Haskell muito boa para ser utilizada quando XXX, o que mais gostei nesta linguagem foi XXX, coisa que se fosse fazer em Java daria um trabalho danado pois XXX” algo do tipo!

ASOBrasil

louds

Cara,

Das que eu realmente gasto tempo, que são Erlang e Scheme, só posso falar bem. Erlang faz programação concorrente e distribuida ser tarefa que até estagiário consegue fazer e Scheme consegue ser extremamente simples e ao mesmo tempo oferecer recursos avançados como macros higiênicas.

F

Pois é, eu andava brincando estes tempos com SmallTalk achei bem legal. :smiley:
Agora essas que tu comencou ai só de ouvir falar.

Pergunta, vale a pena o tempo de estudo pelo menos pra abrir um pouco a mente? Pra mim aprender SmallTalk foi proveitoso.

]['s

M

Olha só, não sou o tipo de pessoa que estuda linguagens apenas por prazer, normalmente existe um propósito além do prazer de aprender. Já utilizei um pouco mais de meia duzia linguagens diferentes, na sua maioria ‘populares’.

Porém entre as que não são o foco das empresas de hoje ja tomei a iniciativa de estudar SmallTalk, não diria que foi bem por iniciativa própria - foi mais pela faculdade, mas depois gostei e fui um pouco mais afundo.

Gostaria de adicionar algumas outras linguagens que, não diria que estão fora de foco das empresas, mas linguagens que possuem um grande legado, linguagens que hoje em dia empresas costumam não adotar em seus projetos - muitas delas intimamente ligadas e SGBDs - como: Clipper e Progress, sendo que com esta última já programei um bocado, bem produtiva porém, códigos macarronicos interminaveis.

Alguém mais tem ideia de outras linguagens?

Kknd

Opa. Estou brincando com Haskell (GHC + gtk2hs), e estou gostando MUITO!
Especialmente do fato que o GHC pode compilar para código nativo e atuar como interpretador ao mesmo tempo (compilando, o GHC passa o código em Haskell para C-- (lingagem intermediária) e então esse código é compilado.

Juntando isso + o gtk dá pra se divertir =)

Java_Vinicius_Machin

Pra mim (aprender Smalltalk), até agora, também! Ajuda a pensar mais “OOmente” possível! (Dado que como todos devem saber até simples expressões aritméticas são mensagens e inteiros - tipos primitivos em Java- são objetos, entre outros).

{}'s :smiley:

Fabio_Kung

Ando metido numa experiência com Scheme. Interessante demais; abre bastante a mente. Sempre me interessei por linguagens funcionais, impulsionado pelo JavaScript, que eu adoro e por isso todo mundo me critica.

Mas eu acho o resultado final com Scheme muito ilegível. Precisa estar bem acostumado com a linguagem para poder “decifrar” um pouco o código.

Também conheço um pouco de Ruby. Gosto bastante.

G

louds:
Cara,

Das que eu realmente gasto tempo, que são Erlang e Scheme, só posso falar bem. Erlang faz programação concorrente e distribuida ser tarefa que até estagiário consegue fazer e Scheme consegue ser extremamente simples e ao mesmo tempo oferecer recursos avançados como macros higiênicas.

Mexi com Earlang na cadeira de paradigmas mas nao cheguei a mexer ao ponto de ter uma opinião bem formada a respeito. Fiz só uns hello world da vida por assim dizer. Na época pelo o que eu me lembro é que Earlang é uma boa opção pra ser utilizadas em ambientes distribuidos como call centers.

Criado 6 de março de 2007
Ultima resposta 7 de mar. de 2007
Respostas 14
Participantes 10