Re: basic [OFF]

2007-10-18 bef zés Attila Szabo
2007, Oct 18 - Pirity Tamas Gabor wrote :
 Ha jól hiszem, Lajber Zoltan írta az alábbiakat:
  Biztos, hogy nem C-vel kell kezdeni. Eros a gyanum, hogy a Pascal nem
  rossz kezdes. jobb, mint a php, vagy a visbas.
 Hogyúgyvan.

Hello,
igy a vege fele csak annyit, h szerintem is jo a python kezdesnek.
par erv, ami eszembe jutott:
elterjedt
hordozhato
szinte barmire jo
jo doksik, akar magyarul is
tiszta, logikus szintaktika
kivetelkezeles
nem kikenyszeritett OO gondolkodas, az elejen siman elboldogulhat a
kiskolok class-ok nelkul is
laza tipusok, csak annyira kell figyelni rajuk, h ne felejtse el h leteznek
interaktiv interpreter, tanulni total jo
rovid tanulasi es fejlesztesi ido
gyors sikerelmeny
1000 modul
szoveges/grafikus felulet(ek)
stb...

Atti


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-17 bef zés Also-Antal Csaba

 Szerintem ennek megfelelően a kezdő programozóknak csakis a
 strukturált módszerrel szabad kezdeniük, mert ha azzal nem boldogulnak
 nem fogják tudni az OOP-t alkalmazni.
 Ez kb. olyan hogy előbb írni meg kell tanulni.
 

en is igy gondolom.

 A saját véleményem:
 
 A nyelvet illetően a saját tapasztalatom alapján, a C tökéletesen
 alkalmas mindkettőre, én már bánom, hogy sok, nagyon sok időt
 vesztegettem az egyéb (basic/pascal) nyelvekre, hozzáteszem meg
 lehetett tanulni velük sok mindent/bármit, de az egyenes út a C-n
 keresztül vezet, nyilván tanultam belőlük, de azt a C-ből is meglehet
 tanulni a nyelv teljes kihasználása nélkül, csak egyszerűen. Szerintem
 a C gondolkodásmódja elengedhetetlen a jó programok írásához (legalább
 is technikailag jó). 

ezt is. de c-vel kezdeni sztem sokkal nehezebb, mint basic-el es 
basic-bol nagyon konnyu atlepni a c-be. mivel c-bn is lehet basic 
programokat irni :D de elobb utobb el c-esedik a gondolkodasmod.

udv
Csaba
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-17 bef zés Also-Antal Csaba

 Azért voltak ott más változások is, és sajnos a szabvány csak egy dolog.
 Például a // nem volt benne a szabványban (talán most sincs), és mégis
 szinte minden fordító ismeri. A hangsúly a szintén van. Persze ott a

azert elege szabvanyos a c ma mar. egy bme-s c fuggelekben taltam egy jo 
kis menu programot ami nagyon jol bovitheto es fuggveny pointerekkel 
mukodott. unix-ra irodott es siman at tudtam ulteni pic16f877-ra ami egy 
kis mikrovezerlo 14k flash-el es par szaz byte ram-al.

