Ką norėtumėte būti išmokę anksčiau?

Pokalbiai prie alaus. Gali kalbėti ir abstinentai, tačiau praras pusę malonumo :)
User avatar
Vilius
administratorius
Posts: 3821
Joined: 2004-04-19 12:28
Location: Bruxelles

2018-03-31 00:54

Sejanus wrote:
2018-03-30 19:17
Mokėdamas daugiau kalbų, turiu daugiau galimybių. Galimybių rasti/pakeisti darbą, galimybių kažką atlikti geresniu būdu, pritaikyti kitokiai aplinkai, ir t.t.
Dėl darbo radimo dalies sutinku. Tikrai gražiau atrodo CV su keliomis programavimo kalbomis, nei su viena.

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?
Sejanus wrote:
2018-03-30 19:17
Antra, mokydamasis naujas programavimo kalbas jaučiuosi plečiąs akiratį ir tobulėjantis kaip programuotojas apskritai.
Dauguma modernių programavimo kalbų yra tokios sudėtingos, kad gali į valias plėsti akiratį domėdamasis tiek pačių kalbų niuansais, tiek jų bibliotekų ir įrankių ekosistemos įvairove.
Aš jau kelis metus naudoju beveik vien tik Scala. Ir nesakyčiau, kad jau išmokau viską, ką norėčiau išmokti.
Sejanus wrote:
2018-03-30 19:17
Ir sakydamas mokytis turiu omeny žymiai giliau, nei tik įsidėmėti kitokią sintaksę while ciklui :)
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 :)
Sejanus wrote:
2018-03-30 19:17
Vieni todėl, kad jų pirmoji/pagrindinė kalba iš tiesų yra labai plačiai pritaikoma, pakankamai gerai sukurta iš architektūrinės/kodo skaitomumo ir pan. pusės, ir jiems labai retai prireikia kitų (Java). Kiti todėl, kad jie per mažai orientuojasi programavimo pasauly net kad suvoktų kaip jie mažai orientuojasi (php).
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ų). 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, ar programuotojas, kuris moka kažkiek Javos, kažkiek Php, ir po kažkiek dar 5 kalbų, irgi gali suprogramuoti tuos sudėtingus dalykus. Ir aš spėju, kad negali.
Lionginas
senbuvis
Posts: 2040
Joined: 2011-10-03 09:35

2018-03-31 09:07

Vilius wrote:
2018-03-31 00:04
Lionginas wrote:
2018-03-30 20:22
Mano antrai pusei svarbūs tik du dalykai [..]
Visos jos taip sako.. iki vestuvių :D
Tai po 10 metų santuokos gal turėjo atskleisti savo tikrajį veidą...
Augustas
senbuvis
Posts: 1851
Joined: 2012-05-03 18:44

2018-03-31 14:52

Aš irgi norėčiau mokėti daugiau kalbų. :)
Panašiai ir su žmonių kalbomis. Žmonėms, kurie profesionaliai nedirba su kalbomis, pilnai užtenka mokėti savo kalbą, anglų, ir dar vieną kalbą pasirinktinai. Nelabai matau, kokią naudą duotų mokėti "daug kalbų".
Na, tai kalbų mokymasis yra, pvz., Alzeimerio ligos vienas iš rizikos reduktorių:

https://lt.wikipedia.org/wiki/Alzheimerio_liga
User avatar
vvv2
skeptikas
Posts: 598
Joined: 2007-08-02 11:24

2018-03-31 15:03

Vilius wrote:
2018-03-31 00:54
.. Bet kuriuo atveju, tiek patyręs Java, tiek Php programuotojas iš esmės gali suprogramuoti tuos pačius - net ir labai sudėtingus - dalykus.
- istoriškai "Java" buvo kuriama kaip universali kalba visoms vartotojų platformoms, dabartiniai "kūrėjai" stengiasi ją išstumti su universalia C#. Vyksta karas! :)

- istoriškai "PHP" buvo kuriama serveriams ir pagrindinai tik ten tebenaudojama ir dabar kaip laisva alternatyva. Nors yra nepopuliarios PHP savarankiškos sistemos.

p.s.
Reik pastebėti, kad šios kalbos yra realizuotos kaip pagalbiniai "scriptai" html kode ir kaip atskiri savarankiški programavimo produktai. Naujokai dažnai nesuvokia skirtumo.


:)
User avatar
Sejanus
senbuvis
Posts: 1466
Joined: 2008-11-16 14:41

2018-03-31 20:06

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į“ :thumbsup:) 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į.
User avatar
Vilius
administratorius
Posts: 3821
Joined: 2004-04-19 12:28
Location: Bruxelles

2018-03-31 22:53

Sejanus wrote:
2018-03-31 20:06
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į“ :thumbsup:)
Nu Ok, pakankamai išsamiai priminei, kodėl niekad nenorėjau dirbti samdomu programuotoju.

Matyt, aš toks labai jau netipiškas programuotojas, tai mano ir poreikiai netipiški. Ir jiems patenkinti pilnai užtenka vienos programavimo kalbos :)

Antra vertus, jau seniai smalsu išbandyti Go kalbą, mat girdėjau apie ją gerų atsiliepimų. Tai gal kada prie progos ir aš imsiuosi plėsti akiratį.
User avatar
vvv2
skeptikas
Posts: 598
Joined: 2007-08-02 11:24

