Ú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
- OH! Dell Latitude 7340 Üzleti Profi Fémházas Ultrabook Laptop 13,3" -65% i7-1365U 16/512 FHD IRIS Xe
- Azta Dell Latitude 7440 -65% Üzleti Profi Fémházas Érintős Ultrabook Laptop 14" i7-1365U 32/512 FHD+
- DJI Osmo Action 4 Adventure Combo + sok tartozékkal búvárkodáshoz
- Samsung 32GB DDR4-2666V 2 x 16 GB (M393A2K43BB1-CTD6Q) Szerver memória
- Felújított (Refurbished) DELL Latitude 5430 Tartós Üzleti Laptop 14" -70% i5-1235U 10Mag 16/512 FHD
- Bomba áron dobozos Hp Laptop! /AMD Ryzen 5-7520U/8 GB/256 SSD/FHD/Garancia
- AKCIÓ! Gigabyte B760M i3 12100F 16GB DDR4 512GB SSD RTX 2060 Super 8GB ADATA XPG Valor Air 600W
- Kihagyhatatlan ajánlat! Lenovo ThinkPad P14s Gen 5 Ultra 7 165H (vPro) 32gb DDR5 ram RTX500 ADA 3K
- iking.hu Apple iPhone XR 64GB használt White megkímélt 100% akku 6 hónap garancia
- Bomba ár! HP Elite Dragonfly Max i7-11G I 32GB I 512SSD I 13,3" FHD Touch I Cam I W11 I Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



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

