Nem, nincs jobb mint a C. Még webre is ez lenne a legjobb, az csak egy hülye szokás, hogy erre a PHP-t használják, és nem teszik lehetővé hogy binárisok fussanak a honlapokon, vagy legalább a TCC működjön...
De ezt csak zárójelben írtam, mert nem igazán érdekel a web programozás. Hanem hogy nem webre lenne jobb mint a C? Ugyan már... Persze, ha valaki mazochista és szenvedni akar...
De ne csüggedj! Ha eddig nem volt is jobb, ám LESZ! Most írom... Már vannak olyan részei, amik működnek. Például már kiválóan nem csinál semmit kommenteknél... (Ha azt hiszed ez könnyű feladat, tévedsz. A // könnyen ment valóban, de a /* ... */ -t úgy akartam megoldani, hogy ezeket lehessen akárhányszor egymásbaskatulyázni. És amikor már azt hittem működik, kiderült hogy de kivéve ha a forráskód legvégén van egy */ ami után egy / áll és aztán EOF. Ekkor ugyanis segfault... Na de szerencsére kinyomoztam ezt is. )
Emellett van benne komplett „brainfuck” interpreter, már az is működik. Na de ez csak szórakozás, a komolyabb dolgok most jönnek... Ínycsiklandozóul például, miként nézhet ki nálam egy változó neve:
@@@@#@@@@@#!!!!@#!@$a0
Ezt még lehetne cifrázni. Ez nem értelmetlen halandzsa, ennek jelentése van. A @ jel: ez jelzi hogy változóról van szó. Azután jön ugye, hogy hányadik változó. Ezen számot hogy hányadik, megadhatjuk számmal vagy egy másik változó értékével. Számként megadhatunk decimális, bináris, oktális vagy hexa számokat. A $a0 természetesen egy hexa szám, értéke 160. Ennek megfelelően @$a0 a 160-adik változó. A @@$a0 az a változó, amely annyiadik, amit épp a @$a0 változó, vagyis a 160-adik változó mutat. Ennek megfelelően már szerintem mindenki ki tudja következtetni, mi lehet mondjuk a @@@@@@$a0 értéke...
Akárhány @ jel is szerepelhet egymás után. (Ha bírja a memória a gépedben...).
A # azt jelenti, hogy az utána következő kutyulmányt memóriacímnek tekinti, s visszaadja az azon cím alatti unsigned char byte értékét. A felkiáltójel („!”) pedig az utána következő unsigned long értéket tekinti memóriacímnek, s az azon memóriarekeszben található unsigned long értéket adja vissza. Persze a #-ből és a !-ből is használható akármennyi egymás után.
Ööö... Nem tudom, ez már elegendő-e az indirekcióból, pointerekből, ahhoz hogy kielégítsen minden elképzelhető igényt, vagy még kéne adni további plusz lehetőségeket is?!
És ez még csak a változók elnevezése. Ja, nincs pre-alfa verzió egyelőre tesztelésre. Lassan haladok, mert nem akarok működésképtelen vackot kiadni a kezemből. Addig semmi esetre sem teszem letölthetővé, amíg legalább a „vidir” programot meg nem tudom írni benne. A végső cél persze az, hogy megírjam e nyelven saját magát...
Szóval ha eddig nem volt is jobb nyelv mint a C, de LESZ! „Ne csüggedjetek, kicsinyhitűek!” - mondá az Úr...