2018-04-03 14:28

Vilius wrote:
2018-03-30 17:03
Nors visą gyvenimą vienaip ar kitaip programuoju*, niekad nesupratau kodėl kiti programuotojai stengiasi išmokti kuo daugiau programavimo kalbų. Aš gerai moku vieną kalbą - Scala.
Citata: "Scala was voted the most popular JVM scripting language at the 2012 JavaOne conference. As of 2013, all JVM-based languages (Scala, Groovy, Clojure) are significantly less popular than the original Java language".

Dabar: "Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE".

Kitas: "Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment which is part of the SDK for the Qt GUI application development framework.[3] It includes a visual debugger and an integrated GUI layout and forms designer".

Dar: "RAD Studio is an integrated development environment (IDE) for building C++/PASCAL Win32-64, Android, iOS applications. The RAD Studio IDE provides a comprehensive set of tools that streamline and simplify the development life cycle".

:)
User avatar
Vilius
administratorius
Posts: 3821
Joined: 2004-04-19 12:28
Location: Bruxelles

2018-04-03 15:40

vvv2 wrote:
2018-04-03 14:28
Citata: "Scala was voted the most popular JVM scripting language at the 2012 JavaOne conference. As of 2013, all JVM-based languages (Scala, Groovy, Clojure) are significantly less popular than the original Java language".

Dabar: "Eclipse is an integrated development environment (IDE) used in computer programming, and is the most widely used Java IDE".

Kitas: "Qt Creator is a cross-platform C++, JavaScript and QML integrated development environment which is part of the SDK for the Qt GUI application development framework.[3] It includes a visual debugger and an integrated GUI layout and forms designer".

Dar: "RAD Studio is an integrated development environment (IDE) for building C++/PASCAL Win32-64, Android, iOS applications. The RAD Studio IDE provides a comprehensive set of tools that streamline and simplify the development life cycle".

:)
Nesupratau, ką norėjai pasakyti tomis citatomis.
User avatar
vvv2
skeptikas
Posts: 598
Joined: 2007-08-02 11:24

2018-04-03 18:47

Vilius wrote:
2018-04-03 15:40
Nesupratau, ką norėjai pasakyti tomis citatomis.
- tiek, kad tos sistemos yra populiaresnės ir patogesnės.

:)
User avatar
Vilius
administratorius
Posts: 3821
Joined: 2004-04-19 12:28
Location: Bruxelles

2018-04-03 20:14

vvv2 wrote:
2018-04-03 18:47
- tiek, kad tos sistemos yra populiaresnės ir patogesnės.
Dėl populiarumo tai man px.

O dėl "patogumo" dalies, tai nesuprantu, kodėl lygini Scalą (kuri yra programavimo kalba) su Eclipse (kuri yra IDE)..

Iš tiesų iš Eclipse aplinkos galima visai sėkmingai naudoti tą pačią Scala (apart daugybės kitų programavimo kalbų). Tačiau aš nesu gremėzdiškų IDE šalininkas. Mano kuklioms reikmėms užtenka paprasto editoriaus ir konsolės su build-toolsu (kas mano atveju yra Geany bei SBT).
User avatar
vvv2
skeptikas
Posts: 598
Joined: 2007-08-02 11:24

2018-04-04 09:21

Vilius wrote:
2018-04-03 20:14
Mano kuklioms reikmėms užtenka paprasto editoriaus ir konsolės su build-toolsu (kas mano atveju yra Geany bei SBT).
- neturiu tikslo įtikinti, bet kiek aš bandžiau įvairias programavimo sistemas, tai man iš laisvų (freeware) labiausiai priimtinas "qt-creator", o iš komercinių "RAD studio".

:)
User avatar
Vilius
administratorius
Posts: 3821
Joined: 2004-04-19 12:28
Location: Bruxelles

2018-04-04 13:42

Tai gal tuo ir baikim apie programavimo kalbas šioje temoje.

***

Kitas dalykas, kurį norėčiau būti išmokęs vaikystėje, yra groti kokiu nors muzikos instrumentu.

Neseniai vaikams nupirkom elektroninį pianiną. Vienas iš jų privalumų yra tas, kad galima groti su ausinėmis. Kas man labai praverčia, kai negaliu užmigti vakarais. Kartais bandau mokytis daineles iš vaikų vadovėlių, o kartais tiesiog groju, kas gaunasi. Tik vat problema, kad norint pasiekti bent kažkiek pakenčiamą lygį, reikia praleisti labai (labai!) daug laiko praktikuojantis. Tai natūraliai pradedi žmogus gailėtis, kad nepradėjai kažkada seniai seniai. Be to, dar sako, kad vaikai ir išmoksta groti greičiau.. Bet aš nesu visai tikras dėl šios dalies.


Įdomu, kaip kolegų skeptikų reikalai su muzika? Ar grojate kokiu nors instrumentu? Kada pradėjote? Ir t.t.
Lionginas
senbuvis
Posts: 2040
Joined: 2011-10-03 09:35

2018-04-17 09:24

Aš ilgai grojau birbyne (teko ir koncertuoti kai buvau jaunesnis) ir dar tebegroju gitara. Dar galiu pūsti lūpinę armonikėlę, bet gražu paklausyti būna tik man pačiam.
Post Reply