Mikä ohjelmointikieli?

  • Keskustelun aloittaja Keskustelun aloittaja Pemz
  • Aloitettu Aloitettu
Itse harrastan pienimuotoista ohjelmointia ja itselle on tullut semmoinen vaikutelma että itse kieli ei aiheuta paljon vaivaa oli se sitten mikä tahansa mainstream kieli. Eli lähinnä sulkee pois brainfuckit ynnä muut. Enempi haaste tulee itse sen ohjelman kasaamisesta ja eri kirjastojen apin ymmärtämisestä. Minusta myös c on ihan hyvä kieli myös aloittelijalle koska se on melko pieni kieli vrt. C++. Vaikka ei tietty tarvitse käyttää kaikkia c++ toimintoja. Kuten aikaisemmin on jo sanottu niin kannattaa ihan sen kohde applikaation kautta valita se kieli.

En kiistä etteikö viestisi olisi täyttä asiaa, mutta otan kantaa tuohon viimeiseen lauseeseen ihan omienkin kokemusten kautta. Uskon etten ole ainoa joka huomaa tässä ongelman, varsinkin jos kyseessä on aloittelija ilman hölkäsen pöläystä että mitä se ohjelmointi käytännössä on. Uskoakseni sillä aloittelijalla nimenomaan ei ole mitään hajuakaan mitä hän lähtisi tekemään (applikaatio) mistä olisi apua edes etäisesti sen kielen valitsemisen kanssa. Näen että toi viimeinen lause pätee teihin jotka ovat tätä harrastaneet ja osaavat hieman hahmottaa mitä milläkin kielellä kannattaa lähteä väsäilemään noin yleisellä tasolla. Ei siihen aloittelijaan joka on lopen kyllästynyt nykyiseen työhönsä ja joka on lukenut tyyliin kahvitauolla sieltä iltalehdestä, että "edelleen huutava pula koodareista ja koodareille lähetellään kotiin asti työtarjouksia 5k€/kk".

Ainakin oma polku on ollut sellaista suojuoksua ettei tosikaan. Ja vieläkään ei ole hajuakaan että miksi saatana tuo ohjelmointi nousee vähän väliä alitajunnasta pintaan tai mitä sillä voin tai edes viitsin lähteä tekemään. Onko se sitten sulautettuja (viimeisimmät opinnot kääntävät kelkkaa ehkä tähän suuntaan) vai räävinkö nyt läpi tuon ostamani udemyn python kurssin ja katson mihin se polku kuljettaa... Ei hajuakaan.
 
Osittain tätäkin keskustelua sivusta seuranneena päädyin itse juuri ostamaan (plan B) udemyn kautta python kurssin. Python Bootcamps: Learn Python Programming and Code Training

Alunperin tarkoituksena oli syventyä ohjelmoinnin maailmaan likaamalla kädet microchipin pic-mikrokontrollereiden (c) kanssa, mutta tavaroita on nyt haudottu turhan pitkään vantaalla, joten se siitä ainakin toistaiseksi.

Tuolla varmasti pääsee hyvin alkuun ja tulee jo ihan jonkinmoinen kuva itse ohjelmoinnista. Siitä on sitten hyvä lähteä laajentamaan mitä kaikkea muuta siihen liittyy.
 
PHP suhteen työt taitaa kuitenkin enemmän olla WordPressin ja drupalin tunkkausta. Näiden ja niiden lisäpalikoiden toiminnan opettelu sitten onkin suurempi homma.

Itse lähtisin tekee Go + js + Vue ihan vaan koska saa keskittyä itse tekemiseen.
 
Sotken oman lusikkani vielä PHP soppaan sen verran, että itselle se on ainakin ollut ihan loistava kieli. Tullut työmaailmassa DBA:n hommissa 10v aikana toteutettua SH + PHP-CLI scripteinä loputon määrä erilaisia taustascriptejä, jotka pyörittävät hyvinkin ison Postgres infran backend toimintoja. Toki muina kielinä ollut myös Java + Haskell + Perl, mutta en vähättelisi PHP:ta ollenkaan. Onnistuu kätevästi onelinerit, suuremmat scriptit ja myöskin oliopohjaisena hyvinkin toimiva isompiinkin kokonaisuuksiin. Myöskin web puolella toimiva ja market share w3techsin mukaan on tällä hetkellä 78,8%, eli sen verran koko Internetistä pyörii PHP:lla. Seuraavat on ASP.net, Java, Ruby sekä Scala. Joten kyllä siinä toki vielä aika pientä puuhastelua on sillä saralla muut marginaalisemmat kielet.

Toisaalta omissa töissä on aina saanut vapaasti kyllä päättää, että millä kielellä jonkun Linux ympäristössä pyörivän scriptin tekee.

