Ez már a bekockásodás vége...

Kezdek aggódni az idegállapotom miatt. Napok óta programozom, fejlesztem a programnyelvemet (már egész használható, már külön névtereket is tud kezelni...) és most pihenésképpen ellátogattam egy ismerős fórumra, ami abszolút nem számítástechnikai jellegű. És ott az egyik topiknyitóhoz volt mellékelve valami csatolmány, ami alapból nem volt látható, de ott volt a közelében a link, azzal a névvel, hogy:

"Csatolás megtekintése".

Na és én meg csak néztem ki a fejemből, hogy ez meg mi a fene, mit akarnak ezek itt, hogy a csudába tekinthetnék meg egy castolást?!

Ugyanis simán „castolásnak” olvastam a „csatolás”-t, és még e „pihenésképpeni” fórumozás közben is annyira a programomon (programnyelvemen) járt az eszem, hogy nem túlzok legalább egy teljes percen keresztül nemcsak nem tűnt fel hogy félreolvastam valamit, de a legkomolyabban elkezdtem azon tűnődni, ugyan mit is lehet castolni egy fórumüzenetben, miként lehet e fogalmat értelmezni, s miként hajtható végre online, egy böngészőn keresztül, valamint nem törte-e fel valaki ezt a fórumot, mert bár fogalmam sincs mit jelentsen e kontextusban a castolás, de így első hallásra olyasminek tűnik aminek a jogosultságát talán korlátozni kéne, s nem lehetőséget adni rá minden idetévedőnek!

Szóval ez már a vég. Úgy tűnik egyszerűen nem tudok kikapcsolódni. Jobb ha megyek vissza fejleszteni...

Hozzászólások

Ha ki akarsz kapcsolódni, vedd fel a hátizsákod és indulj el valamerre. Számítógép közelébe ne menj.

Nem megy az nekem, próbáltam. Annyiban igazad van, hogy a mozgás sokat segít, mert tapasztaltam én is, ténylegesen igaz, hogy utána frissebbek a gondolataim, sőt, már közben is jön egy rakás jó ötlet. Például tegnap egy rakás havat kellett hánynom, alig maradt időm programozni, de azon kevés idő alatt megcsináltam háromszor annyit mint korábban egy egész nap alatt. Ráadásul úgy, hogy sokkal emberbarátibb lett a szintaxis, nőtt a funkciógazdagság is, emellett mindez úgy, hogy a kód mérete nemcsak nem nőtt, de csökkent teljes 6 bájttal! Oké, tudom, 6 bájt csökkenés nem sok, de ez se növekedés, és roppantmód barátságosabb lett, meg a kód is áttekinthetőbb!

Szóval igen, a mozgás valóban segít, aláírom. De ez mégse kikapcsolódás, mert közben is állandóan a program jár az eszemben, nem vagyok képes élvezni olyasmit hogy a táj szépsége meg hasonlók. Nem mintha szakbarbár lennék, imádom a szép tájakat, s konkrétan még természetet járni is szeretek. A gombaszedés pláne a kedvencem. De ha valami elméleti probléma igazán érdekel, amíg azt meg nem oldom, addig hiába minden.

Tegnap éjjel is, volt egy gondom, éjjel kettőig aludni se tudtam miatta. Már kínomban mást nem tudtam kitalálni, mondom berakok egy unalmas szexfilmet hátha attól elálmosodom. Ugye akciófilmet nem akartam mert az izgalmas jelenetek ébren tartanának. Nos hiába, attól se álmosodtam el. Kikapcsoltam, vissza a kódhoz. Végül megoldottam. Abban a pillanatban olyan álmos lettem hogy addig alig bírtam nyitva tartani a szememet hogy kikapcsoljam a gépet, s már aludtam is, még a villanyt is elfelejtettem lekapcsolni.

Pedig az a jo, ha megtanulod kikapcsolni magadat. A megoldasok sokkal hamarabb eszedbe jutnak, ha nem ragodsz a probleman, vagy valami masik, pimf probleman ragodsz. Az agyad ugyanis tovabb keresi a megoldast, de ha gorcsosen akarod, akkor nem fog osszejonni.

En ha elakadok valamiben, akkor leulok beszelgetni valakivel akarmirol, akar IRC-en is. Nagyon sokat tud segiteni.
--

Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. 

Akkor keveset mozogtál. Tegnap én csak 20km-t sétáltam, igaz, a Mátrában, úgyhogy volt benne kb. 1000m szintemelkedés (ebből 670 nagyjából egyben, Mátrafüred - Kékestető), és a végén azért meg bírtam számolni a lépcsőket, ami a célhoz vitt fel (213 darab), de hogy munkára nem gondoltam közben, az is biztos...

"Kezdek aggódni az idegállapotom miatt."
Mi már régóta mondjuk, hogy nem vagy rendben.

Merre lehet követni a programnyelved fejlesztését?

Egyelőre sehol. néha volt hogy ezt-azt beírtam róla korábban ide a HUP-ra, de erre jött mindenféle troll, azt meg szívemnek szottya nem szereti. Meg jöttek egyesek olyasmivel hogy ez spam. Oké, akkor leszarom. Majd ha időszerűnek látom, úgyis közzéteszem a teljes forráskódot, előre megígérem hogy GPL licensz alatt lesz, csak még nem tudom annak melyik változata alatt. Felteszem a legújabb a legjobb, de hogy miért arról fogalmam sincs, mert nem értek az efféle jogi huncutságokhoz.

Érdekesség, hogy a teljes fejlesztési folyamat dokumentálva van (odt formátumban...), ami azt jelenti hogy (a magam bőbeszédű stílusában persze) írok mindent, hogy mit miért csinálok, miért változtatok valamin, miért döntöttem ilyen vagy olyan szintaxis vagy programozástechnikai megoldás mellett, stb. Ezen doksiban szerepel minden fontosabb rutin minden újabb és régibb változata is, természetesen, ami amiatt is muszáj, mert ez az egész egy könyv lesz, ezzel a címmel:

Hogyan írhatsz saját programnyelvet?

Egyelőre e doksi már több mint 53 ezer szó hosszú.

A nyelv interpreter típusú különben. És különben szívesen adnám közre akár naponta is hogy miként haladok benne, de megfontoltam a kérdést, és nem. Itt a HUP-on pláne nem volna ennek jó vége, ismerve a „személyi állapotokat”, de az én vebszájtomon se akarom most még megtenni, mert akkor is az lenne hogy páran onnan idemásolnának mindenfélét, direkt félremagyaráznának mindent rosszindulatúan, s úgyse tudnám megállni hogy akkor ne azzal csesszem el az időt, hogy e topikokban elkezdek vitázni a sok trollal. És minek is, látom hogy képes vagyok abszolút bármiféle segítség nélkül is megalkotni, az meg nem hiányzik hogy mindenki belekotyogjon hogy ne így legyen hanem úgy. Ez NEM KÖZÖSSÉGI FEJLESZTÉS, ez egy „one-man-project”! Ez olyan lesz amilyennek ÉN AKAROM hogy legyen, ez az én SAJÁT programnyelvem lesz!

Természetesen azonban, az említett hosszú leírás épp arra szolgál, hogy a közreadott tapasztalatok fényében már bárki könnyen megalkothassa maga is az Ő SAJÁT programnyelvét, ami cseppet se muszáj hogy hasonló legyen az enyémhez. Ehhez akár egy rakás konkrét rutint is felhasználhat az én nyelvemből, s ettől még nem okvetlenül kell hogy a szintaxis hasonló legyen.

Maga a programnyelvem természetesen C/C++ nyelven van fejlesztve.

A trollok lécci kíméljenek meg az olyan sületlen baromságok beköpésétől e topikba, hogy nekem ez úgyse sikerülhet! Tudniillik kár a gőzért, mert a nyelv MÁRIS KÉSZEN VAN valami alapszinten, ténylegesen használható már e pillanatban is egy csomó mindenre! Nagy vonalakban ideírom, mit tud már és mit nem:

— képes kezelni a következő „kincstári” típusokat:
- unsigned char
- signed char
- unsigned short int
- signed short int
- unsigned int
- signed int
- unsigned long long
- signed long long
- float
- double
- long double

— Képes tetszőleges aritmetikai kifejezés kiértékelésére. A „tetszőleges” természetesen attól függ, hány operátort építek bele majd még. Egyelőre a következőket tudja:

+, -, *, /, <<, >>
~~, (Ez az XOR művelet nálam)
==, !=, <=, >=, <, >
<> (Ez ugyanaz mint a != )
&&, || (Ezekről megjegyzem hogy ez ugyanaz mint a C nyelvben a szimpla & és |, nálam ugyanis ezek használatosak a logikai típusok összekombinálására is, mert olyan nálam külön nincs, az nálam mindig egy unsigned char típusú, ellenben a logikai eredményeket előállító műveletek garantálják, hogy ezen unsigned char értéke kizárólag 0 vagy 1 lehet, emiatt simán használhatom az ő esetükben is az && és || jeleket).

Van unáris operátorom a bitenkénti negálásra, meg persze ismeri a nyelvem unáris operátorként a „-” negatív előjelet is.

Az aritmetikai kifejezések kiértékelésének sorrendjét nekem tetszően megszabhatom zárójelekkel, amiket tetszőleges mélységben egymásba ágyazhatok.

Unáris operátor nálam a casting operátor is, természetesen.

