Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Millä kielellä kannattaa aloittaa? C, C++, VB?

Sivun loppuun

Tuukka [06.08.2002 23:38:36]

#

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.

tomaattigeeni [07.08.2002 01:42:10]

#

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

Veltto [07.08.2002 01:43:39]

#

Pascalilla on helppo aloittaa
http://www.tuug.utu.fi/~f/pascal/

TH [07.08.2002 11:07:39]

#

Myös Q-Basic voisi olla hyvä vaihtoehto, jos et ole ennen mitään koittanut (luultavasti). Mitä muut ovat mieltä?

Vilikki [07.08.2002 12:05:50]

#

QB on hyvä aloittelijoille. Ja mikseipä muillekin. Mutta suosittelen c++:aa.

thefox [07.08.2002 14:43:29]

#

C++:aa suosittelen minäkin nimittäin QB:n avulla oppii lähinnä huonoja ohjelmointitapoja (varsinkin kun sitä ei osaa kunnolla).

Vilikki [07.08.2002 15:41:53]

#

Ja c++:aan pystyy pistämään assembly-koodia sekaan ainakin DJGPP:llä.

Angelfish [07.08.2002 15:53:40]

#

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.

trinit [07.08.2002 16:17:23]

#

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.

(nimetön) [08.08.2002 23:31:57]

#

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.

tomaattigeeni [09.08.2002 02:05:58]

#

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++.

Dj Wolf [10.08.2002 20:30:55]

#

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

DKH [12.08.2002 11:04:38]

#

Suosittelisin QBasicia.

Antti Laaksonen [12.08.2002 14:22:45]

#

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.

Lauri [12.08.2002 14:31:36]

#

Sitä minäkin suosittelisin.

HtH [12.08.2002 18:07:29]

#

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++...

Krisu [12.08.2002 23:16:35]

#

itse aloitin joskus yhdeksän vuotiaana Q-basicilla ja 10 vuotiaana siirryin vb:hen ja sitä käytän nykyäänkin, eikä moittimista ole.

DoubleAgent [13.08.2002 14:57:11]

#

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.

Vilikki [15.08.2002 22:14:39]

#

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...

Vilikki [15.08.2002 22:21:06]

#

Jos haluaa aloittaa helposta, niin visual basic/qbasic, muuten se kannattaa olla melkein c++.

(nimetön) [16.08.2002 18:46:43]

#

Olen ohjelmoinut jo 2 vuotta QBlla, vaihtamatta visualiin.
Nyt olen 11 wee.

DKH [16.08.2002 20:19:56]

#

Q-Basic on hyvä! Sillä voi tehdä todella hyviä pelejä jos osaa...

(nimetön) [20.08.2002 00:51:31]

#

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 :)

Lauri [20.08.2002 15:20:46]

#

Hitaampi? Onko?

Marsala [20.08.2002 15:45:05]

#

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.

thefox [20.08.2002 18:06:23]

#

Ei voi olla samaa mieltä AnttiT:n kanssa. Opettele C++:aa ;>
C++ ei varmasti ole C:tä sekalaisempaa, hitaampaa kyllä (riippuen tietysti miten koodaa).

HtH [20.08.2002 19:36:52]

#

ja nopeus riippuu myös varmastikkin paljon kääntäjästä

HtH [20.08.2002 19:56:52]

#

QB on hyvä aloitus. Aloitin joskus 8-9 vuotiaana. Nykyisin C++ ja Asm.

Jogge [21.08.2002 14:20:40]

#

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.

HtH [21.08.2002 14:46:00]

#

Jogge, kuinkas vanha nyt olet?

jpk [05.09.2002 14:45:58]

#

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ä. :)

Olli Vanhoja [05.09.2002 18:43:58]

#

Minä ainakin aloitin QBasicilla ja sitten C:tä ja C++ sen jälkeen. Niin ja vikaksi Assembler.

Olli Vanhoja [05.09.2002 18:50:03]

#

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.

HtH [05.09.2002 20:35:10]

#

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.

Olli Vanhoja [05.09.2002 22:37:03]

#

Eipäs ookkaa sama asia C++ ei tue aivan kaikkia C:n funktioita

mikko [06.09.2002 09:12:40]

#

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?

Olli Vanhoja [06.09.2002 13:50:57]

#

Ainakin yhdessä vanhassa C-ohjelmointi kirjassa selittään että osa C ohjelmoinnin funktioista ei toimi C++ ja osa on molemmissa.

