Jump to content
GSForum - Segélyvonal

Hogy kezdjek hozzá?


geri005
 Share

Recommended Posts

geri005

Van valami, amihez nagyon nem értek: a Programozás... Szeretném megtanulni. Arra lennék kíváncsi, hogy milyen programozási nyelvvel induljak el, és linkeket szeretnék kérni, ahol segítséget adnak. Köszi.

Link to comment
Share on other sites

evi01

Helló,

 

Delphi vagy C#?

 

Úgy gondolom, C# (ejtsd:szí-sárp).

A Microsoft honlapjáról ingyenesen letölthető a Visual Studio Express 2008 fejlesztőkörnyezet.

Könyvet is tudok hozzá ajánlani teljesen kezdőknek: Visual Studio C# 2005 lépésről lépésre. Ez a könyv 600 oldalas, és mindent megtalálsz benne, amire szükséged van.

 

Teljesen objektum-orientált nyelv, ettől nem kell megijedni, mert ha kezdetektől így tanulod, akkor meg fogod szokni, és nélküle már nem is tudsz élni. A C# nyelv a .NET keretrendszert használja, tehát Microsoft-függő. (De mi nem az?)

 

A Delphi vagy Object Pascal nyelvet és hozzá a Borland környezetet nem ajánlom. Ha valaki tud néhány jó szót a Delphi védelmében, az tegye meg. Én teljesen kiábrándultam belőle. Nem beszélve arról, hogy a fejlesztőkörnyezet megfizethetetlenül drága. Van ingyenes megoldás is, de (ha jól tudom), éppen az adatbázis-kezelés hiányzik belőle. A 2009-es verzióról csak azt olvastam, hogy tele van bugokkal. Kipróbálni nem tudtam, mert lefagyott telepítés közben. Ajánlott memória 2 giga.

Link to comment
Share on other sites

geri005

Köszi a gyors választ, megnézem a C#-t, majd jelentkezem még :)

Link to comment
Share on other sites

arpsoft

Programozni nyelv nélkül kell megtanulni. Gondolkodni, apró elemekre bontani, megalkotni az objektumrendszert (ha OOP). Ha ez megvan, akkor kell olyan nyelvet választani, ami a célnak leginkább megfelel.

Link to comment
Share on other sites

geri005

Ott még tartok x) csak szeretnék megismerkedni a programozással.

Link to comment
Share on other sites

evi01

Kedves Arpsoft, saját tapasztalatomból tudom, hogy az elmélet és gyakorlat között óriási különbség van. Elméletben ismeretet lehet szerezni arról, hogy mi a programozás fogalma. Gyakorlatban viszont meg lehet tanulni a programozást, és csak így lehet olyan rendszert elképzelni ami 50 sornál hosszabb. Az sem nem mindegy, hogy milyen nyelven. Sokáig használtam a Clippert, amirõl köztudott, hogy nagyon hanyagul veszi a paraméterezést, teljesen hiányzik belõle az egységbe zárás (nem beszélve az objektumokról) stb. A programnyelv korlátaihoz vagy kényelméhez alkalmazkodik a programozó. És eszerint alakul a gondolkodásmódja is. Ha nincs olyan, hogy objektumok öröklõdése, akkor másképpen tervezi a formokat. Másképpen gondolkodik, mint egy Delphi programozó. Többek között azért a C#-ot javasoltam, mert így már a kezdetektõl egységbe zártan fog programozni, és objektum-orientált lesz a gondolkodása is.

 

De komolyan, mit jelent az, hogy "megalkotni az objektumrendszert" úgy, hogy nem tudja kipróbálni egyszer sem, egyetlen példával sem tudja igazolni magát, mert ugye nem ismer egyetlen programnyelvet sem? Amit a kisujjából kiráz az, akinek gyakorlata van, azt tanulhatja szerencsétlen hosszú hónapokon keresztül, akkor sem fogja igazán megérteni.

Gyakorolj sokat Geri, minél több feladatot végezz el, és ne elméletben, hanem a gép elõtt, igazi programot írva. Csak így lehet megtanulni programozni!

 

Link to comment
Share on other sites

geri005

Köszi, örülök, hogy ennyire foglalkoztat ez a kérdés, letöltöttem a programot, barátkozom vele :)

 

Körülnéztem, de sajnos nem találtam leírást - olyat amivel el tudnék indulni. Nincs esetleg linkje valakinek egy kezdőknek leírásról?

Link to comment
Share on other sites

arpsoft

evi01:

Látom, Te is a durrbele programozzunk felfogás híve vagy. Ez nem feltétlenül probléma, csak gondokat okozhat, amikor olyan feladattal találkozol, aminek a megoldása az ismert nyelven nehézségekbe ütközik.

 

