Új hozzászólás Aktív témák
-
dabadab
titán
Vettem magamnak a fáradtságot és a fentit megírtam C-ben is. Ez lett:
#include <stdio.h>
int main(void)
{
char name[20000];
printf("What's your name?\n");
fgets(name,20000,stdin);
printf("Hello %s\n", name);
return 0;
}Csak összehasonlításnak, ismét itt ugyanez Pythonban:
name = input('Enter your name: ')
print('Hello', name)A fenti pythonos példát el lehet magyarázni egy teljesen kezdőnek úgy, hogy minden karakterről tudja, hogy miért ott van, ahol van. Ahhoz, hogy valaki ezt a C verziót megértse, legalább egy fél évnyi előtanulmány kell. Az meg szerintem nem egy túl jó pedagógia módszer, hogy úgy tanítunk valamit, hogy nem magyarázzuk el, hogy mi micsoda, hanem valamiféle voodooként kezeljük a dolgokat.
"Egyébként a pointerekhez nem kell tudni a gép belső működését."
De, mert különben egyáltalán nem érted, hogy mi is ez az egész. Lehet, hogy neked, akinek a fejében évtizedek óta összeállt a kép, ezek teljesen triviális dolgok, de kezdőként teljesen máshogy néznek ki a dolgok. Szerintem már az is hatalmas különbséget jelent, hogy egy nyelv erősen típusos, mint a C, vagy nem (mint a Python).
"Kezdésnek szerintem minél butább nyelv kell, hogy kevesebb legyen a zavaró tényező"
Szerintem a nyelvnek nem butának kell lennie, hanem egyszerűnek. Pont ezért jó a Python, hasonlítsd csak össze a két példát: kezdő szinten a Python programokban tényleg csak az lesz benne, ami kell, a C-s változatok meg tele lesznek voodooval, ami persze a kísérletezést is megnehezíti, mert pillanatok alatt bele tud futni olyan hibákba, amiket még nem is érthet, hogy miért hibák.
"Nincs semmi bajom a python szintaxisával, sőt, nekem nagyon tetszik. Csak egy kezdőnek nem biztos, hogy célszerű ezt ajánlani, mert ha más nyelvre megy, akkor jöhet a pofára esés."
A kezdőnél az a fontos, hogy a koncepciókat megértse, az meg akkor megy, ha minél kevesebb felesleges részlet viszi el a figyelmét. Egyébként meg a magam részéről a Python meg mondjuk a C++ vagy pláne a Java között alapszinten szintaktikában olyan nagyon nem látok különbséget.
-
dabadab
titán
"Amatőr hiba
"
Amatőr kifogás.
Amikor az ember egy-két évtizedet azzal töltött, hogy hatalmas, sokmilliósoros projekteken dolgozott, ahol folyamatosan új, addig még ismeretlen kódrészeken kell dolgoznia, akkor rájön arra, hogy mekkora érték az, hogy ha a kód jól olvasható és nem tud megtévesztő lenni."Minden másban is ha benyomom a kód formatot, de ezzel a pythonossal nagyon sokat szívtam egyszer egy gites fájl-al amit nagyon sokan szerkesztettek és össze vissza voltak a behúzások."
Miért nem nyomtál rá egy format code-ot?...
-
dabadab
titán
"A python-ban az, hogy a behúzások alapján működik a compiler szerintem rohadt gáz"
Egyáltalán nem, mert így az, amit a programozó lát, meg amit a compiler lát, az ugyanaz. Mutatom egy C-s példával, hogy miért jó ez:
Az ember megírja a kódot:
if ( a == b )
equal++;Aztán később kicsit bővíti:
if ( a == b )
trace("a and b are equal");
equal++;Aztán csodálkozik, hogy miért nem jó a kód (megtörtént eset alapján).
-
dabadab
titán
A C-vel az a gond, hogy bármit csinálni akarsz, belefutsz pointerekbe meg hasonlókba, amiknek a megértéséhez a gép belső működésének egy viszonylag komolyabb átlátása szükséges - egyáltalán nem egyszerű nyelv. Ráadásul pont a móricka-feladatoknál jön elő minduntalan a printf meg a scanf, amik a változó paraméterlistájukkal tökre elütnek a szokásos C-s stílustól és ott aztán tényleg sok hülyeséget lehet csinálni, mert nulla ellenőrzés van rájuk. Pl. hogy néz már ki C-ben az az örök klasszikus, ami Pythonban így:
name = input('Enter your name: ')
print('Hello', name)Azt meg nem értem, hogy miért mondod a Pythonra, hogy elcseszett a szintaxisa, de tényleg (oké, az OO-s résznél az explicit selfezés az tényleg az ember agyára tud menni, de mondjuk abban meg látok pedagógia értéket).
-
dabadab
titán
Egyébként hogy értelmesen is hozzászóljak, C-t szerintem nem érdemes, mert az gyakorlatilag egy plat... izé, értitek
A szokásos javaslatom a Python: script nyelv, ami miatt könnyű vele játszadozni, egyszerű dolgokat egyszerűen meg lehet benne csinálni, de tud bonyolult dolgokat is, OO-t is és egy ténylegesen létező, széleskörűen támogatott nyelv.
Új hozzászólás Aktív témák
Hirdetés
- BESZÁMÍTÁS! 2TB Crucial T500 NVMe SSD meghajtó garanciával hibátlan működéssel
- Honor 90 256GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA! Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- AKCIÓ! Intel Core i9 14900K 24 mag 32 szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest