Seuraa 
Viestejä45973

Missäs voisi itse opiskella ohjelmointia (netissä) ja mikä ohjelmointikieli kannattaisi opetella?

Sivut

Kommentit (39)

idiotus
Seuraa 
Viestejä1907

Pythonia monet "markkinoivat"helppona. Plussana siirrettävyys käyttöjärjestelmästä toiseen riippuen toki mihin kaikkeen sen sitten sitoo.

Aloittelijalle opas:
http://www.it.lut.fi/kurssit/06-07/Ti52 ... TY2006.pdf

Quidquid latine dictum sit, altum videtur.

In porto perse vitulus est.

Rousseau: "tämä keskustelufoorumi saattaa aiheuttaa itsetuhoisuutta, käytettävä vain hoitohenkilökunnan valvovan silmän alla ja/tai hyvin lääkittynä".

Varoitus! Saatan leikkiä välillä paholaisen asianajajaa jopa tiedostamatta sitä.

dali
Missäs voisi itse opiskella ohjelmointia (netissä) ja mikä ohjelmointikieli kannattaisi opetella?



Aiotko koodailla omaksi iloksesi vai tehdä uraa? Mitä käyttöjärjestelmää käytät?

Jos et osaa ohjelmoida vielä mitään, valitse joko Python, Java tai C#.

Kaikille noille kielille löytyy netistä ilmaisia kehitysympäristöjä ja läjäpäin tutoriaaleja.

Sisältö jatkuu mainoksen alla
Sisältö jatkuu mainoksen alla
dali
No ihan omaksi ilokseni ja voihan siitä joskus jotain hyötyä olla että edes alkeet osaisi. Käyttöjärjestelmänä on vista.



No sitten sanon, että ota C#. Windows-ympäristössä sillä on varmaan helpoin päästä alkuun ja kielikin on erinomainen. Microsoftilta saa ladattua ilmaisen Visual C# Expressin. Huonona puolena on, että ohjelmien kehittäminen on tehty liian helpoksi. Syvällinen ymmärrys voi jäädä saamatta.

Skriptikielillä, kuten tuolla Pythonilla on helpompi aloittaa.

Jos alkaa värkkäämään heti M$:n tuotteilla, ei opi eroa ohjelmointikielen ja ohjelmointiympärisön välillä. M$:n ohjelmointikehitysympäristöllä tekee mitä vain osaamatta ohjelmoida.

Tuo idiotuksen linkittämä opas näyttää mainiolta!

Periaatteessa on ihan sama millä aloittaa. Ohjelmoida voi millä vaan kielellä ja paradigmalla. Oleellista on kysyä mitä haluat oppia ja varsinkin mitä haluat tehdä?

Ei ole mitään parasta kieltä. Eikä ole mitään yleispätevästi parasta ohjelmoinnin paradigmaa. Kaikilla kielillä ja menetelmillä voi ohjelmoida, ja kaikilla voi oppia ohjelmoimaan.

Jollei sinulla ole jotain aivan erityistä ongelmaa ratkottavana, suositukseni sinulle on: Aloita ihan mistä vaan kielestä. Ihan mistä vaan. Kunhan aloitat.

PS. Jos haluat vertailla eri ohjelmointikieliä tai -paradigmoja käy vilkaisemassa saittia, jolla on tehty sama simppeli ohjelma jo 1268 eri kielisenä versiona: http://99-bottles-of-beer.net/abc.html
Jokainen saitin ohjelma tulostaa saman laulun sanat.

Kielistä oma lempparini on kyllä ehdottomasti Beatnik

abskissa
Seuraa 
Viestejä3654

Oma suosikkini on False:
http://strlen.com/false/

Mutta älä hitossa aloita tuosta.

Ensimmäiset askelet kannattaa ehkä ottaa ihan jonkun tekstieditorin kanssa. Hyvän editorin saa konfiguroitua niin, että koodi kääntyy nappia painamalla. Pelkällä tekstieditorilla työskennellessä tulee perusteet hyvin tutuksi. Kehitysympäristöt ovat niin pullollaan ominaisuuksia, että ne voivat aluksi viedä huomion oleellisesta. Toki sitten kun on oikeasti tarkoitus tehdä jokin sovellus, kannattaa ottaa IDEt käyttöön.

Ohjelmointikielen valinta ei minun mielestäni niin kovin kriittistä ole. Googlaa vähän asiaa noista ehdotetuista ja muista moderneista oliokielistä, ja katso, mikä tuntuu parhaalta. Kun on yhden kielen todella oppinut, ei seuraavan opettelu ole kovin suuri askel.

Uuden paradigman opettelu vaatii vähän enemmän ponnisteluja. Siksi suosittelisin valitsemaan vallitsevan lähestymistavan edustajan: ota oliokieli. Java, Python ja C# ovat sellaisia.

We're all mad here.

dali
Okei elikkäs lataan tuon python ohjelman sieltä pythonin sivuilta ja alan opettelemaan tuolta idiotuksen lähettämästä linkistä vai?
Siinä on yksi erittäin hyvä vaihtoehto. Kiirettä ei kannata pitää. Paras on lähteä ihan kirjoittelemaan koodia, ei missään tapauksessa copy-pasteamaan.

idiotus
Seuraa 
Viestejä1907

Juu tuossa oppaassa neuvotaan asennuskin.

Nouda Python 2.5 / 2.6
http://www.python.org/download/

Python 3 on hieman eroavaisuuksia. Lähinnä tottumuskysymyksiä, mutta opas menee 2.5 mukaan ja pelkästään ensimmäiseksi "ohjelmoitava" morjens maailma on koodiltaan hieman eroava.

Kunnollinen tekstieditori vähintääkin. Notepad on erittäin huono Pythoniin.
Tuosta parempi
http://notepad-plus.sourceforge.net/uk/site.htm

Quidquid latine dictum sit, altum videtur.

In porto perse vitulus est.

Rousseau: "tämä keskustelufoorumi saattaa aiheuttaa itsetuhoisuutta, käytettävä vain hoitohenkilökunnan valvovan silmän alla ja/tai hyvin lääkittynä".

Varoitus! Saatan leikkiä välillä paholaisen asianajajaa jopa tiedostamatta sitä.

Neutroni
Seuraa 
Viestejä35916

Paras kieli on kaikille Pihtiputaan mummosta liimatukkaiseen ûbernörttiin ja kaikkiin käyttötarkoituksiin erinomainen Malbolge. Mutta jos Malbolgen perusteisiin perehdyttyäsi haluat kokeilla jotain perinteisempää, toiseksi paras valinta tosiaan riippuu siitä mitä haluat ohjelmoida. Pienet, nopeat ja tehokkaat ohjelmat syntyvät esimerkiksi C:llä tai Fortranilla, mutta suurempien, usean koodaajan yhteistyötä edellyttävien ja helposti hallittavien ohjelmien tekoon kannattaa opetella joku modernimpi olio-ohjelmointikieli, vaikka Java tai C++.

Deus Ex
Onko neliraajahalvaantuneella koodarilla ohjelmointikieli?

Oli joku kieli jota ohjelmoidaan äänteillä ja se käännetään ogg-tiedoston perusteella. Komento on se jota äännähde eniten muistuttaa. Sillä vain koodailemaan

Deus Ex
Aattelin että se halvaantunut koodari voisi ohjelmoida kielellään
Joku BASIC tyylinen on varmasti paras, kun ei tarvi pelleillä hakasulkeilla yms.

Samoin on kehittellä käteviä converttereita UML-kaavioista suoraan koodiksi.

Kosh
Seuraa 
Viestejä21228
Olli V

Samoin on kehittellä käteviä converttereita UML-kaavioista suoraan koodiksi.



Ei kannata pidättää hengitystä. Noita on kehitelty jo kymmeniä vuosia, ja tullaan kehittelemään edelleenkin. Melko toivotonta puuhaa. ULM on surkea keksintö, vaikkain ilmeisen tarpeellinen mm. dokumentointiin paremman puutteessa. Joku sen ohjelmakoodinkin aina joutuu kirjoittamaan, vaikka sitten koodigeneraattorin säännöstöihin ja softa-alustaan. Plus että se UML on vain graafinen malli koodista, joten mallintajan pitää silti ymmärtää kaikki oleellinen koodailusta. Olioparadigmat, tietotyypit, rajapinnat, eventit, viestit, interaktiot, algoritmeista jotain jne jne. Ei ole realistista olettaa että tajuamatta mitään ohjelmoinnista voisi vain piirrellä jotain ULM-luokkadiagrammeja ja tuottaa järkevää softaa VAIKKA olisikin joku spesiaalipurkkaviritys, mikä generoi sen jossain ympäristössä ajettavaksi koodiksi. Ensin perusteet haltuun.

Se oli kivaa niin kauan kuin sitä kesti.

abskissa
Seuraa 
Viestejä3654

Ei "graafinen" ohjelmointi sinänsä ole mitenkään mahdoton ajatus. Ks.

http://en.wikipedia.org/wiki/Visual_pro ... _languages

