Ohjelmoinnin aloittaminen ?
-
- Viestit: 840
- Liittynyt: 20.10.2010 klo 17.58
Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja Vklnuppi »
Täältä löysin jo jotain juttuja aloittelijalle ja google auttoi lisää, mutta olen yhä hukassa kuin liito-orava haukkuuaukealla Aiempaa kokemusta ohjelmoinnista ei käytännössä ole (no mitä nyt pari hassua kurssia vuosia sitten). Mikä kieli tästä nyt pitäisi ottaa opiskeltavaksi kun haluaisin tehdä omia applikaatioita iPhonelle. iPhone siksi, että sen "kokoisen" ohjelman voin ehkä joskus vuosien päästä saada valmiiksi ja onnistumaan (mitenkään vähättelemättä niitä).
C++ , java , python, ruby... näitähän on miljoona ? Eikä olisi haittaa jos kyseistä kieltä pystyy jossain muuallakin käyttämään. Olen ymmärtänyt että kaikki lähtee jonkun peruskielen hallinnasta ja sitten siirrytään tuohon objective C:hen (?) Rubyä kehuttiin helpoksi, mutta silti hyväksi kieleksi, en tosin ymmärtänyt Rubyn ja C++ yhteyttä (vai oliko sitä edes).
Työelämään ei ole pyrkimystä päästä sillä olen realisti, koulussakin oli it-puolella kavereita joille koko koulu oli läpihuutojuttu ja kurssit helpompia kuin omat harrasteprojektit.
-
- Viestit: 417
- Liittynyt: 22.9.2009 klo 11.44
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja aritko »
Tämä siis vain vinkkinä, kun et ollut noita tuossa alku viestissä luetellut.
C++ , java , python tai ruby jutuista joutuu joku muu vastaamaan, kun en niillä ikinä ole hommia tehnyt...
-
- Viestit: 1417
- Liittynyt: 25.11.2007 klo 15.08
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jjari »
Paitsi että tuo ei ole ohjelmointiaaritko kirjoitti:Itse olen nyt tehnyt muutaman Web App softan iPhonelle ihan HTML5, CSS3 ja JavaScript (jQuery) hässäkällä. Näissä ainakin oppimiskynnys matala ja saa helposti aikaan aika kovaakin kamaan. Ihan itsestä kiinni.
Objective C lienee nimestä päätellen lähimpänä C++:aa. C++ ei taas taivu web-ohjelmointiin kovin mukavasti. Web-softia jos haluaa tehdä niin java/C# lienee parhaat vaihtoehdot jos puhutaan monimutkaisista järjestelmistä. Ruby ja python käyvät myös mutta ovat tulkattavia skriptikieliä, ei käännettäviä "oikeita" ohjelmointikieliä. Onko se sitten etu vai haitta niin se riippuu tehtävästä softasta. Käännettävä käännetään konekielelle ennen ajamista ja on näin ollen nopeampi. Käsittääkseni rubylla ja c++:lla ei ole mitään yhteyttä muuta kuin ruby on alunperin tehty c:llä, ja c++ pohjautuu c:hen.
PHP on myös hyvä tulkattava web-ohjelmointikieli, syntaksi lienee hyvin lähellä c:tä/c++:aa. PHP on täysin riittävä perusjampan tarpeisiin, mutta heti jos pitää alkaa rakentamaan monimutkaisempaa softaa klustereineen ja hajautuksineen niin se jää junasta. Web-ohjelmointi lienee helpointa aloittaa PHP:llä.
iPhone 4 16GB - 5.1
Airport Express N
Shuffle 2GB
-
- Viestit: 229
- Liittynyt: 12.3.2010 klo 12.15
- Paikkakunta: Kuopio
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja KauMi »
Kannattaa tosissaan perehtyä perusteisiin ja alkaa tekemään yksinkertaisia ohjelmia/harjoitteita. Sitten kun tieto ja taidot karttuu voi alkaa kehittämään monimutkaisempia ohjelmia.
Ehkä paras vinkki on välttää googlen käyttöä, sen avulla voi helposti oppia ikävän copy-paste tavan, jolloin ei välttämättä edes ymmärrä miten koodi toimiikaan.
-
- Viestit: 1417
- Liittynyt: 25.11.2007 klo 15.08
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jjari »
Kyllä. Ehdottomasti.KauMi kirjoitti: Ehkä paras vinkki on välttää googlen käyttöä, sen avulla voi helposti oppia ikävän copy-paste tavan, jolloin ei välttämättä edes ymmärrä miten koodi toimiikaan.
iPhone 4 16GB - 5.1
Airport Express N
Shuffle 2GB
-
- Viestit: 4725
- Liittynyt: 8.3.2004 klo 17.38
- Paikkakunta: Helsinki
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja spiidi78 »
-
- Viestit: 315
- Liittynyt: 27.1.2008 klo 12.22
- Paikkakunta: Turku
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja Laterix »
On myös hyvä muistaa, että objective-C koodaus vaatii käytännössä OSX:n. Javaa voi koodailla millä alustalla tahansa. Tosin tämän foorumin lukialta luultavasti OSX löytyy.
-
- Viestit: 1533
- Liittynyt: 5.1.2007 klo 19.25
- Paikkakunta: Lappeenranta
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja kari.patila »
Itse opettelin perusteet aikoinaan Turbo Pascalilla, kun se sattui olemaan opetuskielenä siihen aikaan. Kieliä on sittemmin tullut vaihdeltua tarpeen mukaan skriptikielistä aina Objective-C:hen asti.
-
- Viestit: 937
- Liittynyt: 5.6.2006 klo 13.48
- Paikkakunta: Helsinki
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja morbusg »
-
- Viestit: 48
- Liittynyt: 18.4.2011 klo 9.54
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja DJKyykkae »
Perusymmärrystä (olio)-ohjelmoinnista tuo toki jo edellyttää. Pohjille voisi lukea tuon omassa threadissaan mainitun perusoppaan: http://www.cocoalab.com/BecomeAnXcoder.pdf
(Edit:)
Niin, täältäkin siis ääni sille, että aloitat suoraan Objective C:stä ja Cocoasta. Applen iOS Developer Centeristä on ilmaiseksi ladattavissa iOS-järjestelmän developer kitti, joka sisältää erinomaisen XCode -editori/kääntäjä/mitäkaikkea-ohjelman. XCode kokoaa paljon ohjelmoinnin eri osioita yhteen pakettiin, joten asioiden hahmottuminen pikkuhiljaa voi helpottua.
Jos opettelet ohjelmoinnin perusteet isolla vaivalla jollain muulla kielellä/ympäristössä, varsinkin proseduraalisella kielellä (siis olio-ohjelmointia tukemattomalla kielellä, kuten tavallinen C), luvassa on jättimäinen uusi shokki kun siirryt iPhone-ohjelmointiin. Parempi mielestäni, ettei perinteistä proseduraalista ohjelmointia edes opettele taakakseen.
-
- Viestit: 76
- Liittynyt: 5.11.2010 klo 12.17
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jalski »
Olen nyt vahvasti erimieltä. Itse aloitin aikoinani assemblyllä ja C:llä, siitä siirryin ohjelmoimaan Infernolle Limbo:lla. Nyt opiskelun alla on PL/I, josta jollakin oudolla tavalla pidän paljon. Omaksi ilokseni teen nykyään myös pieniä pelejä Monkey:llä.DJKyykkae kirjoitti:Jos opettelet ohjelmoinnin perusteet isolla vaivalla jollain muulla kielellä/ympäristössä, varsinkin proseduraalisella kielellä (siis olio-ohjelmointia tukemattomalla kielellä, kuten tavallinen C), luvassa on jättimäinen uusi shokki kun siirryt iPhone-ohjelmointiin. Parempi mielestäni, ettei perinteistä proseduraalista ohjelmointia edes opettele taakakseen.
Tuo Monkey muuten sopii erinomaisesti aloittelevalle ohjelmoijalle, joka pääasiassa haluaa tehdä 2d-pelejä ja demoja. Se tukee objektipohjaista ohjelmointitapaa (vierastan käsitettä olio-ohjelmointi, mikä hiton olio?), jonka toteutus on C++ ja ObjectiveC toteutusta selkeämpi ja helpompi omaksua. Monkey:llä voi ohjelmia tehdä HTML5, GLFW, XNA, Android ja iOS ympäristöihin.
Infernoa ja Limboa voin myös suositella aloittelevalle ohjelmoijalle. Infernoa pystyy ajamaan useampien käyttöjärjestelmien päällä ja natiivina useammalla arkkitehtuurilla. Itse ajan tuota Windowsin päällä ja natiivina Nintendo DS:ssä.
esimerkki: simppeli linssi demoeffekti Limbolla Infernolle
EDIT: siltä varalta, että joku täällä ei ole Infernoon tutustunut niin lisäsin viestiin kuvan, jossa näkyy Windowsin päällä ajettuna Inferno ja sen työpöydälla ajossa kyseinen linkittämäni esimerkkiohjelma.
-
- Viestit: 1249
- Liittynyt: 24.3.2005 klo 23.32
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja Sleepperi »
Olet ymmärtänyt väärin. Jos haluat tehdä iOS- tai OS X-softaa, aloittelijan Objective-C -kirja käteen ja koodaamaan.Vklnuppi kirjoitti:C++ , java , python, ruby... näitähän on miljoona ? Eikä olisi haittaa jos kyseistä kieltä pystyy jossain muuallakin käyttämään. Olen ymmärtänyt että kaikki lähtee jonkun peruskielen hallinnasta ja sitten siirrytään tuohon objective C:hen (?)
Vain jos olisit menossa uralle, olisi asiallista opetella tiettyjä tai tietyntyyppisiä kieliä strategisesti. Mikään kieli ei ole sellainen "peruskieli" mitä on pakko osata ollakseen hyvä ohjelmoija. Niillä on kaikilla oma sovellusalueensa ja elinympäristönsä.Työelämään ei ole pyrkimystä päästä sillä olen realisti, koulussakin oli it-puolella kavereita joille koko koulu oli läpihuutojuttu ja kurssit helpompia kuin omat harrasteprojektit.
Yleisesti "ohjelmoinnin harrastamisesta" kiinnostuneelle on puitu aiemmissa ketjuissa vaihtoehtoja. Mielestäni sillä profiililla kannattaa aloittaa ja koodata yhdellä siistillä ja tuottavalla kielellä, johon on riittävä kirjastotuki. Suosittelen yleisesti Pythonia, kehotan välttämään Javaa ja C++:ta, mutta tässä tapauksessa valinta on luonnollisesti Objective-C. Sillä yhdellä kielellä sitten porskutetaan niin kauan kun ei ole oikeaa tarvetta käyttää jotain muuta. Näin 1) saa nopeiten aikaiseksi jotain toimivaa, mikä on hauskaa, ja 2) pääsee käsiksi isompien projektien hallintaan ja hahmottamiseen, joka on askel kohti geneeristä, kielistä riippumatonta "ohjelmointitaitoa". Ihminen voi olla loistava ohjelmoija, vaikkei osaisi kuin yhtä kieltä. Mutta jos vain "kikkailee" ja värkkää pieniä juttuja, vaikka tekisi monella kielellä ja opettelisi kaikki syntaksin kuriositeetit ja kommervenkit ulkoa, on höyhensarjaa.
-
- Viestit: 1417
- Liittynyt: 25.11.2007 klo 15.08
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jjari »
Miksi?Sleepperi kirjoitti:Suosittelen yleisesti Pythonia, kehotan välttämään Javaa ja C++:ta
iPhone 4 16GB - 5.1
Airport Express N
Shuffle 2GB
-
- Viestit: 1249
- Liittynyt: 24.3.2005 klo 23.32
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja Sleepperi »
Laajensin vähän tekemääsi lainausta, että perustelut tulevat näkyviin. Python on harrastajan työkaluna kertaluokkaa siistimpi ja tuottavampi kuin esimerkiksi nuo kaksi. Se ei ole tehokas suorituskykymielessä, mutta siihenkin voi vaikuttaa tarvittaessa, eikä asialla ole harrastajalle suuren osan ajasta mitään merkitystä. Koska on kyse skriptikielestä, Pythonilla tehtyä softaa on todella helppo laajentaa. Se on hyvä ns. liimakieli, eli hyvä yhteistyössä muilla kielillä koodattujen palojen kanssa (tältä osalta minulla ei tosin ole omakätistä kokemusta).jjari kirjoitti:Miksi?Sleepperi kirjoitti:Mielestäni ... kannattaa aloittaa yhdellä siistillä ja tuottavalla kielellä, johon on riittävä kirjastotuki. Suosittelen yleisesti Pythonia, kehotan välttämään Javaa ja C++:ta
C++ on parhaimmillaan hyvin ilmaisuvoimainen, mutta sen kanssa sulavasti työskentely vaatii hyvää työkalujen hallintaa, sekä sitä että tuntee kielen ja kirjastot hyvinkin perinpohjaisesti, ettei ammu itseään jalkaan. Jos ei tunne kieltä tarpeeksi hyvin käyttääkseen sen edistyneitä ominaisuuksia, niin ampuu itseään jalkaan, mutta lisäksi kielen ilmaisuvoima on silloin huonompi ja koodaaminen kankeampaa kuin Javan. Standardikirjasto on pieni ja kaiken korkean tason toiminnallisuuden perässä pitää mennä muihin kirjastoihin. Sittenkin niiden kirjastojen etsiminen ja hyödyntäminen on huomattavasti hankalampaa kuin Pythonissa.
Javassa muistinhallinta ei itketä, mutta se on syntaksiltaan ja ajatusmalleiltaan jäyhä eikä kovin ilmaisuvoimainen kieli. Sillä on siis hidasta, ei-tuottavaa koodata. Javan vahvuudet, niinkuin älyttömän laajat standardikirjastot, infrastruktuurit, oheistilpehöörit ja tietyntyyppinen luotettavuus, tulevat esiin lähinnä isoissa kaupallisissa jutuissa. Huonoille (palkatuille) koodareille Javan jäyhyys on ehkä hyvä, kun eivät pysty rikkomaan mitään niin nopeasti kuin muilla kielillä. Eri kysymys on, kannattaako heitä siltikään palkata.
Todettakoon, että koodaan itse C++:lla ja saan palkkaa, olen koodannut Javalla ja saanut palkkaa, ja kosketuspohjani Pythoniin rajoittuu koulukurssiin ja vähän päälle. Sekin vähä riitti johtopäätöksen muodostamiseen.
-
- Viestit: 76
- Liittynyt: 5.11.2010 klo 12.17
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jalski »
Samoilla linjoilla olen kanssasi C++:n ja Javan kanssa. Täytyy kyllä tunnustaa, että en kumpaankaan noista ohjelmointikielistä tutustuessa ole hirveästi aikaani käyttänyt. Jokin vain noilla kirjoitettua koodia lukiessa tökkii omaan silmään.Sleepperi kirjoitti:C++ on parhaimmillaan hyvin ilmaisuvoimainen, mutta sen kanssa sulavasti työskentely vaatii hyvää työkalujen hallintaa, sekä sitä että tuntee kielen ja kirjastot hyvinkin perinpohjaisesti, ettei ammu itseään jalkaan. Jos ei tunne kieltä tarpeeksi hyvin käyttääkseen sen edistyneitä ominaisuuksia, niin ampuu itseään jalkaan, mutta lisäksi kielen ilmaisuvoima on silloin huonompi ja koodaaminen kankeampaa kuin Javan. Standardikirjasto on pieni ja kaiken korkean tason toiminnallisuuden perässä pitää mennä muihin kirjastoihin. Sittenkin niiden kirjastojen etsiminen ja hyödyntäminen on huomattavasti hankalampaa kuin Pythonissa.
Javassa muistinhallinta ei itketä, mutta se on syntaksiltaan ja ajatusmalleiltaan jäyhä eikä kovin ilmaisuvoimainen kieli. Sillä on siis hidasta, ei-tuottavaa koodata. Javan vahvuudet, niinkuin älyttömän laajat standardikirjastot, infrastruktuurit, oheistilpehöörit ja tietyntyyppinen luotettavuus, tulevat esiin lähinnä isoissa kaupallisissa jutuissa. Huonoille (palkatuille) koodareille Javan jäyhyys on ehkä hyvä, kun eivät pysty rikkomaan mitään niin nopeasti kuin muilla kielillä. Eri kysymys on, kannattaako heitä siltikään palkata.
Limboon tykästyin heti, taisi mennä kaksi päivää tutustuessa ja sain valmiiksi ensimmäisen yksinkertaisen pelini Infernolle. Inferno tarjoaa tiedostoliitynnän lähes kaikkeen ja esimerkiksi yksinkertaisen vuoropohjaisen verkkopelin tai vaikka chatti serverin kirjoittaminen on hyvinkin helppoa ja onnistuu jokusella sadalla riviä koodia.
Työn alla olevan shakkipelini olenkin tänne joskus aikaisemmin laittanut näkyville ja laitetaanpas nyt vielä linkki yksinkertaiseen chat serveriin ja asiakkaaseen. Tuo ei siis ole tuotantokelpoinen toteutus, vaan hyvin nopeasti kirjoitettu esimerkki ja tarkkasilmäiset ehkä havaitsevat, että jos käyttäjiä olisi paljon niin USERS viesti ei enää tulisi perille. Tämä siis koska olen rajoittanut vastaanotettavan viestin maksimiksi 1024 tavua, jonka jälkeen jo vastaanotetut tavut heitetään pois.
Yksinkertainen Chat serveri ja asiakas Infernolle Limbolla
-
- Viestit: 2145
- Liittynyt: 11.12.2009 klo 12.32
Re: Ohjelmoinnin aloittaminen ?
Viesti Kirjoittaja jpq »
Lisäisin myös sen että äkkiä koodi jonka joku antaa ei välttämättä toimikkaan ihan kaikissa tilanteissa ihan oikein.jjari kirjoitti:Kyllä. Ehdottomasti.KauMi kirjoitti: Ehkä paras vinkki on välttää googlen käyttöä, sen avulla voi helposti oppia ikävän copy-paste tavan, jolloin ei välttämättä edes ymmärrä miten koodi toimiikaan.
ps. jos mäkille itse ehdin koodata se varmasti Objective-C linjaa,jos muille koneilleni luultavasti C kieltä koska se on niiden ädinkielen asemassa. et retroilu koodailutkin parille alustalle C kääntäjällä. vaikkei kaikki olekkaan mahdollista niissä alustoissa silloin.(ne vaatii assembleria todella hnerkästi kuten arvata saattaa).
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit