Kyselisin ohjelmointikieltä, jota kannattaisi alkaa 14-vuotiaan opettelemaan. Haluaisin myös kunnon perusteluja, joidenka johdosta itse aloititte opettelemaan kyseistä kieltä.
Haluaisin myös tietää nettiosoitteita, joissa on oppaita ehdottamillenne kielille, tai kirjoja, joita voi tilata netistä tai löytää kirjakaupoista (mieluiten suomeksi).
P.S. Toivottavasti ette siellä ylläpidossa tulkitse tätä "viestin-melkein-jokaiseen-foorumiin-jättämistä" spammiksi, mutta en löytänyt yhtään yleistävää foorumia.
Itse en tykkää VB ohjelmoinnnista koska se haiskahtaa liikaaa microsoftilta :D c++ on "ei-skripti-kielistä" se mistä oon itse eniten kiinnostunut.
Skriptikielistä PHP ja Perl on kivoja :)
http://cppopas.cjb.net hyvä suomenkielinen C++ opas
Pascalilla on helppo aloittaa
http://www.tuug.utu.fi/~f/pascal/
Myös Q-Basic voisi olla hyvä vaihtoehto, jos et ole ennen mitään koittanut (luultavasti). Mitä muut ovat mieltä?
QB on hyvä aloittelijoille. Ja mikseipä muillekin. Mutta suosittelen c++:aa.
C++:aa suosittelen minäkin nimittäin QB:n avulla oppii lähinnä huonoja ohjelmointitapoja (varsinkin kun sitä ei osaa kunnolla).
Ja c++:aan pystyy pistämään assembly-koodia sekaan ainakin DJGPP:llä.
Kannattaa aloittaa C:llä tai C++:lla jos rupeat pelejä tai muuta isompaa tekemään. Tosin C:llähän ei yksinään pelejä tehdä joten jos nopeasti/helposti haluat aloittaa niin niitä on jotain BASIC:eja ja muuta siihen tarkoitukseen.
Itse aloittelin aikanaan DOS:n mukana tulevalla QBasic:lla. Matkan varrella on tullut kokeiltua mm. Pascalia ja C/C++:saa mutta ne eivät oikein silloin sopineet Basic:iin tottuneelle.
Nykyään käytän Visual Basic 6:sta ja joskus QuickBasic 4.5:sta. VB on omasta mielestäni hyvä, koska sillä voi ajaa myös keskeneräisiä ohjelmia ilman kääntämistä .exe tiedostoksi (aivan kuten QB 4.5:llä).
Uusin kieli jonka opettelin oli PHP. Sillä ei tosin voi tehdä samanlaisia ohjelmia kuin esim. VB:llä vaan se on tarkoitettu HTML-sivujen yhteydessä käytettäväksi.
PHP on aika helpon tuntuinen ja monipuolinen. Tuntuu, että kun sen oppii niin on helpompi oppia muitakin kieliä...:) Aloitusohjeita on esim. täällä Ohjelmaputkassa sekä mm. seuraavissa osoitteissa:
http://www.jorkki.com
http://www.mureakuha.com
http://www.php.net (engl.)
ja lisää löytyy Googlella.
PHP on tarkotettu web-ohjelmointiin ja se on skriptikieli, eli suoritetaan suoraan lähdekoodista. siis jos haluat tehä jotain ajettavia ohjelmia ja pelejä nii sanoisin että c++.
Jeps. Aluksi voi basic olla ihan hyvä vaihtoehto, mutta pidemmän päälle sillä oppii vain huonoja tapoja. C/C++ ovat molemmat aika vaikeita, mutta niillähän sitä kannattaa alkaa tekemään, jos tosissaan meinaa jotain aikaan saada. Ja hyvä suomenkielinen opas C++:lle löytyy netistä: http://www.cppopas.cjb.net
Suosittelisin QBasicia.
QBasicilla kannattaa mielestäni aloittaa, se ei "tuhoa aivosoluja" vaikka jotkut niin väittävätkin. Suosituksia:
-ilmainen
-helppo ja monipuolinen
-toimii kaikkialla
-Internetistä löytyy paljon tietoa ja esimerkkikoodia
Siitä voi sitten myöhemmin siirtyä vaikka Visual Basiciin, jolla onnistuu täysveristen Windows-ohjelmien luominen.
Sitä minäkin suosittelisin.
Joo, qbasic on erittäin hyvä aloittelukieli, vaikka monet toisin väittääkin. Kyllähän se tosin opettaa pahoja tapoja, mutta itse hankin itselleni kunnon perustan 4 vuoden qb ohjelmoinnilla, jolloin opettelin php:n, jonka jälkeen C oli erittäin helppo oppia, ja sitten C++...
itse aloitin joskus yhdeksän vuotiaana Q-basicilla ja 10 vuotiaana siirryin vb:hen ja sitä käytän nykyäänkin, eikä moittimista ole.
Itse kyllä suosittelisin aloittamaan jollain vähän helpommalla kielellä kuin C/C++. Esim. Delphi (Object Pascal) tai vaikka Java, Visual Basic on myös ihan ok, vaikka siitä olio-ominaisuudet puuttuvatkin.
Sanotaan, että jos aikoo opetella c++:n, niin ei kannata opetella ensiksi c:tä. Älkää minulta kysykö, että miksi. Haluaisiko joku valaista asiaa? Olen varmaan joskus lukenut jostain nämä syyt, mutta en enää muista...
Jos haluaa aloittaa helposta, niin visual basic/qbasic, muuten se kannattaa olla melkein c++.
Olen ohjelmoinut jo 2 vuotta QBlla, vaihtamatta visualiin.
Nyt olen 11 wee.
Q-Basic on hyvä! Sillä voi tehdä todella hyviä pelejä jos osaa...
C:llä kannattaa aloittaa, aluksi sen oppiminen saattaa olla hankalaa.
Älä opettele c++:ssaa, se ei ole yhtään helpompaa (se on hitaampi ja sekalaisempi)
Ja C:llä kannattaa jatkaa loppuun asti :)
Hitaampi? Onko?
Ehkä VB:llä on kuitenkin helpompi aloittaa, kuin Q-Basic:lla.
Siinä on matala kynnys, eikä raja tule heti vastaan.
Mutta VB:stä on huono siirtyä c++:aan tai muihin "kunnon" ohjelmointikieliin.
Ei voi olla samaa mieltä AnttiT:n kanssa. Opettele C++:aa ;>
C++ ei varmasti ole C:tä sekalaisempaa, hitaampaa kyllä (riippuen tietysti miten koodaa).
ja nopeus riippuu myös varmastikkin paljon kääntäjästä
QB on hyvä aloitus. Aloitin joskus 8-9 vuotiaana. Nykyisin C++ ja Asm.
mä olen aloittanu QBasicilla jo joskus 5 vuotiaana, kun sen kerran löysin vanhalta 286:selta :). Nyt olen alkanut käyttää myös visuaal basiccii.
Jogge, kuinkas vanha nyt olet?
Itse olen aloittanut ohjelmoimaan Basicillä, sitten siirtynyt C:hen ja nykyään C++:aan. Javaakin on tullut käytettyä. Jokaisessa on omat hyvät ja huonot puolensa.
Kielten erot voisi kiteyttää näin:
Basic - helppo, aloitteluun sopiva, ei suuriin ja vaativiin
projekteihin.
C - vaikeampi, tehokas (oikeastaan vain assemblerilla pystyy parempaan), sopii melko suuriin projekteihin, "HC-koodaaja-gurujen kieli" ;).
C++ - C:tä jonka päälle liimattu olio-pohjaisuus, hieman C:tä tehottomampaa (ei merkittävästi), sopii erittäin suuriinkin projekteihin.
Java - kuin C++:aa josta otettu parhaat puolet ja yksinkertaistettu, enemmän automaattista logiikkaa ja lähempänä ajonaikaista kieltä, hieman tehottomampi, vähemmän altis virheille ja helpompi debugata kuin C++, sopii erittäin suuriinkin projekteihin, alustasta riippumatonta, vain ja ainoastaan olio-pohjaiseen koodaukseen.
Ja noihin C vs C++ keskusteluihin:
C++ ei kylläkään ole hitaampaa tai sekalaisempaa kuin C.
Tosin C++:n todellinen uudistus verrattuna C:hen on oliopohjaisuus ja sitä voi olla vaikea osata käyttää oikein hyväkseen jos on juuri aloittelemassa ohjelmoimaan. Siis uskoisin että aloitteleva ohjelmoija ei saa juuri mitään hyötyä irti oliopohjaisuudesta, koska ei osaa sitä hyödyntää oikein, tämän takia kannattaa "kirjoittaa C:tä, mutta kääntää se C++ kääntäjällä". ;)
Siis missään tapauksessa ei kannata kirjoittaa C:tä ja kääntää sitä perinteisenä C:nä - vaan kannattaa ennemmin kirjoittaa C++:lla ei-olio-koodia, jolloin itse asiassa kirjoitat aivan kuin C:tä, mutta käännät sen C++ kääntäjällä. ;) Samalla saat automaattisesti muutamia C++:n parannuksia (kuten paremmat kääntäjän varoitukset) vanhaan C:hen.
Jos et ymmärtänyt mitä tuolla C/C++ tekstillä tarkoitin, niin ei hätää, luultavasti vaikka luulisit kirjoittavasi C:tä, kirjoitatkin C++:aa tietämättäsi. Jos tiedoston pääte on .cpp, olet kirjoittanut C++:aa, vaikka koodi näyttäisi aivan C:ltä. :)
Minä ainakin aloitin QBasicilla ja sitten C:tä ja C++ sen jälkeen. Niin ja vikaksi Assembler.
Ohjelman nopeus riippuu varmaan kirjoittajan koodaus taidoista ja koneen nopeudesta, vaikka onhan asm. ohjelmat tietysti nopeampia kuin C/C++ koska väliin eitule niin paljon turhaa roskaa.
Vilikki, se on aivan sama aloittaako C:llä vai C++:lla, ne ovat periaatteessa ihan samanlaisia, paitsi C++:ssa on eräänlaisia "lisätoimintoja" kuten luokat. Eräästä kirjasta luin, että suurin osa peliohjelmoijista on opetellut C:n ennen C++:ssaa.
Eipäs ookkaa sama asia C++ ei tue aivan kaikkia C:n funktioita
Ai ei vai?
Mistähän minä sitten luin että C++-kielen perustana on C-kieli, johon on tehty lisäyksiä ja olio-ohjelmointi jutut sisältävä laajennus. Kaikki C++-ohjelmoijat osaavat C-kieltä, koska se on C++-kielen osajoukko.
Että kuinkahan olisi?
Ainakin yhdessä vanhassa C-ohjelmointi kirjassa selittään että osa C ohjelmoinnin funktioista ei toimi C++ ja osa on molemmissa.
Itse en kyllä näe mitään syytä opetella C:tä ennen C++:ssaa.
Tämä voi aiheuttaa ongelmia ja turhaa opiskelua...
mrr.. C ja C++:lla on aivan samanlainen syntaksi, jos opettelee C:n, niin C++:n opettelu on käytännössä parin lisäjutun opetteleminen, kuten luokkien. Mitään turhaa ongelmaa, tai turhaa opiskelua ei C:n opiskelemisesta ennen C++:saa...
C++ ja oliot sekottaa pään kuin avaruus oliot.
C on yhtä yksinkertaista kuin assykin.
johtopäätös C on paras.
Niin, yhdyn HtH:n pointtiin, että kun oppii c-kielen, niin ymmärtää c++ kielen, vaikkei c++ kieltä olisi opetellutkaan.
Mutta jos opettelee ensin c++ kielen, niin ei enää opi helpolla c:tä.
Noh, se on jokaisen päätettävissä...
mutta itse koskisin nyt C:hen yhtä varmasti, kuin HtH mihinkään Basiciin :DD
Mä en alottas millään todellisella ohjelmointikielellä ekana. ;)
Ekana opettelisin algoritmin suunnittelua ja teoriaa. Siis ihan yleisesti. Kun nämä taidot sitten on hallinnassa on aika siirtyä johonkin valitsemaansa ohjelmointikieleen (vaikka c, cpp tai java..), kyseisen kielen opettelu on tällöin verrannollisesti helppoa. Opettelee kyseisen kielen syntaksit ja sillee.. Siirtyminenkin on kielestä toiseen helpompaa kun on opetellut takaraivoon ensin yleisen tavan suunnitella algoritmeja (niiden yleisen syntaksin, semantiikan ja pragmatiikan).. eikä niin että on opetellut ensin vaikka VB:een syntaksit.
Imperatiivinen paradigma on ollut kymmeniä vuosia samanlainen, vain pieniä lisäyksiä tapahtunut. Joten näiden algoritmien opettelu on hyödyllistä koska kyseinen tieto ei vanhene.. Toisin kuin varsinaisissa ohjelmointikielissä. :)
Itsekin opiskelen parhaillaan yliopistossa algoritmien suunnittelua ynnä muuta sellaista. Se on hyvä tapa aloittaa. Siis se suunnittelu.. ei välttämättä tarvitse heti aloittaa yliopistolla :)
Oletteko muuten huomanneet miten vähän aloittelijat välittävät algoritmin pragmatiikasta? Pragmatiikan pitäisi olla alusta asti mukana tärkeänä osana. Turha väittää vastaan koska näin on :D
Se nyt on mielestäni ihan sama kumman opiskelee ensin C++:san vai C:een
jaa-a 13 mä oon
C++:ssä on merkkijonojen käsittely paljon helpompaa kuin C:ssä. Suuri osa ohjelmien exploiteista perustuu C:n merkkijonojen käsittelyy, kun sillä on niin mahdottoman helppo moata. Tämän takia C:llä kirjoitetun ohjelman toimimattomuuden löytäminen voi olla todella vaikee, ennen kuin tajuaa huomaa, että rivillä n tapahtuu muistin ylivuoto. Eikä sitä huomaa isoissa ohjelmissa helposti.
lainaus:
P.S. Toivottavasti ette siellä ylläpidossa tulkitse tätä
"viestin-melkein-jokaiseen-foorumiin-jättämistä" spammiksi, mutta en löytänyt
yhtään yleistävää foorumia.
eikö "Yleinen keskustelu" ole mielestäsi tarpeeksi yleistävä? hah. :) ja tähän threadiin en jaksa vastata muuta kuin että lue vastaukseni c++ alueelle postaamaani viestistä.. se jossa käsitellään kanssa kieltä jolla aloittaa.. :)
QBASIC on hyvä. Itse aloitin sillä 11v. Nyt olen 12 enkä oikein vielä tahdo vaihtaa C/C++. Täälä ohjelmointiputkassa on vielä niin paljon qbasic koodeja.
Jos on vain hyvä kirja niin Cllä kannattaa aloittaa.
Ite alotin c:llä
Ehdottomasti c++, mitään c:tä ei kannata. C++ on selkeämpääkin kun voi käyttää usein esimerkiks referenssejä pointtereiden sijaan ja ei tuu joka paikkaan tähtiä koodissa. Samoin ylikuormitus ja oliot selkeyttää. Esim. enempi merkkijonojen käsittely c:ssä näyttää aivan hirveältä.
Tuosta, että c++ olis tehottomampaa. Muistin kannalta ehkä, nopeuden kannalta ei mun mielestä. C++:ssa alkaa helpommin käyttämään nopeempia ratkasuja "perinteisten" sijaan, kuten funktiopointtereita (virtuaalifunktiot) ja pointterien käyttö taulukko & indeksi-yhdistelmän sijaan (eli iteraattoreita).
Ja pitemmän päälle c++:lla kirjottaa nopeemmin koodiakin, kun on tehny valmiiks asioita, esimerkiks vektorien yhteenlaskut hoituu kuin ne olis tavallisia lukuja, kun ne on ylikuormitettuja operaattoreita. Ja koska koodi on selkeempää niin sitä on nopeempi lukea. Vähän vanhemman koodinpalasen toiminnan tulkkaus nopeutuu.
Noin, eiköhän siinä ollu tarpeeks propagandaa. :)
Hipo, sinulla on piste(=point).
Kyllä kannattaisi aloittaa C++:ssalla. Itse sorruin aloittamaan C:llä. Perustelut löytyy tosta Hipo:n tekstistä
Tässäkin olis taas yks faq-aihe ;)
Lyhyesti ja ytimekkäästi: C++
Ainakin eräästä ohjelmointikirjasta luin, että suurin osa peliohjelmoijista on aluksi opetellut c:n, jonka jälkeen siirtynyt C++:n.
HtH.. ehkä totta, mutta kehotettiinko siinä tekemään sama perässä? Omapahan on peliohjelmoijien häppee.
Ehkä silloin kun ei vielä ollut C++:aa kannatti opetella ensin C, mutta ei enää ;)
Niinpä niin :D totta.
Mä osaan c:tä!!
#Include <stdio.h>
int main (void)
{
printf("Hello world") ;
}
Ei tainnu mennä oikein, menikö?
Aika lähellä oikeaa.
No sittenhän mä oon melkein l33t hax0r, guru aka nörtti yms.
"#Inlude":a ei kannattane kirjoittaa isolla, muutenhan tuo taitaa toimia. Mietityttää vain mitä järkeä tuossa viestissä ylipäätään oli.
Oikein meni, mutta ei yhtään turha tuo sinun viestisi..?
Doubleagent kirjoitti:
lainaus:
Visual Basic on myös ihan ok, vaikka siitä olio-ominaisuudet puuttuvatkin.
VB on olio-ohjelmointikieli siinä missä Delphikin.
Kokonaisuudessaan jokaisen ohjelmoijan tulisi aloittaa ohjelmoinnin perusteista. Valita jokin helppo kieli ja tutustua käyttöjärjestelmään kunnolla. C on hyvä, mutta aloittelijalle saattaa aiheuttaa ongelmia muistin varausten käsittely ja datan tiukka tyypitys. Itse aloitin Basicilla ja Pascalilla, siirryin Turbo Pascaliin, 4Ghen, FoxBaseen sitten vasta VB:hen, Javaan ja C++:aan.
VB:llä voidaan totuttaa hyvinkin laajoja ohjelmistoja (tiedän kokemuksesta) VB:llä on nopea toteuttaa projekteja ja siksipä se onkin hyvin kustannustehokas ja samasta syystä sitä käyttää n. 80% maailman kaikista ohjelmoijista (jonkun tilaston mukaan).
C++ on nopea ja tehokas kieli. Se on parhaimmillaan toteutettaessa projekteja joissa teho ja nopeus ovat ensisijaisia. Jos aloittelee ohjelmoimaan on paras opetella ensiksi C ja sitten vasta C++, koska totuus on se, että C++ on laajennus C:hen. C++:n ongelmana on sen kehityksen valvomattomuus ja siksipä sen erilaisia ohjelmointitapoja (so. luokkien käsittelyä) on mahdoton oppia kaikkia. Jokainen kirjasto omaa omat ohjelmointi tapansa ja siksi se onkin aloittajalle melkoisen turhauttavaa.
Java on kieli, jossa C++:n ongelmat on korjattu (muistin varaaminen, keskeytykset, pointterit etc.). Se on tulkkaavana (alusta riippumattomana) erittäin hidas mutta natiivina (käännettynä tietylle alustalle) lähes yhtä nopea kuin C/C++. Se on hyvin looginen ja sen kehitys on ollut tiukasti valvottua. Mielestäni jos haluaa opiskella korkean tason ohjelmointi kielen ensimmäisenä kannattaa aloittaa Javasta ja vasta sitten siirtyä C++:n villimpään ympäristöön.
Delphi putoaa ohjelmointi kielenä C++:n ja ja VB:n välimaastoon teholtaan. Se on suorituskyvyltään nopeampi kuin VB, mutta hitaampi kuin C++ ja se on tiukkaan olio-mallinnettu. Ympäristönä se on C:n kaltainen mutta ohjelmoijaystävällisempi. Oikein hyvä aloittelijalle.
Tietysti voihan sitä aloittaa vaikka assemblerilla, jos vain riittää pitkäpinnaisuutta opiskella turhautumatta.
Viesti...osoitti, että onko tuo oikein. Olisiko pitänyt kirjoittaa oma threadi,niellä "onko tämä kodi oikein?"
lainaus:
Viesti...osoitti, että onko tuo oikein. Olisiko pitänyt kirjoittaa oma threadi,niellä "onko tämä kodi oikein?"
Ei toki omaa threadia. Mutta tämä uusi viestisi ei perustele edellistä viestiäsi taas pätkän vertaa.
Koko lause "osoitti, että onko tuo oikein" on järjetön.
Joo joo...anna bannit jos haluat en jaksa selittää...
Tää taitaa olla aika vanha keskustelu mut kannattaa aloittaa QB:llä sillä se on mm. helppo käyttää/kodaa, ilmainen
Noniin. Nyt nähdään pitääkö Antti sanansa :)
Aihe on jo aika vanha, joten et voi enää vastata siihen.