Put a bit of SEX in your programs! (warning, bad language used)
- Posted by Mike The Spike <mtsreborn at yahoo.com> Feb 04, 2001
- 512 views
I have an announcement to make. (BTW, this is my last post today, for those that feel that I am accounting for a too large percentage of the posts made on this list, there's only one sollution; Post more yourself to make the ratio smaller!;) ) I stopped working on C'RAP after I saw Brainf*ck, a weird ass programming language. I like this idea of extremely evil/offensive programming languages, and decided to make my own, MTS-style (aka. lots of swearing and loads of irrelevant obsolete information) programming language! SEX, Severely Exaturated Xerography is the name of this language. Xerography stands for 'The process of making copies'. This has to do with the extremely dull and boring syntax (wich I'm still trying to come up with). My goal is to make a programming language wich is extremely hard to code in, yet still as safe as Euphoria, for example. I am coding the language in Euphoria, yet the (extremely) small execution core does math 11 times faster than Euphoria, on any type of variable (sequence, atom, object, integer, etc.). Plus, calling a function is exactly as fast as doing '1+1' for example. This is all thanks to the translator, wich makes these speedups possible. Wanna see some SEX code? Well, below is the syntax I'm aiming for; :p This program shows some math operations. :p btw, a smiley face like the one left is a comment. hiton val1 hiton val2 hiton val3 hiton val4 bitchslap val1 with 10 bitchslap val2 with 254857 bitchslap val3 with 30000 bitchslap val4 with 80.69 rape val1 with val2 cumshoot val3 with val2 beat val4 with val1 slap val2 with val4 Now, for an explenation of what these things do. 'hiton' = 'object' in Euphoria. bitchslap = '=' in Euphoria rape = '+' in Euphoria cumshoot = '-' in Euhoria beat = '/' in Euphoria slap = '*' in Euphoria Translated to Eu, above becomes; object val1 object val2 object val3 object val4 val1 = 10 val2 = 254857 val3 = 30000 val4 = 80.69 val1 += val2 val3 -= val2 val4 /= val1 val2 *= val4 As you can see, the lang maps very well to Euphoria. Implementing this language in Euphoria is extremely easy, but I won't see any SEX clones anytime soon since doing it in C is a real pain in the ass (I designed the syntax so LEX and YACC can't parse it very well). Some weird things about SEX; - It features no include files (Xerography, remember?) - Eventhough it's laughable, it's lightning-fast, 80 times faster than JAVA (Sun JDK 1.5). - It was designed to let young people code 3D games in it easily. Therefore it features m-media support. - It doesn't provide ways to create functions, you can only jump to labels like in ASM, BASIC and C. (jmp, GoSub, Goto, etc.) - The syntax is so cool that coding in it becomes a joy. You will find yourself coding 2 million line apps in it and still feel like doing some more. - You can create a stand-alone executable. - Your SEX programs run IDENTICALLY on DOS, Winblows and Linux (and in the future, some consoles(when we can port ec.lib, or Eu To Java becomes better)) - I saw my interpreter core run SEX programs that ran faster than equivalent C programs. - The entire interpreter (without runtime routines) is just 300 lines of Euphoria code. - You will have to buy SEX from me if you wish to get the IDE, debugger and profiler. (wich I'm coding on). - You don't declare types in SEX, but can use strings, integers and floats automagically. - Arrays can be 1-D only; This isn't so bad since it fits in nicely with the rest of the syntax. Plus it's lightning-fast (using pokes). Some library routines I (haven't) coded; - pimp (Peek into memory or a file) - lolita (Turn a string into a numeric value) - puke (poke into memory or a file) - buy (allocate a block of memory or file) - fetish (run a string as SEX code) - buttrip (free a block of memory or file) - spit (write text to file or device) - swallow (read data from file or device) - scat (concatenate two strings) - strip (copy image onto screen or memory) - cunt (draw 3D polygon on screen) - panty (draw a line on screen) - needledick (draw pixel on screen) - come (play a sound) - date (some netwroking support) - pickup (call a C function in a DLL) - phone (call any of above routines) - husband (exit program) These are all I'd implement for now. I think 'pickup' will let me do some GUI stuff later on. Maybe it's more portable if I build-in GUI support? Anyways, what do you think about this language? Would you pay 20 bucks for it, considering it's faster than C in some cases? (well, in concatenation and such) Plus, it's the funnest coding language ever created. And, start-up speeds are extremely fast, as all the tokenizer does to parse the source is skip white spaces and remember all words in between. It's coded in Euphoria, so I guess I'd put out a C library wich allows C/C++ coders to call SEX from their programs (using the translator). Like a portable in-line SEX interpreter. They might find it usefull to code speed-critical data juggling routines in SEX, as calling overhead in SEX is extremely small, and it's faster than C in this sort of situation. Mike The Spike PS. MTS: "I can do C, C++, Euphoria, Basic, SEX, " Guy: "*WHAT*? SEX?? GET OUT OF MY OFFICE, PERVERT!" MTS: "But no! I mean doing Sex with an interpreter!" Guy: "You Slept With Ling??? YOU BASTARD!"