A programozás lényege, hogy a problémát analizálva eljutunk olyan elemi dolgokhoz, amit már meg lehet értetni a processzorral. Nem gépi kódra gondolok, hanem arra, hogy feltételeket, alap műveleteket határozunk meg. Ebből létre lehet hozni a programot formális alakban.

Soha nem lesz kielégítő az eredmény, ha egy félkész kódhalmazt kezdesz el barkácsolni, mert nem azt csinálja, amit szeretnél. Sokkal hatékonyabb, ha előre eltervezed, és aztán kódolsz.

A nyelvre fordítás pedig innentől kezdve egyszerű, szinte mindegy, melyik nyelvet is használjuk.

 

A tervezésnél persze figyelembe kell venni, hogy a rendelkezésre álló nyelvekben mire van lehetőség és mire nincs. De előre eldönteni, hogy én most Delphi-ben fogok nyomulni, nem sok értelme van. Én spec megtanultam (sorrendben) a BASIC (Z80! ), Pascal, dBase, C, C++, VBasic, FoxPro és PHP nyelveket, majd jött az SQL. Ezekből bármelyiket elő tudom venni egy feladat megvalósításánál, de soha nem ezzel kezdem.

Először megézem, mire van szükség, pl van-e értelme objektumokat használni, kell-e adatbázis, helyben fog futni a program vagy hálózaton keresztül, esetleg interneten keresztül. Ha ez mind megvan, elkészül a formai terve a programnak, utána pedig kódolás, aztán bogárirtás.

 

Szóval egy nyelvet meg lehet tanulni mesteri szinten, mégsem lesz belőle programozás. (Program lesz belőle, kérdés mennyire lesz hatékony.) Lehet, hogy mazochista és maximalista vagyok ezen a téren, de szerintem ez az egyetlen igazán jó irány.

 

De nem akarom elvenni senki kedvét, a fórum használói valószínűleg nem megélhetési szinten kívánják űzni ezt a nagyon szép sportot. Tessék csak írni a programocskákat, próbálkozni, mit hogyan lehet megoldani, aztán majd eljön a felismerés, hogy biztosan lehetne ezt másként is csinálni. ;)

Link to comment
Share on other sites

geri005

Ez mind szép és jó, és tiszteletreméltó, de ahhoz, hogy mindezt teljesíteni tudjam, szükségem lenne valamire amivel el tudnék indulni

Link to comment
Share on other sites

arpsoft

Azt már tudod, mit szeretnél csinálni?

Link to comment
Share on other sites

geri005

Szerintem amíg nem tudok semmit, csak van egy Visual Basic 2008 Expres Editionom addig ráérek ezek filózni, de javíts ki ha tévedek mester :hááát: Szükségem lenne vlami anyagra az interneten a programozási nyelvről.Egyébként köszi a gyors választ!

Link to comment
Share on other sites

geri005

Minden tiszteletem :olé: KÖSZÖNÖM!!

Link to comment
Share on other sites

geri005

Sok érdekes könyvet találtam még ezen az oldalon ezzel már tényleg el lehet indulni :D Lesz mivel foglalkozni szilveszterkor ;)

Link to comment
Share on other sites

evi01

Helló Arpsoft,

Lehet, hogy nem elég jól fogalmaztam. Ahhoz, hogy gondolkodhasson azon, hogy egy adott feladatot milyen nyelven írjon meg, legalább egyet ismernie kell. Próbáld meg elképzelni, hogy nem tudsz programozni, és még azt sem tudod, mi az a for ciklus vagy tömb (csak elméletben). Miféle rendszert tudnál akkor kitalálni vagy tervezni?

 

Nem "durrbele" típusú programozó vagyok. Ha rendszert készítek, arra nagyon fel szoktam készülni. A tervezés néha elég kemény és összetett. De tervezéskor azért mindig elképzelem, hogy mit hogyan fogok megvalósítani. És nyelvet választok hozzá, ha tehetem. De nem mindig lehet. És hogy egy programnyelvhez alkalmazkodni kell, azt nem úgy gondoltam, hogy csak egy nyelvet kell megismerni, és PL1-ben írni a weblapokat. Ha a fõnök azt mondja, hogy Java, akkor Java, vagy másik munkahely.

 

Ne érts félre, én igazat adok neked teljesen abban, amit leírtál. Nem vettem személyeskedésnek, tudom hogy nem annak szántad. Én is így gondolom, csak nem egy totál kezdõ esetében.

 

 

Link to comment
Share on other sites

payskin
Ahhoz, hogy gondolkodhasson azon, hogy egy adott feladatot milyen nyelven írjon meg, legalább egyet ismernie kell.

