Programozás, de hogyan?
Szeretnék megtanulni programozni, de nem tudom mivel lenne érdemes foglalkozni. Meg tudok tanulni szinte bármit önállóan (hála az internetnek), de azt nem tudom egyszerűen eldönteni, hogy: melyik nyelvvel lenne érdemes foglalkozni? Kezdjem el valami egyszerűbb nyelvvel és később menjek a komolyabbak felé? Vagy rögtön a mély víz?
Milyen nyelvvel érdemes elkezdeni foglalkozni?
Illetve mik a piacképes nyelvek? Aminek a tudásával el lehet helyezkedni később, akár itthon, akár külföldön?
Köszi a válaszokat, és kérlek írd meg mióta foglalkozol a témával :)
Programozó ismerősem azt mondta nekem nemrég, hogy a C++ és a Java az, ami a mai világban leginkább használatos.
Hogy mit kezdj el.. nem tudom. Általános iskolában nekem a pascal-t villogtatták, egyetemen ( nem programozó szak) a c-t. De lényegében szerintem majdnem mind1, hogy milyen nyelvet tanulsz, a legfőbb a gonolkodásmód, a nyelv csaka szintaktika miatt fontos.
Az elsőnek igaza van, a programozás nem csak egy programnyelv ismeretéből áll.
Az egész inkább egy szemléletmód, aminek a kifejező eszköze lehet 1-1 programozási nyelv.
Első körben mindegy mit tanulsz, érdemes valami könnyebb scriptnyelvvel kezdeni. (Pl.: python)
Ezek jó tulajdonsága, hogy gyönyörűen kiírják, hogy hol és mit követtél el, amit nem lett volna szabad.
Majd tanulhatsz valami igazi prog. nyelvet, mondjuk C++-t. (Ez sem bonyolult amúgy annyira.)
Igen, a szemlélet és egyebek a fontosak. De azért nem hinném, hogy valakinek pl. assembly-vel kéne, hogy kezdjen :-D.
Kezdésnek valami egyszerű magasabb nyelvű programozási nyelvet ajánlok: a Pascalt, a Basic (visual basic) és főleg C++ -t ajánlom, hogy megbarátkozz azzal, hogyan épül fel egy program és hogy gondolkozz programozóul.
Utána (több hónap/év stb) jöhetnek a különféle keretrendszerbe ágyazott programozási módok (példáull: .net), meg egyéb program nyelvek (pl.: C#), a különféle scriptek írása, illetve akár az alacsony szintű programozási nyelvek (ami nagyjából a gépi kódú programozás) assembly. Meg olyan finomságokkal is barátkozhatsz később, amik egyedi/más programozói logikát kívánnak, pl. a LISP szerű nyelvek (de csak érdekesség képpen)
Ha valamit akarsz is csinálni, akkor C++ és a C# és a visual basic nyelvek lehetnek nálad a nyerők.
Előző vagyok...
Aztán rájössz arra, hogy (szinte) bármit és bármiben le tudsz programozni, ha kell :-D.
De először fontos megbarátkoznod valami könnyen érthető nyelvvel, amiről van sok anyag, pl.: C++, Pascal, stb...
Hogyan épül fel egy program, mik azok a parancsok, változók, konstansok, függvények... hogy bármit le tudj rajzolni egy folyamatábrában...
Aztán jöhetnek a különfélébb (ezek szintén tök alapok) finomságok, pl. rendezési algoritmusok, makrók, objektum orientált programozás és még rengeteg olyan elméleti dolog, amit a gyakorlatban lehet használni...
Mellette különféle informatikai és hardware, software ismereteket lehet bővíteni... mondjuk mi az a soros port regisztere és mi az, hogy valahány adatbit, paritás bit...stb
Szerintem nagyon hasznok információkat osztottak meg az előttem hozzá szólók, de csak annyit hozzáfűznék még, hogy könnyebb el tudd kezdeni, én a szekvenciális programozási nyelveket ajánlanám elsőnek (C, Pascal, Ada stb...). Momentán ebből csak a C-t használják több helyen, de ezeket nem is úgy kell tanulni, hogy mennyi mindenre fogod velük vinni az életben, ezek csak az algoritmikus gondolkodás kialakításában segítenek. Főleg ha olyan feladatokat, oldasz meg amik egyre-egyre bonyolultabbak. [pl. elsőnek Hello World! (ismerkedés a nyelvvel), Pitagorasz-tétel használata (algoritmizálás tanulás), ismerkedni a tömbökkel (elmélet, és persze tartoznak hozzá nyelv specifikus dolgok), ...etc..., végül ki lehet ott lyukadni, hogy már keményebb feladatok jönnek (pl. hátizsák probléma [link]
Eddig szekvenciális nyelvek!!!
Innen lehet döntögetni mit akarsz [web prog. (php, ASP.net és hozzájuk a script nyelvek), alkalmazás fejlesztés (Java, C#), hardware közeli nyelvek, pl. hálózati alkalmazások kommonikációs rétege (C, C/C++, Assembly), és még sokan mások annak már gúglizz utána]
Nagyon fontos az elmélet, sokat meg tudsz vele spórolni és marha okosnak tűnsz tőle (ami nem is olyan nehéz csak érdekeljen a téma). Minden nyelvben vannak minimális eltérések (pl. referencia vs érték típusos paraméter átadást használ-e a Java).
Ha Java, C#, Objective-C vagy más objektum orientált nyelvet (oop.) választasz akkor az oop. paradigmákat bizony keményen be kell nyalni, mert anélkül csak szenvedés az egész. (öröklődés, abstract osztályok, interface-ek, példányosítás, szemét gyűjtés, példányosítás, konstruktorok, destruktorok, és még sorolhatnám hajnalig)
Kezdetnek - szerintem - nem érdemes technológia-orientáltan nyelvet választani. Először tanuld az alapokat, ehhez viszont úgy érdemes nyelvet választani, hogy ahhoz minél kevesebb technológiaismeret kelljen (hogy az algoritmizálás alapjaira lehessen koncentrálni).
Ehhez középsuliban a Pascalt választják mai napig, de már sokan húzzák a szájukat, mennyire elavult, ettől függetlenül arra, amire most neked kell, tanulni megfelel. Másrészt a JavaScriptet ajánlanám: nem kell hozzá semmi, csak egy jegyzettömb, meg egy webböngésző, ráadásul kliensoldali webprogramozásban mai napig megkerülhetetlen technológia. Szintaktikailag a c mintáját követi, mint ahogy a legelterjedtebb nyelvek többsége, így univerzálisabb tudást kapsz. Ezen kívül használni is baromi egyszerű.
Az olyan nyelveket, mint a Java, C#, C++ nem ajánlanám kezdésnek (az objektumorientált szemlélet majd legyen egy második lépcső). A C++-t főleg nem, az Assemblyt meg egyáltalán nem, bár utóbbit nem ezért (nehéz és kevés a sikerélmény).
Hangsúlyozom, itt az alapok elsajátításáról van szó, nem arról, hogy te legyél JavaScript programozó. Először az alapok (algoritmizálás, majd objektumorientált programozás, majd egy kis adatbázis kezelés (elmélet, SQL), végül a technológiai specializáció).
Hogy mik a piacképes nyelvek? Hát... :D
hardver közeli programozásra (driverek, meg hasonlók írása): C, Assembly
asztali alkalmazások fejlesztése: Java (Swing), C++, C# (Windows Forms/WPF), Visual Basic, ...
web: Java (JSP, JSF), ASP.NET (esetleg Silverlight), PHP (esetleg Drupal), Ruby, JavaScript (Ajax, JQuery)...
Itt csak nyelvekről beszéltem, és zárójelben említettem a kapcsolódó technológiákat. A tanulási folyamat nem egyik napról a másikra megy, amit semmi sem bizonyít jobban, mint hogy az egyébként legendásan nehéz programozó szakról is sokan diplomáznak dilettánsként (bár ott más miatt). Piacképes szakemberré válni évek alatt lehet, az internetről tanulás NAGYON hasznos (inkább elengedhetetlen), de nem ártana valami fősulit/egyetemet elvégezni. Sok sikert!
Az, hogy egy nyelv egyszerű nem jelenti azt, hogy nem komoly. A Python a legjobb példa arra, hogy egy könnyed nyelv igen erős is lehet, ha megfelelően használják. Tanulónyelvnek ideális, mert a legtöbb hibát amit elkövetsz, futásidőben jelzi, tehát nem az van, hogy "mér nem fordul ez a szar", hanem hogy jé, dobott egy ValueError-t, hmm ez mit is jelent. No meg van interpretere, nem statikusan típusos (de erősen), és általános célú, erős nyelv.
Szerintem kezd ezzel, sokmindent el lehet vele érni (szinte mindent), aztán majd meglátod, hogy mit szeretnél csinálni. Ha webes irányban mennél tovább, akkor felesleges C++ felé elmenni, akkor a PHP, Java, Python, Ruby vonalon fogsz mozogni (meg persze js, html, css stb.), ha meg alkalmazásfejlesztés akkor meg olyan nyelveket fogsz tanulni. Amíg nem tudod, mi is fekszik neked, felesleges túlspecializálódni.
Én c++ al kezdtem teljesen a 0 ról.
És a 24 órást könyvből tanulok,és egyáltalán nem olyan vészes a c++. Kezd azzal szerintem.
Nem nehéz csak többet tud ezért több ideig tart megtanulni több benne a lehetőség mint a c ben vagy a pythonban.
Jelenleg a SIMPLECAT-os résznél tartok a másoló konstruktornál.
Az azért nem igaz, hogy "több a lehetőség".
Teljesen ugyan annyi.
C-ben ugyan azt meg leht írni amit C++-ban, illetve pythonban is meg lehet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!