Tarpeen mukaan valitaan kieli, siihen liittyy niin paljon muuttujia että aika turha listata tässä kaikkia. Muutamia kuitenkin mainitakseni: asiakkaan ympäristöt, asiakkaan tarpeet, tiimin osaaminen, tiimin kiinnostus oppia uutta, ylläpidettävyys jne.. Teoriassa kaiken voisi kirjoittaa Haskellia käyttäen, mutta onko se järkevää - niin ehkäpä ei.
Omat suosikit on varmaan compile-to-JS-kielet (Elm, ReasonML/BuckleScript, PureScript, TypeScript) sekä JVM maailmasta Clojure ja Kotlin. Haskellia tekisi mieli opetella enemmänkin, Elm lähtee vähän enemmän siitä kulmasta että käytöntö ensin. Kirjoitan työkseni JavaScript / TypeScript / (Flow) / Java -kielillä, ja kyllähän sitä itse tiedostaa ne vaikeat/huonot paikat noissa kielissä. Missä asiat olisi voinut tehdä eri tavalla. Harrastepuolella omia suosikkeja on Clojure, Elm ja Kotlin - näillä tulee siis lähinnä testailtua miltä noiden kielten kanssa toimiminen tuntuisi. Haskell, Elixir, Prolog noistakin on vähän kokemusta, mutta kun omassa työssä näille ei ehkä ole suoraa käyttöä.
En mielellään kirjoita PHP:llä nykyisin mitään, eikä ole tarvetta. Ymmärrän kuitenkin että maailmassa on sen verran paljon PHP koodia, että tällekkin on paikkansa. MUMPS on sellainen kieli mitä ei kyllä mielellään lähtisi kirjoittamaan - tarpeettoman epäselvää ja huonosti luettavaa. Ylläpitomielessä kun pitää miettiä myös sitä, millaista osaamista on saatavilla nyt - tai mahdollisesti tulevaisuudessa.
Kyllähän std - kirjasto ja v8 on huonoa mainosta C++:lle. Kotlin on kyllä myös yksi esimerkki huonosta kielestä. Sehän pyörii Javan päällä kuten processing. En tajua miksi se tarvitsee Javaa yhtään mihinkään. Ihan oma kieli ilman mitään Java kytköksiä olisi ollut parempi. ...
Kotlin, Clojure, Scala ja muut JVM päällä pyörivät kielet ovat fiksuja siinä - että käyttävät JVM ekosysteemiä hyväkseen. Kuitenkin tuotantokoodista kun puhutaan, niin on järkevää käyttää jo olemassa olevaa alustaa hyödyksi. Javasta kielenä toki voi olla montaa mieltä, mutta ekosysteeminä se on sen verran laaja ja laajalle levinnyt että mielummin sitä ottaa järkevän kielen joka hyötyy JVM:stä. Kuin koodailee kotona sitten jollain esoteerisemmalla kielellä, ja naputtelee Java 6 töissä.