A nyelvem képes elágazásokra (if), képes egy programon (azaz programfájlon) belül külön névterek kezelésére, ez azonban csak a változókra érvényes, a címkékre nem. Egy programfájlon belül a címkék mindig globálisak. Igen, vannak nálam címkék is, de ugrani nálam nemcsak ezekre lehet hanem bármely bájtra is a programban ha akarjuk, azaz nálam van olyan hogy „számított ugróutasítás”. Persze szubrutinhívás is. Vannak elöltesztelő és hátultesztelő ciklusaim, de olyan is ami elöl is meg hátul is tesztel. Olyan is van hogy fix számszor lefutó ciklus. Ez például így néz ki nálam:

=#c@a a // a='a'
{| 26 // 26-szor fut le majd ez a ciklus

? @a // Az „a” változó kiírása karakterként

+#c @a 1 // a+=1

|} // Ciklus vége
/ // Üres sor kiírása
"Itt a vége fuss el véle!" /

XX // Vége a programnak

A fenti program kiírja az angol ABC kisbetűit.

Mint látható a // jellel kommenteket is tehetek a progiba, de ismeri a kis aranyos a /* ...*/ kommentlehetőséget is. Az utasítások végét jelölhetem a ";" karakterrel, de ez opcionális. A fenti példában a 26 szám helyett is állhat tetszőleges aritmetikai kifejezés, de csak egyszer fog kiértékelődni, a ciklusba belépéskor. Természetesen vannak olyan ciklusaim, amik minden alkalommal kiértékelik a feltételt. Sőt, a fenti ciklust így is írhatom a ciklus végénél, ha akarom:

|}(((@c)+'@) == S) // kilépünk 'S'-nél

s ez annyiban másabb mint az előző változat, hogy itt ugye meg van adva a zárójelek közt egy feltétel, ami ha igaz, akkor kilép a ciklusból, akkor is ha még nem hajtódott végre a specifikált darabszámszor. Ha a feltétel sose lesz igaz, akkor addig fut amíg le nem telik a fejlécben megadott darabszám.

Külön ciklustípus van nálam az „örökciklusok” számára is.

Képes vagyok kiírni konstans stringeket, változók által meghatározott kódú karaktereket, a fent felsorolt típusú változókat számként. A programban bárhol használhatok decimális, oktális, bináris vagy hexadecimális számkonstansokat, de a hexa számokat nálam nem a 0x két karakter vezeti be, hanem a $ jel.

Külön beépített „verem” adattípussal is rendelkezem már.

Szóval e nyelv máris használható mindenfélékre. Jelenleg amit meg akarok oldani benne leghamarabb, az a tömbök és a stringek kezelése. Ez se lesz nehéz, sőt, kifejezetten gyerekjáték az eddigiekhez képest. Mindjárt neki is esek, amint e postot elküldtem.

A fentieket nem azért írtam, kijelentem, mintha érdekelne bárkinek is a kritikája. Dicséretet, elismerést szívesen fogadok, mert elismerem hogy hiú vagyok, de ha nem lennék az akkor is „emberből vagyok”, s az mindenkinek jólesik. De kritika NEM ÉRDEKEL, konkrétan leszarom ballisztikus ívben, mert ismerem már az itteni fogadtatását a dolgaimnak. Ha nem így vélném, már rég beszámoltam volna itt mindenről, jólesett volna ha nyithatok egy blogot, és oda írhatom minden nap hogy épp mire haladtam, s nem odt doksiba kell irogatni. Sajnos azonban tudom már hogy kizárólag gúnyolódást meg piszkálkodást kaptam volna érte.

Szóval csak azért írtam le a fentieket is, hogy megmutassam vele, teljesen felesleges olyasmivel jönni hogy nekem ez nem fog sikerülni, mert MÁRIS MŰKÖDIK, csak még nyilvánvalóan ráfér a bővítés. De ennyi már bízvást nevezhető „igen erős alapnak”. Megjegyzem van pár trükkje a nyelvemnek amit itt nem is említettem, s amelyeknek hála igenis tudnék már most is kezelni vele stringeket például, nagyon hasonlóan a C módszeréhez, de ez engem nem elégít ki, ezért lesz arra nálam egy külön beépített típus.

Ja, a nyelvemnek a „mau” nevet adtam. Ez jó, mert csak 3 karakter, s ezért alkalmas kiterjesztésnek: program.mau

A kritika azért se nagyon érdekel, mert e nyelvvel is úgy vagyok mint a regényeimmel: elsősorban magamnak készítem, azaz a célom 99%-ban az, hogy nekem tetsszen, olyan legyen amilyennek én szeretném látni, és ennyi, oszt' jóccakát. Természetesen örülni fogok neki ha másnak is megtetszik majd, s más is használja, de ha nem úgy lesz hát ballisztikus ívben teszek arra is. Amiért készítem, tehát az az, hogy:

— egyszerűen érdekel a téma
— korábban kellett egy emberek által beszélhető mesterséges nyelv a regénysorozatomba, azt is megalkottam. Most úgy tűnik emelné a sorozatom színvonalát, ha szerepelne benne egy ténylegesen működőképes, használható programnyelv is, nos akkor AZT IS megalkotom és kész. Ezzel tényleg egyedülálló leszek az írók közt az egész VILÁGON, mert bár többé-kevésbé kidolgozott nyelvcsökevényeket alkotott pár más író is a műveihez, de PROGRAMnyelvet, azt tudomásom szerint még senki.

Ha azonban tévednék, s lett volna már erre példa, akkor az csak eggyel több ok arra hogy legyen nekem is ilyen, mert nehogy már ebben elmaradjak más íróktól...

Ja, és „keep in mind, please”, hogy a fenti program bár momentán legális és tökéletesen működő mau programnak számít nálam (kipróbáltam, tényleg működik) de ez csak illusztráció és nem szentírás, mert fenntartom magamnak a jogot a szintaxis-szabályok/előírások módosítására!

Na megyek kódolni.

És különben szívesen adnám közre akár naponta is hogy miként haladok benne, de megfontoltam a kérdést, és nem. Itt a HUP-on pláne nem volna ennek jó vége

Nem olvastalak végig, ez nagyon sok nekem:)

Feltehetnéd GitHubra aztán ha valaki érdekesnek találja a projekted akkor beszállhat a fejlesztésbe.

Ha elolvastad volna mégis, tudhatnád, hogy eszem ágában sincs megengednem, hogy bárki beszálljon a fejlesztésbe, nemhogy még én magam energiát feccöljek bele ebbe azzal, hogy a githubra feltegyem!

Majd ha szerintem kb kész lesz, közreadom, s akkor már fejlesztheti tovább aki akarja. Ezt most és itt olyannak akarom látni, amilyennek én szeretem.

Tudom hogy mi az és abszolút nem érdekel, ragyogóan megvagyok nélküle. És nem óhajtok veled vitázni erről amúgyse, mert téged réges-rég trollnak tekintelek. Előre figyelmeztetlek, egy hajszál választ el téged amúgyis attól, hogy konkretice felkerülj a troll-listámra. Már allergiás vagyok rá ha csak meglátom a nickedet valahol, még ha teljesen ártatlan dolgot írsz is. De ugye, a múlt emlékei...

Azért egy iterpreter fejlesztése során jó, ha van valami verziókezelés - persze, meg lehet lenni az "verzió" időpontját tartalmazó nevű könyvtárak használatával is, benne meg egy, a nyelvtől függően definiált, fordításkor felhasznált verziószámmal. (látott már ilyet a világ...)

Persze, hogy volt, sőt van olyan, akinél most is van: verziókezelés helyett külön könyvtárakba menti az egész kódot minden alkalommal, amikor "verziót" vált (aztán a release-en belülre rak egy plusz könyvtárat, amibe az éles release változtatásait pakolja...). NagyZ picit sarkítva fogalmazta meg a verziókezelés szükségességét, de mindenképp igaza van _fejlesztői_ szemmel. Nekem is van olyan kódom, ami verziókezelés nélkül készül(t), de néha jó lett volna visszanézni, hogy "na ezt mikor és miért csináltam..." :-)

