- A Sharkoon megtáltosodik a mechanikus klaviatúrák tekintetében?
- HiFi műszaki szemmel - sztereó hangrendszerek
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Mini-ITX
- Melyik tápegységet vegyem?
- Apple asztali gépek
- iPad topik
- Dell notebook topic
- Házimozi haladó szinten
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
Ú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
Hirdetés
- A Sharkoon megtáltosodik a mechanikus klaviatúrák tekintetében?
- Robogó, kismotor
- droidic: Így beszélhetsz élő emberrel EA supportban
- Kerékpárosok, bringások ide!
- Xbox Series X|S
- HiFi műszaki szemmel - sztereó hangrendszerek
- Megjelent a Poco F7, eurós ára is van már
- Kínai és egyéb olcsó órák topikja
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Mobil flották
- További aktív témák...
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- ÁRGARANCIA! Épített KomPhone i5 13400F 32/64GB RAM RX 7700 XT 12GB GAMER PC termékbeszámítással
- Telefon felvásárlás!! Xiaomi Redmi Note 12, Xiaomi Redmi Note 12 Pro, Xiaomi Redmi Note 12 Pro+
- Bomba ár! HP EliteBook 840 G5 - i5-8G I 8GB I 128GB SSD I 14" FHD I HDMI I Cam I W11 I Gari!
- Steam, EA, Ubisoft és GoG játékkulcsok, illetve Game Pass kedvező áron, egyenesen a kiadóktól!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged