Melyik legyen az első megtanult programozási nyelv?

Melyik legyen az első megtanult programozási nyelv?

Hozzászólások

Tisztelt Fórumozók!

Érdekelne a véleményetek abban a kérdésben, hogy vajon melyik programozási nyelvet érdemes elsőként megtanulni, s az is, hogy miért ez a nyelv lenne az optimális választás?

G.

Assembly.
Mert kevés féle utasítás van és jól átláthatod utána a dolgok mikéntjét :)
Ezután mehet a C.
:)

Álltalában C vagy Pascal.

Szerintem viszont teljesen mindegy. Nem a szintaxis elsajátításától lesz valaki csrebogár. A gondolkodás a lényeg. Képes legyél megalkotni egy, véges számú lépésből felépített, megoldást a problémákra. Hogy milyen nyelven gépeled be..

BTW inkább a flame topicba illő téma.

valamint:

http://www.linuxjournal.com/article/3882

Python szerintem jo valasztas.

Egyszeru es atlathato

Interpreteres, ami a megtanulast segiti

OO, ami manapsag alap

Nem csak tanulonyelv, hanem lehet vele kesobb is mindenfelet csinalni.

Biztos van mas ilyen nyelv is, python olyan szempontbol is jo, hogy van mogotte tarsasag, lehet segitseget talalni, valamint kezdeshez igen jo a dokumentacioja.

Nem utolso sorban helyes indentalasra szoktat.

php/python/java
kozul valasz egyet, de a legfontosabb: ha csak egy programnyelvet ismersz, akkor Moriczka programozo vagy. amint kesz vagy az elso mukodo 200 soros programoddal, rogton kezdj bele a C tanulasaba, anelkul nem elet az elet:)

egy nyelvet akarsz megtanulni, vagy programozni akarsz? nem mindegy. azaz mit akarsz kezdeni kesobb a tudasoddal? ha utobbi, akkor ezt tanulmanyozd pl:
http://www.htdp.org/2003-09-26/Book/

ha egy nyelveket akarsz elsajatitani, akkor C.

[quote:91f899508e="djula"]Assembly.
Mert kevés féle utasítás van és jól átláthatod utána a dolgok mikéntjét :)
Ezután mehet a C.
:)

hehe, egyetértek. :lol:

a visszafordithatatlan massziv agykarosodas elkerulese erdekeben basicet es a webes tesokajat a php-t semmikeppen se

Az elhangzottakkal ellentétben, nem javaslom sem az assemblyt,
sem a C-t első nyelvnek. Ha unix alatt dolgozol én a bash-scriptet
javasolnám, grafikus tanulmányokhoz pedig a TCL/TK-t ajánlanám.

Innen aztán ezer irányba vezet az út, attól függ mi a célod. Azt jó
ha tudod, hogy a C nyelvű programozást nem fogod megúszni. A
sokféle C közül az ANSI-t ajánlanám, ez jószerivel minden más
C-vel kompatibilis.

A pascal nagyszerű, de (most lehet, hogy kapok a fejemre) szerintem
zsákutca. A C meg a pascal úgy viszonyul egymáshoz, mint az angol
meg a német nyelv: Német (pascal) után könnyű angolt(C-t) tanulni,
fordítva sokkal nehézkesebb.

Persze ez nagyon magánvélemény, én néhány hetes BASIC-elés
után assemblyre váltottam ezután tértem át a C-re.

Szerintem a programnyelv onmagaban nem donto. Osztom azt az allaspontot, hogy a szoftverfejlesztesrol (fejlesztesi modellek, fejlesztesi modszerek/folyamatok, konfiguracio management, paradigmak es alkalmazasi koruk, szoftverfejlesztest tamogato egyeb eszkozok, minosegbiztositas, stb..) kellene minel tobb ismeretet elsajatitani. Tehat szemleletet, es nem pusztan eszkozoket kellene megismerni.

Persze az eszkoz is fontos, de altalaban igaz, hogy "ha van kalapacsod, mindent szognek nezel". Tehat keves szamu eszkoz ismerete valamelyest korlatozza a feladatmegoldasokban a helyes eszkozvalasztast.