megnezhetjuk uzemeltetesi oldalrol is, mi az elonye:
- a perf. analytics cucc ha tudja a verziot is kovetni, akkor pontosna latod uzemeltetokent is, hogy a fejleszto baszta el, vagy a rendszerben van a hiba
- konnyebb visszavonni deploy utani valtozasokat, ha latod, mirol-mire kell
- packagingnel azert erdemes valamit irni a deb/rpmbe

es biztos van meg, amit kihagytam.

Tudom, hogy mi az előnye - mindkét oldalról, de van, amikor üzemeltetőként sem mondhatom meg a fejlesztőnek, hogy a fejlesztési/forráskód-kezelési téren kimaradt huszonegypár évet illene bepótolnia, mert jó, hogy "de csilióéve így csináljuk, és így működik", meg a "már egyszer valamikor kipróbáltunk egy verziókezelőt, és rossz volt/elrontott sok mindent/használhatatlan volt" kinyilatkoztatásaival nem lehet, illetve nem szabad vitatkozni... Vagyis szabad, de elég hamar fogják "nemszeretni" az illetőt.

Úgy döntöttem, tele van a tököm veled is. Lehet hogy te humorosnak érzed magadat, de nálam az ilyesmi tömény lekezelésnek minősül. Látszik hogy nem az én kultúrkörömben szocializálódtál hanem valahol az őserdőben, a páviánok és a krokodilok közt. Egy közönséges barbár hozzád képest már a civilizáció csúcsa, s a kultúra büszke bástyája. Azaz: Te is mentél a trollszűrőmbe, úgyhogy pá kisaranyom a sohaviszontnemlátásra!

