Morjens,
Olisin kiinnostunut ohjelmoinnista ja tällä hetkellä painiskelen että mistä kielestä aloittaisin?
Python opas näytti hyvin helppo lukuiselta, mutta sitten taas keskuteluja selatessa huomasin että sitä kovin moni ei suositellut.
Eli olisiko C-kieli parempi aloitus vai?
Sitten kysymys joka saattaa jakaa mielipiteitä.
Olisin hommaamassa uutta läppäriä ja mietin että kaadunko applen puolella vai pysynkö windowsin leivissä?
Kiitos vastauksista!
Python sopii mielestäni hyvin aloituskieleksi, vaikken itse sitä osaakkaan.
En tiedä millaista on ohjelmoida Applen vehkeillä, mutta itse valitsisin näiden kahden vaihtoehdon väliltä Windowssin. (Oikeasti en kyl sitäkää, Linux <3)
Lue Antin aloitusopas. Kiinnitä erityisesti huomiota seuraaviin kohtiin:
lainaus:
Kaikeksi onneksi ensimmäisen ohjelmointikielen valinta ei ole vakava päätös, jolla olisi kauaskantoisia seurauksia. Tämä johtuu siitä, että ohjelmointikielet ovat keskenään hyvin samanlaisia. Niinpä kun yhden ohjelmointikielen osaa kunnolla, siitä on helppoa siirtyä muihin.
lainaus:
Hyvä ohjelmoija oppii tarvittaessa uuden töissä käytettävän kielen muutamassa viikossa.
Ohjelmointiympäristönä suosisin noista vaihtoehdoista Mac OS X:ää ja muista vaihtoehdoista Linuxia, jonka voi asentaa aivan ilmaiseksi. Toki valinta riippuu jonkin verran myös kielestä: esimerkiksi Java on lähtökohtaisesti sama kaikille, .NET-kielet toimivat parhaiten Windowsissa ja C ja C++ vaativat käytännössä aina lisäkirjastoja, joiden asentamisessa Linux esiintyy edukseen.
Oisko vaikka Visual Basic tai QBasic? Osaan tällä hetkellä aika monista kielistä jotain.
Windows:ista on tulossa uusi versio Windows 8, jos ostat uuden koneen vaikka sillon (se julkastaan 7.1.2013 maanantaina), olisiko järkevää???
Apple on ylihintainen, enkä oikein tiedä siitä ohjelmointialustana, mutta mitä olen kuullut, on se kauhean huono itsenäiseen ohjelmointiin. Errori, siihen julkaisuun on puolitoista vuotta, siihen mahtuu vielä yksi maailmanloppukin väliin ja win 7 tuki ei ole näillä näkymin loppumassa, sekä siinä kestää kuitenkin aikaa kunnes saadaan kauppoihi koneita, jotka sisältävät jo valmiiksi win 8.
Joo se python vois olla aika hyvä alotukseen kun rakenne on aika simppeli.
Mutta javakin kannattaisi kun siinä on sisään rakennettu gui ja käyttöjärjestelmä riippumattomuus ym. Ja jos minulta kysytään niin ei kannata ottaa .NET:tiä kun on vain windows. Mielestäni ohjelmointiin soveltuu parhaiten Linux.
naapuri kirjoitti:
Python opas näytti hyvin helppo lukuiselta, mutta sitten taas keskuteluja selatessa huomasin että sitä kovin moni ei suositellut.
Eli olisiko C-kieli parempi aloitus vai?
No kyllä Python on huomattavasti aloittelijaystävällisempää ku C.
ItEliasPro kirjoitti:
Ja jos minulta kysytään niin ei kannata ottaa .NET:tiä kun on vain windows.
Ei se nyt ihan noinkaan mene. Esimerkiks useissa Gnome-distroissa tulee oletuksena sellaset .NETillä tehdyt softat kuin F-Spot, Banshee ja Tomboy. Toki Microsoftin teknologiana se tulee aina olemaan tietynlainen punapäinen äpärälapsi Linux-maailmassa, mutta ei se tarkota, etteikö sillä mitään vois tehä Linuxissaki. Henkilökohtasesti en oikein osaa sanoa aiheesta mitään, en oo tutustunu teknologiaan.
ItEliasPro kirjoitti:
Mielestäni ohjelmointiin soveltuu parhaiten Linux.
Kaipa sitä joutuu komppaamaan ku itelläki on :)
C:ssä on kaikenlaisia pieniä, ärsyttäviä yksityiskohtia, joiden opettelu vie huomiota itse ohjelmoinnin opettelulta. Python on minusta oiva valinta ensimmäiseksi kieleksi - sen loistavin piirre on sisennyspakko.
Itse aloitin C:llä ja elossa ollaan, riippuen tietenkin mitä elämällä tarkoitetaan. Pythoniin tutustuin myöhemmin ja se oli todella ärsyttävä, etenkin sisennyspakko. Pythonin oman kääntäjän editori nimittäin on ensinnäkin hirveän ärsyttävä, eikä osannut sisentää. C ei välitä pienistä pikkuseikoista koodissa vaan kääntää minkä näköistä koodia tahansa, toki se on pikkutarkka yksityiskohdista, mutta mikään ei ole niin ärsyttävää, kuin etsiä ns. whitespace virheitä, eikä C ole mitenkään erityisen tarkka. C lisäksi opettaa pidemmälle ohjelmoinnin saloihin, eikä muihin kieliiin siirtyessä tule ongelmia. Se mikä ei tapa, vahvistaa.
Jokotai kirjoitti:
Pythonin oman kääntäjän editori nimittäin on ensinnäkin hirveän ärsyttävä, eikä osannut sisentää.
Nykyään osaa ja on osannut kai aina. Ainakin itse en ole huomannut ettei sisentäisi ja olen seurannut versiosta 2.5.3 asti. Lisäksi pidän sisennyspakkoa hyvänä asiana, sillä se opettaa tehokkaasti sisentämään, mikä helpottaa koodin lukemista.
Jokotai kirjoitti:
Pythonin oman kääntäjän editori nimittäin on ensinnäkin hirveän ärsyttävä, eikä osannut sisentää.
Oman kääntäjän editori? Sen kun naputtelee suosikkitekstieditorillaan lähdekooditiedoston ja komentaa python tiedosto.py
. Pythonin skriptikielisyys on lisäksi ehkä helpompi mieltää aluksi kuin kääntäjän toiminta. Olen kuullut tapauksista, joissa lippujen kanssa sekoillessa on kirjoitettu binääri lähdekooditiedoston päälle :) Toki useimmat naksuttelevat käännöksen vain jostakin valikosta sen kummemmin miettimättä.
Voisin vielä mainita sen verran, että jotkut minua viisaammatkin taitavat pitää Pythonia hyvänä aloituskielenä, sillä Aalto-yliopistossa ensimmäiset ohjelmointikurssit ovat kuulemma Pythonia. Täällä Tampereella aloitetaan C++:lla, ja kyseinen valinta aiheuttaa henkilökunnan keskuudessa melkoisia intohimoja puoleen jos toiseen.
Iso kiitos kaikille vastanneille!:)
Vahvasti näyttää kyllä siltä että taidan aloittaa opiskelun pythonilla.
Sellainen kysymys viellä askarruttaa mieltä että, kun haen nytten datanomi linjalle slk:lle niin onko kenelläkään tieto millä kielellä siellä opetetaan ohjelmoimaan?
Itseasiassa istun tällä hetkellä odottamassa juuri vuoroa solvetuvuus kokeisiin:D
naapuri kirjoitti:
Sellainen kysymys viellä askarruttaa mieltä että, kun haen nytten datanomi linjalle slk:lle niin onko kenelläkään tieto millä kielellä siellä opetetaan ohjelmoimaan?
Meillä ainakin opetettiin alkuun hieman teoriaa josta tuli siirto javan kummalliseen maailmaan. Myöhemmin sai toisillakin kielillä naputella. Ja onnea soveltuvuuskokeisiin! :)
Python on mielestäni myös hyvä valinta, vaikka sillä en aktiivisesti koodaile. Jo ihan sen takia, että se opettaa heti alusta lähtien hyviä ohjelmointitapoja, jolloinka lopulta jotkin virheet voi löytyä helpommin ja koodi on luettavampaa. Veikeä kieli, kun muutamalla hassulla rivillä saa jo paljon aikaiseksi. ^^
Python on ihan hyvä valinta, jolla aloitella...
Ohjelmointikielen valinta kannattaa yleensä tehdä käyttötarkoituksen mukaan. Harva ohjelmointikieli soveltuu lähestulkoon kaikenlaiseen työhön, poikkeuksena ehkä PL/I. Itse en esimerkiksi lähtisi ohjelmoimaan business -tai tieteelliseen laskentaan tarkoitettuja sovelluksia, joissa pyöristysvirheitä ei saa tulla, käyttäen C-ohjelmointikieltä.
jalski kirjoitti:
Harva ohjelmointikieli soveltuu lähestulkoon kaikenlaiseen työhön, poikkeuksena ehkä PL/I. Itse en esimerkiksi lähtisi ohjelmoimaan business -tai tieteelliseen laskentaan tarkoitettuja sovelluksia, joissa pyöristysvirheitä ei saa tulla, käyttäen C-ohjelmointikieltä.
Käsittääkseni suurin osa tieteellisen ja teknisen laskennan sovelluksista kyllä tehdään esim. C:llä, FORTRANilla, MATLABilla, R:llä tai jollakin muulla järjestelmällä käyttäen natiiviliukulukutyyppejä, jotta laskenta olisi mahdollisimman nopeaa. Käytetyt algoritmit on näissä sovelluksissa kuitenkin tyypillisesti kehitetty sen verran numeerisesti stabiileiksi, että pyöristysvirheistä selvitään. "Business"-puolen data-analyysiä tehdään kuulemma yleisesti jopa kamalammilla virityksillä, kuten Excelin VBA-makroilla.
Tietysti tieteellistä laskentaa on moneen lähtöön, mutta "pyöristysvirheitä ei saa tulla" -tyyppiset validoidut, erikoisliukulukutyyppejä käyttävät tms. sovellukset edustavat tietääkseni aika pientä osaa koko paletista.
Ja sikäli kun aloittajaa tai jotakuta muuta vielä kiinnostaa, niin myös itse suosittelisin aloituskieleksi Pythonia. Muun muassa Aalto-yliopistossa tosiaan aloitetaan nykyään Pythonilla. Tätä ennen aloituskielenä oli Java.
os kirjoitti:
Käsittääkseni suurin osa tieteellisen ja teknisen laskennan sovelluksista kyllä tehdään esim. C:llä, FORTRANilla, MATLABilla, R:llä tai jollakin muulla järjestelmällä käyttäen natiiviliukulukutyyppejä, jotta laskenta olisi mahdollisimman nopeaa. Käytetyt algoritmit on näissä sovelluksissa kuitenkin tyypillisesti kehitetty sen verran numeerisesti stabiileiksi, että pyöristysvirheistä selvitään. "Business"-puolen data-analyysiä tehdään kuulemma yleisesti jopa kamalammilla virityksillä, kuten Excelin VBA-makroilla.
Oma pointtini oli, että kannattaako valita työhön työkalu, mikä tarjoaa valmiit tietotyypit tarkkaan laskentaan ja tiedon esittämiseen vai työkalu, minkä kanssa joudut käyttämään lisäkirjastoja tai jopa kokonaan kirjoittamaan tarvittavat kirjastot itse.
Noissa business-puolen sovelluksissa itse ainakin käyttäisin laskentaan desimaalilukuja. PL/I:ssä esim. löytyy suoraan fixed decimal tietotyyppi. Toki sisäisesti useimmat kääntäjät käsittelevät noita BCD-lukuina ja tekevät muunnoksen fpu:lla, jonka avulla homma hoituu nopeasti muistaakseni 20 desimaaliin asti. Picture formaatin avulla tuloksen esityksen voi myös muotoilla halutun kaltaiseksi.
No niin kone on nyt saatu taas kuntoon ja opiskelu voi jatkua :P
Suuri kiitos taas vastauksista, vaikkakin muutama viimeinen meni vähän yli hilseen :)
mieltä askarruttaisin sellainen kysymys viellä että minulla on jo yksi ammattikoulu takana ja mikäli pääsen nytten syksyllä kouluun viellä niin saan joitain aineita hyväksi luetuiksi, niin kuinka suuressa osassa on matematiikka tässä hommassa että voinko jättää sen pois?
Matematiikkaa sinänsä ei välttämättä tarvitse, tai siis tarve riippuu aivan siitä, mitä ohjelmoi. Olen kuitenkin vahvasti sitä mieltä, että jos matemaattinen ajattelu on hankalaa, ohjelmoinnin vaatima logiikka on myös hankalaa, ja vastaavasti jos matematiikka sujuu hyvin, ohjelmointikin todennäköisesti sujuu paremmin. Molemmissa pitää ymmärtää samantapaisia abstrakteja lausekkeita ja niiden merkityksiä.
naapuri kirjoitti:
kuinka suuressa osassa on matematiikka tässä hommassa että voinko jättää sen pois?
"Tällä hommalla" ilmeisesti tarkoitat ohjelmointia. No, kysymyshän riippuu aika pitkälti paitsi siitä, millaisia juttuja ohjelmoit, myös siitä miten matematiikka sanana ymmärretään.
Jos ajatellaan matematiikkaa deduktiiviseen päättelyyn perustuvana käsitteellisenä tieteenä ja sitä mitä matemaatikot normaalisti tekee, niin ohjelmoinnissa ei sellaista matematiikkaa tarvitse, ellei sitten tee erityisesti matematiikkaan pohjautuvia järjestelmiä. Siis esimerkiksi jos suunnittelee ja ohjelmoi salausalgoritmeja, niin sitten täytyy varmasti olla hyvä ymmärrys matematiikasta. Jos taas tekee salausohjelman, joka käyttää olemassaolevia algoritmeja, ei juurikaan tarvitse osata/ymmärtää matematiikkaa.
Jos taas ajatellaan sanalla matematiikka sitä peruslaskentoa ja -logiikkaa, mitä ala- ja yläasteella sillä nimellä opetellaan niin kyllähän sellaiset perusteet on ohjelmoinnissa hyödyllisiä. Siis tarkoitan tällä lähinnä että jos ei perustrigonometria aukea sitten mitenkään, niin voi olla vaikeaa tehdä edes yksinkertaista peliä. Väitän myöskin omiin kokemuksiin perustuen, että matemaattisesti lahjakkaille monet ohjelmointiin läheisesti liittyvät asiat, kuten tietorakenteet ja algoritmit sekä loogiset syy-seuraussuhteet on helpompia omaksua.
siis ei matematiikka tuota minkäänlaisia vaikeuksia vaan lähinnä ajan takaa sitä että voin jättää niin sanotut "turhat" aineet pois ja keskittyä vain olennaisiin aineisiin datamonin opinnoissa.
Pitää nytten katsoa sitten uudestaan opettajien kanssa sen tarpeellisuutta mikäli kouluun pääsen:)
Eipä ala- ja yläkoulussa taida olla minkäänlaista logiikkaa.
Kyllähän opetusohjelman mukaan jo alakoulun 1. luokalla käsitellään loogisia lausekkeita (mm. suuruusvertailu < ja > )
Väittäisin että tuonkin asian ymmärtämisestä on paljon hyötyä ohjelmoinnissa.
naapuri tuosta datanomin opinnoista voin sanoa sen, että siellä ei tulla opettelemaan paljoakaan ohjelmointia. Itse olen käynyt vain yhden java-kurssin (toinen java-kurssi on valinnainen, jota ei kaikkialla ole saatavilla) ja yhden logiikan kurssin (totuustaulut sun muuta...)'
Varmaan jos innostusta löytyy niin voi saada etänäkin joitain kursseja, mutta siitä kannattaa sanoa opettajalle niin ne voivat hoitaa asiaa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.