Hei,
Minulla on entuudestaan kokemusta javasta ja c# ja visual basici;sta. SQL tietokannat on myös tuttuja. Tietysti html, css myös
Haluaisin opetella myös kokonaisvaltaisten webohjelmien tekoa. En tarkoita mitää wordpress sivustoja.
Olen hieman hukassa millä kielellä kannattaisi aloittaa ? PHP?
Ja mitä IDE;jä käyttää.
”Kokonaisvaltainen webohjelma” ei ole vielä kovin tarkka määritelmä. Käyttöliittymän puolella JavaScriptin osaaminen on tärkeää. Netti on täynnä huonoja JS-räpellyksiä, joten lähteiden kanssa kannattaa olla tarkkana. Palvelimen osalta sivustoja voi kehittää monillakin eri kielillä, myös Javalla (esim. Apache Wicket) ja JavaScriptilla (Node.js). Toki PHP on laajalti tuettu esimerkiksi webhotelleissa, mutta teknisestä näkökulmasta PHP:llä tekeminen ei ole mitenkään luonnostaan paras vaihtoehto.
Webohjelmia voi aivan mainiosti tehdä C#:lla siinä missä PHP:lläkin. (Henk.koht.mielipide että jopa paremmin.)
Eli siis jos haluat vaan opetella webohjelmia ja C# ja Visual Studio on tuttu, niin ihan hyvin voisit valita sieltä että uusi Web-projekti (esim. .Net Core ASP.Net MVC) ja rupeat tekemään. Esimerkkejä ja malliprojekteja löytyy netistä.
Jos sitten haluat myös opetella uuden kielen, niin Metabolixilla tuossa olikin jo ajatuksia.
Tässä nyt ei ole oikeastaan hyviä lähtökohtia ehdottaa mistä kannattaisi aloittaa, kun se kuitenkin on ensisijaisesti oma valintasi millä kielellä haluat tehdä. Jossain määrin järkevään kielivalikoimaan vaikuttaa, minkä tyyppistä webohjelmaa haluat tehdä, ja sitäkään et viestissäsi kertonut.
Kiitos vastauksistanne.
Onko suosituin ja tunnetuin backend kieli tällä hetkellä PHP?
JavaScriptin opettelu hieman kammoksuttaa, koska se taitaa olla aika kaukana perinteisestä c kielestä? tosin niin taitaa olla myös PHP
Olen sen verran laiska, että haluaisin uuden kielen opettelun olla mahdollisimman kevyttä.
Mistä kannattaisi hankkia opetusmateriaali. Yliopiston uudet kurssit pyörähtää käyntiin vasta kesän jälkeen niin se ei ole vaihtoehto.
Olen harkinnut Udemy.com;sta kurssin ostamista, mutta en tiedä sitten onko ne kuinka laadukkaita. Suomalaisilta ohjelmoijilta odotetaan aika hyvää jälkeä niin en haluaisi alkaa käymään kurssia jossa ei käydä asioita läpi riittävän hyvin.
Tällä tarkoitan lähinnä sitä, että opetuksen edetessä syntaksin lisäksi ymmärrän myös syväluontaisesti mitä tapahtuu. Olen törmännyt opetusmateriaaleihin missä vain koodataan ja hieman selitetään mitä tapahtuu. Tässä päästään helposti tilanteeseen jossa koodataan ilman mitään hajua miksi näin ja näin tapahtuu. Ehkä jotkut oppivat vain koodaamalla, mutta itse olen senverran palikka että välillä asiat pitää oikein rautalangasta vääntää :)
Metabolix
Miksi PHP;llä tekeminen ei ole luonnostaan parasvaihtoehto?
Ymmärtääkseni PHP taitaa kuitenkin olla suosituin backend kieli?
Grez
Ymmärtääkseni c# tarvitsee aina jonkun windows pohjaisen palvelimen? Korjaa jos olen väärässä. Tästä johtue c# ei ole vaihtoehto koska windows palvelimien hosting kustannukset ovat korkeammat.
Daimeri kirjoitti:
Ymmärtääkseni c# tarvitsee aina jonkun windows pohjaisen palvelimen?
Ei tarvitse. .Net Core on alusta asti suunniteltu toimivaksi alustariippumattomasti ja siitä on tuetut versiot Windowsin lisäksi Linuxille ja MacOS:lle. .Net Core on oikeastaan se "viimeisin" versio, eli siinä voi käyttää C#:n uusimpia toiminnallisuuksia.
Lisäksi alun perin Windowsille suunnitellusta .Net Frameworkista on tehty Mono ajoympäristö Linuxille, mutta tämä on vähemmän "virallinen" eli itse tekisin ennemmin .Net Corella.
Sinänsä on kyllä totta, että niissä euron vuosi weppihotelleissa saattaa olla että PHP on ainoa tuettu kieli. Ja yleisestikin webhosteissa PHP on varmaankin laajimmin tuettu. Sinänsä 5e kuussa saa virtuaalikoneen jolla hostaa pientä .Net Core saittia aivan mainiosti. Web-hotelleista ei ole käytännön kokemusta.
Daimeri kirjoitti:
Onko suosituin ja tunnetuin backend kieli tällä hetkellä PHP?
JavaScriptin opettelu hieman kammoksuttaa, koska se taitaa olla aika kaukana perinteisestä c kielestä? tosin niin taitaa olla myös PHP
Olen sen verran laiska, että haluaisin uuden kielen opettelun olla mahdollisimman kevyttä.
Php on paradigmallisesti hyvin lähellä vanhakantaista c-kieltä mutta toisaalta se on nykyään aika verboosi, jos haluaa tehdä kaikkien best practisejen mukaista jälkeä. Tosin niinhän on c-kielikin, eipä siinä.
Javascript on syntaktisesti paljon kevyempi ja siistimpi mutta toisaalta sen asynkroninen luonne vaatii opettelua, jotta sitä osaa käyttää parhaalla mahdollisella tavalla tekemättä hirvittävän rumaa sotkua.
Kuitenkin js alkaa olla pakollinen kieli, sillä ns. client side -sovellukset yleistyvät koko ajan ja selainten (webbistandardien) kehitys on jo siinä pisteessä, että sellaiset sovellukset voivat myös olla hyviä.
Tällöin voit kirjoittaa backendin koodin esimerkiksi php:llä tai c#:lla (tai javascriptillä) mutta frontendin koodaamiseksi javascript on edelleen ainoa vaihtoehto. Toki on olemassa myös js:stä johdettuja kieliä kuten typescript, mutta omat mielikuvani eivät ole niistä kovin hyviä.
Harmi, että nykyää windowssin classic desktop apit ei enää kelpaa. Mikä ihme niissä on vikana :D
Daimeri kirjoitti:
Miksi PHP;llä tekeminen ei ole luonnostaan parasvaihtoehto?
Ymmärtääkseni PHP taitaa kuitenkin olla suosituin backend kieli?
Suosittu ei ole aina paras.
PHP on kuin Windows: se on suosittu erityisesti siksi, että se on aikanaan lyönyt läpi laajaan käyttöön ja nyt vain pitää yllä vanhaa asemaansa. Tai niin kuin englanti: sitä opetetaan Suomen kouluissa, joten sillä yritetään sitten ulkomaailman kanssa kommunikoida. (Oikeasti englannin asema on maailmassa heikompi kuin suomalaiset usein luulevat.)
PHP on harrastajien ja pienten kotisivujen kieli. PHP:n etu on se, että koodit vain laitetaan palvelimelle ja ne ajetaan tarvittaessa. Näin webhotelleja on helppo tarjota: pitää tehdä vain yhdet toimivat asetukset, ja voi ottaa satoja asiakkaita, ja hiljaiset sivustot eivät kuluta juuri mitään resursseja.
Isoissa ammattilaistason projekteissa PHP:n asema ei ole läheskään niin ylivoimainen, vaan isompia sovelluksia tehdään paljon juuri Javalla (näkyy esimerkiksi työpaikkailmoitusten määrässä) tai C#:lla. Tällöin on usein ajatuksena, että on oma palvelin ja oma jatkuvasti aktiivinen sivusto, joka saa käyttää kaikki palvelimen resurssit.
Bugeja voi kirjoittaa jokaisella kielellä, mutta PHP:llä se on erityisen helppoa. Monilla palvelimilla virheet ja varoitukset on oletuksena piilotettu. Jos muuttujan nimen kirjoittaa väärin, siitä ei ehkä tule mitään näkyvää ilmoitusta, vaan koodi vain toimii väärin. Dynaaminen tyypitys ja automaattiset tyypinmuunnokset (tekstit "1" + "2" == luku 3) aiheuttavat yllättävän paljon bugeja. Toisaalta näillä ominaisuuksilla aloittelija saa tehtyä helposti koodia, joka yleensä suunnilleen toimii. Onko tämä hyvä vai paha?
Viime vuosina PHP:tä on siivottu ja muutettu salonkikelpoisemmaksi, ja ehkä jo seuraavassa versiossa epämääräisten tekstien yhteenlasku lukuina toimii vähän nykyistä viisaammin.
Jos on hyvä itsekuri, myös PHP:llä voi tehdä selvää ja laadukasta koodia. Kuitenkin PHP:ssä on aina mahdollista mennä siitä, mistä aita on matalin, ja tämä sitten myöhemmin kostautuu. Esimerkiksi Ohjelmointiputkan nykyinen versio on tehty vuonna 2011, ja hyvistä pyrkimyksistä huolimatta koodin sekaan on kertynyt vuosien mittaan lisäyksiä ja korjauksia vääriin paikkoihin niin, että jonkinlainen perusteellinen siivous olisi tarpeen. Tiukemmin säännellyissä kielissä purkkaviritelmien kynnys on selvästi korkeampi.
Tuohon voisi myös lisätä että harvoin mikään yksittäinen asia on paras kaikkeen. Ei varmasti ole ohjelmoijalle haitaksi osata vähän PHP:täkin (paitsi jos se johtaa siihen että tekee kaiken PHP:llä).
Vähän niinkuin rakentajan on hyvä osata käyttää vasaraa, vaikka paneelilautojen katkaisu kannattaakin tehdä muulla työkalulla.
Metabolix kirjoitti:
Suosittu ei ole aina paras. ...
Todella hyvin sanottu. Suosituin ei ole aina paras ja se on totta. Ennen varsin marginaalisessa osassa ollu Java Script on nykyään todella paljon käytetty ja uskon että sen käyttö lisään tulevaisuudessa vielä paljon. Java Script on toki front endiin soveltuva kieli, mutta sanoinpa kuitenkin. Itse suosin C# php:n sijaan mielummin…
Kiitos taas vastauksistanne.
Minä kokeilen tehdä jonkin websovelluksen nyt ensin javascript + C#
Katsotaan kuinka onnistuu...
PHP voi olla hyvä mutta jos katsoo vaikka mol.fi-sivustolta tai mistä tahansa muulta rekrysivustolta niin PHP-koodarin paikkoja on aika vähän verraten Java EE -koodarin paikkoihin.
Ja sitten mitä tulee mm. headhuntereihin, mitkä asiakaansa toimeksiannosta hekee ohjelmoijia niin he hakee lähinnä vain Senior-tason Java-kooraita joilla on vuosien työkokemus taustalla ja osaaminen koodata vaikka Atlassian Jiran kokonaan itse tiimissä jossa joku muu tekee ulkoasun ja käyttöliittymän grafiikat kuin koodari itse. Tällaiseen jos onnistuu pääseen niin palkka voi olla sitten 6000 € / kk.
Henkilöstövuokraus-firmoilla vähän sama mutta niiden bisnes on vähän eri kuin headhunttaus. Niillä palkat on siinä 2500-3500 € / kk.
Ja työn perässä pitäisi muutta Hki-alueelle.
PHP-koodarille voi tosin olla mm. triviaalia HTML/CSS/JavaScript/PHP-koodarille satunnaisesti alihankintana normaali Web-sivujen teossa missä graafikko tekee PSD-filut ja koodarin tehtävä on vain sen verran käyttä Adobe Photoshoppia että saa palasteltua PSD-filut HTML/CSS-taitoksi ja sitten tehdään PHP:llä backendi palautelomekkeeseen ja palautelomekkeen validointi JavaScriptillä. Mutta määräaikaiset viikon tai yhden päivän pestit eivät kanna kauaa hyvää hedelmää jos niitä projekteja ei ole joka päivä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.