1. you can define keywords, operators, grammar rules, general concepts endorsed by the language, etc.
2. do your worst
3. we are starting from the ground up, so it is prohibited to import complete keyword sets from an existing language (no OK, ALL JAVA KEYWORDS, THREAD OVER, HURRRRRRRRRR)
4. and we need a name for this language as well
Name:
Anonymous2006-07-15 14:21
FCOOLS - FourChan's Object Oriented LanguageScript.
Particularly evil because we never implemented anything OO. And wtf is LanguageScript? But anyone who takes it at face value will be like "damn how sweet is that?" and start coding.
That or wappascript.
Name:
Anonymous2006-07-16 3:16
>oh, and we should probably have a method of self-modification.
this is a REQUIRED FEATURE of this language, for sure!!
explicit support for self-modifying code
proposal:
there is a pseudovariable/function that returns the address of the "program counter" or currently executing instruction. something like "instrptr"
there is another (library?) function that takes a block of code as an argument and returns its machine language opcodes.
using these and function pointers we could have a lot of fun. buffer overflows would actually need to be necessary parts of your program.
Name:
Anonymous2006-07-16 13:21
the letter E inside a string causes the remaining part of the string (until Q for Quit) to be evaluated as program code. there is no way to disable this other than to escape those letters with four backslashes.
Name:
Anonymous2006-07-16 22:28
To program in the language, you must first define all commands you will use. To define them, you must only use the language you are writing in. Therefore, the code will reference itself. There is only one pre-written command, which is to store the information in a random (even if it's already in use) memory location. There can only be one memory location in use by the language at a time. It will be hailed for its space-saving capabilities, and forced on all programmers.
Name:
Anonymous2006-07-16 23:38
MODS /B/ IS NOT WORKING PLZ FIX CUZ I LIEK /B/. KTHNKSBAI.
Name:
Anonymous2006-07-19 19:32
All types are objects, and all variables are pointers. All operators are called exactly the same way functions are. For example, to add x to y:
x->+(y);
Furthermore, there is no heap. There is no such thing as a return value for a function, but rather, what is returned is the object called; i.e. the above code returns the pointer to 'x'.
So to perform (x+y)/(u-v) and store it in z, you do:
int a,b,z; (z->+((a->+(x))->+y))->/((b->+(u))->-v);
Name:
Anonymous2006-07-19 19:33
*stack
Name:
Anonymous2006-07-19 19:34
Oops, also forgot function brackets around y and v. Oh well.
>>46
Too easy to comprehend, uses already existing syntax.
Name:
Anonymous2006-07-21 9:35
All characters are in morse code.
Name:
Anonymous2006-07-22 23:09
lol. I like that Idea. Otherwise...
OPERATION AND RECALL LEAP-YELLING (aka ORLY)
This is the language used by SONY on their music/data CD's
A sample page looks like this:
>>hay_guys !!!
--what.happen.?
>>set *bomb* if chance < 0
--launch zig.drm
>>terminate if (cat > 999|divide < -1)
--talkback +tracert {infinite loop}
>>reboot if (tits|gtfo)<1
Name:
Anonymous2006-07-22 23:17
I think we should design a number system which will be based on syllables. 1,7,11,27,107,117, etc
And do it backward. Also, I like >>18's idea of syntax errors in the form of a short riddle. But perhaps they should be in the form of a small dose of ritalin, just to keep the programmers on the edge.
>>57
i'm american, but i say 'a hunnerd seven', i think i say 'one hundred seven' when i'm trying to speak clearly.
but from a bad programming language standpoint, this is a feature. some compilers use the 'and', and some don't. no bad programming language should have good cross-compiler portability
Name:
Anonymous2006-07-25 19:03
>>58 but from a bad programming language standpoint, this is a feature. some compilers use the 'and', and some don't. no bad programming language should have good cross-compiler portability
I stand corrected.
Name:
Anonymous2006-07-26 9:01
>>58
Then 77 would be the portable way to write it, but you'd be out of luck for anything higher.
There's a version of intercal where everything is written in trinary.
Name:
Anonymous2006-07-27 14:39
>>65
it should be negative unary, so you can represent negative numbers without having to use a pesky negative sign. i.e. 0 = 0, 00 = 1, 000 = -1, 0000 = 2, 00000 = -2, etc.
ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER! ALL HAIL KING BOOKER!
Anything .NET. VBScript, JScript, whatever. Just fucking sucks.
Other than that, let's see you one needs to make a really bad language..... You would need to use multiple file types that achieve mainly nothing, or not much. So let's go with .f for functions and classes, and .i for their implementation, and .head for globals
Variables created in their implementaion files (.i) can only be (re)used in that same file. i.e Variable q is created in imp.i, can only be used in imp.i . Exception: if q is a global, declared in a .head file.
What else...
The language is only ported to Fedora Core 2 (Linux), and is oddly still being heavily developed. There is no garbage collection, and everything instantly demands 90% of your availible system resources.
Creating an executable is nearly impossible; you have to give the compailer random, useless flags just to create a .compiled file, which in turn then needs to be compiled into the final executeable.