Keresés

Új hozzászólás Aktív témák

  • flugi

    tag

    válasz b14 #573 üzenetére

    nem tudom mi mindenre még, de apache webszervernek jogosultsági adatokat adhatsz meg ilyenekben.

  • flugi

    tag

    válasz 9CS #706 üzenetére

    ''É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)

  • 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. :D

    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

    válasz Miracle #737 üzenetére

    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 :D

  • flugi

    tag

    válasz c4-eXp #740 üzenetére

    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

    válasz orbano #734 üzenetére

    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 :D )

  • flugi

    tag

    válasz 9CS #751 üzenetére

    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 { :Y

    No ez nem a Pascal hibája, hanem annak a jele, amikor valaki választ egy nyelvet, és a többit kinevezi feleslegesnek ;]

  • flugi

    tag

    válasz kisfurko #760 üzenetére

    :D

    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 :D
    (G++ DevC++ IDE-ben)

    kompaktabb kód, biztonságosabb kód, hatékonysági áldozat nélkül. Tiszta nyereség.

    flugi

  • flugi

    tag

    válasz Batman #765 üzenetére

    nyugi, te már lebuktál a C++ topikban :)

    azért remélem magadtól írtad meg azt az amőbát :DDD

  • flugi

    tag

    válasz flugi #763 üzenetére

    bocsánat, javítok:


    for (int j=0;j<1000000000;j++) {
    for (int i=0;i<5;i++)
    {
    }
    for (int i=0;i<5;i++)
    {
    }
    }



    és


    for (int j=0;j<1000000000;j++) {
    int i;
    for (i=0;i<5;i++)
    {
    }
    for (i=0;i<5;i++)
    {
    }
    }



    számottevő különbség nincs (csak stopperoltam, 11s mindkettő)

    flugi

  • 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 :D

  • flugi

    tag

    válasz 9CS #772 üzenetére

    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.

Új hozzászólás Aktív témák