A fentiekbol vmelyest az is kiadodik, hogy eszkozt feladathoz kell valasztani. Amennyiben a feladat csupan vmely eszkoz megismerese, akkor pedig teljesen mindegy, hogy vki melyikkel es hol kezdi. Kb. 10-es listabol talalomra lehet egyet bokni, es minel nyitottabb szemleletben felfedezni. Meg kell probalni megismerni az elonyeit hatranyait, es minel tobb mas eszkozzel osszehasonlitani.

Osszegezve: attol meg senki nem lett programozo/szoftverfejleszto, hogy ismert egy programnyelvet es tudott benne algoritmusokat kodolni. Ugyanakkor szinte mindannyian igy kezdtuk. Viszont sajnos sokan meg is ragadtak ezen a szinten.

Ha sikerelmeny kell: PHP
Ha biztos alapok: C

Egyebkent nalam igy ment az evolucio:
Basic (Commodore 64-en), Pascal, Assembly, C, Java, C++ (az utobbi harom mar az egyetemen)

Meg menetkozben hozza jott a javascript/php.

[quote:59d4e10175="anr"]php/python/java
kozul valasz egyet, de a legfontosabb: ha csak egy programnyelvet ismersz, akkor Moriczka programozo vagy. amint kesz vagy az elso mukodo 200 soros programoddal, rogton kezdj bele a C tanulasaba, anelkul nem elet az elet:)

huuuuuuuuuuu
na a joisten ovjon minket az olyan "programozoktol", akiknek php volt az elso nyelv, amit megtanultak.

java-t pedig addig nem adnek senki kezebe, amig alapveto programozasi latas- es gondolkodasmodot nem szerez (erre szerintem meg mindig a legalkalmasabb a pascal+ASM, majd kesobb C vonal), illetve nincs tisztaban altalanos operacios rendszer design alapokkal, ismeretekkel.

persze ha direkt szuktyolo/ganyolo userek nevelese a cel, akiknek semmifele ralatasa nincs arra, amit csinalnak, akkor igazad van.

Sokan kezdték itt Commodore 64 Basic-kel. Szóval, emulátorra fel :)

Az alapok megértéséhez pascal-t javasolnék, mert:
- a programozási alapelemek (adattípusok, vezérlési struktúrák) megvannak benne
- erősen tipizált, módszeres gondolkodásra szoktat
- emberbarát abban az értelemben, hogy az erősen kötött szintakszisa miatt a fordító majdnem mindig a tényleges hibát jelzi (v.ö.: C, ahol lehagysz egy zárójelet, és háromszáz sorral lentebbre írja, hogy ott pl. nem deklarálhatsz típust)

Ezután tartok helyesnek egy áttérést a C-re, mert:
- bár a szintakszis másabb, az eddig megismert dolgok jó része egy-az-egyben átírható ide is
- a dinamikus memóriakezeléssel kapcsolatos része (mutatók, foglalás, felszabadítás) következetesebb, mint a pascal-é
- a többmodulos fejlesztési része szintén (nem olyan aszimmetrikus, mint pacalban a program és a unit viszonya)
- már sikerélményt adó területekre (pl. grafika, hálózatkezelés, stb.) is el lehet kalandozni
- a szintaktikája rengeteg helyen 'köszön vissza'
- a következő lépésben a c++ egyértelműen célszerűbb, mint az object pascal

Aztán objektum-orientált programozásra továbblépve a C++, mert:
- az object pascalnál következetesebb (konstruktor, destruktor, operátorok), teljesen elkülönül benne az objektumpéldány ill. az rá mutató mutatók (ami pascalban enyhén összemosódik ugye)
- mivel nincs garbage collector, az egész teljesen determinisztikus, és ráadásul módszeres gondolkozásra nevel

Innen igény esetén a scriptnyelvek ill. a java, de ezeknek ekkorra már könnyen kell menniük, mert már majdnem minden dolog ismerős az eddigiekből.

Az erősen célorientált nyelveket pl. asm, sql, prolog, legkorábban a C-s fázis után említeném, mert addigra áll össze elég tudás az adatszervezés és az algoritmusban gondolkozáshoz, ami nélkül csak vudu-mágia lenne ezek mindegyike (az asm azért, mert nem látja át, a többi meg azért, mert nem érti).