Mutta ongelmat ratkeavat vain ratkaisumenetelmät kuvaamalla, mikä vaatii taitoa ja harjoitusta, käytetään siihen mitä työkalua hyvänsä. Tekstin naputtelu voi loppujen lopuksi olla paljon vaivattomampaa kuin kaavioiden piirtäminen. UML:kin on kokonaisuudessaan niin monimutkainen hirvitys, että nopeammin yhden kielen perusteet opettelee. Ohjelmointikielet ovat kuitenkin verrattomasti yksinkertaisempia kuin luonnolliset kielet.

We're all mad here.

Minä pääsin aikoinani ohjelmistojen periaatteista selville laskimella (n. 1981).

Laskin oli Casio-merkkinen ja komennot tökittiin näppäimistöllä, mutta muistikkaita näppiksessä ei ollut helpottamaan ohjelmontia. Toki näppäistön päälle oli asetettavissa muovinen tulkki, jonka avulla peitettiin laskimen perustekstit ja korvattiin hiukan ohjelmointitekniikan mukaisemmilla muistikkailla (goto, if, then, else, begin, end...).

Muita kaiken kaikkiaan tällä välineellä oppi peruskäsitteet ja hyvin, kun tekun fysiikan labroja sillä räknäsin kuten : taulukot, toistorakenteet ja ehdolliset-lauseet.

Nykyjään ohjelmisto-oppilaalle työnnetään heti kaiken maailman OOP-kielet opittaviksi, kun minun mielestä tulis oppia ensin ohjelmistojen perusrakenteet niin, että ymmärtää, mitä ohjelmistojen on tarkoitus helpottaa esim. laskennassa.

Minä olen sitä mieltä, että vanha kunnon ANSI-C kannattaa opetella 1. ohjelmointikielenään. Siis sillä tasolla, että ym. peruskäsitteen ja lisäksi osoittimet ja osoittamisen tekniikat jää hyvin mieleen. Sitten on se ja sama millä ohjelmointikielellä jatkaa.

Usein kuitenkin vuosien päästä joudutaan palamaan C/C++-kieliin. Tällöin on kuitenkin liian myöhäistä ryhtyä opettelemaan, että mitä se alkuaikojen ohjelmointi olikaan.

abskissa
Seuraa 
Viestejä3654

Ovatko perinteiset taulukot, toistorakenteet ja ehtolauseet enää modernien kielien peruspalikoita? Taulukoiden sijaan käytetään mielellään listoja ja mäppejä, ehtolauseiden käyttö pyritään minimoimaan ja toistorakenteissakin ollaan pääsemässä indeksien juoksuttamisesta. Sovellusten toimintatapakin on muuttunut perinteisestä peräkkäisestä tapahtumapohjaiseksi ja rinnakkaiseksi.

Minäkin olen kahlannut matalan tason läpi ennen olio-ohjelmointiin tutustumista, mutta en tosiaan menisi vannomaan, että tämä on enää nykyään paras etenemistapa. Voi olla parempi aloittaa ohjelmointi oliokielellä, niin oppii heti oikean lähestymistavan nykyaikaiseen ohjelmointiin. Huomio kiinnittyy heti alkuun ohjelman rakenteeseen. Taitava olio-ohjelmoija ratkaisee ongelmia nimenomaan oikeilla rakenteilla ja kiinnittää huomion ensisijaisesti rajapintoihin ja vasta sitten toteutustasoon. Mikään ei tietenkään pelasta ohjelmoijaa, joka ei alkuunkaan ymmärrä tietokoneen toimintaperiaatetta, mutta kovin paljon aikaa noihin osoittimiin ja C:n syntaksin koukeroihin ei ehkä kannata uhrata.

Ja pääseekö vielä C:n lähestymistavalla oikeastaan asian ytimeen osoittimien suhteen? Jos tosissaan matalalle tasolle haluaa, miksei hyppäisi suoraan assembler-ohjelmointiin? Siinä on sitten muistiosoitteet aivan samanlaista dataa kuin kaikki muukin, eikä tarvitse muuttujien kanssa pelleillä. Samalla saa oikeastaan jättää hyvästit niille taulukoille, toistorakenteille ja ehtolauseillekin.

Siinä mielessä noihin perinteisiin kieliin kuitenkin kannattaa tutustua, että ymmärtää, miksi olio-ohjelmointi valtasi alan. Ja kun näkee, kuinka monella eri tavalla ohjelmointia voidaan harrastaa, tajuaa myös sen, että olio-ohjelmointia seuraava vallitseva paradigma saattaa olla jo oven takana.

We're all mad here.

Oon joskus ohjelmoinut if-goto -rakenteella tekstiseikkailu. Kehittyneemmässä versiossa oli vielä mukana, jonkinlainen alkeellinen Dungens & Dragons taistelusysteemi.

Kielenä Basic

Sivut

Suosituimmat

Uusimmat

Sisältö jatkuu mainoksen alla

Suosituimmat