Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- arabus: 256GB-os DDR5 memóriamodul 5700 USD.
- Meggyi001: Amire figyelned kell Párizsban is.....
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Munkaügyi helyzet Hajdú-Biharban: észak és dél
- GoodSpeed: Te hány éves vagy?
- eBay-es kütyük kis pénzért
- hcl: Amúgy mi a terv?
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
-
LOGOUT

Ú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!
- Google Pixel topik
- Amlogic S905, S912 processzoros készülékek
- ASUS routerek
- Internet Rádió építése (hardver), és programozása
- Kertészet, mezőgazdaság topik
- Aktiválható a DLSS 4.5 az új GeForce driverrel
- Genshin Impact (PC, PS4, Android, iOS)
- Kedvenc zene a mai napra
- NVIDIA® driverek topikja
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- További aktív témák...
- ÚJ CORE I5 14400F GAMER MAX PC 16-32GB RAM 512GB NVME SSD NVIDIA RTX 2060 6GB DDR6 2ÉV GAR!
- Új (kibontott) Sage Express Impress SES876BSS
- ÚJ ASUS TUF AMD RYZEN 5 5600X GAMER MAX PC 16-32Gb RAM 512GB SSD ÚJ RTX 5060 8GB DDR7 2ÉV GAR
- Laptop hűtőpad 15' laptopokhoz
- ÚJ 4K CORE I5 14400F Gamer MAX PC 32Gb RAM 512GB NVME SSD ÚJ GAINWARD RTX 5060 8Gb DDR7 2ÉV GAR!
- VICC ÁR! Dell Precision 7530 - Xeon E2186M (i9-8950HK++) / 32GB RAM 512GB SSD Quadro P2000
- Eredeti Lenovo 135W töltők (sárga téglalap)
- HIBÁTLAN iPhone 13 Pro 128GB Graphite -1 ÉV GARANCIA - Kártyafüggetlen, MS3747
- Új! Razer Iskur V2 - Black gamer szék!
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest





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