Ja, és mindenhová példa példa hátán, gyakorlás hegyek, a lehető legkevesebb előre hivatkozás ("ezt majd később fogod megérteni"), és semmi homályos foltot nem hagyni, mert az később sokszorosan visszaüt.

[quote:cef65585fb="toros"]Sokan kezdték itt Commodore 64 Basic-kel. Szóval, emulátorra fel :)

Kerdem en, minek emulator?
Csak egy TV tuner + eloveszem a szekrenybol a Commodore 64-et... ;-)

[quote:d41d928d9b="gsimon"]Az alapok megértéséhez ....

:!: Maximális respect.
Eddigi tapasztalatom alapján teljesen egyetértek Önnel, kolléga.

Semmi többet nem tudok elmondani, kérem, kapcsolja ki!

Mindenkinek köszönöm a hasznos ötleteket!

G.

Ha már a pascalról volt szó, tegyük hozzá, hogy rengeteg free fejlesztői eszköz van hozzá, és jól dokumentált.

Javasolt a SWAG-ban is körülnézni, bár 1997 óta nem tartják karban, nagyon tuti gyűjtemény:
http://www.gdsoft.com/swag/swag.html

Itt egy HTML változat:
http://www.bsdg.org/SWAG/

Ez olyasmi, mint egy fórum, abból az időkből, amikor még nem volt elterjedt az internet. Kíváncsi emberek kérdeztek, hogy hogy kell megoldani ezt meg azt, okos nénik-bácsik pedig válaszoltak példaprogrammal.
(Régen zip file-okban adták ki hozzá a frissítést, ami kül. újságok cd mellékletén volt megtalálható. Hejh, régi szép idők... :))

http://www.graf-get.hu/download/humor/igazi.html

[quote:5be054e80c="dikki"]http://www.graf-get.hu/download/humor/igazi.html

"Az igazi programozó nem dolgozik 9-5-ig. (Hacsak nem este 9-tõl reggel 5-ig.)"

[quote:4d3c6bed27="dikki"]http://www.graf-get.hu/download/humor/igazi.html

Milyen rég olvastam én ezt először... Még bőven gyerek voltam. Most meg... :(

[quote:2a90dfda46="gsimon"]Az alapok megértéséhez pascal-t javasolnék, mert:
- a programozási alapelemek (adattípusok, vezérlési struktúrák) megvannak benne
- erősen tipizált, módszeres gondolkodásra szoktat
- emberbarát abban az értelemben, hogy az erősen kötött szintakszisa miatt a fordító majdnem mindig a tényleges hibát jelzi (v.ö.: C, ahol lehagysz egy zárójelet, és háromszáz sorral lentebbre írja, hogy ott pl. nem deklarálhatsz típust)

Ezután tartok helyesnek egy áttérést a C-re, mert:
- bár a szintakszis másabb, az eddig megismert dolgok jó része egy-az-egyben átírható ide is
- a dinamikus memóriakezeléssel kapcsolatos része (mutatók, foglalás, felszabadítás) következetesebb, mint a pascal-é
- a többmodulos fejlesztési része szintén (nem olyan aszimmetrikus, mint pacalban a program és a unit viszonya)
- már sikerélményt adó területekre (pl. grafika, hálózatkezelés, stb.) is el lehet kalandozni
- a szintaktikája rengeteg helyen 'köszön vissza'
- a következő lépésben a c++ egyértelműen célszerűbb, mint az object pascal

Aztán objektum-orientált programozásra továbblépve a C++, mert:
- az object pascalnál következetesebb (konstruktor, destruktor, operátorok), teljesen elkülönül benne az objektumpéldány ill. az rá mutató mutatók (ami pascalban enyhén összemosódik ugye)
- mivel nincs garbage collector, az egész teljesen determinisztikus, és ráadásul módszeres gondolkozásra nevel

Innen igény esetén a scriptnyelvek ill. a java, de ezeknek ekkorra már könnyen kell menniük, mert már majdnem minden dolog ismerős az eddigiekből.

Az erősen célorientált nyelveket pl. asm, sql, prolog, legkorábban a C-s fázis után említeném, mert addigra áll össze elég tudás az adatszervezés és az algoritmusban gondolkozáshoz, ami nélkül csak vudu-mágia lenne ezek mindegyike (az asm azért, mert nem látja át, a többi meg azért, mert nem érti).

Ja, és mindenhová példa példa hátán, gyakorlás hegyek, a lehető legkevesebb előre hivatkozás ("ezt majd később fogod megérteni"), és semmi homályos foltot nem hagyni, mert az később sokszorosan visszaüt.

CSAK EGYET TUDOK ÉRTENI VELE !!!!! Pedig én DELPHI/KYLIX (Object Pascal) hívő vagyok!!!

Hi
Én is a Commodore 64-en izleltem bele a programozásba. Aztán jött a Turbo Pascal 7, majd Delphi. Most épp C-t tanulok és nemcsak mert azt tanitják az egyetemen ahová járok.

Nyihahaha, majdnem egyetertek :)
En inkabb a Pascal-t javasolnam Basic helyett, aztan C-t.
Utana meg minel tobbet, minel elterjedtebbeket, de igaza van annak, aki azt mondja, hogy a fenti ket nyelv utan mar erdmees inkabb az algoritmusokkal foglalkozni, mint a nyelvekkel.
Szoval en elsore a fenti kettot tanittatnam (ezzel mar barki tud 10-20 soros programokat irni, es ha nem programozo, akkor is tud ecceru feladatra programot irni szinte minden oprendszeren). Aztan algoritmikus gondolkodas elsajatitasa, algoritmusok megismerese es tobbi nyelv. Ez utobbiak mar mehetnek egyszerre :)

