[Vita téma] Egy kezdő programozó számára miért kell erőltetni a platformfüggetlenséget?
Akármikor feltesz valaki egy kérdést, hogy ő márpedig programozást szeretne tanulni, valahogy mindig szóba jön az, hogy "de hát ha azt a nyelvet tanulod, akkor az nem fog menni minden platformon" - ami miatt mondjuk a Python-t vagy a Java-t, illetve a Pascal nyelvet javasoljátok kezdő nyelvnek. Mellesleg az eszébe ne jusson a kérdezőnek, hogy C#-pban tanuljon, merthogy az "csak Windows-on megy és semmi máson nem".
Annyira érdekelne engem, hogy miért akkora döntő szempont az, hogy akár a TempleOS-en vagy a FreeDOS-on is fusson a kódja, amikor egész életében Windowst használt és más rendszert még messziről sem látott? Nem érne rá ez a platformfüggetlenség akkor, amikor már viszonylag képben van a témával?
"Annyira érdekelne engem, hogy miért akkora döntő szempont az, hogy akár a TempleOS-en vagy a FreeDOS-on is fusson a kódja, amikor egész életében Windowst használt és más rendszert még messziről sem látott? Nem érne rá ez a platformfüggetlenség akkor, amikor már viszonylag képben van a témával?"
Nem a platformfüggetlenség a lényeg, hanem a hordozhatóság, egyik gépről a másikra. Ha olyan nyelvet választ, akkor a nyelv interpreterét, virtuális gépét, futtató környezetét is telepítenie kell a célgépre, ahol a kódját futtatni szeretné.
Ugyanez natív kód esetén nem szükséges.
Húhh, nagyon csúnyán el fog menni a téma attól, aminek szántam, bár ez az én hibám, nem fogalmaztam meg a kérdésemet elég jól.
Oké, a nagy cél a platformfüggetlenség és a hordozhatóság, de ha mondjuk ha az ifjú padawan alkot valamit .NET-re (mondjuk 3.5-re), és ezt oda akarja adni a haverjának megmutatni, aki mondjuk ugyanúgy Windows-t használ, a programja ugyanúgy menni fog, mert Vista óta a .NET 3.5 "alapfelszereltség". De oké, ne legyen .NET, legyen natív kód. Hasonlóan futni fog a haverjánál, hiszen a futtatókörnyezet (=Windows) ugyanaz. Viszont tényleg ennyire fontos dolog lenne az, hogy a világ másik felén élő ember is, aki FreeDOS-t használ, azon is fusson? Fontos kérdés ez egy olyan ember számára, aki örül, hogy a Windows-on megy az első Hello World-je?
Én speciel nem tartom szempontnak a platformfüggetlenséget, és a hordozhatóságot. Amit én szem előtt tartok az, hogy:
1. Az adott programnyelv milyen hatékonyan tanítja meg az alapvető dolgokat
2. Az adott nyelv esetében mennyi 'fölösleges plusz' éri a delikvenst (gondolok itt arra, hogy C# esetén fölöslegesen erőltetve van az OOP paradigma, mikor csórikám még egy ciklus megírásánál tart, ugyanez igaz futtatói környezetek telepítésére, meg egyebekre). A hatékony tanuláshoz hozzátartozik, hogy a kezdőnek ne az 'advanced' dolgok vonják el a figyelmét mint hogy "most miért irkálom minden elé hogy public?'.
Ezért támogatom a Pascalt, mint kezdőnyelvet, az alapokat hatékonyan átadja, alapvetően beszédes nyelv, így a szintaktika sem okoz sok kellemetlenséget, és nincs agyonnyomva olyan nyelvi elemekkel, amik eleinte csak bezavarnának.
Nemtom ez kinek fontos. Én mindig csak a fontoskodókat látom az ilyen hozzászólásokban. Valaki C++-t akar tanulni mondjuk, akkor oda jönnek akik nem értenek a C++-hoz és elkezdik fitogtatni, hogy az ő más jellegű tudásuk miért jobb.
Ugyanígy szokott lenni, mikor valaki konkrétan rákérdez valamire, hogy hogyan tudom megoldani C++-ban ezt meg ezt. És akkor jönnek a válaszok, hogy C++ sz*r, old meg Python-ban és ott így és így kell megoldani.
Ez megy oda-vissza nyelvtől függetlenül. A kérdező meg sokszor ott marad megoldás nélkül hiába érkezett 40 válasz a kérdésére.
"Nem érne rá ez a platformfüggetlenség akkor, amikor már viszonylag képben van a témával?"
Ha ez nem adott alapból, akkor nem kezdő programozóról, hanem programozás iránt érdeklődő személyről van szó. Alap C(++) szintaktikát, WinAPI-t tudni keresztül-kasul olyan mint a der-die-das. Enélkül nem is programozó az illető. A platformfüggetlen fejlesztés ennek a tetejére kell, nem helyette, és a célja az, hogy sokkal inkább a feladatmegoldásra tudjon az illető koncentrálni, mint kódírásra. Utóbbi csak eszköz az algoritmusok megvalósításához.
Kérdező:
Akinek normális válasz kell, az jobb ha szakmai fórumon teszi fel a kérdését akár magyar akár angol nyelvűn. Itt 2-3 ember van aki ténylegesen ért a programozáshoz és szokott válaszolgatni ráadásul ők azok akik ritkábban írnak választ.
Láttam itt már valakit fejenpörögni arról, hogy platformfüggetlen nyelv a jó csak, de system("cls")-t szokott írni a mintaküdjaiban.
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!