Jezyki spoza mainstreamu

1

Po przeczytaniu niektorych odpowiedzi w watku o C# zastanawiam sie jak traktowac jezyki spoza mainstreamu (czyli powiedzmy typu: Groovy, Haskel, Scala, F#, Ruby, Erlang etc. Nie chodzi mi o dziwactwa typu Brainfuck).

W chwili obecnej poruszam sie w miare sprawnie w nazwijmy to językach mainstremowych, ale widze ze jezyki wymienione na poczatku, przewijaja sie coraz czesciej w necie. Czy nauczenie się któregoś z powyższych faktycznie jest w stanie zwiększyć moją wydajność (znam dosc dobrze Bash/Perl) albo ulepszyć wykonywanie pewnego typu zadań, czy bardziej podchodzi to pod cwiczenie nowych umiejetnosci i sposobow myslenia?

2

I jedno i drugie, bo istnieje szansa znalezienia pracy w jednym z tych języków. Jednocześnie znajomość mainstreamowych języków z odpowiednich platform jest zaletą bo w takim groovym i scali można korzystać z javowych klas, przypuszczam że w F# masz dostęp do całego .net. Rubiego nie nazwałbym językiem spoza mainstreamu ;)
Poza tym znajomośc niektórych języków pomaga nabrać dobrych nawyków. Taki Erlang jest dość specyficzny, ale pozwala nabrać dobrych nawyków w kwestii współbieżności i równoległości (np. dlatego że ma zmienne immutable single assignment).

1

Poszerzy horyzonty na pewno, ale myślę, że jak będziesz na siłę przenosił idiomy z jakiegoś języka do jakiegoś zupełnie innego (w sensie paradygmatów programowania) to twój kod będzie wyglądał jak UFO dla twoich kolegów i będą na ciebie krzywo patrzeć.

0

Niektóre z wymienionych języków powoli wychodzą z mainstreamu. W Rubym ludzie piszą projekty od jakiegoś czasu. W Scali również. Grooviego też się przemyca do projektów javowych. Chociażby Gradle jest prawie w połowie napisany w Groovy (wg Githuba w 44.2% ;-)), więc jeśli ktoś korzysta z tego systemu, to już ma chociażby jeden plik build.gradle w Groovy w projekcie. Nie wiem, jak z popularnością Haskela i F# w codziennych projektach. Myślę, że warto poznać bliżej te języki. W przypadku Javy, w niektórych sytuacjach, choć nie we wszystkich, wstawki z Grooviego mogą przyspieszyć pracę. Dotyczy to zarówno projektów back-endowych, jak i mobilnych (Android). Jest prezentacja z Confitury dot. pracy z legacy codem i jego analizy, w której była mowa o Groovy i jego zastosowaniu w projektach. Polecam jej poszukać na youtube. Sam jedynie liznąłem te niemainstreamowe języki, ale chciałbym się im bliżej przyjrzeć (na początek jednemu), bo wszystkie osoby, które coś w nich pisały, mówiły mi, że zmieniają one sposób myślenia. Każda dodatkowa wiedza poszerza horyzonty.

1 użytkowników online, w tym zalogowanych: 0, gości: 1