Kicsit olyannak érzem az itteni írásaidat, mintha századszor mennél vissza ezzel a táblával:
http://i1280.photobucket.com/albums/a485/hdarkusak/Proyectos/DieNigger_…
és mielőtt százegyedik alkalommal is elindulsz, azért kipuffognád a f.cebookra, hogy mocskos niggerek, mindig megvernek, és úgysem fogsz velük beszélgetni, mert állandóan csak piszkálnak.
De azért mész, és csak lóbálod a táblát, miközben azt kiabálod, hogy ballisztikus ívben szarok rátok.

Nekem úgy tűnik, hogy te pont ezért a verésért jársz ide.
--
zsebHUP-ot használok!

Ez van a táblára írva:
"De kritika NEM ÉRDEKEL, konkrétan leszarom ballisztikus ívben, mert ismerem már az itteni fogadtatását a dolgaimnak. Ha nem így vélném, már rég beszámoltam volna itt mindenről, jólesett volna ha nyithatok egy blogot, és oda írhatom minden nap hogy épp mire haladtam, s nem odt doksiba kell irogatni. Sajnos azonban tudom már hogy kizárólag gúnyolódást meg piszkálkodást kaptam volna érte."
Blogot nyit, oda írja minden nap, hogy épp "mire haladt", miközben megy a ballisztikus ívben szarás, és a "NEM ÉRDEKEL".
--
zsebHUP-ot használok!

Nekem tetszik a koncepció, bár elég nehéz lesz majd másoknak megtanulni. Ugye mert nem egy beszédes nyelv.
Szerintem a következő könyved szólhat ennek a nyelvnek az elsajátításáról :)

Egyébként milyen platformokon lesz használható? Bármin amire az értelmező le van fordítva?
Valamilyen függősége van? Mert ha nincs és natur használható, az nagy királyság. Manapság minden értelmező felpakol még ~50+ dev csomagot, hogy erre-arra használható legyen.

Ez egy T530-as laptopon készül, azaz momentán i86_64 alatt használható, vagy a franc se ismeri ki magát azon, hogy kell ezt írni mert van egy rakás jelölése ezeknek a platformoknak. Szóval Intel procis gépeken, 64 bites rendszeren. De tekintve hogy ez egy interpreter, emiatt simán meg lehet csinálni bármi más platformra is könnyen, amennyiben gondoskodunk arról, hogy az általa kezelt típusok bájtmérete megfelelő legyen. Ezek a következőek:

- mutatók: 8 bájt
- unsigned és signed char: 1 bájt
- unsigned és signed short int: 2 bájt
- unsigned és signed int: 4 bájt
- unsigned és signed long long: 8 bájt
- float: 4 bájt
- double: 8 bájt
- long double: 16 bájt

Szerintem ezek mindegyike megoldható 32 bites gépen is, legfeljebb ott ki lesz hagyva a long double, de talán az is összehozható. A mutatókkal se lehet nagy gond, mert a 32 bites pointer simán belefér a 8 bájtba, max nem lesz kihasználva annak minden bájtja.

Ami a függőségeket illeti, egyelőre olyan neki kvázi semmi sincs, kivéve azokat a cumókat amik a g++ fordítónak úgyis eleve kellenek, gyakorlatilag eddig csak ezek a header állományok kellettek nekem ebből is mindössze:

sys/time.h
time.h
stdlib.h
stdio.h
stdlib.h
stdarg.h
iostream
string.h

Valószínűleg kell majd még ezenfelül egy-két include állomány, bár nem sok, azért, mert fogok egy beépített típust csinálni arra is hogy „fájl”, meg arra is hogy „directory”. Ne kelljen már mindig szopni azzal a mezei programozónak, hogy miként olvassa be egy tartalomjegyzékből valami tömbbe a fájlok vagy könyvtárak nevét... Az nagyon gyakori! Ezekhez kellhet esetleg pár extra headerfájl, de ezek se valami különleges dolgok.

Más függősége nemigen lesz. Persze ennek ára van: ez neked nem fog ám alapból grafikát kezelni, csak ha valaki ír hozzá függvénykönyvtárat, de hogy az nem én leszek az is halálbiztos...

A bináris mérete jelenleg picit kevesebb mint 150 K, most ezt vesd össze kérlek azzal, hogy maga a Bash is kb 800 K egymaga! Mondjuk ha beleteszek még mindenfélét, biztos megnő az enyém mérete is, de mérhetetlenül meg lennék lepve, ha valaha is 500 K fölé menne a binárisom mérete!

És a legtöbb interpreter elég szűkkeblűen bánik a típusokkal. Nálam megvan minden ami a C nyelvben szokásos.