Myös rekrytilanteissa on ihan yhden tekevää, että mitä kieliä osaa tai ei osaa, esim. Tietokantojen laaja ymmärrys, suurempien Linux ympäristöjen ymmärrys, komentorivin käyttö jne. on ollut aina merkittävämmässä roolissa. Toki onhan näitä hipsteripaikkoja, missä scrummaillaan, tiedetään kaikki maailman termit, istutaan palavereissa, kukaan ei osaa mitään ja koodarit yrittää (lue hakkaa päätä seinään) niin kauan, että funktiot vahingossa palauttaa sitä, mitä joku pikkupomo käskee. Jos osaaminen on kieliriippuvaista, niin ei sillä vaan pitkälle pääse. Jos ymmärtää ohjelmoinnista yleensä, niin millä kielellä tahansa voi aloittaa työt, vaikka heti.

Itsellä koulussa ohjelmointia sekä tietokantoja harjoiteltiin aluksi pidempi aika kynällä ja paperilla. Ohjelmointi tapahtui pseudo-kielellä ja tietokannat SQL:llä. Näitä kun oppii käyttämään kynällä ja paperilla, niin tietokoneella hommat onkin jo oikein helppoja.
 
Toki onhan näitä hipsteripaikkoja, missä scrummaillaan, tiedetään kaikki maailman termit, istutaan palavereissa, kukaan ei osaa mitään ja koodarit yrittää (lue hakkaa päätä seinään) niin kauan, että funktiot vahingossa palauttaa sitä, mitä joku pikkupomo käskee.

Ihan mielenkiinnosta: nimeäisitkö muutaman tällaisen "hipsteripaikan", joissa toteutuu nuo luonnehdintasi?
 
Ihan mielenkiinnosta: nimeäisitkö muutaman tällaisen "hipsteripaikan", joissa toteutuu nuo luonnehdintasi?
No en nyt toki mitään paikkoja lähde nimeämään, oli enemmänkin huumoria väliin. Kooste monesta tarinasta, mitä tutuilta ja työkavereilta kuullut. :)

Muut kohdat selittävät itsensä, mutta tolla lopulla viittasin TDD:hen.
 
PHP:stä ei ole muuta sanottavaa kuin
Koodi:
fales == true
Koska jos typotettu "fales" ei satu olemaan määritelty symboli, PHP avuliaasti tulkitsee sen stringiksi, ja stringin "fales" totuusarvo on true. Tätä hienoa ominaisuutta ei ole poistettu ainakaan vielä PHP 7.3:sta, koska suuri määrä koodia maailmalla riippuu implisiittisesta string-konversiosta.
:sdarra:
 
PHP:stä ei ole muuta sanottavaa kuin
Koodi:
fales == true
Koska jos typotettu "fales" ei satu olemaan määritelty symboli, PHP avuliaasti tulkitsee sen stringiksi, ja stringin "fales" totuusarvo on true. Tätä hienoa ominaisuutta ei ole poistettu ainakaan vielä PHP 7.3:sta, koska suuri määrä koodia maailmalla riippuu implisiittisesta string-konversiosta.
:sdarra:
Tästä tuleekin mieleeni...

NXd3vZ1.jpg
 
Mikä fullstack nyt kannattais ottaa haltuun, jos freelancerina aikoo kotisivustoja alkaa tekemään? Itsellä suht hyvin hallussa azure/.Net -tyyliset toteutukset, mutta kannattaako mieluummin lähteä esim. Reactilla rakentaa noita pikkuyritysten sivuja? Vähän olen hukassa näissä, kun mobiiliohjelmointiin pääosin suuntautunut.

Toi webbikoodaus muutenkin vähän hakusessa, jos tuota .net rävelöintiä ei lasketa, kaikki apu tervetullutta.
 
Mikä fullstack nyt kannattais ottaa haltuun, jos freelancerina aikoo kotisivustoja alkaa tekemään? Itsellä suht hyvin hallussa azure/.Net -tyyliset toteutukset, mutta kannattaako mieluummin lähteä esim. Reactilla rakentaa noita pikkuyritysten sivuja? Vähän olen hukassa näissä, kun mobiiliohjelmointiin pääosin suuntautunut.

Toi webbikoodaus muutenkin vähän hakusessa, jos tuota .net rävelöintiä ei lasketa, kaikki apu tervetullutta.
Next.js on aikas näppärä. Mm. hs.fi ja is.fi kirjoitettiin tuolla. Sopii myös pienempiin hyvin. Hostaus on kätevää netlify.com
 
Mikä fullstack nyt kannattais ottaa haltuun, jos freelancerina aikoo kotisivustoja alkaa tekemään? Itsellä suht hyvin hallussa azure/.Net -tyyliset toteutukset, mutta kannattaako mieluummin lähteä esim. Reactilla rakentaa noita pikkuyritysten sivuja? Vähän olen hukassa näissä, kun mobiiliohjelmointiin pääosin suuntautunut.

Toi webbikoodaus muutenkin vähän hakusessa, jos tuota .net rävelöintiä ei lasketa, kaikki apu tervetullutta.

Komppaan ylempää postausta, Next.js on aika kiva härveli ja sillä töitä tehneenä voin suositella. Alla hieman avausta mistä on kyse.

