- Az Enermax tényleg nem viccel, ha az új tápjának garanciaidejéről van szó
- Kábel nélkül a Sapphire VGA-val
- Milyen billentyűzetet vegyek?
- Dell asztali gépek
- AMD Navi Radeon™ RX 9xxx sorozat
- Gaming notebook topik
- Milyen TV-t vegyek?
- Végleg lemondott a régi gépekről a Steam
- Bambu Lab 3D nyomtatók
- Milyen Android TV boxot vegyek?
-
PROHARDVER!

Új hozzászólás Aktív témák
-
flugi
tag
akkor dúl az egyetértés. Azt állítom, hogy a C/C++ azért ment neked könnyen, mert előtte láttad a Pascalt, ami világossá tette, hogy milyen bütykök vannak egy programban (változó, kifejezés, szerkezetek). Ez kb olyan, mintha úgy tanulnál idegen nyelvet, hogy annyit kell már csak megjegyezni, hogy melyik szó helyett melyik szót kell írni.
Mi ehelyett használunk kitalált nyelvet. -
flugi
tag
válasz
return.value
#780
üzenetére
legjobb tudomásom szerint a struct és a class között az egyetlen különbség, hogy előbbi alapértelmezésben public, a másik private.
Ez tudtommal kizárólag a visszafelé kompatibilitás miatt van így, azóta is egy jó fogódzó Java fanoknak, akik a C++ -t szeretik leszólni, hogy minek egy nyelvbe két kulcsszó ugyanarra. Hát igen, könnyű egy olyan nyelvnek, amit függetlenül találtak ki
-
-
flugi
tag
válasz
kisfurko
#760
üzenetére

no akkor kicsit más szemszögből: a kód biztonságának egyik kulcsa, hogy észreveszed a hibát a kódban. Sokan (köztük én is) i nevű ciklusváltozót szeretünk használni. Ha van egy programom, amiben van egymás után két ciklus, akkor mindkettőben az i nevű változót használom, de egymáshoz nincs semmi közük. Amikor elírok valamit, és az értékadásban a ciklusaim után véletlenül az i változót akarom használni, akkor hibaüzenetet fogok kapni. Ami persze nagyon jó, mert annak ott tényleg semmi értelme nincs. (ha nem tudnám hol áll meg a ciklus, akkor while-t használok)
A C++ alapkönyvben (Stroustrup) a legelső alapelv a C programozóknak akik C++-ban akarnak programozni, hogy deklaráljuk a változókat ott, ahol szükség van rájuk, úgy, hogy csak addig éljenek, amíg kellenek. A legelső példák egyike a for ciklus fejlécében deklarált ciklusváltozó.
A hatékonyság pedig nem változik meg, kipróbáltam ezt a két kódot:
for (int j=0;j<1000000000;j++) {
int i;
for (i=0;i<10;i++)
{
}
}
meg:
for (int j=0;j<1000000000;j++) {
for (int i=0;i<10;i++)
{
}
}
és nem volt észrevehető különbség, holott eléggé felnagyítottam volna
(G++ DevC++ IDE-ben)
kompaktabb kód, biztonságosabb kód, hatékonysági áldozat nélkül. Tiszta nyereség.
flugi -
flugi
tag
Igyekszem tisztába tenni a dolgot, mert amit mondasz, nem egészében hibás, csak részben. Nincs veszélyesebb a részigazságnál