Tudom jól, hogy a fenti példában mi az ami elszörnyesztő: az, hogy a változóim miért ilyen fura nevűek. Nos, nem amiatt, hogy direkt egyénieskedjek! Abszolút nem ez a célom. Nézd meg, még az „if” utasítás is „if” maradt nálam, nem kereszteltem át arra, hogy „ha”, csak azért hogy magyarkodjak vagy akármi!

Szóval, nem egyénieskedésről van itt szó. Tudom, nehéz elhinni, de így van. Hanem, én nem úgy estem ennek neki, hogy elgondoltam valami elvont koncepciót, aztán nekiesek és megcsinálom. És akkor a nyelvem szép lesz meg cuki és aranyos és könnyen tanulható és kinyalja a programozó seggét — közben meg 1024 magos processzorrendszer kell hozzá folyékony hélium hűtéssel, amíg egy „Hello Word” stringet kiír neked egy ciklussal egymás után 10-szer! Tudjuk milyen a Java, a PHP meg a többi. EZÉRT ilyenek.

Én ellenben nem ezt tettem. Abból indultam ki, hogy mi az, ami alapból adott assembly szinten, s erre építkeztem. Szerencsére, elég jó fogalmaim vannak arról a nyelvről (is). Nem vagyok benne profi távolról se, de tudom, kb mikre képes, mik a jellemzői. És azt mondtam, csinálok egy olyan nyelvet, ami a lehető LEGISLEGMAGASABB SZINTŰ, de úgy, hogy interpreter típusú legyen (a hordozhatóság miatt), ne kelljen előfordítani se valami „köztes nyelvre”, mert az is időveszteség, meg plusz tárterület, és a lehető leggyorsabb legyen. Na most mindez behatárol ugyebár némely dolgokat a nyelv szerkezetét illetően. A legkritikusabb, legproblémásabb résznek a változók nevét találtam, sajnos. Nem vagyok idióta, meg tudtam volna csinálni hogy a drága „beszédes” változóneveket is elfogadjon, de akkor a változónév minden előfordulásakor végig kéne bogarásznia egy listát, hogy meglelje a címét. Az ilyesmi miatt döglassúak az interpreterek általában. Na de nekem a gyorsaság a célom! Akkor is, ha emiatt a progranyozó munkája nehezebb lesz valamicskét. A kódot elvégre csak egyszer kell megírni, de futni már rengetegszer fog.

Különben meg csak amiatt ilyen fura a számodra, mert nem ismered a szintaxist. Mi a fene olyan nehezen megjegyezhető ebben például, hogy:

#c@X

# = típusjelölő karakter
c = unsigned char típus (Más karakterek más típusokat jelölnek a # után, a #i például unsigned short int).
@ = változóról van szó
X = a változónak az a neve, hogy "X".

A #c azonban nemcsak változó előtt állhat, hanem egész aritmetikai kifejezést is castolhat.

Szerintem ez abszolút nem nehéz. Az meg külön nyalánkság, hogy a fenti példában az "X" helyén, ami ugye nálam a változó neve ott, azon a helyen szintén állhat egy TETSZŐLEGES ARITMETIKAI KIFEJEZÉS(!!!), amiben persze lehetnek további más változók is! Mindez akárhány mélységi szinten egymásba ágyazva!

Gondold el ember, ez mekkora előny!

Előre szólok, most a következő amit megoldok a string típus beletétele lesz, s már most tudom, nálam a stringeknek lesz olyan lehetőségük is (egy művelet velük) hogy a string VÉGREHAJTÁSA, azaz ha a string egy mau programnyelven megírt kódsort tartalmaz, azt egyszerűen végre lehet vele hajtatni! Még csak nehéz se lesz hogy ezt megoldjam. Teli van már most is ínycsiklandozó „geek” dolgokkal a nyelvem, s még mi minden jár a fejemben! Fogalmam sincs róla, ezek miért nincsenek benne az eddigi interpreteres nyelvekben, amikor KÉZENFEKVŐEK, de úgy tűnik egyszer valaki csinált egyféle nyelvet, aztán mindenki más leragadt annál a stílusnál, ami már megvan az gúzsbaköti a fantáziájukat! De leginkább azt nem értem, akkor mi a jó nyavalyáért olyan hatalmas mammutméretű szarok ezek a vackok, mitől akkora a kódbázisuk, ha alig van bennük valami!

Szóval, én nem veszek bele a nyelvembe olyasmiket, amiket a gép csak nyögvenyelősen tud végrehajtani, bonyolultan, s emiatt LASSAN, ellenben amire képes, ott aztán a végletekig kihasználom a lehetőségeit!

Ezt az egészet úgy a legjobb elképzelned, mintha egy virtuális számítógéped lenne. A mau nyelven megírt fájl, a forráskód, az e virtuális gép RAM-jának az a része, ami a végrehajtandó bináris kódot tartalmazza, természetesen e virtuális gép gépi kódjában megírva. Van ezen kívül persze e virtuális gépnek is adatmemória-szegmense, de az most nem lényeges, az hasonlóan kezeltetik mint megszoktuk. Ellenben e kódszegmensben ő ugyanúgy dolgozik mint minden „normális” gép: bájtonként halad előre az utasítások értelmezésében, egy utasítás majdnem mindig 1 bájtos, nagyon ritkán 2 bájtos. Persze vannak esetek amikor ugróutasítást hajt végre. Na most én azt akartam, hogy megalkotok egy olyan virtuális gépi nyelvet, ami szövegszerkesztővel szerkeszthető, ami gyors, mert alkalmas efféle végrehajtásra, ugyanakkor ezen feltételek betartása mellett a lehető legmagasabb szintű. Szerintem eddig remek munkát végeztem.

Na ha e postot elküldtem, megyek és fejlesztem tovább.

> ha a string egy mau programnyelven megírt kódsort tartalmaz, azt egyszerűen végre lehet vele hajtatni!
> Fogalmam sincs róla, ezek miért nincsenek benne az eddigi interpreteres nyelvekben

Azt te csak hiszed. :)

PHP: http://it2.php.net/eval
Bash: https://stackoverflow.com/questions/2355148/bash-script-running-string-…
Még a Java is tudja: https://stackoverflow.com/questions/2605032/using-eval-in-java
A C#-ban is van hasonló: http://www.c-sharpcorner.com/uploadfile/puranindia/reflection-and-refle…

For the record: nagyon nem tartom jó gyakorlatnak user inputot végrehajtani programkódként, valószínűleg a különböző nyelvek fejlesztői ezért is nem tolják előtérbe ezeket a feature-öket. Eddig nem igazán jött szembe olyan feladat (C#-ot használok), amihez ilyet kellett volna használni.

ebbol a hozzaszolasbol szerintem tanulmanyt lehetne irni :)

"én azt akartam, hogy megalkotok egy olyan virtuális gépi nyelvet, ami szövegszerkesztővel szerkeszthető, ami gyors, mert alkalmas efféle végrehajtásra, ugyanakkor ezen feltételek betartása mellett a lehető legmagasabb szintű. Szerintem eddig remek munkát végeztem."

tehat a nyelv interpreteres, _azert_hogy_gyors_legyen_ (rotfl)
meg a valtozonev az egy karakter azert, hogy _gyors_legyen_

ugy latom poliverzum ujra feltalalta a C64-es BASIC-et (ami ugyebar szinten interpreteres volt, es szinten 1 byte-on tarolta a forraskodban leirt utasitasokat, voltak benne cimkek, $ a hexa szamok jelolesere, stb), de ott legalabb 2 karakter lehetett a valtozonev :D

Te barom, hogy a töködbe gondolod hogy zárt lesz a kód, hát olvasd már el fentebb hogy előre megírtam hogy GPL licensz alatt lesz! Azaz nyilvánvaló, hogy a kód KI LESZ ADVA, és közlöm veled azt is hogy majdnem ugyanannyi a komment sor benne (igaz hogy magyar nyelven) mint a kódsor, azaz bárki KÖNNYEN módosíthatja ha akarja, mert könnyű lesz megérteni!

Te SEGGFEJ!

Az hogy most amíg készül, addig nem engedem hogy beleugassanak a hozzád hasonló rosszindulatú péniszfejű kretének, az egyáltalán nem azonos azzal, hogy a kódot zárttá tenném! SOHA nem állt ez a szándékomban, ez még álmomban se fordult meg a fejemben, de még csak tréfából sem!

Mentél te is a trollfilterbe, te hülye faszkalap.

Jaaaj neeeee. Most mi lesz???

Te nem tudsz ertelmesen beszelgetni. En nem karomkodtam, mint te. Tehat akkor ki is a "barom", "SEGGFEJ"? Hat TE. Aranyom.
Ugy latszik, most mar funkcionalis analfabeta is vagy.
Az, meg igenis elvarhato egy olyan nagy open source fantol, hogy kitegye pl. github-ra, amit csinal. A fejlesztest lehetne kovetni, akit erdekel. De te nem, inkabb bezarkozol. Szanalmas.

Elgurult a gyógyszer? Egyébként a "majdnem ugyanannyi a komment sor benne (igaz hogy magyar nyelven) mint a kódsor, azaz bárki KÖNNYEN módosíthatja ha akarja" két, egymásnak erősen ellentmondó dolog - mármint a magyarul kommentezve (gondolom a te szóf0sós, sok beszédnek sok az alja stílusodban) és a bárki könnyen módosíthatja... Tudod, a világ nagyobbik része pont nem a magyar nyelvet beszéli, a fejlesztők értelmesebbje minimum konyhanyelven, de ír/olvas angolul.

Jelenleg zárt a kódod, mert vagy szégyenled kiadni, vagy félsz, hogy értelmes emberek alaposan megköpködik - nagyvilágnak közzététel okán jellemzően angolul, vagy mindkettő.

Még jó, hogy saját magadnak nem ugatsz bele, mert akkor a 3. bekezdésed első fele nem teljesülne :-P Bár ahogy a trollszűrődet töltöd, lassan tényleg egyedül maradsz saját magaddal :-D Mi meg jót beszélgetünk a hülyeségeidről, és jókat derülünk az újabbnál újabb benyögéseiden :)

Egy szakember itt a hátam mögött azt mondja, hogy ezt nem kellett volna. Amíg itt éli ki magát, kevésbé veszélyes a társadalomra. De ha ettől megfosztod...
Remélem nem lesz mostanában lövöldözéses észak-amerikai hír a CNN-en. Te is vigyázz magadra ott Audi-alsón. Én szerencsére már a trollszűrőn vagyok, így én láthatatlan vagyok számára.

"Nem, nem látom be mit nyertem volna vele ha trey nem bannol. Így sokkal jobb, több energiám és időm marad programozni, regényt írni, tanulni, egyáltalán, ÉLNI! És ami a legfőbb: megmenekülök egy egész rakás bosszúságtól."

A HUP tartotta vissza attól, hogy mást csináljon. Na mindegy, ez így már uncsi, befejeztem. :(

Update: Ha nagyon érdekel valakit, megvan a tömbkezelés is, most végeztem vele.

Oké, ment a trollfilterbe NagyZ és bra is.

=#c@a a
{| 26
? @a
+#c @a 1 // a+=1
|}
/
"Itt a vége fuss el véle!" /
XX

No rainbow, no sugar

Ezt ezért a kommentjéért csináltam neki emlékül. ;)


=#c@h h
=#c@e e
=#c@l l
=#c@o o
=#c@w w
=#c@r r
=#c@d d

? @h
? @e
{| 2
	?@ l	
|}
? @o
? @w
? @o
? @r
? @l
? @d

XX

átkonvertálom C-re:


#include <stdio.h>

int main()
{
	char h = 'h';
	char e = 'e';
	char l = 'l';
	char o = 'o';
	char w = 'w';
	char r = 'r';
	char d = 'd';
	int count;

	printf("%c", h);
	printf("%c", e);
	for (count = 0; count < 2; ++count)
	{
		printf("%c", l);
	}
	printf("%c", o);
	printf("%c", w);
	printf("%c", o);
	printf("%c", r);
	printf("%c", l);
	printf("%c", d);

	return 0;
}

Ráadásul ez 371 karakter, míg Poli megoldása 115, ez a "programozási" nyelv sokkal jobban kíméli fekete háttér és világos fontok esetén a képernyőt és ezen keresztül a környezetet, mint a C!!!!444!!44 :D :D

Fura, hogy bántjátok. Gondolom senki sem röhög a féllábún, mert nyomorék. Itt sem kellene kivételezni. :P

Ha én focista vagyok és a féllábú közli velem, hogy ő jobban focizik nálam, ami _ENGEM_ zavar, akkor ki is a hibás valójában? Az idióta vagy az aki úgy dönt -mondjuk a gyér énképe miatt-, hogy őt ez zavarni fogja?

Ha a focista helyén kezeli a dolgokat, akkor örömteli játékot és szép gólokat kíván a féllábúnak.

Nem gondolom. Csak tudom, hogy az ember felfelé nem lát és azt gondolja magáról, hogy az emberiség rajta keresztül elérte határait. :) Honnan tudná, hogy mi van még előtte, ha sohasem látta? Persze, hogy osztja az észt.

Viszont, ahogy ő sem, más sem lát felfelé csak lefelé. Éppen ezért tudja megítélni az aki többet tud nála, hogy milyen az ő teljesítménye. Ez oké, de hangot adni neki felesleges, mert nem érti (mert sohasem fog többet tudni saját magánál) így szükségtelen.

Nincs itt varázslat.

ha a fellabu focista a paralimpian akar indulni, akkor nyilvan oromteli jatekot es szep golokat kivanunk
de ha meg van gyozodve arrol hogy neki ott a helye a (random elvonali csapat)ban, mert sokkal jobb mint az ottani "ketlabu" focistak, akkor igenis engedtessek meg nekem hogy kirohogjem, mert egy realitaserzek nelkuli bekepzelt idiota (es nem azert mert fellabu)

btw, van ismerosom aki "felkezu" (az egyik keze szinte teljesen hianyzik)
egyaltalan nem rohogtem ki mikor elkezdett celloveszetre jarni, es mikor mondta hogy tervezi a paralimpiai indulast, gratulaltam neki es abszolut szurkolok

de ha ugyano kozolne hogy elmegy bokszolonak es majd minden (ketkezu) vilagbajnok boxolot lever, akkor bizony kirohognem :)