Bocs, hogy beleszólok, de nem értek egyet.

 

Amikor először tanultam programozni (11 éves voltam), apám a folyamatábrával kezdte. Egy árva szót nem tudtam semmilyen nyelven programozni, mégis képes voltam megrajzolni a leendő kincskereső játékunk felépítését, működését, főbb lépéseit.

 

Később, gimiben dettó ugyanez volt a helyzet, azzal a különbséggel, hogy míg apámmal azért a sikeres folyamatábrát viszonylag gyorsan átültettük BASIC-re, a tanár fél éven keresztül rajzoltatott velünk folyamatábrákat, majd a téli szünetben elment az iskolából, és ezzel meg is szűnt a számítástechnika oktatás (Magyarország, 1987). :)

 

A fentieken kívül sajnos nem találom azt az igazán remek könyvet, amely, ha jól emlékszem, szintén a 80-as években jelent meg itthon és a középiskolai programozás tananyagot definiálta anélkül, hogy egy szó le lett volna írva benne bármilyen konkrét programnyelven. Egyfajta szöveges pszeudonyelvet használtak hozzá, amely leginkább a BASIC magyarra fordított változatának felelt meg, de teljesen érthető volt. Ugyanis a dolog lényege nem egy nyelv szintaktikájának ismerete volt, hanem feladatmegoldáshoz vezető a gondolkodásmód elsajátítása. Remek könyv volt, benne volt az összes fontosabb vezérlőszerkezet, majd miután ezt már ismertnek vették, számos alapvető programozási feladatot (ahogy ők hívták: tételt) oldottak meg, a kiválogatáson a legkülönbözőbb rendezési eljárásokig.

 

De bedobnám a "közösbe": a programtervezés kifejezést, azon belül is a Jackson-félét, amit örök életemben rühelltem, ahelyett, hogy megtanultam volna használni. A Jackson egy nagyon egyszerű szimbólumokra épülő programtervezési módszer, amellyel az összetett problémákat le lehet bontani kisebb lépésekre, majd a műveleti szintig "leírni" (vagy inkább lerajzolni) a leendő program feladatát, működését.

 

Próbáld meg elképzelni, hogy nem tudsz programozni, és még azt sem tudod, mi az a for ciklus vagy tömb (csak elméletben). Miféle rendszert tudnál akkor kitalálni vagy tervezni?

Pont ez a lényeg, hogy egyáltalán nem kell tudnod, mi az a for ciklus. Azt kell tudnod, hogy mi az a ciklus, mire használják és milyen fajtái vannak (elől tesztelős, hátul tesztelős stb.). Majd ha ezek az "építőkövek" megvannak, és ki akarod próbálni, hogy valóban tudsz-e belőlük működő megoldást, algoritmust építeni, megtanulhatod egy programnyelv szintaktikáját -- azaz hogy mondják az adott programozási nyelven azt, hogy hátul tesztelős ciklus --, és megnézheted, hogy működik-e a program, amit kitaláltál és valóban azt csinálja-e, amit kell.

 

Persze, az is lehet, hogy mindez manapság már nagyon elavultnak számít, nem tudom. Rohanó, eredménycentrikus világ, nincs arra idő, hogy az alapokat felszedjük, pontosabban ma már lehet, hogy a for ciklus szintaktikája az alap, nem pedig az, hogy mi az a ciklus és mire való.

Link to comment
Share on other sites

arpsoft

Lehet, hogy öregek vagyunk már, Balázs? :nem:

 

evi01:

Nem személyeskedés volt, Balázs kicsit bõvebben kifejtette az utolsó mondataiban, amire gondoltam.

Link to comment
Share on other sites

geri005

Szóval amit én levettem ebbõl: a programozás inkáb mûvészet mint tudomány?!. Álmomban nem gondoltam volna, hogy ilyen bonyolult lesz, de majd írok viszajelzést ha van valami :hááát:

Link to comment
Share on other sites

KGigi

Egyáltalán nem bonyolult, színtiszta logika az egész. Az elején biztosan.

 

Amúgy ELTE proginfo 1. félévben az első három héten be sem kapcsoltuk a számítógépeket, specifikációkat és struktogrammokat írtunk. Aztán ezeket kellett átültetni C++-ra. Mi azzal kezdtünk. Alap szinten használjuk még csak, tömböknél alig valamivel tanítottak többet. Azt majd C++ specin. Itt az volt a lényeg, hogy mindenki megértse az alapokat, illetve aki itt kezd mélyebben programozni (mint pl. én), az ne hulljon ki az első félévben. És lesz majd olyan tárgyunk is, ahol egész félévben nem lesz számítógép, "papíron" programozunk, nyelvtől teljesen függetlenül.

 

Most még olyan szinten nem kellett tudnunk a C++ szintaktikáját, hogy bevihettük magunkkal a jegyzeteinket.

Link to comment
Share on other sites

payskin
Szóval amit én levettem ebből: a programozás inkább művészet mint tudomány?!

Dehogyis.

 

Nem biztos, hogy jó példa, de tegyük fel, hogy meg akarsz tanulni összeadni és kivonni. Évi, szerintem, azt mondja, hogy ezt a + és - jelek jelentésével kell kezdeni, mi meg azt, hogy az alapokkal: a számokkal, számjegyekkel, és ha már nagy biztonsággal tudod, hogy a 2 az kettő, ami azt jelenti, hogy valamiből egy meg még egy dolog van, akkor lehet elgondolkodni azon, hogy ha ehhez hozzáadunk még egyet, akkor hány lesz és az hogy jelöljük.

 

Vegyünk egy másik, egyszerű programozási feladatot: írjunk programot, ami kiszámítja a felhasználó által megadott r sugarú kör kerületét és területét.

 

Én azt mondom, hogy ha 0 ponton állsz, tehát semmit nem tudsz a programozásról, e feladat megoldásához a C# nyelv szintaktikája egy fikarcnyival sem visz közelebb. Ellenben kell, hogy rendelkezz egy gondolkodásmóddal, amely a fenti feladat láttán működésbe lép, és lebontja a feladatot olyan elemi lépésekre, műveletekre, amelyeket utána le tudsz írni egy programnyelvben.

Link to comment
Share on other sites

geri005

Én nem ismerem ezeket a programozási szakszavakat, de tegyük fel ha egy könyvből megtanulom, hogy a Visual Basic-ban mi micsoda utána hogy áljak neki egy program megírásának teszemazt egy számológép program. Mik a lépések?

Link to comment
Share on other sites

evi01

Üdv mindenkinek,

 

Nem azt mondtam, hogy tanulja meg a C# szintaktikáját, és máris tud programozni. A könyvet azért ajánlottam, mert abban a programozást tanítják, nem csupán felsorolják egy nyelv jellemzõit. Soha nem mondanék olyat, hogy nincs szükség elméletre! A beszélgetés azzal indult, hogy Geri szeretne programozni, de nem tudja mi az, és nem jár olyan iskolába, ahol visszajelzést kaphatna a saját tudásáról. Pl. csinálj egy tetris játékot. Megvan a Jackson, részletes tervek, meg minden papíron. És vajon jól csinálta? Honnan tudja, ha nem bírja letesztelni? Honnan kaphat segítséget, ha bizonytalan valamiben? (Tudom, mind nagyon készségesen segítünk, de a nap nagy részét azért nélkülünk tölti.) És ha látja a saját programját futni a gépen, az sem egy utolsó élmény.

Hosszú évek óta programozóként dolgozom, nem csapatban hanem egyedül. Tudom, hogy a gyakorlat a legjobb tanítómester. Emlékszem az elsõ programjaimra. Most azért egy "kicsit" jobb vagyok annál.

 

Geri,

Szerintem egy könyvesboltban kezdd, nézd meg azt a könyvet, és olvasgass bele többe is. A könyv sokkal részletesebb, mint egy internetes jegyzet. Hogy mi után mit kell csinálni, az is benne van. A sikerélményed is meglesz.

Link to comment
Share on other sites

geri005

Ez sem egy rosz ötlet, áttanulmányozom az e-bookokat, aztán újévkor ellátogatok egy boltba :) Egyébként a VB 6.0 van meg nekem ez réginek számít majd késõbb esetleg egy komolyabb programhoz?

Link to comment
Share on other sites

geri005

Egy ebookban találtam pár példaprogramok amiket ha Újproject-el a forráshoz bemásolok és futtatni akarom hibát nem ír ki, viszont Semmit nem mutat ki a Form1 ablakban.De ha jegyzettömbben mentem vbs formátumba és elindítom akkor fut a program.Miért nem lehet VB-ben is futtatni? Nekemott könnyebb lenne értelmezni

Link to comment
Share on other sites

arpsoft

Azért, mert az egyik visual basic script, a másik meg visual basic form. És máris belebonyolódsz egy nyelv zegzugos rejtelmeibe, mikor még annyi minden vár megoldásra. Szóval a feladat:

 

bemenet: a kör sugara

kimenet: a kör területe és kerülete.

 

Fel tudnád vázolni, hogyan kellene felépíteni a programot, hogy egy számítógép jó eséllyel megértse, mit akarsz?

(Érzed, ugye, hogy átmentünk tanfolyamba! ;))

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...