okítok C++ nyelvet. Úgy kezdjük, hogy egy számítógépmodellben magyarázzuk hogy milyenek a kifejezések, hogy néz ki egy értékadás, hogyan lehet ezeket szekvenciába rakni, egyáltalán mi az hogy változó, mi az elágazás, mi a ciklus.
Ezt mind papíron, egy saját nyelven. A legfontosabb érv, hogy ne azonnal ''egyszerű'' C++ programokkal induljunk, az olvashatóság, a magyarázhatóság, és legfőképpen a technikai részletek elrejtése, hogy a lényeg (szerintünk lényeges dolgok) legyen az egyetlen, ami számít. Ezért van is egy kis rugalmasság ennek a nyelvnek a szintaxisában, papíron mindent kicsit könnyebb. Ilyenkor a nebulók rászoknak arra, hogy a szándékuk legyen jó, a kód meg ahogy sikerül.
Ha ezt mind egyből C++ vagy pláne C-ben tennénk (printf vs cout), magyarázhatnánk egy csomót, hogy mit keresnek a pontosvesszők meg operátorok a kódban, és elvesznénk a részletekben.
A Pascal nyelv egy igazi tanulónyelv, mert aránylag olvasható, és intuitív. Kicsit meg van turbózva a szöveges meg a grafikus terület, így könnyen lehet a diákokat érdeklő programozási feladatokat adni. A modellnyelv persze még jobb, mert abban egyáltalán nem kell ''pontosvesszőket vadászni'', de nem is fut, csak papíron van, és értelmezgetni kell.
Mi azért választottuk a saját nyelvet, mert nem akarunk egyáltalán első évben platformfüggő dolgokat tanítani. Nem akarunk senkit rászoktatni valami piaci IDE használatára. Szabvány C++ okítás van a modell után, és mivel mindenki windowson szeret fejleszteni, és (kényelmi okokból) linuxon megy az ellenőrzés, a platformfüggetlen kódolás elemi követelmény.
Ha bárkinek problémát jelent az, hogy több mint egy nyelvet ismer, akkor az semmiképpen ne menjen programozónak. Egy jó programozó sok nyelvet ismer, és a feladathoz a megfelelő eszközt választva rákényszerül más és más nyelveket használni. Óriási jelentősége van annak, hogy tudjon arról, hogy milyen funkciókat tudnak nyelvek betölteni. Ugyanis nagyon könnyen lehet C-ben Pascal programot írni (mint ahogy azt általában a diákok teszik átszoktatás után jó ideig), még hallottam is embert, aki szerint az a jó a C-ben, hogy lehet olyat írni, hogy
#define begin {
No ez nem a Pascal hibája, hanem annak a jele, amikor valaki választ egy nyelvet, és a többit kinevezi feleslegesnek![;]](//cdn.rios.hu/dl/s/v1.gif)
-
flugi
tag
azért legyünk őszinték, amellett hogy Porkoláb mester tényleg az ország egyik legnagyobb C++ koponyája, a .NET ügy ugye azért van, mert hogy-hogynem, a Microsoft egyik legkomolyabb alvállalkozója (Charles Simonyi) vele csináltatja a .NET következő generációs IDE-jét.
(a hozzászólásban szereplő ''egyik'' szavak ízlés szerint elhagyhatók
) -
flugi
tag
6.0-ás VC-t kerüld amilyen messze lehet. Egyáltalán nem C++ nyelvet fordít, legalábbis engem mindig fel tud dühíteni, hogy nem lehet ott deklarálni változót, ahol a nyelvdefiníció megengedi. pl for(int i=0;i<10;i++) alapvető C++ kódrészlet, a 6.0 VC-ben csak azt lehet hogy int i; for(i=0;i<10;i++) aztán bogarászhatod hogy melyik ciklusod közötti melyik sorokba milyen i értékek kerülnek. Broáf. (a nyelvdefinícióban természetesen a for-ban deklarált változó csak a ciklusban él, a ciklus végével megszűnik)
-
flugi
tag
pontosan így van, bár szerintem aki leszólta a Dev-C++ -t, mint fordítót, az nincs tisztában a fordító és a fejlesztői környezet különbségével.
Mert a Dev-C++ néha tényleg zavarbaejtően rossz. Pl ha a szintaktikai hiba egy karakteres, és a fordító szöveges hibaüzenetében a sorszám mellett a karakterszám is szerepel, akkor a DevC a karakterszámadik sorra kezd el mutatni. Tartott egy ideig, mire rájöttem
Ezzel együtt a DevC jelentősége elég nagy, mert tulajdonképpen nagyon jól használható legális és ingyenes cucc. Lehet persze varezolni, de egy suliban okításhoz vagy megveszi a suli 60-90 gépre a licenszet, vagy nem. Hát a ''vagy nem'', természetesen, ha van használható ingyenes, ugyebár.
És a tapasztalataim összességében jók, én használom a DevC++-t, valahogy szívesebben is, mint a Borlandot vagy a Visualt. És tényleg leginkább a fordító miatt. A rigolyáit meg megtanultam nagyjából.
Az ELTÉn annak idején nekem még modula2ben kellett nyomni (talán utolsó évfolyamként), aztán tanultam meg C++-ul linuxon azaz GCC-vel, egyből Qt-vel. Ez nem tett jót a nyelv átlátásának, de nagyon jót tett a hatékonyságomnak, nagyon hamar megtanultam linux alá grafikus programokat csinálni.
És a legnagyobb haszna az, hogy nem lettem ''egyIDÉs'', aki megtanulja teszemazt a Visualt, aztán tutyimutyi, ha másik IDÉvel kell dolgozni. Rendes szerkesztő meg parancssoros fordító mindig van
-
flugi
tag
válasz
_thomas_
#725
üzenetére
de hisz a Turbo Pascalban van OOP támogatás! pl írtam Pascalban eseményvezérelt grafikus ablakkezelőt widget leszármazottakkal, miegymással.

A struktúrált programozás fogalmát kétféleképpen lehet érteni: az egyik, a megoldási folyamatot egy hierarchiába rendezhető függvényrendszerrel oldjuk meg. Szvsz ezt inkább hierarchikus programozásnak kellene nevezni. A struktúrált programozás másik jelentése az, hogy a programok alapprogramok struktúrájaként, azok szekvenciába, elágazásba és ciklusba szervezésével jönnek létre. Ez viszont éppúgy igaz a Pascalra, mint bármelyik magasszintű imperatív nyelvre.
A Delphinek ráadásul jóval ügyetlenebb az objektumkezelése, mint a Borland Pascal 6 vagy 7-ben, bár ez már szubjektív vélemény.
A pascal leszármazottjában, a Modula nyelvben (én leginkább a kettest ismerem) pedig az OOP elméleti elődjének, az ún. átlátszatlan típusnak is van támogatása. Ez még a C++-nál is komolyabb adatelrejtést jelent. (mintha a .h fájlban nem adnád meg a private és protected típusokat)
Attól, hogy középiskolai szinten oktatják néhány helyen, még mindig hasznosabb ismerni, mint nem. (És nagyon sokszor gyorsabb eszköz apró programokhoz, mint a C/C++).
(jav: néhány elírás)
[Szerkesztve]
[Szerkesztve] -
flugi
tag
''Én szerencsére ellenálltam a TP oktatásnak, és már kezdem felejteni azt is, ami megragadt. Szégyen, hogy ezt még tanítják.''
Ezt nem értem. Mi is a problémád a Pascallal?
Azt vettem észre, hogy nagyon sokan azt hiszik, hogy a Pascal egy belépő, egy oktató lépés a C felé, ami meg maga a megváltás. Ez egyáltalán nem így van. A Pascal egyike Wirth mester sok nyelvének (tessék megnézni a Modula 3-at, az kb a Pascal továbbfejlesztése), aminek a legfőbb előnye az érthetőség, az elvi letisztultság.
A következő érveket hallottam eddig a Pascal vs C flame-kben:
- A Pascal lassú. Ilyet csak igazán lamerek mondanak, mindenki tudja hogy a nyelv és a sebesség között nincs reláció, legfeljebb a fordítóprogramjaik között. Lehet csinálni lassú és gyors fordítókat bármilyen nyelvhez. (jó, assemblyhez nehéz lassút
)
- A C sokoldalúbb. Ez egy önbeteljesítő érv: a C csak azért sokoldalúbb, mert többen foglalkoznak vele, és így több programrészletet lehet C-ben találni. Ez sem a nyelvtől függ.
Tény, hogy gyakorlati feladatokban praktikusabb C-ben programozni az iparban, amikor határidők vannak, és nagyobb rendszerekbe kell tudni beledolgozni. A Pascalnak egy területen van igazi jelentősége, és ez az oktatás. Ezért nem is értem ezt a véleményt. Nem tudom, hogy milyen rossz hatással lehet a Pascal nyelv ismerete más nyelvek használatakor.
(nem úgy mint a BASIC
, ahogy Dijkstra mester is mondotta volt)
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Az Enermax tényleg nem viccel, ha az új tápjának garanciaidejéről van szó
- Kábel nélkül a Sapphire VGA-val
- Milyen billentyűzetet vegyek?
- Nintendo Switch 2
- PlayStation 3
- Lakáshitel, lakásvásárlás
- Dell asztali gépek
- AMD Navi Radeon™ RX 9xxx sorozat
- Gaming notebook topik
- Milyen TV-t vegyek?
- További aktív témák...
- Lenovo ThinkPad X13 G2 13.3" -50% AMD Ryzen 5 Pro 5650U Hexa-core 16GB 512GB SSD FHD
- Gaming PC - R5 9600X,RTX 5070 12GB,32GB DDR5,1TB NVMe,850W
- Ultra PC - R7 7800X3D,RTX 5080 16GB,32GB DDR5,1TB NVMe,1200W
- Uhh Lenovo ThinkPad P15 G2 Tervező Vágó Laptop -75% 15,6" i5-11500H 32/1TB RTX A2000 4GB /1 Millió/
- Lenovo Legion 5 15ARH05H - Gamer Laptop
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue - 1 ÉV GARANCIA, Kártyafüggetlen, 100% Akkumulátor,MS3379
- BESZÁMÍTÁS! MSI B460M 10400F 16GB DDR4 512GB SSD RX 6600XT 8GB Rampage SHIVA Cooler Master 650W
- HP EliteBook 640 G10 - 14" FullHD IPS - i5-1335U - 8GB - 512GB - Win11 - 1 év garancia - MAGYAR
- iPhone 17 Pro Max Kozmosznarancs - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok !!
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest





![;]](http://cdn.rios.hu/dl/s/v1.gif)