[quote:528a4879e5="toros"]Sokan kezdték itt Commodore 64 Basic-kel. Szóval, emulátorra fel :)

[quote:cd39f08f9b="Celtic"]Nyihahaha, majdnem egyetertek :)
En inkabb a Pascal-t javasolnam Basic helyett, aztan C-t.
Utana meg minel tobbet, minel elterjedtebbeket, de igaza van annak, aki azt mondja, hogy a fenti ket nyelv utan mar erdmees inkabb az algoritmusokkal foglalkozni, mint a nyelvekkel.
Szoval en elsore a fenti kettot tanittatnam (ezzel mar barki tud 10-20 soros programokat irni, es ha nem programozo, akkor is tud ecceru feladatra programot irni szinte minden oprendszeren). Aztan algoritmikus gondolkodas elsajatitasa, algoritmusok megismerese es tobbi nyelv. Ez utobbiak mar mehetnek egyszerre :)

[quote:cd39f08f9b="toros"]Sokan kezdték itt Commodore 64 Basic-kel. Szóval, emulátorra fel :)

Update: tovabbolvasva lattam meg, hogy nem en vagyok az egyetlen, aki ezt javasolta :) Mondjuk, en HT 1080-Z Basic-kel kezdtem, utana jott csak C64, de HT-emurol nem tudok :)

[quote:63d934e458="xpan"]http://esr.fsf.hu/hacker-howto.html

Szerintem is :) C volt az első nyelv, amit megtanultam, aztán burkoltan C++ lett belőle, erős C-s beütéssel. Gond nélkül tanulható, logikus. A pascal kód egy kissé átláthatatlan by default, C-ben meg csak lehet ronda kódot írni. Kedvencem az olyan szerkezet, hogy
for i:=1 to 10 do begin if i = 5 then begin writeln("akármi") end end;
No most akkor melyik end mihez is tartozik? és hol kell pontosvessző, hol nem.

[quote:63d934e458="gsimon"](v.ö.: C, ahol lehagysz egy zárójelet, és háromszáz sorral lentebbre írja, hogy ott pl. nem deklarálhatsz típust)

Nem kell elhagyni. Párban kell leírni őket, így tutira nem lesz gond.

Elsőnek? Turing gép programozás. 'Csak' matematikai tudás kell hozzá, papíron végezhető, számítógép se kell. Rögtön utána ajánlanám az inverz lengyel logikás programozható számológépeket. Ha ez az alap tudás megvan, akkor nincs az a programnyelv, ami ne lenne röhejesen egyszerű.