(azert ide tettem, mert a prog kezdo topicnak alacsony a forgalma)
Java-t ill pythont ajanlottak nekem paran, hogy elso nyelvnek jo lesz. Szeretnek GTK vagy Qt-s feluleten is programozni. Sebesseg sem elhanyagolhato, viszont konkret feladatkor nincs meg, inkabb csak ismerkedes, esetleg GUI frontend irasa vmilyen programhoz stb.
Erdekelne, hogy melyik az erthetobb, atlathatobb, logikusabb, bovithetobb, stb nyelv, szoval melyiket es miert ajanlanatok?
- 8972 megtekintés
Hozzászólások
szia
pythont mindenképpen ajánlani tudom van is egy nagyon jó doksi hozzá
http://learnpython.openproject.hu/
érdemes elolvasni, gtk-t meg azzal is lehet csni
hajrá :)
- A hozzászóláshoz be kell jelentkezni
Hali!
Ha rendszerprogramozás érdekel, akkor C vagy assembly. Ha maga a programozás, akkor Scheme, vagy Lisp. Ezekben az a jó, hogy nincs szintaxisuk, és csak minimális számú függvényt kell megtanulni. Egyéb esetben Python, PHP, Perl, stb. Javat csak akkor, ha már tudsz programozni, pusztítja az agyat :-) Csak vicc, de ha meg akarod rendesen tanulni, akkor rekurzió, mutatók és fixpontos fv.k is kellenek (a programozás görögjei és latinjai).
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Hhogy nincs szintakszisa a lispnek? akkor mi alapjan ertelmezi amit irok?
::powered by Archlinux
- A hozzászóláshoz be kell jelentkezni
Illetve miért tanuljon lispet, ha ott a prolog? :-)
Egyébként elsőre tényleg a python, amit tanácsolni tudnék.
- A hozzászóláshoz be kell jelentkezni
Hoppá, kicsit pongyola a fogalmazásom. Van szintaxisa, de csak egy szabály van, ez a (valami valami2 ...), minden más API.
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Annyit még pontosítanék, hogy a Lispben atomok és listák vannak. Ezeket lehet a különböző listakezelő függvényekkel (pl.: CAR,CDR) kezelni.
Ezen túlmenően azért jóval többmindent is ki lehet belőle hozni. Akár egy webszervert is lehet írni benne.
- A hozzászóláshoz be kell jelentkezni
Az eredeti kérdezőnek pedig annyit, hogy _ne_ ezeket válassza kezdőként.
- A hozzászóláshoz be kell jelentkezni
Miért?
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Mert pl. a pythonnal hamarabb lesz sikerélménye, és egy kezdőnél az nagyon fontos.
- A hozzászóláshoz be kell jelentkezni
Ezzel egyetértek, de Scheme-Lisppel is lehet sikerélmény. Mindegy, az alapokra tényleg a Python a legjobb, csak egy plussz lehetőséget mondtam (párhuzamosan tanulhatóak). Amit én mondtam, az inkább a tudományos rész megtanulásához jelent segítséget.
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Szerintem a C/C++ egy jó választás. Remek alap bár igaz, hogy én nem ezzel kezdtem anno, hanem JavaScripttel, de sebaj.
Az a jó a C/C++-ban, hogy ha megérti az ember a működését, akkor szinte bármi másban is hamar megtanul programozni, hiszen a C/C++ mindent tud szinte amit egy programnyelv tudhat. Igen a C/C++ már-már klasszikus.
Nem mondom, hogy könnyű feladat, vagy hogy nagyon gyorsan meg lehet tanulni benne jól programozni, de az alapokat hamar meg lehet érteni. Szóval a C/C++ megtanulása/megértése kihivást jelent, de koránsem lehetetlen.
Valamint utána a Prolog és vagy a LISP. Leginkább azért mert ezek a nyelvek szinte minden mástól különböznek. Egyfajta "új", de leginkább más szemléletet, gondolkodásmódot mutatnak meg.
Plusz érv a LISP mellett, hogy RMS is nagy LISP hacker. :-D
- A hozzászóláshoz be kell jelentkezni
Minden régi hacker LISPezett egy csomót: RMS, ESR, Linus (egyetemen sztem), stb.
Csak egy pár dolog, amiért érdemes Lispet is ismerni:
1., funkcionális programozás
2., fixpontos függvények
3., lambda
4., nincsen "strlen of the week" effektus
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Azért mert a nagyok használtak egy nyelvet, még nem biztos, hogy egy kezdőnek is azzal kell elindulnia. Ők sem ezzel kezdték, gondolom. Meg jónéhány év programozás gyakorlat után is okozhat fejfájást egy-egy elveszett zárójel egy LISP progiban.
A kezdőknek olyan nyelv való, amiben hamar tudnak elérni sikerélményt. Akkor szivesen folytatják tovább.
- A hozzászóláshoz be kell jelentkezni
A Lispet nem nagyon használják. Igen, sikerélmény fontos. Ez inkább továbblépés.
"No boom today. Boom tomorrow. There's always a boom tomorrow. What? Look, somebody's got to have some damn perspective around here. Boom, sooner or later. BOOM!" -- Lt. Cmd. Ivanova
- A hozzászóláshoz be kell jelentkezni
Hmmm. Azért nem hiszem, hogy valaki attól lesz hacker, mert lispben tanult meg először programozni, és az egyetemen sem ezzel kezdik a programozó oktatást. Kezdőként az ember annak örül, hogy kirakott egy gombot egy ablak közepére, nem annak, hogy húú, de jó rekurzív fv-t írtam. Persze azt is kell majd.
Azért a c -t és c++ -t ne mossuk így direktbe össze, mert eléggé máshogy kell bennük kódolni. Én a c++ -t javaslom, mert a qt c++ könyvtár (és állati jó doksija van), és objektum orientált cucc, szóval ez alapján már pl. a java vagy c# könnyen menni fog. Ha meg sokat szívsz a pointerekkel, meg referenciákkal akkor java/c#, ott nincsenek. Python-t nem ismerem.
Sok sikert!
pentike
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Köszi, majd vizsgák után eljátszom vele.
- A hozzászóláshoz be kell jelentkezni
Ez tényleg nagyon jó, én is itt ismertem meg/szerettem meg a pythont.
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
A lisp alapvetően nem funkciónális nyelv, csak vannak funkcionális tulajdonságai. A Lisp családból a Scheme inkább funkcionális. A funkcionális paradigmára a legjobb példa a Haskell.
______________________________________________________
powered by KDE 3.5.1 - Slackware 10.2 - linux-2.6.15.5
- A hozzászóláshoz be kell jelentkezni
És programtervezéshez tudsze-e valamilyen jó UML programot, ami ingyenes és Linux alá is van implementációja?
- A hozzászóláshoz be kell jelentkezni
MagicDraw UML / Posseidon UML - community edition
ArgoUML
Umbrello nekem annyira nem tetszett
- A hozzászóláshoz be kell jelentkezni
Köszi, ezeket megnézem.
- A hozzászóláshoz be kell jelentkezni
Én Umbrella-t használok.
______________________________________________________
powered by KDE 3.5.1 - Slackware 10.2 - linux-2.6.15.5
- A hozzászóláshoz be kell jelentkezni
Most te komolyan azt tanácsolod egy _kezdőnek_, hogy élete első programnyelve lisp, vagy prolog legyen? Vagy asm?
Hát normális vagy te? :)
Vagy félsz a konkurenciától? Mert ezekkel elveszed a kedvét egy életre...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
pythonnal tényleg érdemes kezdeni, és gtk-zni is lehet vele jól, ld. pygtk.
- A hozzászóláshoz be kell jelentkezni
Néhány szó a Java-ról:
A Swing grafikus felület nagyon sok dolgot tud, de három dolog miatt nehéz igazán jól elsajátítani:
- Model-View-Controller tervezési mintát követel meg minden szinten. Aki csak Document-View rendszereket használt (ilyen pl .NET vagy korábbi Microsoft technológiák), vagy tervezési minta nélküli API-kkal kódolt, azoknak ez nagyon idegenül hathat. Aki meg beletanul, az rájön, hogy a többi smafu :)
- ha nem használsz jó IDE-t hozzá, marha sokat kell kódolni. Kezdő Swingeseknek nagyon jó lehet a NetBeans IDE, ez lecsökkenteni az elindulási szívások számát (persze a mélység megtanulásától nem mentesít)
- mint említettem, nagyon sok, ezért sokan hamarabb feladják, minthogy megismerjék a használatának módját
Az SWT (Eclipse) alapú grafikus könyvtárokra azt szokták mondani, hogy egyszerűbbek a Swingnél. Nekem annyi kifogásom van ellene, hogy nagyon különböző tud lenni Linux és Windows alatt, illetve Solaris emiatt nem fut(ott?) az Azureus.
A sebességről:
- A Swing jelenleg nem használ natív renderelést, emiatt minden platformon ugyanúgy néz ki
- Az SWT használ, emiatt gyorsabb, de különböző a kinézet
- A JDK6-ba ígérig a Swing natív(abb) renderelését, ami miatt az is szinte teljesen (és sebességben is) natív-like lesz
- Az MVC miatt gyorsabb tud lenni, mint a .NET-es alternatívája pl. nagy táblázatok rajzolása és kezelése esetén
- A hozzászóláshoz be kell jelentkezni
Jah, az előzőekben csak a felületre koncentráltam, ha Java más részei kellenek, akkor ahhoz még írjatok (szerintem lesz még más jelentkező is).
És hogy tanácsoljak is (a felületekhez): szerintem nézd végig azt, hogy melyikkel hogyan lehet egy bonyolultabb felületet összerakni és hogy milyen IDE-támogatás van hozzá. Ilyen funkciókra gondolok, mint táblázatba ágyazott legördülő listába ágyazott ikonok kezelése és társai :)
- A hozzászóláshoz be kell jelentkezni
akkor szerintem python lesz az elso, koszonom Gergelynek a linket a magyar nyelvu konyvhoz, igy biztos meg konnyebb lesz.
::powered by Archlinux
- A hozzászóláshoz be kell jelentkezni
Nikolaus Wirth professzor óta tudjuk, hogy program = algoritmus + adatszerkezet. Programozni megtanulni nem egy nyelvvel kell alapjában, hanem magát az algoritmizálást kell elsajátítani. A többi szerintem kódolás. Ha tisztában vagy a szintaxissal és a nyelv 1-2 sajátosságával, akkor már meg tudod valósítani a programod.
Ha ajánlani kell nyelvet, akkor az a C lenne. Nem nehezebb megtanulni, mint mást, viszont sok nyelv alapul vagy vett mintát a C,C++ nyelvekről, így jó alap a többihez.
- A hozzászóláshoz be kell jelentkezni
+1 a C-ben történő indulás mellett, majd C++
- A hozzászóláshoz be kell jelentkezni
program = algoritmus + adatszerkezet. Lehet. De akkor is, kezdőként sokkal fontosabb, hogy az ember lásson programot működni. És hogy elkezdjen kicsi, de hasznos programokat írni. Ezért egy ténylegesen használt programnyelvet kell elkezdeni, nem valami olyat, ami főleg elméleti szemléltetés + használja pár mániákus (lisp, prolog...)
Tehát én a c vagy a c++ mellett tenném le a voksomat.
(Ha úgy kezdtem volna programozást tanulni, hogy algoritmusokat és adatszerkezeteket tanulok, nem pedig egy léŧező programnyelvet (zx spectrum basic), akkor valószínűleg kidobtam volna a könyvet, és máig sem írtam volna programot.)
- A hozzászóláshoz be kell jelentkezni
Meg egy C-re
- A hozzászóláshoz be kell jelentkezni
Én python-t szoktam ajánlani. Grafikus felülethez pedig pygtk + libglade (a glade-vel ne kódot generálj, hanem az általa generált XML-t használd közvetlenül a libglade segítségével)
http://www.awaretek.com/tutorials.html#gtk
- A hozzászóláshoz be kell jelentkezni
Ránéztem a pythonra, de nem értem, hogy miért javasolják olyan sokan. Számomra kényelmetlen az a fajta szintaktika, amelyet bár tömör, hosszú távon nehéz karbantartani. Persze ízlések és pofonok, van aki szereti a káoszt, de kezdő programozónak inkább javasolnék egy sokkal több korláttal és ugyanakkor segítséggel rendelkező nyelvet, mint pl. Java vagy .NET, mint python...
- A hozzászóláshoz be kell jelentkezni
Huh.
1. Egy ránézéssel megállapítottad, hogy nehéz karbantartani.
2. Kijelented, hogy káosz.
3. A .NET szerinted egy nyelv.
Nem akarlak megbántani, de azt hiszem van még mit tanulnod.
- A hozzászóláshoz be kell jelentkezni
Kösz a kioktatást, így ismeretlenül jól esett :)
1 és 2: így (minimum) 14+ programozási nyelvvel és megszámlálatlan sornyi forráskóddal a hátam mögött, igen azt hiszem ránézésre meg lehet saccoli, hogy mi az, amit könnyű karbantartani.
3: Jaja, miért több nyelv? :) (platformnak mondják én is annak tartom, jogos, de egyszerűbb azt mondani, hogy dotnetezek, mint azt, hogy szísárpozok, nem?)
- A hozzászóláshoz be kell jelentkezni
1,2. Hát nem tudom. Sokan éppen a Python tiszta szintaxisát, könnyű olvashatóságát, és ebből következően jó karbantarthatóságát tartják a nyelv legfőbb erényeinek. Elolvatad ESR cikkét?
3. Nem. Dotnetezni lehet VB-ben is vagy akár Python-ban is, meg még néhány más nyelvben is.
- A hozzászóláshoz be kell jelentkezni
1,2: Igen elolvastam. A szintaxist elsősorban a Perlhez hasonlítja, meg megemlíti a Fortrant, C-t, Lispet is. Namost a perlhez képest elég könnyű áttekinthetőbb kódót írni. Emellett például rontja a karbantarthatóságot, ha nem tudod, hogy egy változó milyen típusú, főleg ha kicsit bonyolultabb a kód. Sokkal többről van itt szó, minthogy "a perlhez képest javítottunk, akkor ez már über"
3. Jah lehet, és én .NET-eztem a Framework Beta 2 óta, elég sokat. Még a Java.NET-et is kipróbálam. A .NET API legnagyobb része azonban csak C#-ból érhető el, amiatt nevezem egynyelves platformnak.
- A hozzászóláshoz be kell jelentkezni
A "sokkal többről van itt szó" az mit takar?
- A hozzászóláshoz be kell jelentkezni
Ha egyszerűen akarom megfogalmazni, akkor arról, hogy ne tudj olyan kódot írni, amelyet egy másik fejlesztő ne tudna értelmezni. De van még más szempontom is: automatikus dokumentáció-generálás, a már említett erős típusság és annak minden előnye, pl. fordítási időben történő hibajelzés, _ritkán_ változó API (a Java 11 évvel ezelőtt megírt alkalmazásai ma ugyanúgy futnak, ami az API nagyságrendjét tekintve nehezen összehasonlítható más nyelvekkel). Most így hirtelen, a szokásos management-dumákat (pl. beletanulási idő) kihagyva.
- A hozzászóláshoz be kell jelentkezni
"Ha egyszerűen akarom megfogalmazni, akkor arról, hogy ne tudj olyan kódot írni, amelyet egy másik fejlesztő ne tudna értelmezni."
Szerinted van olyan nyelv amelyikben ne lehetne _könnyen_ olvashatatlan, nehezen karbantartható kódot írni? A nyelv egykicsit segíthet ebben (pl. a Pythonban a zárójelek helyetti kötelező indentálás), de ez igazából a programozón múlik.
Egy _nehezen_ olvasható kód pythonban:
http://aroberge.blogspot.com/2005/12/pycontest-challenge-117-character-…
- A hozzászóláshoz be kell jelentkezni
Próbáld meg Java-ban megcsinálni :)
(a saját metódusaidat elszemetleheted, de az API-t nehezen, valamint nincs ilyen stílusú bűvészkedés az operátorokkal és műveletekkel)
- A hozzászóláshoz be kell jelentkezni
Próbálja akinek hat anyja van :)
- A hozzászóláshoz be kell jelentkezni
Elég sok szemét Java kódot láttam, de nem azért volt szemét, mert nehéz volt megérteni, hanem mert rosszul alkalmazta az API-t. Lehet úgy programozási nyelvet tervezni, hogy mindig áttekinthető maradjon.
- A hozzászóláshoz be kell jelentkezni
Emellett például rontja a karbantarthatóságot, ha nem tudod, hogy egy változó milyen típusú, főleg ha kicsit bonyolultabb a kód.
erre találák ki a hungarian notation-t.
- A hozzászóláshoz be kell jelentkezni
Jaja, ami méginkább átláthatóvá teszi a változókezelést :) Nem véletlen, hogy a hun.not. szülőhazájában, a Microsoftnál is átálltak arra, hogy a .NET esetében már ne ezt használják / ajánlják....
- A hozzászóláshoz be kell jelentkezni
Típusos nyelv esetén a hungarian notation-nél idiótább ötletet nehezen tudok elképzelni. Scripnyelveknél is inkább dokumentálni érdemes.
Érdemes megnézni a windows API-t. Rengeteg argumentumnak már rég nem az a típusa, mint a 16 bites windowsok idején, a neve (az eredeti típuskóddal) mégis megmaradt, hogy ne kelljen minden forrást átírni. Undorító, félrevezető az egész.
- A hozzászóláshoz be kell jelentkezni
egyébként magam sem szeretem a hungarian notationt:) ennél jobban csak az ilyen myFunc, theArray elnevezések borítanak ki jobban..
- A hozzászóláshoz be kell jelentkezni
Nem, nem erre találták ki.
KisKresz
- A hozzászóláshoz be kell jelentkezni
eh biztos másik pythont nézett... :)
fura, hogy az eddigi 14+ nyelvbe nem fért bele a python..
- A hozzászóláshoz be kell jelentkezni
Hamar összejön az... de nyilván csak célfeladat és korábbi tapasztalatok kérdése, hogy legközelebbre mit választasz...
szerk: for the record: hamar = 14 év alatt...
- A hozzászóláshoz be kell jelentkezni
Első ránézésre nekem is ez volt a véleményem, de aztán elkezdtem vele foglalkozni. Nagyon jó kis nyelv.
KisKresz
- A hozzászóláshoz be kell jelentkezni
Nekem sincs túl nagy tapasztalatom, de ha gyors programokat szeretnél írni, és a lényeget is megérteni, én mindenképpen compiler nyelvet ajánlanék, leginkább C++-t. A Qt C++-os, és nagyon átgondolt eszközkészletet ad.
Én Pascallal kezdtem, a C++ legelsőre talán egy kicsit túl bonyolult, ha nem megy, próbálkozhatsz a Pascallal, annak nagyon világos a szerkezete, és szinte ekvivalensen megfeleltethető a C++-szal, tehát könnyű áttérni belőle C++-ra.
- A hozzászóláshoz be kell jelentkezni
Egy jó doksi: http://www.inf.unideb.hu/~nbatfai/ (google://"programozói páternoszter").
A Python tudomásom szerint full OO nyelv, a Java meg majdnem... A probléma ott szokott kezdődni, hogy az emberi gondolkodás általában nem OO-jellegű... Szerintem...
- A hozzászóláshoz be kell jelentkezni
Igen, pythonban is lehet Objektum orientáltan programozni.
De amúgy én nem szeretem az OO-t, valahogy nehezebbnek érzem (Én is kezdő vagyok, C++ majd Python ).
- A hozzászóláshoz be kell jelentkezni
Én eleinte nem értettem az OOP-t, főleg, mert nem értettem, hogy mire jó. A lényegét a GUI programozásnál értettem meg, mert ott nagyon természetes, és gyakorlatilag nélkülözhetetlen.
- A hozzászóláshoz be kell jelentkezni
Az, hogy egy nyelv OO, az nem azt jelenti, hogy nem lehet benne _ugyanúgy_ procedurális kódot írni, mint a többiben. Az, hogy az emberi gondolkodás a kettő közül melyikhez áll közelebb, az valószínűleg emberenként változó, és az előtanulmányoktól is függ.
- A hozzászóláshoz be kell jelentkezni
Nem vagyok nagy szakerto programozasban, de amit C-ben megtanultam fel tudtam hasznalni PHP-ben. Szerintem a C egy nagyon jo alap.
A fontos az, hogy egy jo konyvbol vagy dokumentaciobol tanuld meg a dolgokat, mert sok konyv nem magyaraz kezdo szinten.
- A hozzászóláshoz be kell jelentkezni
És milyen jó könyvet tudnál említeni, amiből érdemes elkezdeni a tanulást?
"Van, ami annyira esztelen,
hogy csakis meztelen jó."
- A hozzászóláshoz be kell jelentkezni
Egy olyan konyvet ami a dolgokat kicsit reszletesen magyaraza el.
Nezd meg pl. Teach Yourself C in 21 days, sokan azt mondtak nekem, hogy gyenge konyv, de szerintem elege jo es ingyen elerheto.
- A hozzászóláshoz be kell jelentkezni
Ebből tanultam: Stanley B. Lipmann: C++ először
Ja, ez C++, de most szerintem érdemesebb C++-t tanulni az OOP miatt.
- A hozzászóláshoz be kell jelentkezni
oop alapoknak nekem ez tetszett: dr. Kondorosi,dr Laszlo, dr. Szirmay Objektum Orientalt szotverfejlesztes ISBN963618108X
Kivancsi lennek masok velemenyere is! En assembly, c, pascal alapok utan ebbol vilagosultam meg oop ugyben.
mgb
- A hozzászóláshoz be kell jelentkezni
Tanusíthatom.
C++ -al kezdtem, és 3 könyvet vettem meg:
Az elsőnek kb. a felét értettem, a második már érthetőbb volt, a harmadikat már értem. :)
- A hozzászóláshoz be kell jelentkezni
Szerintem ha valaki komolyan meg akar tanulni programozni, nem csak kirakok ket gombot es nyomkodom tipusu programozo akar lenni, akkor tanulja meg a programozasi alapfogalmakat, alapadatstrukturakat, hogy kell egy vermet, FIFO-t, rendezest hasznalni. Erre tokeletes a sima C, egyszeru tombokkel, alaptipusokkal. Ha ez mar profin megy, es sikeresen tud onnaloan egy programozasi feladatot megoldani. Akkor lehet tovabblepni az OO szemlelet fele. Itt viszont mindenkepp a java-t, vagy egyeb objektumorientalt nyelvet erdemes tanulni, nem szabad C++-t, mert nem tiszta OO, es sok benne az olyan dolog, amit egy kezdot megzavarna, viszont utana ha mar tisztaban van az ebmer az OO dolgokkal nyugodtan tanulhat C++, nem fogja megzavarni, csak kiterjeszti a tudasat.
- A hozzászóláshoz be kell jelentkezni
Mit értesz "nem tiszta OO" alatt? Hogy nem csak OO-t lehet használni? Az miért baj?
- A hozzászóláshoz be kell jelentkezni
A C nyelv, bar meglehetosen elavult, es tele van kinos csapdakkal, valoszinuleg nem lehet kikerulni. A legtobb beagyazott rendszert meg ebben fejlesztik (valoszinuleg a forditok miatt), es egy jo csomo nyelv szintaxisa nagyon hasonlit ra.
A C-vel valo kezdes bar logikusnak tunik, megsem biztos, hogy a leginkabb celravezeto. Nem tudom. Annak idejen mindenki Pascallal kezdett, es szamomra nem volt gond Pascalrol atterni a C-re. Sokkal nagyobb ugras volt az OO paradigma elsajatitasa.
De nyilvan nem tudom megallapitani, hogy egyszerubb lett volna-e rogton C-vel kezdeni. Valoszinuleg nem. Azt meg szinten nem tudom eldonteni, hogy lehet-e/erdemes-e alapbol OO paradigmat tanulni. Valoszinuleg erre is a valasz: nem.
Ezert celszeru olyan nyelvet valsztani, amivel minel kevesebb kinlodas van, es amiben mindket paradigma jelen van.
C/C++ -> valoszinuleg tul baratsagtalan elsore, de idovel elkerulhetetlen
Python -> jo kis nyelv, kedvelem, de gyengen tipusos, es nagyon rosszul dokumentalt, ezert elsore egyaltalan nem javaslom
Pascal -> miert ne? mert mindenki fikazza? en is csak tanulonyelvnek hasznaltam, de keszultek benne igen nagy projektek, szoval bizonyitott, szerintem kezdj ezzel
Java -> csak OO szemleletben tudsz nekifogni, es egy kicsit barokkos, talan jelenleg a legjobban futo nyelv, szoval mindenkepp erdemes megtanulni, de nem biztos, hogy ezzel kezdenek
C# -> talan meguszhato, legalabbis remelem ;-) kerdes, hogy a Java es esetleg a D mennyire tudjak visszaszoritani, bar egyelore erosodik a pozicioja
D -> ha nem kellene a C/C++ sokkal nagyobb valoszinuseggel, akkor ezt ajanlanam 2. nyelvnek, talan mire odaersz mar esetleg levalthatja, de ez csak szubjektiv varakozas, es sajnos eleg valoszinutlen
Ezt meg nem art megnezegetni:
http://www.tiobe.com/tpci.htm
Az ottani informaciok vmelyest korrelalnak egy-egy nyelv jelenlegi nepszerusegevel, amit nem art figyelembe venni, hiszen az ritka eset, hogy az ember meghatarozhatja, hogy milyen nyelven programoz, es a nepszeruseg pedig vmelyest aranyos az adott nyelven keszulo projektzek szamaval.
- A hozzászóláshoz be kell jelentkezni
Azt a butaságot, hogy a Python "nagyon rosszul dokumentált", honnan vetted? (http://docs.python.org)
- A hozzászóláshoz be kell jelentkezni
A butasag az, hogy keptelen vagy kulonbseget tenni a van, es ajo kozott, illetve, hogy ennek eredmenyekppen szemelyeskedsz.
De hogy akerdesedre valaszoljak: a gyakorlatbol. Egszeruen szar a dokumentacioja. Egy jo Python konyv nelkul gyakorlatilag felemeszti az ember idejet a hianyos, felkesz es helyenkent pedig mar felig elavult dokumentacioval valo kinlodas.
- A hozzászóláshoz be kell jelentkezni
Ok, elnézést. Lehet, hogy neked van igazad, mindenesetre nekem ez már a jó kategóriába esik. Mindenesetre egy kezdőnek(!) szerintem bőven elég az első hozzászólásban belinkelt magyar nyelvű bevezető könyvvel együtt.
- A hozzászóláshoz be kell jelentkezni
A "D"-vel az a bajom, hogy én már 3 évvel ezelőtt is néztem, jó indulásnak tartottam, de nincs és valószínűleg nem is lesz meg az átütő támogatottsága. Ma már nem elég egy nyelv, kell hozzá API is, amelyhez a nyelv csak kis adalék. Tudták ezt a Javánál és a .NET-nél egyaránt.
- A hozzászóláshoz be kell jelentkezni
Igen, egyetertek mindenben. Ugyanakkor az API azert keszulget szepen, ha meg nem is tart ott mint a Java, vagy a .NET. Igaz nem is ugyanakkora eroforrasokbol fejlesztik. Viszont, ha atbillen egy ponton, akkor a D kozossegi jellege miatt hirtelen megjelenhetnek a szukseges eroforrasok, ld. pl. Perl, Python, vagy akar PHP. Azert en bizom benne, mert nekem kedves ez a nyelv. Dolgozgatok is egy kisebb projekten, hogy alaposabban kiprobaljam, de - nem veletlenul - olyat valasztottam, ahol nem kell GUI. ;-)
- A hozzászóláshoz be kell jelentkezni
ket dolgot nem szabad osszekeverni.
a mivel kezdjem, es mi lesz az amiben majd sokat fogok programozni.
kezdesnek valami jol dokumentalt nyelv kell, amiben konnyu futo programot irni (pl: C nem az igazi _elso_ nyelvnek).
a python, php, java jok elso nyelvnek.
viszont masodik nyelvnek mindenkeppen kell a C. GUI framework-bol sem jo, ha csak egyet ismersz.
utkozben meg kialakul, hogy melyik amelyik a legjobban tetszik neked.
Anr - http://andrej.initon.hu
- A hozzászóláshoz be kell jelentkezni
Én első nyelvnek mindenképp a C-t ajánlom!
Ez jó kiindulópont, mert sok nyelv a c-ből fejlődött ki, vagy c elgondolású nyelvből. Van fordító minden platformra, még akár a
mikrosütőt is programozhatod vele. (bár arra ott a java :-) )
Ha ezt megtanultad válassz, hogy mit szeretnél. Ha a webes programozás
érdekel tanulj php-t, vagy esetleg perlt, pythont. Ez utóbbi kettőt
nagyon tudom ajánlani, jó kis sztripteket lehet benne írni, és van
értelmező linuxra/windowsra/macre is. Lehet bennük grafikus felületű
alkalmazást is fejleszteni (pl wxPython), és webes alkalmazást is,
amolyan 3in1 megoldás ez.
Egy fokkal talán keményebb dió a C++ és a Java, de ezeket is érdemes
megtanulni, nagyon hatékony és rugalmas eszközök, ráadásul manapság
nagyon sok szakembert keresnek Java és vagy c++ tudással.
Ha érdekel az alacsony szintű programozás, ajánlom még az assemblyt,
bár erre csak nagyon speciális esetekben van szükség, inkább az érdekessége miatt érdemes megtanulni, meg javítja a tájékozottságodat
a harwerek működése terén.
Ami még nagyon fontos, hogy ha elsajátítasz egy nyelvet, az szép
és jó, de édes kevés. Legalább 2-3-at tanulj meg azok közül amit említettem, és tanulj még adatbáziskezelést és hálózatot, valamint
XHTML-t és CSS-t még akkor is, ha nem webre fejlesztesz, és modern
technológiákat. Ez majdnem mind kell ahhoz, hogy eladható szoftvert írj!
Sok sikert!
- A hozzászóláshoz be kell jelentkezni
Assembly. Ma szar kedvem van.
Ha jó kedvem van, akkor azt mondom, hogy ne nyelvben gondolkozz. Kb. ilyet képzelek el kezdőnek:
I.: Struktúrált programozási módszertan. Pascal (Angster Erzsébet : Struktúrált programozás I-II), C (Kernigham - Ritchie : A C programozási nyelv. Előbbi azért, mert elmagyarázza, hogyan érdemes gondolkodni, utóbbi azért, hogy elmagyarázza, hogy az előbbiből mi volt a helyes, valamint hogy használható nyelvet is tanulj.
I.: Objektum-Orientált programozási módszertan. Nyelv: Tetszőleges OO nyelv. Irodalom: Passz. A módszertant ismertető jó irodalmat még nem nagyon láttam, persze ez nem jelenti azt, hogy nincs. Ebbe mindenképpen úgy érdemes belevágni, hogy ha van valaki, aki az OO alapjait el tudja magyarázni neked. Onnan kezdve már egyszerű a dolog. C után leginkább a Java-t tudom ajánlani.
Az I és a II pontokat érdemes ilyen sorrendben betartani, és sosem feladni a dolgot. Nagyon hasznos lehet, ha van ismerős, aki már programozgat, ő sokat tud segíteni ha elakadsz valahol. A leglényegesebb dolog az lenne, hogy minimum a struktúrált programozást valamilyen példatárral tanulni, és akkor az elméleti könyv olvasása mellett sok-sok példát megoldani. Ezért is tudom ajánlani az Angster Erzsébet irományait, mert sok faladat van, azon kívül ő adott ki Pascal feladatgyűjteményt is. C feladatgyűjteménnyel még nem nagyon találkoztam.
Morzel
ui.: sok sikert a tanuláshoz. Eddig még nem találtam élvezetesebb tanulnivalót a programozásnál.
- A hozzászóláshoz be kell jelentkezni
LISP-hez egy kis segédanyag, egészen kiváló:
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
Valamint itt is lehet találni néhány jó írást LISP-rõl:
http://www.paulgraham.com/articles.html
Pl. itt van ez arról hogy lehet-e LISP-ben "komoly" programot írni:
http://www.paulgraham.com/avg.html
- A hozzászóláshoz be kell jelentkezni
Sziasztok!
A témához nem mint szaktekintély szólok hozzá. Ugyezt a kérdést tettem fel magamnak nemrégiben, mondjuk basic és pascalos előképzettséggel. Elsőként a php mellett döntöttem. Egyszerően lehet benne kódolni, a szintaktikája teljesen kézreállt, és könnyen tudtam benne látványos dolgokat produkáló programokat írni, könnyen elsajátítható, php24 óra alatt egyszeri olvasásával megértettem a nyelv logikáját, és minden benne van, ami egy kezdő programozót érdekelhet. php használata közben megszerettem a objektumokat, azóta nehezen létezem nélkülük. A következő választásom a python volt, mert szeretem volna egy magas szintű programozási nyelvet tabulni, de segítség és tanár nélkül egy könnyen átlátható nyelvre vágytam. Pár napos tanulással szótárprogramot írtam, ami kikérdezi a bevitt adatokat (nem egy nagy dolog, de első lépésnek jó volt), Véleményem szerint könnyen átlátható a kód, és egy kezdőnek ez fontos szempont. Akár grafikus programokat is lehet gyorsan írni benne, de a dokumentációkból kiderült, hogy igazán komoly alkalmazások fejlesztésére is alkalmas. Talán egy kezdőnek egy másik kezdő véleménye is számít, szerintem a python gyorsan tanulható nyelv. A véleményem szubjektív, de megszerettem mindkét nyelvet.
- A hozzászóláshoz be kell jelentkezni
GUI figyelembe vétele nélkül:
What is a good first programming language?
http://floatingsun.net/articles/good-first-pl.html
Annyit +, hogy ha elszánt vagy, nem kell megijedni egyik ijesztgetéstől sem.
- A hozzászóláshoz be kell jelentkezni
Ha úgy szeretnél megtanulni programozni, hogy biztos alapjaid legyenek bármely nyelv elsajátításához, akkor először is valamilyen assmebly olvasgatása nem árthat.
E mellet meg szerintem mindenképpen C. Éspedig azért, mert következetsségre tanít. Nem a nyelv maga, hanem az a tény, hogy egy feladatot számtalan verzióban meg lehet valósítani C-ben. Továbbá lesz némi képe az embernek a tipusokról, ezek rendszerszintű hátteréről.
A C azért is egy nem megkerülhető dolog, mert szinte minden célra használható, minden operációs rendszeren támogatott nyelv. Kinek tetszik, kinek nem.
Ezek után a C++ egy jó továbblépési lehetőség. Igen hatalmas és sokan hitvitákat folytatnak arról, hogy tényleg tiszta OO nyelv-e.
Ezeknek ajánlanám figyelmébe a következő könyvet:
Stroustrup: The Design and Evolution of C++
Ebből megtudható, hogy bizonyos OO tulajdonságok rendszer oldali megvalósítása mit is jelent és hogy a C++-ban miért úgy vannak a dolgok, ahogy.
Szerintem egy zseniális darab.
Én akkor olvasgattam, amikor C kontra Pascal meg C++ kontra Delphi hitviták folytak. Tanulságos volt.
Egyébként C-ileg rengeteg doksi érhető el a neten.
C++-ról már kevesebb, ami kicsit részletezettebb lenne.
Mindenesetre a Stroustrop: A C++ programozási nyelv
magyarul is elérhető.
Szóval, ha alapos tudást szeretnél, szándd rá az időt és Assambly, C, C++ és utána meg akármi.
Ja és C ügyileg a Gábor-Dénes fősulinak van asszem egy C/C++ programozás című könyve.
Ennek a C részét én követtem el. Ha esetleg nem tudod elérni, elküldhetem elektronikusan ezt a felét. Elég tömör szerintem.
Bár ítéld meg magad.
jó tanulást,
Üdv,
t
- A hozzászóláshoz be kell jelentkezni
Miért kell először C, és nem azonnal C++? C++-ban is lehet nem objektumorienáltan programozni. Én olvastam mindkettőről, az OOP-n kívül nem nagyon figyeltem a különbségekre (a C++-ban az OOP-n kívül minden ismerős volt), csak azt tudom, hogy ha írok egy programot, az cpp kiterjesztéssel lefordul, de c-vel nem.
- A hozzászóláshoz be kell jelentkezni
Azért, hogy tisztába legyél a típusok mibenlétével, meg hogy melyik fogalom létezik fordítási időben és melyik runtime, mi a különbség egy referencia meg egy pointer között stb.
A C-ben megtanulja az ember a típusok kapcsán, hogy mi történik alul, innen fogja tudni kötni, hogy mit jelent az, hogy konstruktor, meg destruktor például.
Szerintem a C++-ban annyi lehetőség van, hogy elsőre röptében nem hiszem, hogy hipp-hopp jól megérti az ember.
De ha erre nincs szükség, akkor felesleges az időt verni vele.
- A hozzászóláshoz be kell jelentkezni
Én akkor is inkább C++-t mondanék, az más kérdés, hogy rögtön mindent meg kell-e belőle tanulni. (Persze jól felépített könyv kell.) Turbo Pascal 7.0 könyvet is láttam, amiben szó nem volt pl. OOP-ről.
- A hozzászóláshoz be kell jelentkezni
Hello!
Kezdésnek én is a C-t ajánlom, de szerintem egy igazán jól tanulható nyelv az a Pascal (free-pascal) is, amiben a C-vel ellentétben fordításkori indexellenőrzés is van, és akkor nem lesz az a problémád, hogy a progid lefordul hibaüzi nélkül, de futásnál egyszer csak dob egy segfaultot, és nem tudod hol a hiba. Amit néhány előttem szólóval ellentétben semmiféleképpen nem ajánlanék kezdésnek, az a lisp vagy a prolog, mert nem jó logikai-listafeldolgozós paradigmával kezdeni a programozást, mert az olvasásnál is először a betűket tanulja meg az ember, aztán olvas szavakat, ezért véleményem szerint először procedurális (imperatív) nyelvet érdemes jól elsajátítani, aztán jöhetnek a többi paradigmának megfelelő nyelvek: pl.: funkcionális (Haskell) aztan imperatív és objektum-orientáltság kapcsolatának megismerésére c++, java aztán logikai (lisp, prolog) és esetleg ha érdekel a páhuzamosítás, többprocesszoros megoldások akkor az occam mint párhuzamos programnyelv. Közben meg ha nagyon jónak érzed magad, akkor egy kis assembly sem árt, hogy megértsd a programozói gondolkodást.
Sok sikert!
______________________________________________________
powered by KDE 3.5.1 - Slackware 10.2 - linux-2.6.15.5
- A hozzászóláshoz be kell jelentkezni
freepascal-ban lehet GTK-t vagy QT-t programozni?
(pascallal meg foglalkoztam vmikor meg gimis koromban, persze meg dosos verzio, a legbonyolultabb prg az ilyen painthez hasolno rajzoloprogram volt asm-es grafikusmod valtasokkal.)
sebessegben hogy viszonyul pl a C-hez? (es miert fikazza mindenki)
::powered by Archlinux
- A hozzászóláshoz be kell jelentkezni
Qt csak C++-ra van (amíg nem írsz egy pascalos portot). Gtk van Free Pascalra.
Sebességről nem tudok sokat, nyilván az implementációtól is függ.
Azt se láttam, hogy fikázzák, inkább hogy az open source programozásban mintha elfelejtették volna (az egyetlen ismert kapcsolódó project a Free Pascal, nagyon kevés program íródik benne, és szerintem nehezen lehet fejlesztőt találni egy pascalos progihoz).
Amiért kezdőknek nagyon jó lehet, viszont később idegesítő, az a sok olyan szerkezet, ami csak a program jó érthetősége és olvashatósága miatt kell, de a fordító nénélküle is minden további nélkül tudná értelmezni a kódot. Tehát sokat kell gépelni.
- A hozzászóláshoz be kell jelentkezni
"Qt csak C++-ra van"
- A hozzászóláshoz be kell jelentkezni
Kösz a kiigazítást. Eredetileg C++-ra tervezték, míg a GTK hivatalosan is több nyelvre készített toolkit.
A lazarusosok fejlesztenek egy Qt felületet az LCL-hez.
- A hozzászóláshoz be kell jelentkezni
Az egyik tanarom mondogatta, hogy a diakoknak nem a szekvencialis programozast kellene eloszor megtanitani.Szoval nem art egy picit foglalkozni a funkcionalis, logikai programozassal is. Nem kell megtanulni lisp-ben, vagy prolog-ban programozni, de nem art megismerkedni a logikajukkal.
Utana valami egyszeru szintaxisu szekvencialis nyelv, mondjuk pascal; vagy php(+html), hogy latvanyos is legyen. Az alapveto vezerlesi szerkezetek megtanulasahoz.
Egy kis oop elmelet (nemi pascal, c++ vagy java peldaval).+ nehany adatszerkezet sem art (fifo,lancolt lista stb)
A gtk es qt miatt ugysem kerulheted el a c,c++ -t.
A lenyeg ugyis a problema megoldasa, es a megoldashoz legjobban hasznalhato api kivalasztasa.
- A hozzászóláshoz be kell jelentkezni
"A gtk es qt miatt ugysem kerulheted el a c,c++ -t."
De igen. Van pygtk és pyqt is.
- A hozzászóláshoz be kell jelentkezni
--- GTK programozás C nyelven ---
http://hu.wikibooks.org/wiki/GTK%2B_programoz%C3%A1s_C_nyelven
- A hozzászóláshoz be kell jelentkezni
Én pascal-t ajánlanám, esetleg python-t. A pascal az egy
tanuló nyelv, alapvető programozási elemeket, algoritmusokat
nagyon szépen be lehet vele gyakorolni, a pascal fordító hibajelzése nagyságrendekkel jobb, mint a c fordítók esetén, és ez
egy kezdő esetén nagyon nagyon sokat számít. Utána lehet
c irányba menni, vagy akár objektum orientáltság, java
irányba. De először az alapvető algoritmusokat érdemes
megtanulni: láncolt lista, fa építés, fabejárások, rendezések,
hasonlók. Az elmélet lerakására az Algoritmuselméletek könyv
szerintem nagyon jó. A lisp és társai felejtősek, rekurzív
program anélkül is lehet írni, gyakorlati hasznuk pedig
minimális, és a piacon (később, természetesen) nem igazán (vagy
nagyon nehezen) lehet hasznosítani ezen nyelvek tudását.
- A hozzászóláshoz be kell jelentkezni
Beszólnék: Forth.
Ha már hacker-nyelv kell. ;]
Amúgy meg Python, Rexx, C, E, Pascal/Modula(-2)/Oberon... De úgy is az akaraton múlik. Ablakozni, meg GUIzni GTK, de az még messze van az első kapavágástól.
Jó móka! :)
- A hozzászóláshoz be kell jelentkezni
"Erdekelne, hogy melyik az erthetobb, atlathatobb, logikusabb, bovithetobb, stb nyelv, szoval melyiket es miert ajanlanatok?"
Szerintem ne pazarold az idődet olyan nyelvekre, amit nem becsülnek meg eléggé. Én is elkövettem ezt a hibát. Pascal->Object Pascal->PHP->C#->C->C++
Ez volt nálam a sorrend és az első pár fölösleges. Én azt mondom, hogy C és C++-szal mész a legtöbbre. Visual C++ elterejdt, ott van a Qt, elég korrekt. C# jó monohoz meg ASP-hez. PHP érdekes és könnyű (Horde).
Perl-t is érdemes tudogatni, mert a CGI arra épül kb. Pythont sokan dicsérik, de azt sztem mellőzd, Java platformfüggetlen, de lassú, mint a perl, python. Esetleg nyelv, ami még felmerülhet az a Ruby. Ott is van TK. Keleten, Japán, Kórea, Kína stb. helyeken elég elterjedt.
Ha már dönöttél akkor ez a post fölösleges, de azért leírtam a véleményem. ^_^
- A hozzászóláshoz be kell jelentkezni
Vagy pedig tanulj eladható tudást: Visual Studio 2005 .Net 2.00 with MSSQL Express :-)
- A hozzászóláshoz be kell jelentkezni
Nem olvasom vegig. Nem flamelni akarok.
Rendszerkozelben: C
Nem rendszerkozelben: C
:)
Imadom a C-t. C++ is erdekes.
Es meg mielott elkezdtek flamelni azelott irom hogy NEKEM nagyon bejott, ad egy szemleletet, egy gondolkodast amit mas nem biztos hogy adhat. (Pascal nekem nemadott).
Iszonyat gyors, eros nyelv (nem egyszeru, de nem lehet belehalni sem), C++ innen mar csak meg egy lepes ami viszont ugyszint baro. Azert is jo, mert sok nyelvnek C vagy C-hez hasonlo szintaxisa van.
synapse
- A hozzászóláshoz be kell jelentkezni
Ugye nyilvánvaló hogy mindenki az a nyelvet ajálngatja amit használ és jól ismer. Az is világos hogy különböző mértékben értünk itt a programozáshoz/nyelvekhez. Szóval azt javasolnám hogy mindenki aki javasol egy nyelvet írja le hogy
- hány programsort írt már ezen a nyelven
- hány soros volt a legnagyobb projekt amiben ezt a nyelvet használta
- hány programsort írt le összesen életében bármilyen nyelven
vagy tegyen be egy linket egy projektre amit az adott nyelven (is) készített. Vagy bármilyen egyéb leírás is jó ami alapján az illető szakértelme megbecsülhető. (Persze nem vagyok moderátor szóval ez fakultatív. :))
Jó példával járok elöl, én három nyelvet ajánlok:
GNU R (www.r-project.org), ezt a nyelvet akkor érdemes tanulni ha matekozik az ember. Remek rendszer és nyelv.
Saját projekt: http://cneurocvs.rmki.kfki.hu/igraph, 5000 R sor, összes R programsor: kb. 30.000
C remek nyelv ha a hatékonyság (sebesség vagy kicsi tár) a legfontosabb. Nem árt megtanulni egy debuggert is ha használni akarod. http://cneurocvs.rmki.kfki.hu/igraph, 30.000 C sor kommentekkel együtt, összes programsor kb. 100.000
Python, remek magas szintű nyelv ha gyorsan kell csinálni valamit ami nem matek vagy jól jönnek a Python grafikus és egyéb könyvtárai pl. reguláris kifejezések. összes programsor eddig kb. 3000.
Összes programsor bármilyen nyelven (persze erősen becslés): 500.000
Nyelvek amiket kifejezetten utálok: c++ (összes programsor kb. 50.000), perl (2000), java (5000). Vagyis ez ugye azt jelenti hogy ezeket a nyelveket illetően nem mérvadó amit állítok....
Na jó, lehet hogy ez hülyeség, de már nem törlöm ki.
- A hozzászóláshoz be kell jelentkezni
Nem hülyeség, nagyon korrekt vélemény.
--
TheReplaced, Argh! ><
- A hozzászóláshoz be kell jelentkezni
"Ugye nyilvánvaló hogy mindenki az a nyelvet ajálngatja amit használ és jól ismer."
Ebben nagy igzság van. Sokan nem gondolnak bele abba, hogy a kérdés az volt, hogy mit ajánljunk egy kezdőnek _első_ nyelvként. Tehát nem az, hogy melyik a legjobb/legszebb/leghasznosabbazéletben...
Csak ajánlani tudom mindenkinek néhány oktató gondolatait:
http://www.ibiblio.org/obp/thinkCSpy/
A foreword és preface részben kifejtik, hogy mi is a lényeg.
- A hozzászóláshoz be kell jelentkezni