Kun puhutaan fullstackista ja etenkin fullstack frameworkeista niin yleensähän tarkoitetaan jotain Ruby on Railsin kaltaista härveliä, joka hoitaa kaiken HTML-dokumentin kasaamisesta tietomalliin ja tietokannan kanssa jutteluun. React taas on lähtökohtaisesti ennemminkin JavaScript-kirjasto, jonka tarkoituksena on helpottaa selainpohjaisten käyttöliittymien rakentamista front-endissä eikä se ota kantaa siihen mitä palvelimella tapahtuu.

Next.js kohdalla kyse on tavallaan barebones full-stack frameworkista, joka mahdollistaa kaksi erilaista tapaa operoida. Ensimmäinen ja erityisesti perinteiseen pikkuyritysten saittien kasaamiseen sopiva tapa on käyttää getStaticProps funktiota, jolla tarvittava data haetaan buildin yhteydessä vaikkapa Contentfulin kaltaisesta headless CMS:stä ja siitä luodaan staattinen html-paketti. Sen voi hostata helposti ja yleisesti ottaen selaimet saavat sivut auki todella nopeasti. Toinen vaihtoehto on kasata html valmiiksi jokaisen requestin yhteydessä getServerSidePropsilla, mutta tämä vaatii erillisen palvelimen jossa prosessia pyöritetään, näppärä silloin kun sisältö muuttuu tiheään tahtiin tai tarvitaan jotain muuta dynaamista operaatiota per sivunlataus.

Parasta tuossa on se, että myöhemmin selaimella haettava data on helppo pyöritellä Reactilla ja sivun tai selainsovelluksen laajentaminen on helppoa, etenkin jos React on ennestään tuttu. Mitään tietokannan käpistelyyn liittyviä operaatioita Next.js ei kuitenkaan tarjoa vaan niitä varten joutuu käyttämään muita kirjastoja.

Reactista löytyy myös sisäänrakennettuna mahdollisuus tehdä server side renderöintiä ja Next.js käytännössä vain tekee siitä hieman mukavampaa.

Hioin itse tuossa ~viikko sitten mielenkiinnosta kasaan yksinkertaisen julkaisualustan (koodi tasoa PoC) juurikin Next.js:llä. Sitä kehittävän Vercelin kautta hostaaminen on todella helppoa ja firmalta löytyy paljon tutorialeja ja esimerkkikoodia Nextin sekä Vercelin käyttöön sekä ohjeita miten jokin ulkoinen sisällönhallintajärjestelmä kiinnitetään koko putkeen. Itse suosittelen Contentfulia. Koko homman saa viritettyä kasaan ilmaiseksi ja lopputuloksena on GitHubista suoraan branchikohtaisia buildeja ajava CI-pipeline, globaali hostaus sekä muut pillit ynnä viheltimet.

Pari linkkiä vielä:
Full stack open 2020 (Heittämällä paras ja laadukkain Fullstack-kurssi mitä internetillä on tarjota, tekemistä riittää _pitkäksi_ aikaa)
Learn | Next.js (Kannattaa tehdä ennen kuin aloittaa Nextillä mitään muuta)
vercel/next.js (Esimerkkejä kaikkeen mahdolliseen)
 
Oleellisimmat kysymyksethän on
A) millaisia toiminnallisuuksia vaaditaan
B) kuka niitä sivuja muokkaa ja ylläpitää

Jos se on luokkaa Marjan kukkakaupan esittely, ihan sama onko käytössä esim. next, nuxt, hugo tai vaikka notepad.

Sillekin on syynsä miks usein noita tehdään wordpressillä.
 
Python, C/C++, java, Javascript, Typescript, HTML, CSS, PHP onhan noita vaikka ja kuinka mihkä kannattaa perehtyä.
 
Jos olisin nyt lähtemässä aloittelemaan niin kaivaisin itseäni kiinnostavasta nurkasta jonkun valmiin kitin, yrittäisin saada sen toimimaan ja siitä sitten kokeilemaan miten voisi muuttaa. Joku Arduino varmaan on ok, jos laitteisto kiinnostaa, raspi jos Linux, qt jos kiinnostaa käli, Eclipse jos Java, VSCode jos C# ja sitten nodejs jos verkko. Python on vähän haastavampi suositella kun oma käyttö on lähinnä portattavien scriptien tekoa. Kaikille on kuitenkin läjäpäin esimerkkejä joita kokeilla ja modata.
Ihan tyhjästä voi olla turhauttavaa aloittaa juurikin sen takia että projektien rakennus ja asennusinfra vaatii aika paljon tunkkaamista joka ei suoraan liity ohjelmointikieleen jota haluaisi opetella.

Visual Studio Code jos python, php, css, html, javascript, typescript, sillä pystyy melkeinpä kaikkia kieliä, Visual Studio sitten c# varten ei Visual Studio Code.
 

Statistiikka

Viestiketjuista
261 815
Viestejä
4 548 193
Jäsenet
74 849
Uusin jäsen
Pizzapäivä123

Hinta.fi

Back
Ylös Bottom