Hogy kezdjem el tanulni a Pascal nyelvet?
9/10 T0ba:
Eddigi (színvonalas!) hsz-eid alapján, nem is tudom, hogy követhetted el ezt a fentebbit? Sajnos azt kell mondanom,
hogy minden megállapításod téves. Lássuk:
- A pascal igenis meglehetősen moduláris (unit, component, include).
- De, vannak compile time direktívák (ifdef) a pascalban is. Ezer éve.
- "stringkezelés borzalmas" Ez mit jelent? Csak mert végletekbe bocsátkozó string lib volt már a borland pascal 7.0-ban is.
Vagy másra gondolsz? A pascal kezel std pascal stringet, ansi stringet, c tipusú null terminált stringet. Mit akarsz még?
- Bitműveletek. Mi van velük? Nincs talán or, xor, and, not, lshift, rshift? De ha nem, lenne, mibe tartana megírni, jó bő fél órába?
- A program sebessége pedig igenis függ a válaszott nyelvtől, ugyanis nem a harmadikos ödönke pascal teljesítménye és a te Java képességeid versenyeznek, hanem bárki képessége pascal vagy más (C#, python, java) nyelven.
- Támogatottság. Pascal-on alapul a legdrágább fejlesztőeszköz, jelesül a delphi RAD studio, aminek nem az architekt, hanem csak a pro verziója több mint egy milla.
Amúgy igen, a Rad studióval fejleszthetsz android alá is, csak valamivel könnyebben, mint másban. Persze van Lazarus is androidhoz.
Ha meg valaki nagyon meg akar támaszkodni a .net-en, akkor megveszi az oxygene-t, ami megint csak pascal, aztán annyi. Ha a RAD studio túl drága lenne neki.
A pascal javára írható az olvashatósága, értelmezhetősége is, ami egy kezdő esetében aranyat ér.
Ez önmagában akkora fegyvertény, amihez a C stílusú szintaxist, mint előnyt, még említeni is hiba.
A java OS-t meg talán hagyjuk is. Viccnek jó volt.
"- A pascal igenis meglehetősen moduláris (unit, component, include)."
Ohh, hol van ez pl. a Java-féle csomagkezeléshez képest? A container/file/class típusú hierarchiához? Vagy mint C#-ban a nested namespace...?
A Pascal unit kezelése kb. a C #include bináris változata, mindkettő elavult volt már 20 éve is.
"- De, vannak compile time direktívák (ifdef) a pascalban is. Ezer éve."
Valóban van. Azért jó látni, hogy a Pascal is fejlődik :)
"A pascal kezel std pascal stringet, ansi stringet, c tipusú null terminált stringet. Mit akarsz még?"
Hát pont ez a probléma. Az ansistring, widechar és hasonlók fogalmak valamikor a kilencvenes évek végén, a kétezres évek elején voltak használatban, amikor kezdtek kimenni a divatból a kódlapokat használó Win9x rendszerek, és kezdtek elterjedni a full Unicode rendszerek.
A Java alapból UTF-16 változó hosszú stringeket használ (olyat, mint Delphiben a UnicodeString). C#-ban nincs is 8 bites string vagy char típus (bytetömb van). Arról nem is beszélve, hogy C#-ban ezek alapból osztályok, Java-ban primitív típusok ugyan, de megvan az osztályreprezentációs típuspárjuk...
A kutya nem akar foglalkozni azzal, hogy egy metódus PChart, ansi stringet, wide stringet vagy mit ad vissza. Az FPC-féle implementáció hol PChar-t ad vissza, hol sima Stringet... az embarcadero hol System::UnicodeStringet, hol System::WideStringet...
És nekem az egész Pascal/Delphi vonallal ez a problémám, hogy lemaradt valahol 15-20 évvel ezelőtt, és azóta az összes fejlődése abban áll, hogy a Javatól/C#-tól/C++-tól lopkodja össze a újításokat.
"- Támogatottság. Pascal-on alapul a legdrágább fejlesztőeszköz, jelesül a delphi RAD studio, aminek nem az architekt, hanem csak a pro verziója több mint egy milla."
Nem számít, hogy mennyire drága, nem attól lesz jó. Ha rosszmájú lennék, azt mondanám, azért kénytelenek olyan drágán adni, mert a kutya sem veszi...
Így átfutva ezt a RAD Studiot, nem látom, miben tud többet, mint egy 16 évvel ezelőtti Visual Studio. Akkoriban középiskolában C#-ot tanultunk, és pont ez a formösszehúzogatás rapid development ment akkor is. De igazából a '97-es Visual Studio is tudta ezt.
A kérdés itt inkább az lenne, hogy VCL vagy Windows Forms, de ez meg egyéni ízlés kérdése.
"Ha meg valaki nagyon meg akar támaszkodni a .net-en, akkor megveszi az oxygene-t, ami megint csak pascal, aztán annyi. Ha a RAD studio túl drága lenne neki."
Az ilyen szoftverekkel nekem pont az a problémám, hogy valami noname cég huszadrangú terméke, ami egyébként lehet, hogy jó, de semmi garancia nincs arra, hogy 10 év múlva is létezni fog, raádásul saját dialektust használ. Vagy megszűnik holnapután, vagy nem. Vagy lesz hozzá support holnapután, vagy nem.
Egy többemberes projektnél sem mindegy, hogy mindenki úgy jön oda, hogy keni-vágja az adott nyelvet, vagy azzal kezdjük, hogy először betanítjuk őket, aztán mehet a munka...
"A pascal javára írható az olvashatósága, értelmezhetősége is, ami egy kezdő esetében aranyat ér.
Ez önmagában akkora fegyvertény, amihez a C stílusú szintaxist, mint előnyt, még említeni is hiba."
Ez a tapasztaltabb programozók tipikus berögződése, de valahogy egyetlen kezdőnél sem látom azt, hogy ez tényleg így lenne - merthogy nincs is így. Az az igazság, hogy ez egyáltalán nem számít. Nem is nagyon használják a Pascalt oktatási célokra.
Az unokaöcsémék C#-ot tanulnak, sokszor segítek neki, és soha, egyetlen pillanatig nem láttam, hogy bármi problémája lett volna a szintaktikával. Olyan problémák vannak, hogy pl. nem érti, a Console.WriteLine("a" + "b"); esetén miért kell a + jel. Meg hogy a tömb[i] esetén mit is jelent az i? És hasonlók.
De ha ismered a Logiscoolt, nézd meg, ők miben tanítják a kicsiket programozni. Stagescript-et használnak, ami egy Javascript nyelvjárás, a nagyobbak pedig idővel áttérnek C#-ra. Voltam néhány órájukon (rendszergazdaként segítek nekik), és nagyon nem látom azt, hogy a szintaktika bármiben is befolyásolná őket.
"kezdtek kimenni a divatból a kódlapokat használó Win9x rendszerek, és kezdtek elterjedni a full Unicode rendszerek"
Hát nem tudom, de még a Win10 is egyedi kódlapokat használ UTF-8 helyett...
Nem, a Windows 10 belső stringábrázolásra UTF-16-ot és UCS-2-t használ. Egyedül a cmd.exe használ kódlapot, az is csak kompatibilitási okokból.
A .NET osztályai, mint pl. a StreamWriter, alapértelmezetten UTF-8-at használnak.
Lehet, de a Notepad pl. alapból még mindig nem UTF-8-ban ment, sem az Excel nem UTF-8-két kezeli a .csv fájlokat. Ha van BOM, akkor persze felismeri, de akkor pl. az Excel nem ismeri a TAB-ot mint separatort...
Linux BOM nélkül alapból UTF-8-ként kezeli a fájlokat.
13/16 T0ba:
Amiket sorolsz, azok szubjektív hülyeségek. Te is csak egy vagy azok közül, akik úgy gyaláznak egy eszközt, hogy nem ismerik és soha nem is ismerték azt.
A kezdőknek meg baromira nem mindegy, hogy mivel indítanak, ez kihat az előmenetelükre, a jövőjükre, sőt, arra is, hogy folytatják-e egyáltalán a tanulmányaikat. Erről órákat tudnék mesélni, de nem látom túl sok értelmét.
"Amiket sorolsz, azok szubjektív hülyeségek."
Egy részük nyilván, más részük viszont objektív érv.
"Te is csak egy vagy azok közül, akik úgy gyaláznak egy eszközt, hogy nem ismerik és soha nem is ismerték azt."
Ohh.. dehogynem. A Pascal volt a második nyelv, amit megtanultam, még a Turbo/Borland idején. Aztán utána írkáltam kisebb-nagyobb programokat Delphiben, majd átálltam C-re. Azóta több is futottam a Delphivel/RAD Studioval, de soha nem láttam érvet arra, hogy komolyabban foglalkozzak vele.
"A kezdőknek meg baromira nem mindegy, hogy mivel indítanak, ez kihat az előmenetelükre, a jövőjükre, sőt, arra is, hogy folytatják-e egyáltalán a tanulmányaikat..."
Épp ezért szoktam javasolni, hogy NE Pascalt tanuljanak, mert szerintem semmi előnye nincs a C-szerű nyelvekhez képest, sőt. Sokkal valószínűbb, hogy C-szerű szintaktikával fog dolgozni később.
További 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!