udv
Csaba
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-17 bef zés Gyimesi László
Feladó: Lajber Zoltan [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd du 7:22
...

 
 A masik ilyen klasszikus hiba, amire pl a C forditok haklisak, ha
 inicializalatlan valtozokat hasznal. Ez ez is hordozhatosag, mert 
 senkinem garantalja, hogy az uj valtozo csupa 0 bitekbol fog allni.
 

Ez csak az automatikus változókra igaz.
A szabvány szerint a statikus változók kezdőértéke 0 kell legyen.
Más kérdés, hogy ezt nem jó kihasználni.

Üdv:
   GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-17 bef zés Gyimesi László
Feladó: khraath [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd du 7:41

...
 Amúgy is mindegy, mert a könyveket a fordítók készítői nem 
 olvassák, csak mi, 
 és sajnos a könyvek írói sokszor a fordítókat nem használják, 
 amiket mi... 

Na ezért nem szabad (csak) kipróbálni valamit. Meg kell nézni a 
szabványban.

...

 De, ha jobban megnézed, akkor most is van, hogy nem csak platform, 
 hanem 
 fordítóhoz kapcsolódó függőségek/makrók vannak a programok kódjában.
 Vagy info gcc-ben szét nézzel. Sok helyen előfordúl (főleg Cpp-s 
 részekben), 
 hogy a Borland modelt követjük, vagy éppen ATT-t. Már pedig valami 
 különbségnek kell lennie, ha különböző modelek létetznek a szabványra.
 

Éppen ezeket kellene kerülni. Persze nem a Linux kernelben, mert azt 
kifejezetten
gcc-re írják. Nyilván van rá ok - ezt nem tudom.

Attól, hogy valahol találunk egy új lehetőséget, még nem kell okvetlenül 
használni.
Csak komoly indokkal. Minden új lehetőség visszafelé inkompatibilitást  okoz.

Üdv:
  GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-17 bef zés khraath
 Éppen ezeket kellene kerülni. Persze nem a Linux kernelben, mert azt 
 kifejezetten
 gcc-re írják. Nyilván van rá ok - ezt nem tudom.

Persze, hogy van rá ok. A szabvány nem dogma rendszer, hanem olyan szabályok
összesége, ami (elméletben) biztosítja a hordozhatóságot, és a nyelv működését.
Pont ezért nem tilthatnak, vagy szabályozhatnak mindent, mert az akár nyelv
használhatóságát is veszélyeztetné egyes platformokon, vagy akár összeségében
is.
Például a szabványokban legtöbbször egyes algoritmusokra (mint rendezés, 
keresés),
csak az van megszabva, hogy milyen gyors legyen, és nem maga a megvalósítás.
Ezzel lehetőséget adnak a fordítók íróinak, hogy platformtól, esetleg
helyzettől függően más és más megvalósítást használjanak, ami a program
hordozhatóságát, sebeségét igen csak javítja, de akár ugyan ennyi gonddal is
járhat.
Na meg a szabványban is vannak kiskapuk, és még ahol nincsenek, ott is lehet
máshogy értelmezni a leírtatkat.
Nem nagyok a fordítók közötti különbségek, és ha ismerünk egy ilyen problémát,
akkor nem tart a legtöbbször öt percnél tovább átírni a kódot.
Elég ritka, hogy keresztplatformos fejlesztésen kívül máshol is megjelenének
konkrét problémaként ezek kivételek, bár a legtöbb fordító (lásd gcc) pontos
listát vezet róluk.

 Attól, hogy valahol találunk egy új lehetőséget, még nem kell okvetlenül 
 használni.
 Csak komoly indokkal. Minden új lehetőség visszafelé inkompatibilitást  okoz.

Nem csak új nyelvi elemekre vannak ilyen kivételek. Például Cpp-ben a
sablonok feldolgozására több model is létezik, és nem ma került a sablon
a nyelvbe.

Khraath

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés Pirity Tamas Gabor
Ha jól hiszem, Gábriel Ákos írta az alábbiakat:
  Ezert a pascal kimondottan jo elso nyelvnek szerintem. Fegyelmet,
  rendet tart az emberke fejeben.  Egy java vagy c++ class-ban mar
  elveszik a sok hatterinfo mellet a lenyeg.
 
 Ezt nem tudom. Talán igaz lehet, de nem szabad túl sokat Pascaloznia.
 Mondjuk egy évet.

Átlag középiskolás nem programozik többet. Sőt.

-- 
PTG
It is bad luck to be superstitious.
-- Andrew W. Mathis
Debian 3.0 -- Linux 2.6.22.6
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés Andras HORVATH

Lajber Zoltan [EMAIL PROTECTED] wrote:

 Ez az objektum orientaltsag ep olyan buzzwordne tunik, mint (jo par)
 evvel ezelott a strukturalt programozas.

Mondjuk, hogy vannak problemak, amikre kifejezetten adja magat az OO
megoldas (pl. GUI, egyes jatektipusok (warcraft, tetris, stb), egyes
storage problemak), de nem ez az altalanos eset.

 Szerintem lenyegesebb, hogy tud-e valaki problemat megoldani, vagy
 nem.

Mondjuk hogy a gondolkodasmodot kell elsajatitani, nem a konkret
nyelvet.

 A programnyelv csak eszkoz. van amit konyebb, van amit bonyolultabb
 lekezelni egy vagy masik nyelven.

ja, de pascalban parhuzamosan programozni azert nem trivialis iirc (bar
en csak szabvanyos pascalt meg turos (turbo) pascalt lattam).

 A hatekony nyelvek nem alkalmasak kezdok oktatasara, mert pontosan ah
 atekonysag miatt tul sokat tudnak.

Nem muszaj mindent hasznalni, es nem muszaj gany kodot irni akkor sem,
ha a nyelv megengedi. Ezzel egyutt szerintem is jo a pascal elso
nyelvnek -- de ugyanilyen jo valamelyik scriptnyelv, ahol nem lehet
elrontani a sztringkezelest meg hasonlo alapdolgokat, es lehet az
algoritmusokkal foglalkozni.

 Ezert a pascal kimondottan jo elso nyelvnek szerintem. Fegyelmet,
 rendet tart az emberke fejeben.  Egy java vagy c++ class-ban mar
 elveszik a sok hatterinfo mellet a lenyeg.

En mindenkeppen strukturalt nyelvvel kezdenek, az oo (meg a
funkcionalis stb :) raer kesobb.

 Tenyleg nagyon jol lejetett programozni tanitani a regi gepek (c64,
 spectrum) basic-jevel: bekapcsolta a kezdo a gepet, es irta a
 programot.

Ne csinald, nosztalgiam lesz ;-) de teljesen igaz.

Basicben es Pc-s (DOS-os) turbopascalban is azt szerettem anno, hogy
keves erofeszitessel es egyszeru koddal lehetett latvanyos eredmenyt
elerni, kepernyore irni, inputot beolvasni, sot rajzolni vagy zenelni
(c+4 basicjeben is lehetett, c64-en valamelyik basic-kiterjesztes
kellett hozza), es egy kezdonek (is) jo a sikerelmeny.

viszont: ha nem gyerek a tanonc, hanem valaki felnott, akinek rovidesen
konkret programokat kell irni _a sajat munkaja segitesere_ (pl.
adatfeldolgozas, etc) akkor olyan nyelvet oktatnek neki, amiben a
tipikus problemait meg fogja tudni oldani. Ha ez VBscript, akkor azt. Ha
ez C, akkor azt.  Van, akinek eleg mesterember szinten programozni; ha
a gondolkodasmodot elsajatitja, akkor ugyis barmikor tovabb tud
fejlodni.

udv

raas

-- 
Those who say it cannot be done should not interrupt the person doing it.
   -- Chinese proverb

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Gyimesi László
Feladó: Laszlo Baranyai [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd de 7:30

 
 A TP 6.0 (~1997) mar tudott OOP-t. Lehet, hogy nem tanitottak,
 vagy tanultak, de mar tudta. En is C/C++ -t hasznalok (most),
 de azert igaz, ami igaz.
 Hogy a GNU Pascal tudja-e, az passz.
 

Csakhogy nem TP 6.0-t kellene tanítani, hanem Pascalt. Az pedig _nem_ OO.
És a szabványos Pascal elég használhatatlan. Azt pedig meg kell tanitani,
hogy nem kipróbálni kell, hanem megnézni a könyvben, nehogy dokumentálatlan
funkciót használjon az ember, ami a másik fordítóban már másképp van vagy épp
nincs. (Persze a végén azért próbálni is kell.)

A Pascallal és annak tanításával ez a legnagyobb baj: mindenki a TP-vel 
azonosítja, így a program nem hordozható.

Üdv:
 GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Gábriel Ákos
On Tue, 16 Oct 2007 13:32:30 +0200
Gyimesi László [EMAIL PROTECTED] wrote:

 A Pascallal és annak tanításával ez a legnagyobb baj: mindenki a
 TP-vel azonosítja, így a program nem hordozható.

Amíg nem akarjuk hordozni, addig ez nem is érdekes.
Nem enterprise szoftverről van szó :)

-- 
Üdvözlettel,
Gábriel Ákos
-=E-Mail :[EMAIL PROTECTED]|Web:  http://www.i-logic.hu =-
-=Tel/fax:+3612391618|Mobil:+36209278894  =-
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Gyimesi László
Feladó: Gábriel Ákos [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd du 1:37
 
 Amíg nem akarjuk hordozni, addig ez nem is érdekes.
 Nem enterprise szoftverről van szó :)
 

Pedig nem ebből kellene kiindulni. Az általános szabály a hordozhatóság,
és néha, ha muszáj, lehet kivételt tenni. Különben igénytelenségre nevelünk.
 
Üdv:
   GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Pirity Tamas Gabor
Ha jól hiszem, Gyimesi László írta az alábbiakat:
 Csakhogy nem TP 6.0-t kellene tanítani, hanem Pascalt. Az pedig _nem_ OO.
 És a szabványos Pascal elég használhatatlan. Azt pedig meg kell tanitani,
 hogy nem kipróbálni kell, hanem megnézni a könyvben, nehogy dokumentálatlan
 funkciót használjon az ember, ami a másik fordítóban már másképp van vagy épp
 nincs. (Persze a végén azért próbálni is kell.)
 
 A Pascallal és annak tanításával ez a legnagyobb baj: mindenki a TP-vel 
 azonosítja, így a program nem hordozható.

Nem hiszem, hogy egy középiskolás tananyagban a kód hordozhatósága csak
kicsit is számítana. Legalábbis sose találkoztam még olyannal, akinél
ez egyátalán szempont lett volna, és szerintem ez jó is így.

-- 
PTG
Dime is money.
Debian 3.0 -- Linux 2.6.22.6
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Pirity Tamas Gabor
Ha jól hiszem, Gyimesi László írta az alábbiakat:
 Feladó: Gábriel Ákos [EMAIL PROTECTED]
 Dátum: 2007. október 16. kedd du 1:37
  
  Amíg nem akarjuk hordozni, addig ez nem is érdekes.
  Nem enterprise szoftverről van szó :)
  
 
 Pedig nem ebből kellene kiindulni. Az általános szabály a hordozhatóság,
 és néha, ha muszáj, lehet kivételt tenni. Különben igénytelenségre nevelünk.

Túróst.

