Milyen matek tudás kell a programozáshoz?
"Hat igen. Mintha azt mondanank valakire, hogy ugyan semmit nem ert a boole algebrahoz, megis kivalo processzorokat tervez, holott a processzorok a boole algebrara epulnek, annak fizikai megvalositasai."
Továbbra sem fogsz célt érni azzal, hogy olyan példákat hozol fel, amikor bizonyos matematikai előismeretek szükségesek speciális programozási feladatokhoz, mert én nem erről beszéltem. Ahhoz, hogy valaki webes vagy mobilos alkalmazásokat fejlesszen, nem kell értenie sem az analízishez, sem a valószínűségszámításhoz, sem a tenzorokhoz, sem a komplex függvénytanhoz, sem a csoportelmélethez, sem semmi olyasmihez, amit középiskola után tanítanak matematikából. Magasabb szintű matektudás olyan feladatok megoldásához kell, amellyel valamilyen tudományos feladatot akarunk megoldani, valamilyen bonyolult számítást elvégezni, és ilyenkor óhatatlan, hogy a progreamozónak is legyen némi rálátása az adott matemaikai vagy fizikai területre. De attól, mert valaki ért a Boole-algebrához, még nem lesz jó matekos, mert azt a hülye is meg tudja tanulni. Sokkal több matek kell digitális szűrőkhöz, képfeldolgozáshoz, fizikai jelenségek modellezéséhez. Akik ilyesmin dolgoznak, azoknak kell a magasszintű matektudás. Akik csak egy online adminisztrációs rendszert fejlesztenek iskolák vagy cégek részére, azoknak nem. Ott nagyobb hangsúly helyeződik a felhsználói felület kialakítására és a szoftver használhatóságára, semmint a magas matematikai szükségletekre. Ettől még mindkét területen dolgozó programozó lehet jól képzett.
Tehát a válasz: nem, nem kell magasszintű matematikai tudás ahhoz, hogy valaki jó programozó lehessen. De kétségtelenül előny, ha matekból is jó.
"Sokkal több matek kell digitális szűrőkhöz, képfeldolgozáshoz, fizikai jelenségek modellezéséhez. Akik ilyesmin dolgoznak, azoknak kell a magasszintű matektudás. Akik csak egy online adminisztrációs rendszert fejlesztenek iskolák vagy cégek részére, azoknak nem."
Na de eppen ezt hangsulyozom, hogy aki csak ugyviteli szoftvereket, adatbazis-manipulatorokat fejlesztenek, azokat nem lehet jo programozo kategoriaba sorolni.
A jo programozo az, aki barmit meg tud irni, nem csak adminisztracios szoftvereket, raadasul amit megir az is minosegi, aki pedig barmit meg tud irni, jol, az tisztaban kell legyen a matematikaval. Ettol es ezert jo, mar ha az.
"A jo programozo az, aki barmit meg tud irni,"
Őket polihisztoroknak hívták a reneszánszban. Az azóta eltelt néhány évszázadban a tudásanyag túl nagy lett, és először szakemberek, majd, újabban kutatócsoportok vették át a helyüket.
A programozók jósága főleg a kód helyességében és karbantarthatóságában (bővíthetőség és módosíthatóság) mérhető, másodsorban a kód sebességében, de még ehhez sem kell kifejezetten matematikusnak lenni, vagy akár a középiskolai szintet jelentősen meghaladni. Főleg üzleti logikát írnak, (összekötik a libákat a UI-szel), ahol a libákat (mondjuk kép- vagy hangfeldolgozás) szakemberek készítik, akiknek a száma elenyésző a programozókéhoz képest.
Pen-dragon, azt hiszem, értem már a heveskedés okát. Az, amiről te beszélsz, nem a programozó, hanem a programtervező. Teljesen fölösleges egy jó programozónak tudnia, hogy miképp kell egy hatékony tömörítő algoritmust elkészíteni, azt majd megcsinálja annak a szakembere, szépen leírja, és a programozó pedig megcsinálja az azt megvalósító programot. Ha te azt várod el, hogy a programozó értsen ahhoz, amire a programot írja, akkor egy nagyon régi, már régen, több hullámban is elavult rendszert követelsz rajtunk, abból az időből, amikor a matematikusok írták maguknak a matematikai programokat.
Az algoritmus tervezője tegye a dolgát, a programozó pedig azt tudja, hogy azt hogyan lehet egy gépen egy adott fejlesztőeszközzel programmá tenni, hatékonyan és minél előbb. Szintén a programozó dolga - erről sokkal kevesebben szoktak megemlékezni - a tesztelés és a hibakeresés. Az eredményt nem neki kell értékelnie. Én, programozó, szintén nem ennék elragadtatva attól, ha a megrendelő vagy az "algoritmus" előírója akarná megmondani nekem, hogy miféle tömbökkel, vezérlésekkel, rutinokkal, sőt, egyáltalán milyen nyelven oldjam meg a feladatot.
A jó programozó attól jó, hogy ezt végül hiba nélkül csinálja meg.
Egy olyan programot, mint a Photoshop, vagy harminc ember készített, a kezdőkép szerint. Nem hiszem, hogy mind a kódolással vesződött volna.
dq: Polihisztor az aki parhuzamosan tobb szakmat gyakorol.
Itt egy szakmarol van szo.
15: Nem programtervezorol beszelek, hanem programfejlesztorol, akinek a matematikai tudas ugy sajatja kell legyen, hogy a munkajat kielegito minosegben elvegezze, mint a szakacsnak az alapanyagok ismerete, mint a festonek az ecset, mint a villanyszerelonek az ohm torveny.
Nem veletlen az sem, hogy programozo-matematikusi diplomat kapnak ezen emberek.
"Programozó matematikus szak: A programozó matematikus képzés célja olyan magasszintû informatikai ismeretekkel és matematikai alapokkal rendelkezõ szakemberek képzése, akik"
ELTE IK programozó matematikus szak (az új neve programtervező informatikus). A kérdés az az, hogy milyen nehéz?
Erre valasz:
"Én oda járok, most vagyok másodéves. A szakról röviden annyit, hogy a programozás elmélet mellé rengeteg matekot tanítanak. Igazából nehéz, sokan kihullanak"
Tabaki jol megfogalmazta, van feladat, ahol nem kell matematikai tudas, vagy nagyon csekely szintu ismeret elegseges, de ez nem jelenti azt, hogy egyebkent ne lenne elvaras a matematika magasabb szintu ismerete.
Ezt csak azert irom, hogy ha valaki idevetodik, akkor kepben legyen es ne altassa magat azal, hogy erdemi matek tudas nelkul programozo felistenne valhat, mert nem valhat azza.
Tantárgyak:
Kalkulus
Diszkrét matematika
Lineáris algebra
Valószínûségszámítás
Matematikai statisztika
Numerikus matematika
Es egy hozzaszolas:
Én egy félévet jártam oda 2008-ban, magamnak köszönhetően kibuktam, de az oktatással sincs minden rendben. Volt egy HVG cikk is, amiben külön meg is említették ezt a szakot, mint ahol kirívóan nagy volt a lemorzsolódás. Asszem 2007-es évfolyam 4%-a végzett időn belül és 7-8% 4 éven belül, vagy ilyesmi, de meg kell nézni pontosan.
Mondjuk az alapprobléma a gyenge középiskolai matematikaoktatás + plusz a fejkvóta rendszer, ezzel tömegeket ítéltek szerintem felesleges kudarcra, eleve nem szabadott volna őket felvenni (engem is beleértve).
Ez most némileg módosul, de még mindig csak középszintű érettségi a követelmény (úgy tudom). Vagy ha felvették őket, illett volna nyújtani is valamit nekik, felzárkóztatni, átvenni a középiskolai feladatokat. Ebben a "fájdalomcsillapításban" voltak ők országos szinten a legrosszabbak. Az oktatói kar nem volt képes az elitoktatás reflexeit elhagyni, nem tudták kezelni a tömegesedést.
(megjegyzés: Az első év szerintem olyan kéne legyen (minden reál szakon) , mint egy intenzív specmatos gimnázium, ami felzárkóztat valamivel az emelt szintű érettségi fölé, meg tanulásmódszertan, motiválás stb.)
Én egy személytelen, tömeges, rideg helynek láttam, sajnálatosan kevés lánnyal, ami a mentális közérzet szempontjából sokat számít.
Röviden:
4-es, 5-ös emelt matek (illetve annak megfelelő tudás) az alap, és nem árt belenézni egy-két egyetemi matematika tankönyvbe (még előtte), mert tulajdonképpen az igazi matematikának köze sincs a középiskolai "matekhoz". Lehet hogy nehezebb, de biztosan szebb, értelmesebb, logikusabb. Szóval tudomány :)
"Ezt csak azert irom, hogy ha valaki idevetodik, akkor kepben legyen es ne altassa magat azal, hogy erdemi matek tudas nelkul programozo felistenne valhat, mert nem valhat azza."
Nagyon kedves, hogy ezt írod. Az igazság azonban az, hogy bárki nagyon könnyen és gyorsan és fájdalommentesen programozó-félisten lehet.
A programozó félistenséghez sok és jó minõségû UML-t kell gyártani, sok és érthetõ kódot írni (gyorsan), nem pedig integrálni (az analízis például túl van ott tolva).
A programozó félisteneknek jellemzõen nincsen diplomájuk (és saját magukat tanították könyvek alapján), az ELTE tananyagát felhozni elég röhögséges. Nem a piaci igények szerint készült hanem az alapján, hogy mihez van professzor (ahogy a többi egyetemé is). Ja, meg egyébként is alapvetõen egy matematikus szak, nem rég lett belõle informatikus, még azt is nyögi.
Nézd meg a code academy vagy bármi másik tanmenetet. Írj jó és szép kódot, jó programot, és.. és ennyi.
Ne ott végzettet kérdezz meg, hanem HR-est, hogy mennyit ér és milyen tudású aki innen vagy onnan jön. (HUP vagy prog.hu).
Például azt kell begyakorolniuk, hogy a póráz a kutya vagy az ember osztály alatt legyen-e.
Vagy hogy a szájkosár ellenõrzését akkor hajtsa végre, amikor még a kezünkben van, vagy inkább azt az esetet kezelje le, amikor valamiért nem sikerült rárakni az ebre (összement a szájkosár a mosásban, vagy berozsdált és nem mûködik a kallantyú).
Egy idõ után ezek a kérdések lényegessé válnak, és alapvetõen befolyásolják a programkód kezelhetõségét.
Mondjuk a GYIK-hez hasonló oldal összedobása (szerver és kliens fronton) minél gyorsabban, ehhez nem kell matek. Egy kevés kell, ha lassúra sikerül az adatbázis-lekérés. De abból sem ír az ember kétszer lassút, egyszer látja, az elég.
Az ogg vagy hasonló szabványt többek között zenész is fejleszti, meg programozó matematikus, nem pedig egy darab félisten programozó. (Programozó matematikusokra nincsen olyan nagy számban szükség, mint olyanokra, akik összedobnak egy GYIK kaliberû oldalt egy 48 órás verseny keretében bugmentesre. Vagy:
define félisten programozó )
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!