Kossu [08.09.2002 17:37:27]

#

Itse en kyllä näe mitään syytä opetella C:tä ennen C++:ssaa.
Tämä voi aiheuttaa ongelmia ja turhaa opiskelua...

HtH [08.09.2002 19:10:04]

#

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...

AnttiT [09.09.2002 00:29:32]

#

C++ ja oliot sekottaa pään kuin avaruus oliot.
C on yhtä yksinkertaista kuin assykin.
johtopäätös C on paras.

AnttiT [09.09.2002 00:31:38]

#

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ä.

Kossu [09.09.2002 08:20:39]

#

Noh, se on jokaisen päätettävissä...
mutta itse koskisin nyt C:hen yhtä varmasti, kuin HtH mihinkään Basiciin :DD

Gevil [09.09.2002 17:21:53]

#

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

Olli Vanhoja [10.09.2002 21:51:28]

#

Se nyt on mielestäni ihan sama kumman opiskelee ensin C++:san vai C:een

Jogge [11.09.2002 15:43:59]

#

jaa-a 13 mä oon

zafner [11.09.2002 16:30:33]

#

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.

Gevil [11.09.2002 18:15:08]

#

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.. :)

KimmoKM [17.09.2002 17:45:55]

#

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.

KimmoKM [28.09.2002 19:38:54]

#

Jos on vain hyvä kirja niin Cllä kannattaa aloittaa.

Tumpi [29.09.2002 13:26:13]

#

Ite alotin c:llä

Hipo [29.09.2002 15:49:20]

#

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. :)

Gevil [29.09.2002 16:19:53]

#

Hipo, sinulla on piste(=point).

Lare [29.09.2002 16:57:31]

#

Kyllä kannattaisi aloittaa C++:ssalla. Itse sorruin aloittamaan C:llä. Perustelut löytyy tosta Hipo:n tekstistä

mikko [29.09.2002 17:38:46]

#

Tässäkin olis taas yks faq-aihe ;)

Kossu [29.09.2002 17:40:11]

#

Lyhyesti ja ytimekkäästi: C++

HtH [29.09.2002 18:49:54]

#

Ainakin eräästä ohjelmointikirjasta luin, että suurin osa peliohjelmoijista on aluksi opetellut c:n, jonka jälkeen siirtynyt C++:n.

Gevil [29.09.2002 19:13:48]

#

HtH.. ehkä totta, mutta kehotettiinko siinä tekemään sama perässä? Omapahan on peliohjelmoijien häppee.

thefox [30.09.2002 12:40:39]

#

Ehkä silloin kun ei vielä ollut C++:aa kannatti opetella ensin C, mutta ei enää ;)

Gevil [30.09.2002 14:02:58]

#

Niinpä niin :D totta.

pushpabon [02.10.2002 17:56:44]

#

Mä osaan c:tä!!

#Include <stdio.h>

int main (void)
{
printf("Hello world") ;
}

Ei tainnu mennä oikein, menikö?

Lare [02.10.2002 18:09:30]

#

Aika lähellä oikeaa.

pushpabon [02.10.2002 20:07:15]

#

No sittenhän mä oon melkein l33t hax0r, guru aka nörtti yms.

thefox [02.10.2002 22:08:41]

#

"#Inlude":a ei kannattane kirjoittaa isolla, muutenhan tuo taitaa toimia. Mietityttää vain mitä järkeä tuossa viestissä ylipäätään oli.

Kossu [03.10.2002 13:07:18]

#

Oikein meni, mutta ei yhtään turha tuo sinun viestisi..?

Antti [03.10.2002 15:10:16]

#

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.

pushpabon [03.10.2002 15:50:30]

#

Viesti...osoitti, että onko tuo oikein. Olisiko pitänyt kirjoittaa oma threadi,niellä "onko tämä kodi oikein?"

thefox [03.10.2002 21:01:04]

#

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.

pushpabon [04.10.2002 15:24:12]

#

Joo joo...anna bannit jos haluat en jaksa selittää...

TETRIS [19.10.2002 21:06:44]

#

Tää taitaa olla aika vanha keskustelu mut kannattaa aloittaa QB:llä sillä se on mm. helppo käyttää/kodaa, ilmainen

mikko [19.10.2002 22:02:38]

#

Noniin. Nyt nähdään pitääkö Antti sanansa :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta