Mikä ohjelmointikieli on paras?
Kommentit (124)
Nro 92: "Mistähän tuollaisen työn löytäisin? Olen keskinkertainen ohjelmoija, ei siksi että puuttuisi looginen ajattelukyky, vaan lähinnä siksi, että ei kiinnosta opiskellla oikein syvällisesti vain yhtä kieltä ekosysteemeineen. Mutta osaan ilmaista asiat täsmällisesti. Aikoinaan töissä asiakkaat kiittelivät juuri sitä, että osaan selittää ymmärrettävästi. Ainoa, mitä näköjään en osaa selittää, on kertoa työnantajille, että tuossa on se vahvuuteni. Tai ehkä he eivät vain tiedä, että tästä heillä kiikastaa eikä huippukoodarien puutteesta."
Enpä osaa sanoa enää nykypäivänä. Mä yhdistin aikoinaan kahden ihan eri alan osaamisen yhteen työhön. Ymmärsin erinomaisen hyvin asiakkaita (siltä vanhalta alaltani) sekä työkavereitani (siltä uudelta alalta). Olin työurani aikana useammassakin projektissa, jossa asiakkaan ja toimittajan edustaja ei ymmärtänyt, mitä toinen sanoo ja tarkoittaa. Sitten mut pyydettiin "tulkiksi", jos en jo valmiiksi olllut mukana projektissa. Jotkut asiakkaat alunperinkin edellyttivät, että Lammas on mukana projektissa. Jos en olisi ollut, eivät olisi tilanneet meiltä.
It-alakin on kyllä muuttunut tosi paljon neljännesvuosisadassa. Nyt tahkotaan vaan rahaa ja ihan sama, vaikka asiakas saisi sutta ja sekundaa. Kunhan tietty maksaa laskunsa. Laadulla ei ole enää merkitystä.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Valmiiden loppuunasti kehitettyjän laadukasta skaalautuvaa koodia tuottavien tekoälysoftien käyttökustannukset tulevat hyyppäämään pilviin lähitulevaisuudessa, ja ehkä lopulta konsultoivat ohjelmistoyritykset katoavat.
En pidättele hengitystä että 'ennakoiva tekstinsyöttö' koodaa laadukkaasti jatkossakaan.
Ennakoiva tekstinsyöttö LLM-tekoälyistä on kyllä melkoista yksinkertaistusta ja vähättelyä. Samalla tavalla ihmisen aivoista voitaisiin valita joku melko alhainen abstraktiotaso, sen toimintamekanismi, ja naureskella että eipä voi odottaa paljon tuommoisen otuksen ajattelulta.
Eli et tiedä miten LLM toimii :D
Fortran on ohjelmointikielten muinainen dinosaurus, joka ei suostu kuolemaan. Sille on yllättävästi löytynyt käyttöä nykyisinkin sovelluksissa, joissa tarvitaan suurten tietomassojen erittäin nopeaa data-analyysiä. Esimerkkinä vaikkapa AI.
C:n opettelin n. vuonna -92, ja siitä asti tänäkin päivänä sitä työkseni käytän. Muut ovat höpö-höpö kieliä, paitsi Assembly.
Vierailija kirjoitti:
Vierailija kirjoitti:
Ja tämä pelleketju laittettiin kruunuketjuksi... Huh huh.. mode lääkkeet hoi...
Viides sivullinen asiaan liittyviä kommentteja ansaitsee kruununsa.
Yhtä puuttuu sano piru kun kirppuja laski ja sillä vielä mainitsemattomalla Pearl -kielellä on monipuolisinta ja tehokkainta käsitellä suuria tekstimassoja.
Ettet vain Perliä tarkoita? Ei sillä ainakaan nykyään suuremmin kysyntää ole.
Reipas ja tunnollinen lammas kirjoitti:
It-alakin on kyllä muuttunut tosi paljon neljännesvuosisadassa. Nyt tahkotaan vaan rahaa ja ihan sama, vaikka asiakas saisi sutta ja sekundaa. Kunhan tietty maksaa laskunsa. Laadulla ei ole enää merkitystä.
Sehän on tietysti asiakkaiden vika, kun mieluummin ostavat halpaa paskaa kuin vähän kalliimman mutta toimivan järjestelmän.
Onkohan vielä Algolia ja Fortrania. Niillä tuli leikittyä joskus muinoin.
Vierailija kirjoitti:
Kobol ja Turbo Pascal!
Muutama vuosi sitten kyseltiin cobolistiksi. Olisin muuten voinut mennä (vaikka paska kieli se on), mutta ei napannut vaihtaa paikkakuntaa.
Kielet on kuin työkaluja timpurin pakissa. Ei ensin valita työkalua käteen vaan katsotaan projektia.
Itse finanssialalla tekemässä analyyseja ja sitä tukevaa softaa ulkomaiselle firmalle 100% etänä (tiimi hajautettu ympäri Eurooppaa). Tärkeintä on toimialaosaaminen. Oma koulutustausta on rahoituksen KTM ja TkK ohjelmistotekniikasta. Molemmat vuodelta nakki ja kivi. Mutta ehdottamasti tuosta rahoituksen tutkinnon päälle omalla kohdalla on se ura rakentunut.
Kielinä ollut vaihtelevilla painoilla C++, Matlab, R & Python ja SQL:n eri dialektit. Fronttipuolella JS/React, mutta pyrkinyt välttelemään sitä, koska näissä hommissa löytyy valmiita ratkaisuja asioiden esittämiseen ja joku customkoodailu on vihoviimeinen vaihtoehto ylläpitomielessä.
Kun osaa koodata jollain "oikealla kielellä" osaa vaihtaa työkalua tarpeen mukaan.
Muttei pelkillä kielillä vielä pitkälle pötki. Pitää hallita myös tapauskohtainen kehitysekosysteemi, kuten miten devops pipelinet (kontitus, CI/CD, testiraportit...datapuolelle dashboardaus jne.).
Asioita, mitä ei voi opetella varastoon vaan niitä opitaan sitä mukaa, kun tarvetta tulee. Itsellä menee n. 2-3 viikonloppua vuodessa juostessa kiinni jotain uutta hapatusta. Ylitöitä ei tunneta, mutta toisaalta peruspalkka on tarpeeksi korkea.
Mitä... Miks aloituksella on 3 likeä 6 dislikeä. Eihän aloittaja esittänyt kuin vaan normaalin kysymyksen 😆
Tärkeämpää on opetella ohjelmoimaan. Kielen kuin kielen oppii sitten tarpeen vaatiessa.
Mikään kieli ei ole universaalisti paras. Jokin sopii paremmin yhteen tehtävään kuin toinen. Valitse sellainen joka kiinnostaa ja jolla voi olla jotain käyttöä omissa projekteissa tai työelämässä.
Jos et osaa päättää niin kokeile vaikka pythonia. Se on hyvä kieli ja sopii moneen tarkoitukseen. Ei kuitenkaan se paras valinta johonkin linux kerneliin...
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Valmiiden loppuunasti kehitettyjän laadukasta skaalautuvaa koodia tuottavien tekoälysoftien käyttökustannukset tulevat hyyppäämään pilviin lähitulevaisuudessa, ja ehkä lopulta konsultoivat ohjelmistoyritykset katoavat.
En pidättele hengitystä että 'ennakoiva tekstinsyöttö' koodaa laadukkaasti jatkossakaan.
Ennakoiva tekstinsyöttö LLM-tekoälyistä on kyllä melkoista yksinkertaistusta ja vähättelyä. Samalla tavalla ihmisen aivoista voitaisiin valita joku melko alhainen abstraktiotaso, sen toimintamekanismi, ja naureskella että eipä voi odottaa paljon tuommoisen otuksen ajattelulta.
Eli et tiedä miten LLM toimii :D
Eihän sitä kukaan varsinaisesti "tiedä". Ei edes tekijät. Moni juttu on ihan vaan trial ja errorilla todettu toimivaksi.
Se on vähän niin evoluutio. Sen säännöt on helppo ymmärtää tavisälyllä (uskikset pl) mutta eipä ihminen pystyisi hahmottamaan mitä kaikkea se on miljoonien vuosien varrella kehittänyt.
Vierailija kirjoitti:
Fortran on ohjelmointikielten muinainen dinosaurus, joka ei suostu kuolemaan. Sille on yllättävästi löytynyt käyttöä nykyisinkin sovelluksissa, joissa tarvitaan suurten tietomassojen erittäin nopeaa data-analyysiä. Esimerkkinä vaikkapa AI.
En olisi uskonut, että Fortran mainitaan. Olin tulossa läpällä kommentoimaan Fortran 77, kun sillä tekuaikaan tehtiin jotain yksinkertaisia harjoituksia. Cobolin tarpeellisuudesta olinkin kuullut, vaikka vasta valmistunut sukulaispoikakoodari ei ollut kuullut koko kielestä.
Sanoisin myös, että kieliä oleellisempaa on opetella perustason ohjelmistoarkkitehtuureja. Jos siis tarkoitus on päätyä työllistymään tehtäviin, missä pitää myös koodata.
Esimerkiksi tietojenkäsittelytieteiden tai ohjelmistotekniikan opinnoissa yliopistolla, ei opiskella suoraa ohjelmointikieliä. Tai ne opiskellaan omatoimisesti laskareissa, mutta ei ainakaan omissa opinnoissa ollut yhtäkään "C++" tmv. peruskurssia. Joku todella yleinen johdanto ohjelmointiin, missä tenttikin tehtiin konseptipaperille. Oletus oli, että kirjat niihin löytyi siihen aikaan kirjastosta. Nykyään netistä. Omat opinnot oli vuosituhannen taitteessa.
Nykyään ilmeisesti Python on se peruskieli vain, koska se on todellakin niin simppeli - kun tehdään simppeleitä juttuja. Ei tarvitse opetella kääntämisestä, buildista ymv. Toisaalta se ei tarkoita, etteikö niistä oikeissa töissä pitäisi tietää ja ymmärtää myös.
Kurssisisältö keskittyi täysin muihin, aikaa kestäviin, asioihin vs. hetkellisesti muodissa oleva ohjelmointikieli.
Sekä matematiikkaan... sitä luuli silloin, että sekin oli turhaa, mutta myöhemmin työelämässä huomannut eron ratkaisuissa, kun osaa ja ymmärtää algoritmimeista vs. "koodaa koheltaa menemään" -ratkaisut. Se näkyy ihan jo koodin rakenteessa, ymmärtääkö niinkin peruskäsitteen kuin mitä funktio tarkoittaa oikeasti vai ei. Yllättävän moni ei ymmärrä.
Vierailija kirjoitti:
Tärkeämpää on opetella ohjelmoimaan. Kielen kuin kielen oppii sitten tarpeen vaatiessa.
Mikään kieli ei ole universaalisti paras. Jokin sopii paremmin yhteen tehtävään kuin toinen. Valitse sellainen joka kiinnostaa ja jolla voi olla jotain käyttöä omissa projekteissa tai työelämässä.
Jos et osaa päättää niin kokeile vaikka pythonia. Se on hyvä kieli ja sopii moneen tarkoitukseen. Ei kuitenkaan se paras valinta johonkin linux kerneliin...
Niin alkuun onkin parasta pseudokieli jossa käyt läpi ohjelmiontitehtäviä kuvitteellisen ohjelmointikielen avulla. Tärkeintä on alkuun oppia käyttämään tehtävään oikeaa ohjelmointirakennetta. Perusrakenteet toistuvat jokaisessa ohjelmointikielessä joskin ehkä hiukan eri variaatioin.
Vierailija kirjoitti:
Vierailija kirjoitti:
Vierailija kirjoitti:
Ja tämä pelleketju laittettiin kruunuketjuksi... Huh huh.. mode lääkkeet hoi...
Viides sivullinen asiaan liittyviä kommentteja ansaitsee kruununsa.
Yhtä puuttuu sano piru kun kirppuja laski ja sillä vielä mainitsemattomalla Pearl -kielellä on monipuolisinta ja tehokkainta käsitellä suuria tekstimassoja.
Ettet vain Perliä tarkoita? Ei sillä ainakaan nykyään suuremmin kysyntää ole.
Mutta kielenä helvetin hyvä. Se on muuten ainoa kieli jonka vaikeutta voi käyttää perusteena työtehtävistä kieltäytymiseen. Stanan fakkiidiootit
Perlin nimi ei muuten tarkoita helmeä vaan se on jiddishin sana, joka tarkoittaa karhua.
Vierailija kirjoitti:
Sanoisin myös, että kieliä oleellisempaa on opetella perustason ohjelmistoarkkitehtuureja. Jos siis tarkoitus on päätyä työllistymään tehtäviin, missä pitää myös koodata.
Esimerkiksi tietojenkäsittelytieteiden tai ohjelmistotekniikan opinnoissa yliopistolla, ei opiskella suoraa ohjelmointikieliä. Tai ne opiskellaan omatoimisesti laskareissa, mutta ei ainakaan omissa opinnoissa ollut yhtäkään "C++" tmv. peruskurssia. Joku todella yleinen johdanto ohjelmointiin, missä tenttikin tehtiin konseptipaperille. Oletus oli, että kirjat niihin löytyi siihen aikaan kirjastosta. Nykyään netistä. Omat opinnot oli vuosituhannen taitteessa.
Nykyään ilmeisesti Python on se peruskieli vain, koska se on todellakin niin simppeli - kun tehdään simppeleitä juttuja. Ei tarvitse opetella kääntämisestä, buildista ymv. Toisaalta se ei tarkoita, etteikö niistä oikeissa töissä pitäisi tietää ja ymmärtää myös.
Kurssisis
Funktioihin liittyen tulee esittää klassikkokysymys.
Oletetaan ohjelma:
f_bar(x) = f_foo( f_baz(x) )
Miten hoidat lokituksen oikein?
Sain läppärin kerran tilaan jossa oli vain forth -prompti. Kiitos Nvidia!!!
Viides sivullinen asiaan liittyviä kommentteja ansaitsee kruununsa.
Yhtä puuttuu sano piru kun kirppuja laski ja sillä vielä mainitsemattomalla Pearl -kielellä on monipuolisinta ja tehokkainta käsitellä suuria tekstimassoja.