-- 
PTG
Neil Armstrong tripped.
Debian 3.0 -- Linux 2.6.22.6
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Pirity Tamas Gabor
Ha jól hiszem, Pirity Tamas Gabor írta az alábbiakat:
 Ha jól hiszem, Gyimesi László írta az alábbiakat:
  Feladó: Gábriel Ákos [EMAIL PROTECTED]
  Dátum: 2007. október 16. kedd du 1:37
   
   Amíg nem akarjuk hordozni, addig ez nem is érdekes.
   Nem enterprise szoftverről van szó :)
   
  
  Pedig nem ebből kellene kiindulni. Az általános szabály a hordozhatóság,
  és néha, ha muszáj, lehet kivételt tenni. Különben igénytelenségre nevelünk.
 
 Túróst.

Bocsánat mindenkitől, hirtelen azt hittem, hogy a linux-flame-en vagyunk.

-- 
PTG
Sank heaven for leetle curls.
Debian 3.0 -- Linux 2.6.22.6
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés SZABO Zsolt
On Tue, 16 Oct 2007, Pirity Tamas Gabor wrote:

 Túróst.

 Bocsánat mindenkitől, hirtelen azt hittem, hogy a linux-flame-en vagyunk.

En ugyan erdeklodve olvasom a threadet, de azt hiszem mar eleg messze 
kerultunk a linux-tol... a listaadmin meg alszik :-)
vagy no route to...?

Lehet, hogy tenyleg a flame-en kellene folytatni?

--
sZs
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés khraath
Szia

 A TP 6.0 (~1997) mar tudott OOP-t. Lehet, hogy nem tanitottak,
 vagy tanultak, de mar tudta. En is C/C++ -t hasznalok (most),
 de azert igaz, ami igaz.
 Hogy a GNU Pascal tudja-e, az passz.

Dolgoztam Delphis cégnél, és akkor Object Pascalt is megnéztem.
Én voltam a hülye, mert nem írtam, hogy az OOP alatt én a 
Simulás viselkedés alapú OOP-t értem(lásd C++), márpedig az Object Pascal 
nem ezt a szemléletet követi. Tényleg csak egy réteg a strukturált 
rész felett.
A viselkedés alapú szemlétet lényege pont az, hogy egy objektumot 
NEM az adattagok, hanem a viselkedése(függvényei) határoznak meg. Ezért 
lehet a C++-ban elrejteni az adatagokat még a gyermek osztályok elől is
(igaz, nem teljesen),ami egy bázis osztálynál nagyon jól jöhet, 
és persze ezért lehet függvényobjektumokat létrehozni.

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés attila . rajmund . nohl
On Mon, 15 Oct 2007, khraath wrote:

 Ez ugye vicc? Amit pascalban nem lehet megírni, azt egyátalán nem lehet
 megírni...

 Légy szives, ha lehetne, definiálj egy absztrakt tárolót. Mondjuk egy sima
 vermet, amiben bármilyen számtípust tárolhatsz. Futtás időben legyen a
 feltöltés valós, egész, és mondjul komplex számokkal véletlenszerűen.
 Persze feltétel a helyes visszaolvasás (helyes típusba). Valószínüleg
 ki lehetne préselni a megoldást, de egy jó darabig eltartana, és az
 adatbiztonsággal is gondok lennének, ami ebben az esettben a legfontosabb.

Mert? Pascalban is van pointer, ha jól emlékszem, szóval olyan
rekordokat kell tárolni a veremben, aminek egyik mezője tárolja a
típust, a másik az értékre mutató pointert. Persze Java-ban sokkal
egyszerűbb lenne megcsinálni, mert van reflection - viszont nem a
reflection-nel kell elkezdeni a programozás tanítását.

[...]
 Nem túl kellemes első évesen Pascal után Objektum orientáltságot,
 generál programozást tanulni.

Mert? Pascalban is lehet rávezető feladatot adni, struktúrális nyelven
is lehet objektum-orientáltan programozni, a
f(object, data);

és a
object-f(data);

között nincs akkora különbség. Az öröklődés persze már tényleg új dolog.

Bye,NAR
-- 
Beware of bugs in the above code; I have only proved it correct, not
  tried it.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Gyimesi László
Feladó: Andras HORVATH [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd du 2:34

...

 Tok mindegy, hogy min (TP-n, bash shell scripten vagy visual basicen)
 tanulja meg a nebulo az alapokat (valtozo, feltetel, ciklus, stb); 
 utanamajd valtasz, ha bonyolultabb koncepciok is erdekelnek. Ha OOP-

 Amikor programot írsz

1. algoritmust gyártasz a fejedben
2. leírod egy programnyelven.

Nagyon nem mindegy, hogy mennyit kell küzdeni a nyelv szintaxisával.
Pláne, ha mindkettőt egyszerre tanulod. A bash meg a Basic jól
megnehezíti az algoritmusírást.  A C-ben sokkal több mindent le lehet
írni, mint amennyi általában kell. Nem véletlen, hogy az 1990-es ANSI C 
szabvány nem kötelező mellékletében le volt írva, hogy mit nem szabad 
használni abból, amit egyébként a fordítónak tudnia kell.

Ebből a szempontból a Pascal a jobb.
Csak hát tudjuk, hogy a gyerek lehetőleg azt fogja használni az iskola után, 
amit ott tanult, és ha igazi programot akar írni, akkor már másra is kell
gondolni.

Üdv:
GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Lajber Zoltan
On Tue, 16 Oct 2007, khraath wrote:

 változó deklarálásokkal, vagy hasonló dolgokkal kellene foglalkozni, és

Ez szerintem csak elony. Lehet hogy a nyelv kesobb konvertal ide/oda, de
indulaskor legyen tisztaba a kulonbozo formatumok elonyeivel es
hatranyaival. Kulonosen azzal, hogy valassza ki a feladathoz illot.

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés khraath

 Mert? Pascalban is van pointer, ha jól emlékszem, szóval olyan
 rekordokat kell tárolni a veremben, aminek egyik mezője tárolja a
 típust, a másik az értékre mutató pointert. Persze Java-ban sokkal
 egyszerűbb lenne megcsinálni, mert van reflection - viszont nem a
 reflection-nel kell elkezdeni a programozás tanítását.

Igen. Akár C-ben, de hol az adat biztonság fordítási időben? Persze
futás időben lehet hiba üzenetet írni, ha mégis valami gond van, de
attól gond nem múlik el. Ha egy repülőtéri irányító rendszerhez kellene
írnom egy hasonló szerkezetet, akkor biztosan nem választanám ezt a
módszert, hanem valami olyan megoldást keresnék, ami nem lenne egyenes
út a Repülő katasztrófák sorozatba.
Itt nem a példa megoldása volt a lényeg, hanem, hogy még az általánosan
használható nyelvek, mint a Pascal, sem mindenhatóak. Ne is beszéljünk
az olyan nyelvekről, mint a Prolog.

 Mert? Pascalban is lehet rávezető feladatot adni, struktúrális nyelven
 is lehet objektum-orientáltan programozni, a
 f(object, data);

 és a
 object-f(data);

Nagyon sok a különbség a kettő között. Lehet, hogy nem látod, de sok van.
Az, hogy írás módban nagyon hasonlít, és a végeredmény azonos lesz, nem
jelenti, hogy a működés is megegyezik.
Itt van rá egy példa:
f(object, data)
Eddig jó, de ha mondjuk több Object típus is létezik (pl GUI-ban
több féle widget is van), akkor vagy megírsz egy külön függvényt
mindegyikhez, vagy mutatót adsz át. Na már most, a kód használóját
mi akadályozza meg, hogy Objectként adjon át egy nem Objectet?
Semmi. A fordító se fog szólni. Persze f-ben ellenőrízheted a dolgot, de
szinte biztos, hogy egy hiba üzenet lesz és kész. De még f hívása előtt
se mész semmire azzal, hogy tudod, hogy nem Object. Megoldani nem tudod,
csak jelezni a problémát.
Másik oldal: mi garantálja, hogy f nem vágja tönkre objectet? Honnan tudom,
hogy csak a data mezőhöz nyúlt?
Cpp-ben például ez(f(data)) egy virtuális függvény lesz, ami egyrészt
biztosítja, hogy bármely Object leszármazott saját megvalósítást adjon
f-nek, és persze garantált, hogy object egy Object (vagy leszármazottja).
Ha véletlenül (vagy hanyagságból) benézed mégis a dolgot, akkor a fordító
biztos leáll hibával. Mivel az object saját f-jét hívtad, így nagyon
valószínű, hogy nem rontja el magát.
Tanúság: jól megirt osztály szerkezet nem csak a végfelhasználótól, hanem
még a karbantartótól, és más kód felhasználóktól is véd (azaz magadtól ;)).

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Lajber Zoltan
On Tue, 16 Oct 2007, Gyimesi László wrote:

  Amikor programot írsz

 1. algoritmust gyártasz a fejedben
 2. leírod egy programnyelven.

 Nagyon nem mindegy, hogy mennyit kell küzdeni a nyelv szintaxisával.
 Pláne, ha mindkettőt egyszerre tanulod. A bash meg a Basic jól
 megnehezíti az algoritmusírást.  A C-ben sokkal több mindent le lehet

Sajat tapasztalatom: ha tul szabad a nyelv (v.o.: alkalmas valos feladatok
megoldasara), akkor nem kenyszeriti ki a tanulobol az elso pont alapos
elvegzeset. Mert meg tudja csinalni mas nyelven.

En most ket verziot tartok jonak programozni tanulni:
-kb 1 ev pascal, majd C
-python, eleinte szigoruan oo nelkul.

Aztan ki (kellene) derulni, hogy a paciensnek az awk, a C vagy a java
lesz-e a jobb. Vagy a fortran :)

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés Lajber Zoltan
On Tue, 16 Oct 2007, khraath wrote:

 attól gond nem múlik el. Ha egy repülőtéri irányító rendszerhez kellene
 írnom egy hasonló szerkezetet, akkor biztosan nem választanám ezt a

Repteri iranyitast nem tudom, de kb 10 eve a rep. feledelzeti
programokban (amelyek a gep iranyitasaval es az _elsodleges_
navigacioval kapcsolatos muszereken fut ) meg dinamikus memoria foglalast
se engedelyezett az amerikai hatosag.

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés Gabor Gombas
On Mon, Oct 15, 2007 at 05:55:05PM +0200, Also-Antal Csaba wrote:

 igen. de ettol fuggetlenul nekem mindig herotom volt tole. akkor mar 
 miert nem C...

A C olyan, mint egy eles kes. Komoly munkara kivalo, de gyereket enni
tanitani nem az igazi...

Gabor

-- 
 -
 MTA SZTAKI Computer and Automation Research Institute
Hungarian Academy of Sciences
 -
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés attila . rajmund . nohl
On Tue, 16 Oct 2007, khraath wrote:

 Mert? Pascalban is van pointer, ha jól emlékszem, szóval olyan
 rekordokat kell tárolni a veremben, aminek egyik mezője tárolja a
 típust, a másik az értékre mutató pointert. Persze Java-ban sokkal
 egyszerűbb lenne megcsinálni, mert van reflection - viszont nem a
 reflection-nel kell elkezdeni a programozás tanítását.

 Igen. Akár C-ben, de hol az adat biztonság fordítási időben?

Az interface-en. A Pascal szintaktikát már rég elfelejtettem, de C-ben
valami ilyesmit lehetne csinálni:
void push_float(struct stack *s, float f);
void push_int(struct stack *s, int i);

int pop_float(struct stack *s, float f); // 0 a visszatérési érték, ha OK
int pop_int(struct stack *s, int i); // -1, ha rossz típus, -2 ha üres verem

 Persze
 futás időben lehet hiba üzenetet írni, ha mégis valami gond van, de
 attól gond nem múlik el.

Ha mindenféle típust lehet betenni a verembe, akkor minden nyelven le
kell kezelned ezt a hibát.

[...]
 Itt nem a példa megoldása volt a lényeg, hanem, hogy még az általánosan
 használható nyelvek, mint a Pascal, sem mindenhatóak. Ne is beszéljünk
 az olyan nyelvekről, mint a Prolog.

Pedig az általános nyelv pont attól általános, hogy mindenfélét lehet
benne írni :-) Persze nem célszerű mondjuk Fortranban írni adatbázist,
de lehet.

 Mert? Pascalban is lehet rávezető feladatot adni, struktúrális nyelven
 is lehet objektum-orientáltan programozni, a
 f(object, data);

 és a
 object-f(data);

 Nagyon sok a különbség a kettő között. Lehet, hogy nem látod, de sok van.
 Az, hogy írás módban nagyon hasonlít, és a végeredmény azonos lesz, nem
 jelenti, hogy a működés is megegyezik.
 Itt van rá egy példa:
 f(object, data)
 Eddig jó, de ha mondjuk több Object típus is létezik (pl GUI-ban
 több féle widget is van), akkor vagy megírsz egy külön függvényt
 mindegyikhez, vagy mutatót adsz át.

Megírok különböző függvényeket és mutatókat adok át. Nézd meg pl. a
GTK-t, grafikus objektum orientált library C-ben. Nem szép, de működik.

 Na már most, a kód használóját
 mi akadályozza meg, hogy Objectként adjon át egy nem Objectet?

Miért Object-et kellene elfogadni? Az említett GTK-ban pl. GtkWidget*
típust lehet átadni, vagy GtkButton* típust, vagy amit akarsz.

 Semmi. A fordító se fog szólni. Persze f-ben ellenőrízheted a dolgot, de
 szinte biztos, hogy egy hiba üzenet lesz és kész. De még f hívása előtt
 se mész semmire azzal, hogy tudod, hogy nem Object. Megoldani nem tudod,
 csak jelezni a problémát.
 Másik oldal: mi garantálja, hogy f nem vágja tönkre objectet? Honnan tudom,
 hogy csak a data mezőhöz nyúlt?

C-ben is el lehet rejteni az struktúra mezőit.

Bye,NAR
-- 
Beware of bugs in the above code; I have only proved it correct, not
  tried it.
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés khraath
 Mire gondolsz?

 A C nyelv 1974-ben jelent meg fordító és a Unix forrásprogram formájában.
 1976-ban pedig az első C könyv  (Kernighan-Ritchie), amit kvázi szabványnak
 lehet tekinteni. 1989 végén az ANSI szabvány, .

 Változó láthatóságban nem volt  különbség, legfejlebb a függvénydeklarációk
 bővültek ki felfelé (majdnem) kompatibilisen, és a változó deklarációk egy
 kicsit (pl. const).


Azért voltak ott más változások is, és sajnos a szabvány csak egy dolog.
Például a // nem volt benne a szabványban (talán most sincs), és mégis
szinte minden fordító ismeri. A hangsúly a szintén van. Persze ott a
-, és a . operátorok kérdése. Ezek jelentése is változik fordítónként.
Aki fejlesztett kereszt-platformra, és több fordítót is kellett használni,
biztos találkozott ilyen hibával.
Számunkra nem jelentős egyik sem, de képzeld magad egy első programot író
középiskolás helyébe, aki nem tudja, hogy miért nem működik a könyvbeli
példa. Gondolj bele, hány órát ültünk az első időben egy hiba felett, mert
nem tudtuk, hogy a fordító éppen miért sír. A C fordítók sokszor félrevezető
hiba üzenetet adnak, és sok tapasztalat kell, hogy tudjuk, mikor miért jelenik
meg egy hiba üzenet. Ezen a levelező listán is minden 5-6 szállból egy valami
fordítási hibával foglalkozik. Szinte minden forrásból telepítésnél
vannak figyelmezezések (a kernelben is).
Sokkal jobb egy olyan nyelven kezdeni, ahol nincsenek ilyen kezdő buktató
problémák.
Első időben amúgy sem a gyors, megbízható program az elsődleges cél, hanem
a működkő program. Első programomnál nem nagyon foglalkoztatott, hogy 0.1
másodpercet javíthatnék rajta, ha más rendezést használok, vagy nem
szabadítottam fel magam után megfelelően az erőforrásokat (nem tudtam róla :)).
Most meg 3 napig nézegetek egy láncolt listát, hogy hogyan lehetne még gyorsabb
a létrehozás, meg a szürés, és miként tudnék még néhány kilobyte memóriát
spórolni a new hívásokból, hogy biztosan elég legyen a memória az összes 
elemnek. Vagy milyen új memória kezelőt készítsek, hogy ha elfogy mégis 
tudjak valamit felszabadítani.

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés khraath
 Ez szerintem csak elony. Lehet hogy a nyelv kesobb konvertal ide/oda, de
 indulaskor legyen tisztaba a kulonbozo formatumok elonyeivel es
 hatranyaival. Kulonosen azzal, hogy valassza ki a feladathoz illot.

Előny, ha olyan nyelvre lépsz tovább, ahol ez fontos, mint a C, vagy Java, de
mi van azokkal, akik PHP-val folytatják? Nekik fontos tudni, hogy a C-ben csak
a blokk elején deklarálhatsz változót? Vagy, egy C-snek, hogy a Javaban hogyan
vezetünk be egy új függvényt, és hogyan kell megadni a kivételeket? Vagy melyik
stream átalakítás után mi lesz az eredmény?
Vagy egy Java programozó tudja, hogy az enum-ok hogy kerülnek a memóriába
Cpp-ben? Vagy, hogy a bitset hogyan működik, és hogyan lesz tárolva?
Természetes, hogy egy függvénynek a használat előtt legalább deklarálva kell
lennie, vagy a változók sem a semmiből tűnek elő, de a többit elég később
megtanulni az adott nyelvnél.
Teljesen igazad van, ha egy adott nyelvet, és annak oktatását nézzük, de
álltalánoságban nem várhatod el még azt sem, hogy az ősnyelvek viselkedését
ismerjék a programozók, vagy a piacon éppen felfutott nyelvek minden apró
szeszélyével tisztába legyenek.

Szerintem a tanár dolga, hogy az adott nyelv ilyen sajátoságait elmondja,
vagy általánosan beszéljen arról, hogy az általában minden nyelvben
megtalálható típusok (char, int, float) közül egy adott problémánál mit
érdemes használni. Fejlődni meg gyakorlással, forrás olvasással, és a
referencia bújással lehet. Referenciában ott a szabály, a forrásokban
pedig különböző megoldások, a gyakorlat meg eldönti, hogy éppen mi
a jó.

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Gyimesi László
Feladó: khraath [EMAIL PROTECTED]
Dátum: 2007. október 16. kedd du 5:45

 
 Azért voltak ott más változások is, és sajnos a szabvány csak egy 

Hogyhogy is? 

 dolog.Például a // nem volt benne a szabványban (talán most sincs), 
 és mégis
 szinte minden fordító ismeri. A hangsúly a szintén van. Persze ott a
 -, és a . operátorok kérdése. Ezek jelentése is változik 
 fordítónként.Aki fejlesztett kereszt-platformra, és több fordítót 

Mire gondolsz? Nem találkoztam ilyennel. Minden C könyvben benne van,
hogy 

x - yugyanaz, mint   (*x).y

Ezt nehéz többféleképpen érteni... A prioritás is szabványos.

 is kellett használni,
 biztos találkozott ilyen hibával.
 Számunkra nem jelentős egyik sem, de képzeld magad egy első 
 programot író
 középiskolás helyébe, aki nem tudja, hogy miért nem működik a 
 könyvbelipélda. Gondolj bele, hány órát ültünk az első időben egy 

Nem állítom, hogy C-vel kell kezdeni. De abban biztos vagyok, hogy Pascallal 
nem.

Üdv:
 GyL


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Lajber Zoltan
On Tue, 16 Oct 2007, Gyimesi László wrote:

 Nem állítom, hogy C-vel kell kezdeni. De abban biztos vagyok, hogy Pascallal 
 nem.

Biztos, hogy nem C-vel kell kezdeni. Eros a gyanum, hogy a Pascal nem
rossz kezdes. jobb, mint a php, vagy a visbas.

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés khraath
 Mire gondolsz? Nem találkoztam ilyennel. Minden C könyvben benne van,
 hogy 
 
 x - yugyanaz, mint   (*x).y
Ha jól emlékszem (régen volt, még nem mingw-t használtam és volt Windows a 
gépemen) a Visual Studio 6 alatt volt gondom. Szerinte nem, és át kellett 
írnom az összes x-y-t (*x).y -ra.
Sajnos a hiba üzenetre nem emlékszem.
Amúgy is mindegy, mert a könyveket a fordítók készítői nem olvassák, csak mi, 
és sajnos a könyvek írói sokszor a fordítókat nem használják, amiket mi... 
Csak azért ezt írtam, mert mély nyomot hagyott bennem, hogy éjjel kettőkor 
reboot után az elvileg kész programmal még volt egy jó félórás köröm.
De, ha jobban megnézed, akkor most is van, hogy nem csak platform, hanem 
fordítóhoz kapcsolódó függőségek/makrók vannak a programok kódjában.
Vagy info gcc-ben szét nézzel. Sok helyen előfordúl (főleg Cpp-s részekben), 
hogy a Borland modelt követjük, vagy éppen ATT-t. Már pedig valami 
különbségnek kell lennie, ha különböző modelek létetznek a szabványra.

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés khraath
 Igen :) Most magyaraztam valakinek, hogy  miert kerul egy sql tabla
 varchar mezojebe 0, amikor a bemeno ertek _51...
 Nem ertette, hogy a php-ban egy kifejezesben a string atalakul integer-e,
 majd vissza.  Nem tudom min not fel, de foleg a php miatt nem volt
 tisztaban a tipusok jelentosegevel.
Sajnos ez igaz, de akár Pascal alatt is nevelkedhetett, mert ezt már 
a php dokumentációban kellett volna megnéznie, és nem tette, ami ugye 
valamit elárúl :D.

 A masik ilyen klasszikus hiba, amire pl a C forditok haklisak, ha
 inicializalatlan valtozokat hasznal. Ez ez is hordozhatosag, mert senki
 nem garantalja, hogy az uj valtozo csupa 0 bitekbol fog allni.
Hát ez nagyon igaz. Én is -Wall -pedantic -kal fordítok, amíg fejlesztek. 
Jogosan is szól, már volt nekem is ilyen hibám figyelmetlenség miatt.
 
 Oktattal mar? En foleg egyetemistakat es felnoteket tanitottam/tanitok. De
 nagyon massziv idokorlatok vannak. Ha jol kitalalt feladatot kap, akkor
 gyakorolni fog oran kivul is. De nagyon nehez am jol kitalalt tanpeldat
 csinalni: ne legyen tul mesterkelt, hajanal fogva elocibalt, de ne is
 legyen tul bonyolult...
Megnyugtatok mindenkit, hogy csoportokat még nem vezettem téves ösvényekre.
De tanított már egy-tíz tanár, és kevesebben voltak a jók, mint a rosszak.
Gondolom ezért se akartam soha órát tartani. Túl nagy a felelőség, és nem 
hiszem, hogy jól tudnék oktatni.
Abban viszont igazad van, hogy kevés az idő. Egy gyakorlatnak 2-4 órásnak 
kellene lennie, mint más szakokon a laboroknak, de nekünk csak 50 perc 
jutott (minusz katalógus).
 
 Ez nagyon sok idot igenyel a tanartol is, es sajnos neki is egyre kevesebb
 van. 80-100 diakbol 2-nek annyira kell a tanar, hogy felevente fel orat
 beszelgessenek, es ekkor a tanar tereli, kesz. Ok ugyis  tudnak
 programozni. A tarsasag 60%-a az eletben nem fog tudni programozni (bar
 esetleg programozo lesz...), de legalabb erzi, hogy milyen nehezseges
 vannak, es mesterember szinten megoldja/elkeruli/el tudja mondani
 masoknak, hogy mi a baj.
Sajnos több, mint 60%. Mível rövid a gyakorlat, és a zh sok helyen 
gépnél van, vagy definiciókat, meg hasonlókat kell vissza böfögni
(aminek persze lenne értelme, ha lenne gyakorlati kérdés is). 
Öszintén bevalom, hogy én is írtam másnak kötelező programot, és nem 
titok, hogy egyes kollégisták gyakorlatilag kötelező program írásával 
szerzik a sörre valót, így minden diákokon múlik, ha nem akar 
tanulni, akkor nem is kell, mert egy jó puskával, és egy kis anyagi 
befektetésel meg lehet a féléve (és van pofájuk jobb jegyet szerezni, 
mint aki készült rendesen :@).

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-16 bef zés khraath
 Ha mindenféle típust lehet betenni a verembe, akkor minden nyelven le
 kell kezelned ezt a hibát.
Nem voltam elég pontos. A mutató átalakításból adódó hibát megspórolhatod,
és ezt a hibát mindig programozó követi el, és nem a fordítója, vagy
a felhasználója. Például Cpp-ban, ha kicsit ügyes vagy, akkor megoldható,
programozói hanyagságból (rossz dokumentálás, vagy annak figyelmetlen
olvasása) ne tuszkolj be valami olyan dolgot, ami nem oda való. Pontosabban
megpróbálhatod, de valószínűleg egy hiba üzenet lesz a jutalmad. Javaban
ehhez hasonlót még nem csináltam, de gondolom ott is van valami jelzés.

 Pedig az általános nyelv pont attól általános, hogy mindenfélét lehet
 benne írni :-) Persze nem célszerű mondjuk Fortranban írni adatbázist,
 de lehet.
Pont erre gondoltam én is :P.

 Megírok különböző függvényeket és mutatókat adok át. Nézd meg pl. a
 GTK-t, grafikus objektum orientált library C-ben. Nem szép, de működik.
Köszönöm, nézem folyamatosan, bár ha tehetem inkább a gtkmm-et nézem ;).
Ráadásul nem csak működik, hanem nagyon jól is működik. Mióta használom
nincs GUI problémám, ha Windowson is működnie kell a programnak.
Az API rondának ronda, de vannak rondábak is.
 
 Miért Object-et kellene elfogadni? Az említett GTK-ban pl. GtkWidget*
 típust lehet átadni, vagy GtkButton* típust, vagy amit akarsz.
Hát igen... Amit akarsz... Múltkor is csináltam egy ilyen bakit, és nem
nagyon értettem, hogy miért nem működik úgy, ahogy én szeretném :P.
Nem figyeltem oda, és a nagyon_hosszu_sok_parameteres_fuggvenynek egy
phulye_nevu_valtozo_mert_meg_ez_nem_volt adtam át, és egy másik hasonlót
kellett volna :D. Nagyon jó a Gtk-s megoldás, csak éppen igen nagy a
kódja, és annyit nem akartam írni, és a problémát csak részben oldja meg.
 
 C-ben is el lehet rejteni az struktúra mezőit.
Teljesen igaz, de ha Gtk megoldást összehasonlítod a gtkmm-es wrapper
megoldással, akkor látni fogod, hogy a kettő közül a gtkmm a
jobb ebből a szempontból :D (főleg a dialógusoknál, mint a FileChooser).

Abban viszont teljesen igazad, hogy lehet jó objektum orientált könyvtárat
írni egy struktúrált nyelvben is, de ha nem muszáj, akkor nem próbálkoznék
vele. Iszonyatos lusta vagyok, és nem bonyolítom az életem, ha nem muszáj.
Ahol sebeség kell, oda írok egy C függvényt, ahova egy jó adatbázis, oda
egy Cpp-s osztály szerkezetet. Szerencsémre ezt a két nyelvet jól lehet
kombinálni (extern, szállkezeléssel, processzekkel).

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Lajber Zoltan
On Tue, 16 Oct 2007, khraath wrote:

 Sajnos ez igaz, de akár Pascal alatt is nevelkedhetett, mert ezt már
 a php dokumentációban kellett volna megnéznie, és nem tette, ami ugye
 valamit elárúl :D.

Pascal kikenyszeriti doksi olvasas nelkul is :)

 Gondolom ezért se akartam soha órát tartani. Túl nagy a felelőség, és nem
 hiszem, hogy jól tudnék oktatni.

Ez jut meg eszembe:
http://www.cs.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

Es szerintem zarjuk le, mielott nagyon flame lenne :)

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-16 bef zés Kovács Attila
khraath írta:
 Most meg 3 napig nézegetek egy láncolt listát, hogy hogyan lehetne még 
 gyorsabb
 a létrehozás, meg a szürés, és miként tudnék még néhány kilobyte memóriát
 spórolni a new hívásokból, hogy biztosan elég legyen a memória az összes 
 elemnek. Vagy milyen új memória kezelőt készítsek, hogy ha elfogy mégis 
 tudjak valamit felszabadítani.
   
:).
Absztrakt programozás előnyei :).
Forth rlz.
Absztrakt, tömör, nem cseszed el a vermet :).
Mégse terjedt el...

k-atti-
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés khraath
Szia!

 a logo-t nem ismrem tulzottan, meg alapozashoz talan a basic a legjobb.

Régen tényleg így volt, de ma már inkább a Pythont ajánlanám a tényleges 
alapozáshoz.
Nagyon egyszerű rajta tanulni, és az objektum orientált programozást is 
lehet vele oktatni. Persze, ez igaz a PHP-ra, vagy Delphire is, de 
szerintem (és ez tényleg személyes vélemény) ezeken a nyelveken nem lehet a 
megfelelő viselkedés alapú gondolkodást elsajátítani(pl. PHP3), ami a későbbi 
C++-hoz szükséges (már ha ebbe az irányba haladnátok tovább).
Plusz a Pythont oktatásra találták ki :P.
Ja, grafikus megoldás lehet a PyGtk, ami persze (mint minden Gtk 
változat/wrapper) keresztplatformos.

Ha nagyon kicsikről van szó, akkor én is a logot ajánlom.
Linuxon elég sok megvalósítás van.
pl. a KTrutle (KDE base-ben van elvileg, ovisoknak), 
vagy a lhogho - http://lhogho.sourceforge.net/,
végül a usblogo - http://www.cs.berkeley.edu/~bh/logo.html

Khraath
-- 
khraath [EMAIL PROTECTED]
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés Dezső József
khraath írta:
 Szia!
 
 a logo-t nem ismrem tulzottan, meg alapozashoz talan a basic a legjobb.
 
 Régen tényleg így volt, de ma már inkább a Pythont ajánlanám a tényleges 
 alapozáshoz.

Ha már a Python szóbakerült, akkor a DrPython vagy a Geany egészen jó 
fejlesztői munka környezetet adnak hozzá.
Szerintem is nagyon jó a Python tanulásra. Az OO közelebb áll az ember 
gondolkodásához is, feltéve ha előtte nem gyurták nagyon bele a 
struktúrált szemléletet. Az OO kezdés a továbbiakban is nagy előny Java, 
PHP, C++ stb irányába.
De ha a számtechtanárnak akarnak a gyerkőcök előre tanulni, akkor Basic 
Vagy Pascal. A legtöbb öregszaki tanár csak ezeket ismeri ha egyáltalán 
valamit.

-dejo-

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés Zana János
khraath írta:
 
 Régen tényleg így volt, de ma már inkább a Pythont ajánlanám a tényleges 
 alapozáshoz.

 Ha nagyon kicsikről van szó, akkor én is a logot ajánlom.
 pl. a KTrutle (KDE base-ben van elvileg, ovisoknak), 
 vagy a lhogho - http://lhogho.sourceforge.net/,
 végül a usblogo - http://www.cs.berkeley.edu/~bh/logo.html
Hmm. Az ovisok nemhogy angolul nem tudnak, de olvasni se.
A python meg jó oktatásra, de NAGYOBBAK oktatására.

Üdv, János


_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés khraath
Szia!

 Hmm. Az ovisok nemhogy angolul nem tudnak, de olvasni se.
 A python meg jó oktatásra, de NAGYOBBAK oktatására.

Nem volt korcsoport kikötve. Bár a basic miatt általános iskolára tippelnék.
Valóban nem tudnak az ovisok olvasni. De angolul biztosan nem kell megtanulni 
senkinek. A python.hu-n olyan jó leírások, és referenciák vannak magyarul, hogy
erre semmi szükség. Bár cpp-ből lennének ilyen jó anyagok!
Amúgy meg, aki tud gépelni, az pont annyira olvasni is tud. Ez az egy biztos,
mert Spectrummal kezdtem (pontosabban a bátyám), és én is tudtam használni.
Sőt! Azon írtam meg az első programomat... 

A KTrutle inkább játék, mint igazi nyelv. Nem hiszem, hogy a krumplifej bácsi 
és a pingvin öltöztető mellé egy bonyolult magas absztrakciókra képes nyelv 
került... Bár lehet, hogy tévedek, sose használtam.

A legjobb az lenne, ha a közép iskolák átálnának Pascalról Pythonra, vagy 
Javara, mert valljuk be a Pascal felett eljárt az idő... Magasabb 
absztrakciókra 
alkalmatlan sajnos. Középiskolában én is szerettem, de azóta sokat tanultam,
főleg azt, hogy nagyon sok rossz szokást a Pascal miatt vettem fel, amiről 
nehezen szoktam csak le... Ezért se szoktam kezdésnek a Javat, vagy Pascalt
ajánlani, mert a kezdők egyből felveszik a rossz szokásokat, mint az 
interfacek halmozása, öröklés használata ott is, ahol beágyazást is 
használhatna, na és persze a kedvencem:
Repül a kivétel: ki tudja hol áll meg? Ki tudja hol áll meg s kit hogyan talál 
meg?
El is szokás kapni, amit eldobtunk. Ez az első, amit mindenki elfelejt, pedig 
nem
véletlenül kell megadni a kivételeket a deklarációban...

-- 
khraath [EMAIL PROTECTED]
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés khraath

 Ez ugye vicc? Amit pascalban nem lehet megírni, azt egyátalán nem lehet
 megírni...

Légy szives, ha lehetne, definiálj egy absztrakt tárolót. Mondjuk egy sima 
vermet, amiben bármilyen számtípust tárolhatsz. Futtás időben legyen a 
feltöltés valós, egész, és mondjul komplex számokkal véletlenszerűen.
Persze feltétel a helyes visszaolvasás (helyes típusba). Valószínüleg 
ki lehetne préselni a megoldást, de egy jó darabig eltartana, és az 
adatbiztonsággal is gondok lennének, ami ebben az esettben a legfontosabb.
 
Nem vagyok Pascal ellenes. De objektum orientáltság vagy generál 
programozás oktatására alkalmatlan. Mível a vezető nyelvek objektum 
orientáltak, magas színtű elvonatkoztatásra képesek, így elég nehéz 
Pascal után hirtelen váltani. Egyre inkább kimarad a C, mint ugró 
deszka, és ez sokszor meg is látszik (a fennti példa C-ben egy jó
félóra alatt megoldható). Nekem nem gond, de amíg sokan kardoskodnak 
a Pascal mellett, főleg olyanok, akik nem programozó, hanem más, mérnőki
szakra járnak/jártak (nekik tényleg nagyon hasznos a Pascal), addig sokkal 
nehezebb lesz a váltás.
Nem túl kellemes első évesen Pascal után Objektum orientáltságot, 
generál programozást tanulni. Főleg, mint tudjuk a mai egyetemi oktatás: 
tanulj otthon, 45 perc gyakorlat, 5 perc késés (tanár), 10 perc 
katológus, többi meg Windows start.
A legyen Pascal, ne legyen Pascal vita egyetlen vesztese az, aki elvileg a 
legérintettebb: a programozó, és így később a felhasználói.

A C nyelv nem kezdőnek való, a gyerek sem vadász késsel tanul meg enni.
A Delphit pedig meg kell fizetni ugye. Mert komponensek nélkül valahogy 
nem az igazi... Amúgy is a Pascalos Hanoi tornyai hagyományt követve elég 
sok hiba van a függvénykönyvtárban... :D

 oriasi hibat
 kovetnek el azzal, hogy matekoznak az info oran 

Nem olyan nagy hiba a matekozás. Az a baj, hogy matematikailag vezetnek le 
mindent. Az algoritmusok nagyon fontosak, és ezekhez kell a matematika. 
Minden program szívében ott van egy adatbázis, néhány számítás, és valójában 
ez határoza meg egy program minőségét, és nem a 3D-s csilogó külső. Jó példák 
erre a játékok. Ha jól van megírva a motor, akkor a minimum követelményen is 
szépen fut (Imperium Galactica, Haegemonia, stb.), ha meg szar, akkor szagat, 
sír még az optimum alatt is. Elég sokat optimalizálok, de még soha nem 
kezdtem a fájl menüben :D.
Az lenne a jó, ha nem a sin függvényt kellene elkészíteni, hanem egy 
tetszőleges rekurziv trigonometrikus függvényt megoldása lenne a feladat. 
Tárolók készítéséhez, és adatok feldolgozásához, szűréséhez 
elengedhetetlen az alapvető adatszerkezetek, és algoritmusok ismerete.

Khraath 
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés Lajber Zoltan
On Mon, 15 Oct 2007, khraath wrote:

 programozás oktatására alkalmatlan. Mível a vezető nyelvek objektum
 orientáltak, magas színtű elvonatkoztatásra képesek, így elég nehéz

Ez az objektum orientaltsag ep olyan buzzwordne tunik, mint (jo par) evvel
ezelott a strukturalt programozas.

Szerintem lenyegesebb, hogy tud-e valaki problemat megoldani, vagy nem.

A programnyelv csak eszkoz. van amit konyebb, van amit bonyolultabb
lekezelni egy vagy masik nyelven.

A hatekony nyelvek nem alkalmasak kezdok oktatasara, mert pontosan ah
atekonysag miatt tul sokat tudnak.

Ezert a pascal kimondottan jo elso nyelvnek szerintem. Fegyelmet, rendet
tart az emberke fejeben.  Egy java vagy c++ class-ban mar elveszik a sok
hatterinfo mellet a lenyeg.

Tenyleg nagyon jol lejetett programozni tanitani a regi gepek (c64,
spectrum) basic-jevel: bekapcsolta a kezdo a gepet, es irta a programot.
Nem kellet neki mast tanitani (fajlok, konyvatark, ikonok...). Igy tudott
koncentralni a feladatra.

Udv,
-=Lajbi=-
 LAJBER ZoltanSzent Istvan Egyetem,  Informatika Hivatal
  HTH=Hope This Helps, YMMV=Your Mileage May Vary, HAND=Have A Nice Day

_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-15 bef zés khraath
 tart az emberke fejeben.  Egy java vagy c++ class-ban mar elveszik a sok
 hatterinfo mellet a lenyeg.

Javaban igazad van, de C++-ban nem, csak éppen az MSDN-hez vagytok szokva.
Jól megirt osztályok mellett pont a lényegre lehet koncentrálni. Csak 
arra kell figyelni, hogy mire készül az osztály (konténer, bázis, konkrét, 
stb.), és a minimális osztály felületre.
pl: 
void Database::refresh_tables()
{
std::for_each(tables_.begin(),tables_.end(),std::mem_fun(Table::refresh));
}
Ennél elvonatkoztatottaban, tömörebben nehéz fogalmazni, és szerintem a lényeg 
elég jól látszik.
Ugyanez C-ben (Gtk-hoz hasonló módszer):
int refresh_database_tables(Database* db)
{
  int ret = 0;
  for(int i = 0; i  get_tables_size(db); ++i) {
 if ((ret=refresh_table(get_databse_table(db,i)))!=0)
   return ret;
  }
  return ret;
}
Természetesen mindent meg lehet objektum orientált programok, vagy nyelvek
nélkül oldani, még mindig az asm a legjobb nyelv. A jól megirt OO program segít 
a fejlesztőnek munka közben. A gond csak az, hogy C++-ban is sokszor látom, 
hogy ugyanúgy egy függvényben van minden összezsúfolva, mint 
régen a rosszul megirt C programokban. 200 soros függvények mellett 
nem csoda, hogy nem lehet átlátni az egészet.
Módszer igen egyszerű: az alacsony színtű műveleteket próbáljuk meg kezelő-
osztályokban elrejteni, és később ezeket használni, és a megfelelő függvény-
objektumokat.
Sokat használok C-t, de ha egy programomban adatbázisra van szükségem, akkor 
biztosan C++-ban kezdek neki. Persze soha nem fogok C++-ban drivert írni, 
vagy stream titkosítót, de az nagyon is valószínű, hogy a titkosítóhoz 
készítek valami wrappert, és használni fogom a C++-os adatbázisomban 
titkosításra.

Pascal tényleg jó első nyelvnek, csak utána nem Javara, vagy C++-ra kellene 
ugrani, hanem egy kis C-t, Pythont esetleg PHP tanulni, és úgy váltani.

Megfeletkeztél a görgetősávról! Az nagyon fontos! Már első órán le kell 
diktálni a gyerekek vonalas füzetébe! ;) De utáltam ezeket a marhaságokat.
Néha nagyon hiányzik a magnó dörmögése, na meg a kék képernyő, amit még 
akkor senki se utált.
Első Linuxomat is azért raktam fel (gcc-s kötelező programok mellett), hogy
egy kis sebeséget leheljek a gépembe és elüzzem a kék halát. Két tányér 
levest benyomtam, mire volt egy startmenüm, most meg egy pohár teát sincs 
időm behozni (ugyanaz a gép még mindig, csak 5 év telt el :D).

Khraath
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic [OFF]

2007-10-15 bef zés Laszlo Baranyai
 Nem vagyok Pascal ellenes. De objektum orientáltság vagy generál
 programozás oktatására alkalmatlan.

A TP 6.0 (~1997) mar tudott OOP-t. Lehet, hogy nem tanitottak,
vagy tanultak, de mar tudta. En is C/C++ -t hasznalok (most),
de azert igaz, ami igaz.
Hogy a GNU Pascal tudja-e, az passz.

Udv.: Laci

-- 
Laszlo Baranyai [EMAIL PROTECTED]
Corvinus University of Budapest
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux


Re: basic

2007-10-14 bef zés Molnár István
Also-Antal Csaba írta:
 linux-ra keresek egyszeru mezei, nem visual basic-et, amiben grafikus 
 utasitasok is vannak. van ilyen? olyasmi lenne jo ami a comodore-okban 
 volt, amit egy gyerek is konnyen tud hasznalni.

 udv
 Csaba

   

http://www.thefreecountry.com/compilers/basic.shtml

Előbb Goglezni kellene... :-P
Különben meg gyereknek kell tanulni? Iskolában tanulnak ilyesmit?
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

Re: basic

2007-10-14 bef zés Also-Antal Csaba
Molnár István wrote:
 Also-Antal Csaba írta:
 
linux-ra keresek egyszeru mezei, nem visual basic-et, amiben grafikus 
utasitasok is vannak. van ilyen? olyasmi lenne jo ami a comodore-okban 
volt, amit egy gyerek is konnyen tud hasznalni.

udv
Csaba

  
 
 
 http://www.thefreecountry.com/compilers/basic.shtml
 
 Előbb Goglezni kellene... :-P
 Különben meg gyereknek kell tanulni? Iskolában tanulnak ilyesmit?

ezt en is megtalatam de nem akartam napokat azzal tolteni, hogy 
kibogaraszam melyik is lenne jo. biztosan fognak tanulni ilyesmit de 
most erdekli.

udv
Csaba
_
linux lista  -  linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux