Üdvözlet mindenkinek egy reménybeli új usertől

Általános tárgyalások Sabayon Linux

Moderators: Mufy, Moderators

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby akernar » Tue Sep 24, 2013 15:45

Na most, gcc nincs telepítve. Van egy csomó verziószámú változat a tárolóban, 4.7.3, 4.6.4, 4.5.4, stb. Ha csak simán gcc-t akarok telepíteni, akkor azt mondja, nincs ilyen. Feltételezem, ilyenkor a verziószámot is meg kell hozzá adni, vagy hogyan? És ha igen, melyiket? A legújabbat, vagy inkább egy régebbit?
akernar
Simple Hen
 
Posts: 74
Joined: Mon Sep 16, 2013 6:57

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Tue Sep 24, 2013 16:51

Ritana, én nem akartalak megbántani. Ennyire érzékeny azért ne legyél, oké?! Igen, én szívesen használok erős érzelmi töltetű szókat, sőt, helyenként valóban nem riadok vissza az enyébb trágárságoktól sem. De olvass csak vissza kérlek: RÓLAD nem írtam semmi ilyesmit, semmi sértőt vagy trágárt! A PHP nyelvről meg esetleg más DOLGOKRÓL, igen, azt elismerem. De RÓLAD nem. Ha mégis így véled kérlek idézd ide be nekem, mi az amivel megbántottalak volna! Még ha úgy volt is, nem szándékosan tettem, s előre bocsánatodat kérem érte!

"beletömködni", meg "első használat előtt" versus "fordítási időben" - hát persze, ha precízkedni akarunk igazad van, de ugye nem képzeled hogy az volt a célom egy fórumos hozzászólásban hogy kitérjek minden részletre? Ezzel az erővel kezdhetném magyarázni itt a bináris aritmetikát is akernarnak. A lényeg, hogy ha fordítási időben kell is tudja a rendszer a változóról a típusát, az is tuti hogy az első használat előtt van, mert előbb fordítunk mint használjuk a programot, azaz a változót is. Én csak a dinamikus típusossággal (típus nélküliséggel) óhajtottam szembeállítani ezt.

És nem, nem vagyok senior programozó, nem tudom ezt honnan veszed. Lelkes amatőr vagyok. Talán mondható hogy "viszonylag jól képzett kontár" vagyok e téren. De akkor sem profi. Hobbista. Én magamat a Linuxban többnyire úgy szoktam titulálni, hogy "power user" vagy "expert user", szembeállítva e fogalmat mind a "kezdőkkel", mind a "hackerekkel". A kettő között érzem magamat. Talán közelebb a hackerekhez mint a kezdőkhöz, de ez is csak amiatt, mert a hackerság szerintem nem elsősorban a tudásszinttől függ (bár minimális tudásszint alatt nemigen lehet erről beszélni) hanem egy életmódtól, szemlélettől, hozzáállástól. De a számítástechnika oly sokrétű, hogy egészen biztosan van olyan része, amiben tutira teljesen kezdő vagyok én is. (szerintem ilyen majdnem minden hálózatos dolog, de több efféle is akadhat).

Python szkriptekkel generált C kód? Hm... Elhiszem hogy van ilyen. Azért a hatékonyságával, optimalizáltságával kapcsolatban vannak kételyeim. Ez olyan lehet mint még Windowsos korszakomban amikor kipróbáltam egy C vagy talán C++ nyelvű programozást segítő "izét", elfelejtettem a nevét, valami fejlesztőrendszer volt, ahol ablakokat meg más vicikvacakokat kellett képernyőn húzgálnom, s ebből a masina összetákolta a forráskódot.

Teljesen idegen volt e stílus tőlem, hogy nem látom írás közben a programot. De ez hagyján, mert aztán megnéztem a létrejött forrást, s azt mondtam hogy köszi, inkább megírom magam. És nemcsak a "hatékonyság" miatt, de amiatt is mert tudtam ha így írok meg egy hosszabb akármit, utólag soha az életben nem igazodom ki rajta, ha módosítani kell.

Most erre mondhatod hogy múltbaragadt vén hatökör vagyok, aki nem képes haladni a korral. Lehet hogy igazad is van. Számomra a programozás kissé művészet, és nem a tömegtermelésről szól. Ha a gép írja a kódot helyettem - még ha Python szkriptekkel is - azt nem én írom. Szerintem.

Haskell? Épp tegnap nézegettem. Biztos van amire jó. Nem az én világom. Például teljesen lepetéztem attól, hogy ez a nyelv inkább rekurziót használ ciklusok helyett. Bocs de én gépközeli fogalmakban szeretek gondolkodni, azaz ha van egy ciklus, akkor az ciklusként legyen nekem leprogramozva és megmutatva. Nem beszélve arról, hogy tartok tőle, ha van egy 10 ezer elemű tömb és ezt rekurzióval akarod összegezni mondjuk, nos képzeld el hogy a szerencsétlen prograny meghívja önmagát egymásbaskatulyázva 10 ezerszer, persze ehhez mindig el kell tárolja a visszatérési címet a stackban, ha csak 32 bites rendszerben gondolkodunk is az 4 bájt, azaz ezzel megnöveli a veremtárat minimum 40 K-val! Pedig emellé biztos kimenti még a használt regiszterek tartalmát is ami újabb néhányszor 10 ezer bájt! Szerinted ez hatékony, most úgy őszintén?!

Persze erre mondhatod hogy ilyesmit ciklusban fordít le a nyelv, csak nekünk mutatja a forráskódot rekurzióként. Na erre meg én azt válaszolom, hogy akkor ez egy hazugság, mármint hogy ezesetben ez egy hazug programnyelv. Én szeretem ha tudom, az általam írt kód legalább nagyjából mire fordul le. Ha erre nem vagyok képes (ezt átlátni) akkor gőzöm se lehet arról, mennyire lesz az hatékony, azaz ezesetben érezhetem magamat talán elméleti matematikusnak, de nem PROGRAMOZÓNAK!

Aztán, az nem érv itt, hogy Pythonban könnyebben el tudod magyarázni a ciklusokat vagy akármit egy 10 éves gyereknek. Mert feltételezem, akernar pár évvel azért idősebb már mint 10 év... Ha pedig mégis 10 éves gyerekekről vitázunk (nem tudom miért, itt most akernarnak adtunk volna tanácsot) akkor azért szerintem a Python se ideális, akkor valami olyasmi kéne neki hogy mondjuk turtle graphic, logo, vagy más eféle gyerekes ökörködés. Illetve ha az a gyerek annyira elvont fazon mint én voltam gyerekként, akkor simán jöhet neki is azonnal a C.

Portage? Ritana, a GoboLinuxban is Pythonban van jópár szkript. Nem azt mondtam, semmi fontosat nem írtak meg Pythonban. De a fontos dolgok hány százaléka készült abban, és hány C-ben?

És bocsáss meg, de Portage nélkül is létezik Linux. Mindenféle csomagkezelő nélkül is. LFS például.

Ha akernar meg akar érteni valami programot legalább nagyjából, amit fel akar telepíteni, mondjuk mert valami apróságot módosítani akar benne, hétszentség hogy az esetek többségében - 99.9999999%-ában - kiderül róla hogy ehhez egy config.h fájlt vagy más effélét kell módosítania. Ami ugye egy C program része, tehát semmire se megy majd vele a Python ismereteivel. (Tipikus példa erre a DWM ablakkezelő, de rengeteg mást is lehetne írni).

Linux alá a programok messze túlnyomó többsége C-ben készült, ami pedig mégsem, annak legnagyobb része C++-ban, ami "majdnem C". Legalábbis aki tudja a C-t, az messze könnyebben tanulja meg a C++-t mint aki nem tudja. Csak a programok ezekhez képest egészen elenyésző százalékát írják Linux alatt olyan egzotikus agymenésekben mint a Haskell, Lua, Lisp. És igen, sajnálom, de a Python is ezek közé tartozik ilyen szempontból. Nem vitatom jóval gyakoribb mint a Haskell, Lisp stb, de egy napon se lehet említeni a gyakoriságát a C-vel. Te is tudod. Akernarnak az a fontos hogy legalább nagyjából megértse a telepítendő programokat, vagy azok egyes funkcióit. Miután 99.99999%-ban valami C/C++-ban írt programot fog telepíteni, ehhez neki a C-t kell tanulnia. Akkor is ha a Portage Pythonban van írva. Ő nem a csomagkezelő rendszerét fogja buzerálni/átírni, hanem az épp feltelepítendő programot. Ráadásul ha azt módosítja, akkor már feltehetőleg nem is a Portage-val teszi majd fel, csak úgy nyersen parasztosan ./configure, make, make install.
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Tue Sep 24, 2013 16:55

akernar wrote:Na most, gcc nincs telepítve. Van egy csomó verziószámú változat a tárolóban, 4.7.3, 4.6.4, 4.5.4, stb. Ha csak simán gcc-t akarok telepíteni, akkor azt mondja, nincs ilyen. Feltételezem, ilyenkor a verziószámot is meg kell hozzá adni, vagy hogyan? És ha igen, melyiket? A legújabbat, vagy inkább egy régebbit?


Már bocs, de épp melyik disztrót használod? Csak mert a gcc igenis telepítve van még az Ubuntuban is, a Sabayonban meg a Gentooban pedig pláne.

Ha valami fura perverz disztrót használsz amiben nincs gcc, akkor azzal ne is kínlódj, ember, tégy fel egy normális rendszert magadnak amiben igenis benne van ez. Ne szivasd magadat ennek uitólagos telepítésével mert túl sok a hibalehetőség.
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby akernar » Tue Sep 24, 2013 17:17

Közben már megpróbáltam valamit kiokoskodni. Előbb kéne gondolkodni, aztán sikítani, de mivel lehet, hogy valamit rosszul gondolok, előbb inkább sikítottam.
Na szóval, még mindig a Sabayon Gnome verziójáról beszélünk, amit x napja telepítettem. És equo-val lekérdezve azt mondta, nincs telepítve a gcc (egyik verziója sem!). Viszont telepítve volt a base-gcc (4.7.3) és a gcc-config (1.7.3). Ezek után az install gcc-re közölte, hogy nincs ilyen. Viszont az install sys-devel/gcc-re feltette a 4.7.3-as gcc verziót. Ez így elég furcsa nekem, de ez volt.
Hogy hibás-e a telepítés, azt nem tudom, de a próbaprogit lefordította, figyelmeztetést írt ki, ettől függetlenül a fordítás elkészült (ahogy olvastam, a figyelmeztetésekkel nem foglalkozik, de azokban van a kutya eltemetve) és a program fut. Igaz ugyan, hogy ez még semmiféle direktívát nem tartalmazott, kíváncsi is voltam, anélkül megy-e (mivel ilyet még más mintában nem láttam), de nem akartam eltérni a könyvtől. Remélem, később sem lesz vele gond.
akernar
Simple Hen
 
Posts: 74
Joined: Mon Sep 16, 2013 6:57

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Tue Sep 24, 2013 17:32

Ezt nem értem, nekem a Sabayonban rögtön volt gcc. Muszáj hogy legyen, különben lehetetlen forrásból telepíteni, azaz emerge-vel. Valamit rohadtul túlbonyolítasz. Egyszerűen meg kellett volna próbálnod fordítani a progit ahogy írtam:

gcc progineve.c -o progineve

és ha lefordul van gcc telepítve nálad, ha nincs akkor nagy gáz van!

Ennyi és kész. De nem is izgatom magam emiatt, inkább írom neked a fejtágításra szolgáló irományt. Remélem ma be tudom fejezni, úgy tűnik ma nem lesz sok munkám. De a viccet még nem kaptam meg tőled az emailemre.
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby akernar » Tue Sep 24, 2013 18:07

Pedig elküldtem, nézd meg a spam-ben, azt a mail-címemet némelyik szolgáltató előszeretettel teszi oda. Bár a gmail nem szokta.
Ne is törd ezen a fejed, majd meglátom, lesz-e vele gond. Először megpróbáltam lefordítani de kiírta, hogy nincs ilyen parancs. Bemásolhatnám a kimenetet, de hidd el - ilyen furcsa volt a rendszer, ahogy leírtam.

szerk:
1. Egyébként én az equot használom, mert azt olvastam, nem jó keverni a kettőt. Tehát még nem emergéztem.
2. Ha nem találod a viccet, szólj, elküldöm a gmail-es címemről.
akernar
Simple Hen
 
Posts: 74
Joined: Mon Sep 16, 2013 6:57

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Tue Sep 24, 2013 19:42

Köszi, tényleg a Spam-ban volt. Jó. Amit az „Igazi Programozóról” ír, jelentős részben igaz rám is, csak nem FORTRAN-ban programozgatok hanem C-ben. És bár a C alapból nem cím szerint adja át az változókat hanem érték szerint, de át lehet adni a változó címét is ha akarjuk, és igen, ha a változó mérete nagyobb mint 5-6 bájt, akkor már gyorsabb a kód ha csak a címét küldözgetjük, s ezért az igazi programozók azt úgy szeretik...

Igen, sok igazság van abban a leírásban.
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Wed Sep 25, 2013 3:24

Na csak megírtam végre! Pontosabban: nem én írtam... ugyanis megemlítettem a témát egy régi bölcs barátomnak, ő közölte hogy már írt e témáról, s elküldte nekem. Sajnos, nem magyar nyelven volt... de lefordítottam, s most végre elkészült! Itt olvasható:

http://parancssor.info/dokuwiki/doku.ph ... bemutatasa
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby akernar » Wed Sep 25, 2013 7:48

Szuper! Most pont nemigen érek rá, de remélem, estére el tudom olvasni. A bevezetőn túl vagyok, azért csak kíváncsi voltam, de el kell mennem.

Zoli, nagyon szépen köszönöm, hogy ennyit fáradoztál miattam (bár persze ez másnak is hasznára válhat)!

(Ha úgy adódik persze, a linket mindenképp terjeszteni fogom.)

Örülök, hogy tetszett a „vicc”. Azt én is éreztem, hogy ez nagyjából igaz is lehet. Meg tapasztalatom szerint a rendszergazdás rész is (a kettő két külön anyag volt, csak én egybementettem az egyszerűség kedvéért).
Ezt a cím szerinti átadást megtalálom majd a tankönyvekben? Már meg is van, mit akarok magamnak elsőként C-ben megírni - másképp az x. mintafeladatnál megunnám...
akernar
Simple Hen
 
Posts: 74
Joined: Mon Sep 16, 2013 6:57

Re: Üdvözlet mindenkinek egy reménybeli új usertől

Postby violazoli » Wed Sep 25, 2013 12:40

Persze hogy megtalálod a cím szerinti átadást... A cím, az ugyanis nem más mint egy pointer, azaz mutató, ami a memória egy helyét határozza meg természetesen. A C nyelvben szinte meg se tudsz moccanni a mutatók ismerete nélkül. Hogy elszörnyesszelek, - s ez még a jobbik eset - idemásolok egy pici részletet a most barkácsolandó programomból:

Code: Select all
struct parancsaim {
const char *parancsneve;
void (*fuggveny)(void); // függvényre mutató pointer
};

// ***********************************************************************************

struct parancsaim fuggvenyek[]={

/* sorszám          név                függvény_neve  */
/*       0    */ {"exit",              demonleall},
/*       1    */ {"statuszbe",         flag_b_0},
/*       2    */ {"statuszki",         flag_b_1},
/*       3    */ {"//",                semmi},
/*       3    */ {"#",                 semmi}

};

int maxfuggveny=sizeof(fuggvenyek)/sizeof(struct parancsaim); // A fuggveny tömbben levő függvények maximális száma

Vagyis amint látod, tömb tagjai lehetnek függvények is, pontosabban függvények CÍMEI (mutatói)!

De a C-ben lehet olyasmit is tenned, hogy mondjuk deklarálsz egy olyan tömböt, melyben olyan mutatók vannak, melyek olyan függvényekre mutatnak, amelyek egy egész számot és egy void típusú függvényeket paraméterként váró olyan függvényeket tartalmaznak amik visszatérési értékként mondjuk egy stringkonstansra mutató pointert adnak vissza...

És ezt még simán cifrázhatod is tetszésed szerint...
violazoli
Simple Hen
 
Posts: 40
Joined: Tue Jun 18, 2013 0:02

PreviousNext

Return to Hungarian

Who is online

Users browsing this forum: No registered users and 1 guest

cron