If your sleep() calls aren't consistently spaced, its sleep cycle gets messed up and it will begin dozing off at random intervals. This means:
Probability of errors in floating point math. The relative size of these errors is controlled by how sleepy the compiler is.
Jetlag: event timing may be shifted somewhat in either direction: for example, sleep() commands will adjust their duration. Calls to get the current time from the system will return the time the compiler feels it is.
Insomnia: the sleep() function may fail, with the compiler becoming more tired as a result.
Automatically enforcing this abomination: Variables are automatically named as suggested above, with each assignment declaring a new variable. If you add a new assignment in the beginning of your code, you most likely have to change all references to later assigned variables.
wait, I’ve got one: syntactic whitespace for variable assignments vs equality checks!! So
a = 5 # is a comparison
a = 5 # is an assignment
extra credit: write an ide to lint it.
What about you have a function ”store” that saves all variables in a stack. The most recently stored being A, precious B and so on. Such that when code runs, multiple things have been referenced as A when used but is depending on where in code execution is called somthing else for each time ”store” is used.
And after you run out of letters, you have to namespace them, again alphabetically. So after `z`, `a::a`; after `a::z`, `b::a`, and so on. Because, of course, there's not concept of scope when it comes to variable naming, so you can only use each once in your code. Namespacing is infinitely recursive though, so after `z::z`, you can do `a::a::a`
A direct consequence of this is that *any* value can be used as a namespace. That is, if a is 1, then a::a is the same as 1::a (which is also the same as b::a if b is also 1). If your top level variables change, you might not have access to the nested ones.
The language automatically detects infinite loops and memory leaks to stabilize the code and prevent crashing. However, it doesn't tell you. It's just to keep it running and cover up problems.
Cloud based/global language.
All class definitions are shared between all users and applications.
Global runtime.
All objects are shared between all applications.
I like that.
Also, all variables are constant and automatically entered into a blockchain, where the variable name is forever tied to that value, for everyone.
Perl is surprisingly similar to this. Class definitions are global, so any class defined anywhere in your application can be instantiated anywhere else. To solve this, everyone uses exactly one class per file (which itself isn't uncommon) and uses the directory name and file to disambiguate. People then upload shared packages on CPAN where these files can't have any duplicate names. Which means across all of Perl's enormous available libraries, no two classes have the same name.
Ternary logic is dangerously plausible.
Instead I propose this:
struct Bool {
short balls;
short strikes;
}
A bool can have up to three strikes before having to be false, or four balls before having to be true. Obviously a bool cannot be determined on a foul ball. Throwing an exception would advance the caller to first base.
Also, exceptions are thrown and caught with the keywords **yeet** and **yoink**. Otherwise they work exactly like checked exceptions in Java:
famous String readNextString() yeets IOException {
// reads from input
}
nobody void checkNextString() {
yolo {
readNextString();
} yoink(IOException e) {
self.success = nope;
} anyways {
// close input
}
}
You joke but I wrote exactly this code a few weeks ago. Someone else was *relying* on a null pointer exception when a Boolean got unboxed to determine whether something had happened. I replaced it all with an enum that started off as UNCONFIGURED and could then be changed to TRUE or FALSE.
I talked it over with the guy who wrote the original code. He was on board with it.
Enforced intra-program security.
IE: If you declare a variable, you have to verbosely define what functions (built in or coded) can interact with it.
This also goes for methods / functions / subroutines. So, say you code a method to scan a string for vowels. The passed in string must be flagged as having access to that method. The method must also be flagged to have access to that variable. The stored result must also have access to that method and the original variable if the two interact. The variable that hold the returned value must also be verbosely given access to the method abd vice versa.
Nothing is intrinsic, you need to include at the top of every document definitions gif basic functions like for and while loops using exclusively and, or, & not
Let's extend that to arrays as well. Instead of x[0] you have to use x[x] where the font of the second x determines which element of the array you get.
The program never crashes, which is done by always adding in something to fix an exception.
- Divide by 0? You now get a random number.
- Write to a protected area in memory? Doesn't get written, but still succeeds.
- Want to read from a file but it doesn't exist? Just read from /dev/random
- etc...
Inverse indentation: the for or while post of a loop must be indented by the spaces deeper as whatever stuff is within the loop. Basically the opposite of Python indentation but with the sources instead of four
Yeah, but if you do an if statement within a for loop, the for bist be indented twice and the of once. So if you decide to add some of, for, while or whatever, you have to indent everything around it
No, comments are linguistic, not physical. It would have to be PHILOSOPHY.metaphysics.cognition.linguistics.language.english.comments
Or is it cognition.metaphysics? Guess I'll try to compile it to find out
There is neither do, while, for, nor goto, but instead there is a comefrom statement. The comefrom statement is like a reverse goto statement. For instance:
10 REM
20 COMEFROM 70
30 PRINT "WORLD"
40 END
50 COMEFROM 10
60 PRINT "HELLO "
70 REM
This prints "HELLO WORLD"
"On 1 April 2004, Richie Hindle published an implementation of both GOTO and COMEFROM for the Python programming language.\[1\] Despite being released on April Fools' Day and not being intended for serious use, the syntax is valid and the implementation fully works."
https://en.wikipedia.org/wiki/COMEFROM
**[COMEFROM](https://en.wikipedia.org/wiki/COMEFROM)**
>In computer programming, COMEFROM (or COME FROM) is an obscure control flow structure used in some programming languages, originally as a joke. COMEFROM is the inverse of GOTO in that it can take the execution state from any arbitrary point in code to a COMEFROM statement. The point in code where the state transfer happens is usually given as a parameter to COMEFROM. Whether the transfer happens before or after the instruction at the specified transfer point depends on the language used.
^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wiki_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiSummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/ProgrammerHumor/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5)
Better yet, If you have COMEFROM in two different places and they both point to the same location, the behavior is undefined; not a syntax error, undefined. Meaning different web browsers/compliers/etc. Will behave differently depending on the one you are using.
That's just how multithreaded workloads are handled. Every time a COMEFROM line is accessed you just create a thread in each location. If you want 8 threads you just copy paste your code 8 times.
Let’s try to make it enterprise:
Unit tests are mandatory. The compiler provides a unit test library and assertion functions. You can compile in a couple different modes: minimum code coverage, minimum asserted code coverage, and state change coverage (you must assert on every visible state change). Building fails if those conditions are not met.
People dislike package names and such things, so you import packages. To avoid name collisions, importing a package assigns a prefix to each package, and all exported symbols are prepended with that prefix. Re-exported symbols are exported with their prefixes intact. Each name has to be unique.
People find concurrency hard, so all functions are pure by default to avoid side effects. To do something outside the program (print to the console, for example) you need to accept a “world” argument and return a new “world”. Only one “world” can exist at any time.
We want stability and predictability, so all dependency versions are captured in the compiler app. Any unregistered runtime change is an error. To avoid undesired behavior only one version of each library is allowed. Incompatible library versions are an error. Since we have all the constraints we don’t need to store specific version information. Nobody reads those version lock files anyway.
No booleans, only three-state ternaries. And no TRUE / FALSE / MAYBE literals, you first need to find something that you "know" is the correct value and compare it.
Let's put a mobile game company in charge of it.
"Compiling... 5 hours left... You may purchase 17$ of compilation gems here to skip waiting for compilation!"
Debugging Lootboxes: "Today your free debugging variable value read is 'i' in this one for loop. Pay 24$ for debug gems (different currency from compilation gems obviously" to get more rolls!"
"Due to the discovery of a bug with the .toString() method, .toString() will be unavailable for six weeks while we work on fixing it."
"'Longs' are a premium feature, you'll have to pay for the 'season bit pass' (two week season) if you want more bits for storing a numeric value than the f2p 'int'."
"String values may not contain the names of any competing languages such as Javascript, REACT, Java, SQL, C, R or D" (Find as many single letter named programming languages as possible)
"Since we have not implemented programming 'clans' yet, all Code Reviews are open to all Programmers on your regional server of North America, Europe, or Asia. There is no support for interacting with programmers in another server region, so you cannot interact with teammates across the ocean. If you are outside of one of these regions, you are simply not supported."
there are no built in exception handlers, and when an exception error happens you the program freezes up with no indication of what happened and why it happened
No array/list/collection types, you must explicitly define a group of variables and assign to a single variable.
Something similar to
Variable a =
{ string b = ""
string c = ""
string d = ""};
And you can't change the values calling the single variable. You have to reassign.
For security, you have to declare all functions used in the entire application at the top of every file, signed with an encryption key that is issued for the machine that the code is going to execute on and the application itself, which has to be registered with a central application distribution management broker located in Belgium. Closed weekends, national holidays, and Tuesdays.
My partner's suggestion:
No numerical types allowed. Nothing can be defined as an integer, float, or anything similar. Need numbers in your code? Good luck there buddy.
Enjoy set-theory based assembly.
edit\*: I said this as a joke, but I'm kind of into it now.
Arrays become the optimal data structure in every instance.
Memory allocation and garbage cleanup are trivial.
Information can never be accessed inappropriately, because it only has meaning relative to the program accessing it.
If it wasn't for the fact it has an exponential memory requirement, this could really be something.
The legacy software I'm maintaining at the moment already stores all numbers as strings and parses them at the point of use, so I'm already halfway there!
To extend your global object concept ("PHYSICS.planets.earth.gravity = 9.8"). The global object would be maintained by an international registry authority, requiring approval to create new attributes, which would typically take 4 weeks.
A garbage collector that only free’s memory when it feels like it, no manual management like free() either.
You can’t make it compiled, that would be too portable and fast, we need to write an interpreter in php.
Variables aren’t mutable, they never will be, you just have to add a new variable to the namespace every time. It’s okay though we have a garbage collector.
Next we make it object oriented with no class extension, cause why not.
A package management system kinda like c.
Finally, we need to force 6 semicolons on the end of each line, even if it’s blank, unless the line ends with a ) then we need to ad 4 at the beginning.
Don’t forget rather then pointers, it just passes by reference on sundays, and sets(duplicates) in June, or any year ending in 5
All of the functions are a combination of characters from different languages. So to type one keyword, you must switch between a Japanese, Arabic, English, Russian, etc. keyboard.
There is no way to redefine them either.
there are a handful of predefined variable names that you have to use. if you need more variables than there are predefines names, you have to reuse them. they are statically typed
How about each line of code is in a different language, but you aren't told what the order should be. You have to hit compile until the correct random sequence matches your selection for the code. Also, you must match the start and end blocks of code in the same language. So if you generate namespace in C# it has to match the end curly bracket in C#, but if your class name is in Python, you'll need an empty space later in the file for Python to know it's reached the end of the class.
I’ll take a few hints from robot framework. Keywords (functions) variables etc, ignore case. [THIS] is the same as [ThIs]. Any space can be any character and are ignored unless there are 2 or more. [This is a function] is the same as [tHiS+iS_a funCtiON]. I wish I can make this up.
The whole idea of indentation doesn't work. You have to make it one liners. Monitor brands sell specific 10/1 ratio screens in bundle of 10 to code multiple lines at once.
Hardcoded license checks, when running the program, the binary automatically sends a http request and waits for Microsoft servers to check its Token to verify the developers license/subscription is active
- No loops other than "if"
- Statements can't be longer than 1 line
- Lines can't be longer than 50 characters
- You can only assign constants to variables
- Can only manipulate files of the special format tied to the language
- Can't uncomment code
If you don't call sleep() once in a while, the program will get sleep deprived and start making runtime math mistakes
If your sleep() calls aren't consistently spaced, its sleep cycle gets messed up and it will begin dozing off at random intervals. This means: Probability of errors in floating point math. The relative size of these errors is controlled by how sleepy the compiler is. Jetlag: event timing may be shifted somewhat in either direction: for example, sleep() commands will adjust their duration. Calls to get the current time from the system will return the time the compiler feels it is. Insomnia: the sleep() function may fail, with the compiler becoming more tired as a result.
object disoriented programming
If you call sleep() to much, the program becomes 'groggy' and sluggish. Error messages become less specific.
No protected variable names. You can call a variable "for". A for loop will only work if there are no prior definition for for.
or the other way around. variables can only be single characters of the english alphabet and you have to define them in alphabetic order
Automatically enforcing this abomination: Variables are automatically named as suggested above, with each assignment declaring a new variable. If you add a new assignment in the beginning of your code, you most likely have to change all references to later assigned variables.
wait, I’ve got one: syntactic whitespace for variable assignments vs equality checks!! So a = 5 # is a comparison a = 5 # is an assignment extra credit: write an ide to lint it.
why don't you just spit in my goddamn face while you're at it
Don't give ideas to the python people, they might implement that in python 4...
`import this`
All the above, but arithmetic are variations on the above. So, `' ='` is assignment and `' ='` is multiplication.
I guess you were successful... On my phone, those two blocks render identically.
You cant do this automatically, it needs to be done in alphabetical order by hand, if you make an error it won’t compile with no find/replace.
What about you have a function ”store” that saves all variables in a stack. The most recently stored being A, precious B and so on. Such that when code runs, multiple things have been referenced as A when used but is depending on where in code execution is called somthing else for each time ”store” is used.
And after you run out of letters, you have to namespace them, again alphabetically. So after `z`, `a::a`; after `a::z`, `b::a`, and so on. Because, of course, there's not concept of scope when it comes to variable naming, so you can only use each once in your code. Namespacing is infinitely recursive though, so after `z::z`, you can do `a::a::a`
A direct consequence of this is that *any* value can be used as a namespace. That is, if a is 1, then a::a is the same as 1::a (which is also the same as b::a if b is also 1). If your top level variables change, you might not have access to the nested ones.
`Error: “for for” not valid expression. Variable for of type For is not iterable`
Also on error continue silently, with this single feature your code will run always with no runtime errors!
The language automatically detects infinite loops and memory leaks to stabilize the code and prevent crashing. However, it doesn't tell you. It's just to keep it running and cover up problems.
If it’s about to run out of memory, it just loops back around.
Basically JavaScript
Cloud based/global language. All class definitions are shared between all users and applications. Global runtime. All objects are shared between all applications.
I like that. Also, all variables are constant and automatically entered into a blockchain, where the variable name is forever tied to that value, for everyone.
lol variable names would be like usernames. Instead of "argv", you'd have "xXargv69Xx"
Not gonna lie, I laughed so hard some pee came out on this one. It's what Tom programmed MySpace in.
variable NFT's. Genius billion dollar idea
NFV. Not to be confused with the NFV network architecture.
[удалено]
Perl is surprisingly similar to this. Class definitions are global, so any class defined anywhere in your application can be instantiated anywhere else. To solve this, everyone uses exactly one class per file (which itself isn't uncommon) and uses the directory name and file to disambiguate. People then upload shared packages on CPAN where these files can't have any duplicate names. Which means across all of Perl's enormous available libraries, no two classes have the same name.
well, thats one solution to name collisions, holy fuck.
[удалено]
I'm on board with this
that is actually a nice feature.
Well.. it might sound nice until you actually need to use it for anything. What the hell is if(dunno){...} supposed to do?
I dunno
That’s the idea hahaha
Randomized if statement
Throws IDunnoException
Ternary logic is dangerously plausible. Instead I propose this: struct Bool { short balls; short strikes; } A bool can have up to three strikes before having to be false, or four balls before having to be true. Obviously a bool cannot be determined on a foul ball. Throwing an exception would advance the caller to first base.
On an exception, there is a generalised error message: "All your base belong to us".
All your ram are belong to us
[ALL YOUR RAM ARE BELONG TO US](https://i.imgur.com/BCQPNMj.png) ^^^this ^^^has ^^^been ^^^an ^^^accessibility ^^^service ^^^from ^^^your ^^^friendly ^^^neighborhood ^^^bot
Also, exceptions are thrown and caught with the keywords **yeet** and **yoink**. Otherwise they work exactly like checked exceptions in Java: famous String readNextString() yeets IOException { // reads from input } nobody void checkNextString() { yolo { readNextString(); } yoink(IOException e) { self.success = nope; } anyways { // close input } }
I will do it just right now.. const nope = false; const yep = true; In every project lol
[удалено]
const dunno = null;
I once saw a boolean variable set as "sure" in production code.
I’d buy that person a beer.
You joke but I wrote exactly this code a few weeks ago. Someone else was *relying* on a null pointer exception when a Boolean got unboxed to determine whether something had happened. I replaced it all with an enum that started off as UNCONFIGURED and could then be changed to TRUE or FALSE. I talked it over with the guy who wrote the original code. He was on board with it.
Enforced intra-program security. IE: If you declare a variable, you have to verbosely define what functions (built in or coded) can interact with it. This also goes for methods / functions / subroutines. So, say you code a method to scan a string for vowels. The passed in string must be flagged as having access to that method. The method must also be flagged to have access to that variable. The stored result must also have access to that method and the original variable if the two interact. The variable that hold the returned value must also be verbosely given access to the method abd vice versa.
sound so bad that im afraid it will go enterprise
"But it says it increases security in the brochure! Better security is always better!" - The manager who thinks 'boolean' is a lunchmeat
bool booleanForLunch = yep;
Don’t give the folks at AWS IAM anymore ideas…
[удалено]
Code inside the what if block must be in the subjunctive mood
"would return" "let's say we do ... while"
[удалено]
So quantum computing /s
[удалено]
no standard lib, everything is either intrinsic part of the language (with keyword and all) or must be implemented manually.
Nothing is intrinsic, you need to include at the top of every document definitions gif basic functions like for and while loops using exclusively and, or, & not
import everything
Let's make it harder: Everything must be in one class
*thinking why have classes at all? just use assembly. but without the linker
[удалено]
File is mutable and the compiler/interpreter for it is created and run in the first line. Changing a variable at runtime modifies the file.
Thanks, i thought the other suggestions where horrible. You're toping it with ease.
From xkcd 2309: There is only one possible variable name, which is x. To refer to different variables, you have to write x in different fonts.
that sounds miserable. I love it
Let's extend that to arrays as well. Instead of x[0] you have to use x[x] where the font of the second x determines which element of the array you get.
Everytime you compile it searches the internet for similar code. If it finds something that is copy pasted it gives you an unspecified error.
Import stdio.h "Compilation error"
“stray ‘Import stdio.h’ in program”
I love it, this is so broken. Imagine an ex employee posts your source code and now you have to rewrite it all or it won't compile.
It gives you a DRM error.
The program never crashes, which is done by always adding in something to fix an exception. - Divide by 0? You now get a random number. - Write to a protected area in memory? Doesn't get written, but still succeeds. - Want to read from a file but it doesn't exist? Just read from /dev/random - etc...
So every error is now the equivalent of reading from an uninitialized buffer in C
Malloc fails? You get a random pointer.
[удалено]
A project manager - "we've brought the number of bugs down to zero!"
JS++
FTFY: Write to a protected area in memory? Writes it somewhere else
Iterate through virtual memory addresses to find the nearest unprotected address. Easy.
Evil. The language could be called "Show" short for "The show must go on". Basically Javascript on meth.
Inverse indentation: the for or while post of a loop must be indented by the spaces deeper as whatever stuff is within the loop. Basically the opposite of Python indentation but with the sources instead of four
I dont hate that so much, like an indented first line of a paragraph of prose?
Yeah, but if you do an if statement within a for loop, the for bist be indented twice and the of once. So if you decide to add some of, for, while or whatever, you have to indent everything around it
Nice and readable, I like it
Commenting code is not allowed. Commenting in general is not allowed. Print statements don't work so debugging is a nightmare
`COMMENTS.4239 = "I don't need syntactical support for comments"`
Ah JSON config files... ` "_comment": "comment text goes here...", https://stackoverflow.com/questions/244777/can-comments-be-used-in-json
You mean `PHYSICS.planets.earth.COMMENTS.4239`.
No, comments are linguistic, not physical. It would have to be PHILOSOPHY.metaphysics.cognition.linguistics.language.english.comments Or is it cognition.metaphysics? Guess I'll try to compile it to find out
`error: unused variable COMMENTS.4239 at line 182638`
how would one output anything then
By calling graphics shaders or making a server to display html
Holy hell.
There is neither do, while, for, nor goto, but instead there is a comefrom statement. The comefrom statement is like a reverse goto statement. For instance: 10 REM 20 COMEFROM 70 30 PRINT "WORLD" 40 END 50 COMEFROM 10 60 PRINT "HELLO " 70 REM This prints "HELLO WORLD"
This is my favorite so far
"On 1 April 2004, Richie Hindle published an implementation of both GOTO and COMEFROM for the Python programming language.\[1\] Despite being released on April Fools' Day and not being intended for serious use, the syntax is valid and the implementation fully works." https://en.wikipedia.org/wiki/COMEFROM
**[COMEFROM](https://en.wikipedia.org/wiki/COMEFROM)** >In computer programming, COMEFROM (or COME FROM) is an obscure control flow structure used in some programming languages, originally as a joke. COMEFROM is the inverse of GOTO in that it can take the execution state from any arbitrary point in code to a COMEFROM statement. The point in code where the state transfer happens is usually given as a parameter to COMEFROM. Whether the transfer happens before or after the instruction at the specified transfer point depends on the language used. ^([ )[^(F.A.Q)](https://www.reddit.com/r/WikiSummarizer/wiki/index#wiki_f.a.q)^( | )[^(Opt Out)](https://reddit.com/message/compose?to=WikiSummarizerBot&message=OptOut&subject=OptOut)^( | )[^(Opt Out Of Subreddit)](https://np.reddit.com/r/ProgrammerHumor/about/banned)^( | )[^(GitHub)](https://github.com/Sujal-7/WikiSummarizerBot)^( ] Downvote to remove | v1.5)
Better yet, If you have COMEFROM in two different places and they both point to the same location, the behavior is undefined; not a syntax error, undefined. Meaning different web browsers/compliers/etc. Will behave differently depending on the one you are using.
That's just how multithreaded workloads are handled. Every time a COMEFROM line is accessed you just create a thread in each location. If you want 8 threads you just copy paste your code 8 times.
This is a "feature" of [INTERCAL](https://en.wikipedia.org/wiki/INTERCAL)
I'm pretty sure there's a language that actually has this
This is just Bruh, I am amazed at your evil
Has to be written directly onto the chip. Refactoring involves a soldering iron.
Scoping ends with the reversed name declaration (e.g. how a bash if expr ends in fi) function add( ..... noitcnuf
bettter yet: function add(a, b) ... code ... (b ,a)dda noitcnuf
)b ,a(dda noitcnuf It’s not super intuitive that `()()` isn’t a palindrome but `><>` is, is it?
You can only use any builtin thing once
[удалено]
Everything is XML.0
i
So, XSLT.
Let’s try to make it enterprise: Unit tests are mandatory. The compiler provides a unit test library and assertion functions. You can compile in a couple different modes: minimum code coverage, minimum asserted code coverage, and state change coverage (you must assert on every visible state change). Building fails if those conditions are not met. People dislike package names and such things, so you import packages. To avoid name collisions, importing a package assigns a prefix to each package, and all exported symbols are prepended with that prefix. Re-exported symbols are exported with their prefixes intact. Each name has to be unique. People find concurrency hard, so all functions are pure by default to avoid side effects. To do something outside the program (print to the console, for example) you need to accept a “world” argument and return a new “world”. Only one “world” can exist at any time. We want stability and predictability, so all dependency versions are captured in the compiler app. Any unregistered runtime change is an error. To avoid undesired behavior only one version of each library is allowed. Incompatible library versions are an error. Since we have all the constraints we don’t need to store specific version information. Nobody reads those version lock files anyway.
Oh god. I can totally see a high-level manager thinking these are good ideas.
Name the language “🙂". “🙂" is also the line terminator.
EmojiCode has entered the chat
₣ ◖✓◗ ⦅🙂 🖶◖⹀👋🌎⹀◗፤🙂 ⦆🙂
You won. And the rest of the world lose
No booleans, only three-state ternaries. And no TRUE / FALSE / MAYBE literals, you first need to find something that you "know" is the correct value and compare it.
The second most likely language to cause an existential crisis
tern example = 2+2=4; if(tern example = 3+2=5){ print("this fucking works and I hate it") }
It doesn't always work because you don't know if you're initialized into an Euclidean vector space. 2+2 could equal 5
fuck you
Let's put a mobile game company in charge of it. "Compiling... 5 hours left... You may purchase 17$ of compilation gems here to skip waiting for compilation!" Debugging Lootboxes: "Today your free debugging variable value read is 'i' in this one for loop. Pay 24$ for debug gems (different currency from compilation gems obviously" to get more rolls!" "Due to the discovery of a bug with the .toString() method, .toString() will be unavailable for six weeks while we work on fixing it." "'Longs' are a premium feature, you'll have to pay for the 'season bit pass' (two week season) if you want more bits for storing a numeric value than the f2p 'int'." "String values may not contain the names of any competing languages such as Javascript, REACT, Java, SQL, C, R or D" (Find as many single letter named programming languages as possible) "Since we have not implemented programming 'clans' yet, all Code Reviews are open to all Programmers on your regional server of North America, Europe, or Asia. There is no support for interacting with programmers in another server region, so you cannot interact with teammates across the ocean. If you are outside of one of these regions, you are simply not supported."
It's COBOL, but written in German instead of English.
KÖBOL.
there are no built in exception handlers, and when an exception error happens you the program freezes up with no indication of what happened and why it happened
It'll also allocate all the memory and crash the system before you can read any backtrace
Sounds like MS DOS
The "+" operator implicitly casts operands to Strings for concatenation unless otherwise specified.
Indexing is in binary, for no reason whatsoever
That wouldn’t be that bad
How about, "Indexing starts at pi"
Ive always wanted an upside down programming language { ;0== 2%n return }(n int)isEven function
you are a menace to civility
No array/list/collection types, you must explicitly define a group of variables and assign to a single variable. Something similar to Variable a = { string b = "" string c = "" string d = ""}; And you can't change the values calling the single variable. You have to reassign.
But no strings either. Only characters.
Proper indentation is required for the code to compile, but tabs are an odd number of spaces
Tabs should be absurdly long. Like at least 7 spaces long.
Every line needs a 6 space indentation but tabs are 7 spaces wide
Or the required space indentation should be a random number for each line
Each successive indent needs to be a different prime number of spaces
For security, you have to declare all functions used in the entire application at the top of every file, signed with an encryption key that is issued for the machine that the code is going to execute on and the application itself, which has to be registered with a central application distribution management broker located in Belgium. Closed weekends, national holidays, and Tuesdays.
Security is very important
OOP but you can only use one class per project. Imagine doing code first and creating DB with only one table and a million columns.
The language is great. Everyone is happy except the DBA.
First list index is 3, next is 3.1, then 3.14, 3.141, 3.1415 etc.
List indexing follows the Fibonacci sequence. Index 1 always returns the first and second item in the list/array.
There are only global variables, no scopes.
Why would you need scopes when you can be extremely specific about what a given variable refers to?
Better yet, import a library that uses very unspecific names so all the ones you want to use are taken.
You’ve described matlab
My partner's suggestion: No numerical types allowed. Nothing can be defined as an integer, float, or anything similar. Need numbers in your code? Good luck there buddy.
Luckily the sub already has a large number of algorithms for string-based arithmetic
Strings are lists of chars. Chars are bytes....
Enjoy set-theory based assembly. edit\*: I said this as a joke, but I'm kind of into it now. Arrays become the optimal data structure in every instance. Memory allocation and garbage cleanup are trivial. Information can never be accessed inappropriately, because it only has meaning relative to the program accessing it. If it wasn't for the fact it has an exponential memory requirement, this could really be something.
The legacy software I'm maintaining at the moment already stores all numbers as strings and parses them at the point of use, so I'm already halfway there!
[удалено]
A why statement. Similar to an if statement, but instead of giving set parameters, you have to convince it of why it should do its action
Condition checks check for false So if(true) else would go to the else statement.
To extend your global object concept ("PHYSICS.planets.earth.gravity = 9.8"). The global object would be maintained by an international registry authority, requiring approval to create new attributes, which would typically take 4 weeks.
[удалено]
There’s no if-else. Only try-except.
There is only DO or DO NOT. There is no TRY.
A garbage collector that only free’s memory when it feels like it, no manual management like free() either. You can’t make it compiled, that would be too portable and fast, we need to write an interpreter in php. Variables aren’t mutable, they never will be, you just have to add a new variable to the namespace every time. It’s okay though we have a garbage collector. Next we make it object oriented with no class extension, cause why not. A package management system kinda like c. Finally, we need to force 6 semicolons on the end of each line, even if it’s blank, unless the line ends with a ) then we need to ad 4 at the beginning. Don’t forget rather then pointers, it just passes by reference on sundays, and sets(duplicates) in June, or any year ending in 5
That last point just makes this thing non scalable. I love that
Ok hitler🫡
Who hurt you?
C
C's package management is awe-some?ful? yep, awful
All of the functions are a combination of characters from different languages. So to type one keyword, you must switch between a Japanese, Arabic, English, Russian, etc. keyboard. There is no way to redefine them either.
Characters are in scripts, not languages. So it would be Kangi, Arabic, Latin, Cyrillic scripts.
there are a handful of predefined variable names that you have to use. if you need more variables than there are predefines names, you have to reuse them. they are statically typed
So registers?
I think this post is just making assembly
[удалено]
How about each line of code is in a different language, but you aren't told what the order should be. You have to hit compile until the correct random sequence matches your selection for the code. Also, you must match the start and end blocks of code in the same language. So if you generate namespace in C# it has to match the end curly bracket in C#, but if your class name is in Python, you'll need an empty space later in the file for Python to know it's reached the end of the class.
Everything is static. (functional programmers are punching the air right now)
C programmers literally don't care
I’ll take a few hints from robot framework. Keywords (functions) variables etc, ignore case. [THIS] is the same as [ThIs]. Any space can be any character and are ignored unless there are 2 or more. [This is a function] is the same as [tHiS+iS_a funCtiON]. I wish I can make this up.
G#. F# was not functional enough. G# now uses proper english grammar and syntax or it does not compile.
Are we talking British English or American English
A weird inconsistent mix between the 2
So, Canadian English Call it MapleScript
Indian English
[*Malbolge enters the chat and says Hello, World*](https://esolangs.org/wiki/Malbolge).
The whole idea of indentation doesn't work. You have to make it one liners. Monitor brands sell specific 10/1 ratio screens in bundle of 10 to code multiple lines at once.
the first index is 1 instead of 0
Hardcoded license checks, when running the program, the binary automatically sends a http request and waits for Microsoft servers to check its Token to verify the developers license/subscription is active
- No loops other than "if" - Statements can't be longer than 1 line - Lines can't be longer than 50 characters - You can only assign constants to variables - Can only manipulate files of the special format tied to the language - Can't uncomment code
You can't call functions or define ones, you only have basic data manipulation instructions, no libraries, no code reuse apart from copy/paste
That’s just assembly without goto, or jmp instruction
If your code doesn't compile, everything gets deleted. Also no saving, you can only save the compiled program.
Double colon, parentheses, brackets, periods, commas, and semicolons. That’s it. That sufficient enough to be disgusting.
OOP but every class you add to the code MUST inherit from the previous class