Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- GoodSpeed: A RAM-válság és annak lehetséges hatásai
- bambano: Bambanő háza tája
- sziku69: Szólánc.
- potyautas: A Magyar Néphadsereg emlékére
Új hozzászólás Aktív témák
-
Karma
félisten
Egyébként meg Zwiebelnek ki kell találnia, hogy most mi a téma.
Ha a C++ nyelv, akkor a teríték egyszerű: a C nyelv - az alapok (típus, változó, struktúra) minden járulékos dologgal (mint a preprocesszor, pointerek); majd a C++ újításai és változásai (nem feltétlen minden implikációval, tehát egy template metaprogramozást biztos nem kavarnék ide
); meg persze az STL. Ezután jöhetne az OOP, most hogy van egy stabil(nak tűnő) alap, van mire építkezni normális programokat is akár.A b) variáció meg kapásból az OOP körbejárása, de ez meg a C/C++ nyelv ismerete nélkül sokaknak csak hablaty lenne. Az üzeneteket olvasva talán az első tűnik jobbnak és népszerűbbnek
.De ha már amúgy is hobbit keresek, lehet hogy megpróbálom az imperatív programozás elméletét cikk(ek)ben leírni. Így nem csak a számat jártatnám

-
Karma
félisten
A cikkben egyetlen fordítóprogram se került elő, de erről már szóltam a korrektúráim egyikében. Ha ezt nézzük, akkor már sokkal hamarabb is elágazhatunk: imperatív vagy deklaratív programozási nyelv; lineáris, procedurális, moduláris, OO, AO, adatvezérelt, szerződés-alapú, funkcionális, logikai, korlátos programozás, satöbbi

-
Karma
félisten
Ez eddig még csak procedurális programozás se volt.
Azért innen az OOP-be ugrani, huhh, az mélyvíz.
Ismét javaslom a C-t, mint célt."Mondjuk én egy olyan sorozatot is szívesen látnék, ahol nem programozási nyelvet magyaráznak, hanem néhány feladat nyelvfüggetlen megoldását veséznék ki, programozási gondolkozást (logikát) bővítve. (remélem ez a vége nem volt értelmetlen
)"Én értettelek, és ez tényleg egy olyan dolog, amit 1) sehol se tanítanak 2) sok helyen jól jönne - többek között azért is, mert mindig, amikor jönnek hozzám a delikvensek, hogy szeretnének megtanulni programozni, nem tudok mit adni a kezükbe. Nem hiszek abban, hogy sok jó sülne ki abból, ha valakinek csak tisztán egy nyelvet adunk a kezébe.
-
Karma
félisten
Sőt. Az OOP-ben elég kritikus.
Zwiebel: Remek elképzelés, hogy az átlagember által is emészthetően akarod előadni a dolgot, de ezzel három baj van:
1) A konzisztencia hiányát továbbra se engedheted meg.
2) Főleg a ténybeli hibákat nem.
3) A programozás egzakt tudomány.Nem lenne jobb talán, ha a sima C-ről írnál inkább?
Apropó, az a vállalt feladatod, hogy a metódus fogalmát megértesd az emberekkel.
-
Karma
félisten
"gyors, hatékony" Hát, nem igazán. De...
Az ellenérv vele szemben az, hogy bár a RAD fejlesztésnek megvannak a nyilvánvaló előnyei (többek között az, hogy bárki gyorsan tudja ontani a programokat magából), a karbantarthatóság meg az átláthatóság tapasztalatlan programozó esetén kritikán aluli lehet.
-
Karma
félisten
Na, végére értem a cikknek, már csak egy utolsó kritika

""Hello World! " : Programunk ezt a szöveget fogja kiírni a képernyőre. A cout << után kell beírni, de mindenképpen " " jelek közé kell tenni, különben a program nem tudja jól értelmezni. Ami még fontos, hogy ne írjunk ékezetes betűket, mert azok helyén a program egy kérdőjelet fog elhelyezni, és így nem lesz érthető a szöveg."
Ez csak attól függ, hogy milyen kódolással mented le a forrásfájlt. Ha a parancssoréval megegyezően, akkor nem lesz itt gond. Most nem tudom pontosan melyik az, gyanítom a CP1250, mert nincs Windowsom kéznél.
-
Karma
félisten
Bocs, az IDE nevében nincs smiley, Code:: Blocks helyesen (szóköz nélkül persze).
Még valami, átértem a második oldalra:
"<iostream> :Ez az I/O függvények alapját "adja meg". Ezeket mindig < , > jelek közé kell tenni."
Nem. Ha a saját headerjeid vannak, akkor ""-be kell tenni - ekkor a fordító először az aktuális könyvtárban keres, majd utána nézi meg a többi include könyvtárat. A <> verziónál azonnal a rendszer (és egyéb beállított) könyvtárakban keres.
"using namespace std : Ez az std névterület lehívása."
Nem. A using kulcsszóval azt éred el, hogy ha egy nevet nem tud feloldani a fordító, akkor automatikusan megnézi az std névtérben is. Ha nem használod ezt (szoktak is miatta beszólni, olyan ez, mint Java-ban a * importálása), akkor a scope operátorral tudsz hivatkozni a névtér tagjaira, tehát pl. std::cout, std::cin, std::endl.
"cin.get(); : Ezzel a paranccsal tudunk várni egy billentyű leütésére"
Ez nem parancs, hanem metódushívás.
"A zárójelek azért kellenek, hogy ha
valamilyen paramétert megadunk a függvénynek akkor azzal fogja végrehajtani
magát. Később még erre is visszafogunk térni."Nem, a zárójelek azért kellenek, hogy függvényhívás legyen belőle. Nélküle fordítási hiba lenne (mit csináljon szerencsétlen fordító egy függvénypointerrel?)
-
Karma
félisten
"Először is kezdjük azzal, hogy mint minden más programozási nyelvnek ennek is vannak úgynevezett fordító programjai, melyek közül az ingyenesek és talán legismertebbek:
- Dev-C++
- Microsoft Visual C++ 2008 express edition"Nem nyert. Ezek fejlesztőkörnyezetek (IDE), a fordító az előző esetben a gcc, az utóbbi esetben a Microsoft C Compiler (bár ez utóbbi nevében nem vagyok biztos). Mind IDE-ből, mind fordítóprogramból van több is, előbbire példa még a Code:
locks, az Eclipse CDT, a NetBeans, az utóbbira meg a BSD-féle cc, a Sun saját fordítója."{ : a program törzsének a kezdetét jelenti, tehát ez után fog jönni a program kódja."
Nem. C-ben nincs olyan, hogy "a program törzse", ez nem Pascal. A main függvény definíciójára gondolsz pillanatnyilag. De a blokk nem csak erre jó.
vidékiürge: Továbbra is kitartok amellett, amit a Symbian programozás topikban írtam. Ha S60-ra akarsz programozni, és nem tudsz C++-ul, ne állj neki, inkább nézd meg a PyS60-at. A Python nyelv sokkal könnyebb, a PyS60 meg egy csomó bonyolult és értelmetlen koncepciót tesz tök egyszerűvé.
-
Karma
félisten
eziskamu, mephi666: Az int visszatérési érték azért kell, mert ez a szabvány. Ne csináljunk a C++-ból is Internet Explorert. Egyébként a Linux tényleg ezt használja a futási hiba jelzésére, amikor egyik program hívja a másikat.
A main függvény teljes szignatúrája egyébként:
int main(int argc, char** argv)
Beaver: "az #include fejfájlok becsatolására alkalmas, amely ahogy említetted fv. fejléceket, típus és objektumdefiníciókat, stb. tartalmazhat."
Nem! A header fájlok csak deklarációkat tartalmaznak, a definíciók különálló fordítási egységekben (azaz .cpp fájlokban) vannak. Ha a definíció is ott lenne, akkor pillanatok alatt elszállna a linkelés a többszörös definiálás miatt (feltéve, hogy két forrásfájl is beinclude-olja a fejlécet).
Egyébként a függvénydefiníciók után sincsen pontosvessző.
vidékiürge: "Talán még azt kérdezném, hogy Symbian-ra ez a programozási nyelv jó vagy nem jó?"
Nem akarlak nagyon elkeseríteni, de ahhoz, hogy a SymbianC++-t elkezdd, folyékonyan kell beszélned a hagyományos C++-t, majd meg kell tanulnod egy abszolút más működést és nyelvet. Ez nem olyan "leülök és gyorsan megtanulom" kategória. (Symbian lett a szakmám, igen jól ismerem.)
Zwiebel: A kezdeményezés jó, de én nem így közelíteném meg. A "beírom mert ezt olvastam, puff, működik" megközelítéssel pont a legfontosabb elem marad ki: nem értik meg az olvasók az elméleti hátteret, amivel jól lábon lőhetik magukat. Én szólnék azért a fordítási folyamatról, az egységekről, a header fájlok szerepéről, nomeg magáról a nyelvről is pár szót. Főleg hogy van egy-két homály ránézésre itt is.
A cikket még elolvasom párszor, hátha találok benne olyan hibát, amit előttem nem jeleztek.

Új hozzászólás Aktív témák
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- EAFC 26
- Vezeték nélküli fülhallgatók
- Hivatalos a OnePlus 13 startdátuma
- Luck Dragon: Asszociációs játék. :)
- Igazi csúcskészülék lett a Poco F7 Ultra
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Fejhallgató erősítő és DAC topik
- Windows 11
- Milyen széket vegyek?
- További aktív témák...
- 184 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5090
- 183 - Lenovo Legion Pro 7 (16IAX10H) - Intel Core U9 275HX, RTX 5090
- MacBook Pro 16" M1 Max 32GB RAM 1024GB SSD Astro szürke - Nagyon szép karcmentes állapot !
- Microsoft Surface Pro 7+ - Újszerű, billentyűzettel és ceruzával
- Sapphire Pulse Radeon Rx 5500 XT 4Gb Videókártya CSERE
- HP ZBook Firefly 14 i7-1165G7 16GB 512GB Nvidia Quadro T500 4GB 14" FHD 1 év garancia
- Jabra Speak2 75 MS Teams USB-bluetooth hangszóró
- MacBook Air 9,1 i3-1000NG4 8GB 256GB
- BESZÁMÍTÁS! ASRock B450 R5 5600X 16GB DDR4 512GB SSD RTX 3060 12GB Zalman Z1 Plus Cooler Master 750W
- Kèszletről,azonnal vihető 9060XT! Már kamatmentes rèszletre is! Èrdeklődj!
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi



.
)"
locks, az Eclipse CDT, a NetBeans, az utóbbira meg a BSD-féle cc, a Sun saját fordítója.


