Tačiau kalbant apie patį programavimą, nelabai matau, kaip daugiau kalbų mokėjimas suteikia daugiau galimybių. Viskas, ką tu gauni, tai daugiau būdų parašyti tą patį. Taip, vieni iš tų būdų atrodys gražiau, ar gal net bus truputį efektyvesni, nei kiti. Tačiau kai programa bus sukompiliuota ir paleista, jis darys tą patį, ar ne?
Be programos sukompiliavimo ir paleidimo dar yra jos maintaininimas, pildymas, bugų tvarkymas, ir čia jau gali labai pasijausti, kokia kalba (ir kokio programuotojo) ji rašyta. O dar yra skirtingos platformos, ir ne visos kalbos vienodai gerai veikia visose platformose. Dar būna, kad tenka tęsti kitų pradėtą darbą, ir jei tas darbas pradėtas pythonu, tęsti irgi geriausia pythonu. (Na bet galima perrašyti tą poros metų darbą iš naujo nuo nulio su PHP, nes „kai bus paleista, darys tą patį“
) Dar būna, kad kai kurios kalbos konkrečiai užduočiai atlikti turi žymiai daugiau ir/arba geresnių įrankių už kitas. Kalbėdamas apie įrankius turiu omeny ne tik pačios programos featurus, bet ir įvairias bibliotekas, frameworkus ir pan.
Jei programuoji kažkokiame idealistiniame pasauly kur neegzistuoja terminai ir programuotojams nereikia mokėti už jų laiką ir palikti bugai neatsiliepia piniginei ir t.t., tai taip, visos programavimo kalbos ir programavimo būdai yra panašiai geri nepriklausomai nuo užduoties.
Ble, žinok, norėčiau pamatyti, kaip tu suprogramuoji ką nors netrivialaus keliomis programavimo kalbomis. Spėju, kad kažkur ties generic tipais arba kokiu suktesniu rekursijos atveju, staiga atrastum savyje truputį daugiau kuklumo
Aš paaiškinau, ką turiu omeny sakydamas domėtis giliau. Bet galiu pakartoti kitais žodžiais. Domėtis tų kalbų principais, domėtis
kodėl jos tokios, kokias problemas buvo mėginta išspręsti pvz. apribojant pointerių naudojimą arba neleidžiant implicit kintamųjų tipų kaitaliojimo. Jei tik bukai iškalsi kitokią sintaksę, aišku, naudos nedaug. Jei bent iš dalies
suprasi tą kalbą, įgytas žinias galėsi panaudoti programuodamas ir kitomis kalbomis.
O rekursija yra lengva.
Kiek tai liečia mane, tai Java yra kažkoks senovinis dinozauras, kurį kažkiek mokėjau jaunystėje. Dabar su ja susiduriu tik todėl, kad Scala sukasi ant tos pačios virtualios mašinos (kas kartais praverčia, nes galiu naudoti Javines bibliotekas). O Php irgi yra senovinė skriptinimo kalba, kurią kažkas dar tebenaudoja (spėju - daugiausia dėl legacy priežasčių).
Tai tada tu gyveni kažkur savame pasauly, menkai tesusijusiame su mums visiems įprastu. Java yra populiariausia programavimo kalba ir pirmoje vietoje pagal job openings. PHP mažiau populiari, bet irgi papuola bent jau į top 5 pasauly, ir manau bent jau top3 Lietuvoje pačiu blogiausiu atveju. Šioje vietoje beje visai būtų smagu, jei ji būtų naudojama tik dėl legacy priežasčių ir nudustų kuo greičiau tuo geriau. Bet kol kas į tai nepanašu, nors javascriptas po truputį ir paveržinėja rinkos dalį.
Bet kuriuo atveju, tiek patyręs Java, tiek Php programuotojas iš esmės gali suprogramuoti tuos pačius - net ir labai sudėtingus - dalykus. Klausimas yra
...per kiek laiko, su kiek bugų, kaip lengvai/sunkiai readable/maintainable kitiems programuotojams, kokiu greičiu suksis, koks saugumas
Realiame pasauly svarbūs šie klausimai. Nes jie lemia pelną ar nuostolius. Dar tiesa yra svarbus vienas toks klausimas – kiek programavimo kalba populiari. Jei aš išeisiu iš darbo, kaip lengva bus rasti, kas tęstų. Galimai todėl man daug kur primygtinai siūlė neprogramuoti ne tik Brainfucku, bet net ir Golang
Be to, viena iš savybių kurios gerą programuotoją daro geru, yra mokėjimas pasirinkti tinkamiausius įrankius. O tam reikia žinoti daugiau, nei vieną įrankį.