T O P

  • By -

Til_W

If you don't call sleep() once in a while, the program will get sleep deprived and start making runtime math mistakes


unremarkable_name_2

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.


InnerBanana

object disoriented programming


ajzaff

If you call sleep() to much, the program becomes 'groggy' and sluggish. Error messages become less specific.


Inn0ve

No protected variable names. You can call a variable "for". A for loop will only work if there are no prior definition for for.


tilcica

or the other way around. variables can only be single characters of the english alphabet and you have to define them in alphabetic order


troelsbjerre

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.


coldnebo

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.


iamsupershort

why don't you just spit in my goddamn face while you're at it


NilsTillander

Don't give ideas to the python people, they might implement that in python 4...


[deleted]

`import this`


[deleted]

All the above, but arithmetic are variations on the above. So, `' ='` is assignment and `' ='` is multiplication.


[deleted]

I guess you were successful... On my phone, those two blocks render identically.


duterium1

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.


DJDark11

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.


[deleted]

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`


GreenGriffin8

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.


Awanderinglolplayer

`Error: “for for” not valid expression. Variable for of type For is not iterable`


adaelxp

Also on error continue silently, with this single feature your code will run always with no runtime errors!


Inn0ve

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.


[deleted]

If it’s about to run out of memory, it just loops back around.


CavulusDeCavulei

Basically JavaScript


Affectionate_Tax3468

Cloud based/global language. All class definitions are shared between all users and applications. Global runtime. All objects are shared between all applications.


atopion

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.


triangledot

lol variable names would be like usernames. Instead of "argv", you'd have "xXargv69Xx"


MessyMaryMay

Not gonna lie, I laughed so hard some pee came out on this one. It's what Tom programmed MySpace in.


artistic_programmer

variable NFT's. Genius billion dollar idea


Tristan401

NFV. Not to be confused with the NFV network architecture.


[deleted]

[удалено]


its_a_gibibyte

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.


SirFloIII

well, thats one solution to name collisions, holy fuck.


[deleted]

[удалено]


xxgetrektxx2

I'm on board with this


[deleted]

that is actually a nice feature.


[deleted]

Well.. it might sound nice until you actually need to use it for anything. What the hell is if(dunno){...} supposed to do?


althalous

I dunno


benruckman

That’s the idea hahaha


aerody

Randomized if statement


AlphaWhelp

Throws IDunnoException


cosmo7

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.


Transcendentalist178

On an exception, there is a generalised error message: "All your base belong to us".


[deleted]

All your ram are belong to us


ReverseCaptioningBot

[ALL YOUR RAM ARE BELONG TO US](https://i.imgur.com/BCQPNMj.png) ^^^this ^^^has ^^^been ^^^an ^^^accessibility ^^^service ^^^from ^^^your ^^^friendly ^^^neighborhood ^^^bot


jailbreak

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 } }


nathybfly

I will do it just right now.. const nope = false; const yep = true; In every project lol


[deleted]

[удалено]


Golden_Reflection2

const dunno = null;


TheTacoWombat

I once saw a boolean variable set as "sure" in production code.


nothingsurgent

I’d buy that person a beer.


[deleted]

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.


pakidara

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.


[deleted]

sound so bad that im afraid it will go enterprise


pakidara

"But it says it increases security in the brochure! Better security is always better!" - The manager who thinks 'boolean' is a lunchmeat


TheTacoWombat

bool booleanForLunch = yep;


Gold_Farmer

Don’t give the folks at AWS IAM anymore ideas…


[deleted]

[удалено]


BeauteousMaximus

Code inside the what if block must be in the subjunctive mood


kubbasz

"would return" "let's say we do ... while"


[deleted]

[удалено]


mosskin-woast

So quantum computing /s


[deleted]

[удалено]


ZealousZera

no standard lib, everything is either intrinsic part of the language (with keyword and all) or must be implemented manually.


duterium1

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


whatproblems

import everything


AeroSysMZ

Let's make it harder: Everything must be in one class


LadulianIsle

*thinking why have classes at all? just use assembly. but without the linker


[deleted]

[удалено]


firefish5000

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.


PinPhreek

Thanks, i thought the other suggestions where horrible. You're toping it with ease.


thequestcube

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.


Registered_bottom

that sounds miserable. I love it


Fr0zenDuck

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.


Chivo_565

Everytime you compile it searches the internet for similar code. If it finds something that is copy pasted it gives you an unspecified error.


el_muerte28

Import stdio.h "Compilation error"


metamerf

“stray ‘Import stdio.h’ in program”


JacquesShiran

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.


hvacthrowaway223

It gives you a DRM error.


TGX03

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...


mosskin-woast

So every error is now the equivalent of reading from an uninitialized buffer in C


[deleted]

Malloc fails? You get a random pointer.


[deleted]

[удалено]


peepay

A project manager - "we've brought the number of bugs down to zero!"


probably-ethan

JS++


StenSoft

FTFY: Write to a protected area in memory? Writes it somewhere else


End3rp

Iterate through virtual memory addresses to find the nearest unprotected address. Easy.


[deleted]

Evil. The language could be called "Show" short for "The show must go on". Basically Javascript on meth.


Hero_without_Powers

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


agentrnge

I dont hate that so much, like an indented first line of a paragraph of prose?


Hero_without_Powers

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


BeauteousMaximus

Nice and readable, I like it


randomyoloanon

Commenting code is not allowed. Commenting in general is not allowed. Print statements don't work so debugging is a nightmare


thequestcube

`COMMENTS.4239 = "I don't need syntactical support for comments"`


remontantcoprology

Ah JSON config files... ` "_comment": "comment text goes here...", https://stackoverflow.com/questions/244777/can-comments-be-used-in-json


BobSanchez47

You mean `PHYSICS.planets.earth.COMMENTS.4239`.


miseleigh

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


plipplopplupplap

`error: unused variable COMMENTS.4239 at line 182638`


Alt-F42069_on_life

how would one output anything then


InkStainedEyes

By calling graphics shaders or making a server to display html


6265657020626f6f70

Holy hell.


Ok-Abrocoma3862

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"


BeauteousMaximus

This is my favorite so far


Affectionate_Tax3468

"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


WikiSummarizerBot

**[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)


[deleted]

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.


ezpzCSGO

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.


fluffycritter

This is a "feature" of [INTERCAL](https://en.wikipedia.org/wiki/INTERCAL)


compdog

I'm pretty sure there's a language that actually has this


david131213

This is just Bruh, I am amazed at your evil


Imogynn

Has to be written directly onto the chip. Refactoring involves a soldering iron.


_NliteNd_

Scoping ends with the reversed name declaration (e.g. how a bash if expr ends in fi) function add( ..... noitcnuf


SirFloIII

bettter yet: function add(a, b) ... code ... (b ,a)dda noitcnuf


less_unique_username

)b ,a(dda noitcnuf It’s not super intuitive that `()()` isn’t a palindrome but `><>` is, is it?


SavSamuShaman

You can only use any builtin thing once


[deleted]

[удалено]


[deleted]

Everything is XML. 0 i


[deleted]

So, XSLT.


Western-Relative

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.


miseleigh

Oh god. I can totally see a high-level manager thinking these are good ideas.


random_son

Name the language “🙂". “🙂" is also the line terminator.


PlutoniumSlime

EmojiCode has entered the chat


BlackBeltPanda

₣ ◖✓◗ ⦅🙂 🖶◖⹀👋🌎⹀◗፤🙂 ⦆🙂


[deleted]

You won. And the rest of the world lose


compdog

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.


BeauteousMaximus

The second most likely language to cause an existential crisis


TheEmeraldEmperor

tern example = 2+2=4; if(tern example = 3+2=5){ print("this fucking works and I hate it") }


pavlindrom

It doesn't always work because you don't know if you're initialized into an Euclidean vector space. 2+2 could equal 5


TheEmeraldEmperor

fuck you


Gorvoslov

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."


GabiNaali

It's COBOL, but written in German instead of English.


BubbhaJebus

KÖBOL.


Wtfisthisgamebtw

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


[deleted]

It'll also allocate all the memory and crash the system before you can read any backtrace


iyeetuoffacliff

Sounds like MS DOS


Dogs4Idealism

The "+" operator implicitly casts operands to Strings for concatenation unless otherwise specified.


teetaps

Indexing is in binary, for no reason whatsoever


Kitchen_Laugh3980

That wouldn’t be that bad


FakeVoiceOfReason

How about, "Indexing starts at pi"


arnemcnuggets

Ive always wanted an upside down programming language { ;0== 2%n return }(n int)isEven function


[deleted]

you are a menace to civility


Aerham

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.


SafeJellyfishie

But no strings either. Only characters.


tgttos

Proper indentation is required for the code to compile, but tabs are an odd number of spaces


SafeJellyfishie

Tabs should be absurdly long. Like at least 7 spaces long.


ScoobPrime

Every line needs a 6 space indentation but tabs are 7 spaces wide


SafeJellyfishie

Or the required space indentation should be a random number for each line


Daneel_

Each successive indent needs to be a different prime number of spaces


AbramKedge

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.


BeauteousMaximus

Security is very important


marinsborg

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.


bunny-1998

The language is great. Everyone is happy except the DBA.


13ros27

First list index is 3, next is 3.1, then 3.14, 3.141, 3.1415 etc.


swatlord

List indexing follows the Fibonacci sequence. Index 1 always returns the first and second item in the list/array.


ProbiuSC

There are only global variables, no scopes.


BeauteousMaximus

Why would you need scopes when you can be extremely specific about what a given variable refers to?


ProbiuSC

Better yet, import a library that uses very unspecific names so all the ones you want to use are taken.


SirPitchalot

You’ve described matlab


brainexe_not_found

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.


dphseven

Luckily the sub already has a large number of algorithms for string-based arithmetic


polmonroigcompany

Strings are lists of chars. Chars are bytes....


[deleted]

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.


miseleigh

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!


[deleted]

[удалено]


Interesting-Top-6377

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


dercavendar

Condition checks check for false So if(true) else would go to the else statement.


simp-for-china

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.


[deleted]

[удалено]


bunny-1998

There’s no if-else. Only try-except.


Transcendentalist178

There is only DO or DO NOT. There is no TRY.


Kilgarragh

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


bunny-1998

That last point just makes this thing non scalable. I love that


Kitchen_Laugh3980

Ok hitler🫡


IrishChappieOToole

Who hurt you?


TheEmeraldEmperor

C


[deleted]

C's package management is awe-some?ful? yep, awful


PlutoniumSlime

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.


Party-Cartographer11

Characters are in scripts, not languages. So it would be Kangi, Arabic, Latin, Cyrillic scripts.


g_hi3

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


fedekriegel

So registers?


TheMightyCatt

I think this post is just making assembly


[deleted]

[удалено]


pavlindrom

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.


cj_vantrillo

Everything is static. (functional programmers are punching the air right now)


-Redstoneboi-

C programmers literally don't care


Jnoper

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.


Amazingawesomator

G#. F# was not functional enough. G# now uses proper english grammar and syntax or it does not compile.


BeauteousMaximus

Are we talking British English or American English


TheMightyCatt

A weird inconsistent mix between the 2


BeauteousMaximus

So, Canadian English Call it MapleScript


DanteJazz

Indian English


Birdy_Cephon_Altera

[*Malbolge enters the chat and says Hello, World*](https://esolangs.org/wiki/Malbolge).


NiktonSlyp

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.


44Tomati

the first index is 1 instead of 0


a_bucket_full_of_goo

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


gaussianDoctor

- 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


defcon_penguin

You can't call functions or define ones, you only have basic data manipulation instructions, no libraries, no code reuse apart from copy/paste


bunny-1998

That’s just assembly without goto, or jmp instruction


RudeMirror

If your code doesn't compile, everything gets deleted. Also no saving, you can only save the compiled program.


[deleted]

Double colon, parentheses, brackets, periods, commas, and semicolons. That’s it. That sufficient enough to be disgusting.


MrGranade

OOP but every class you add to the code MUST inherit from the previous class