BrainF but much much more annoying
So in the post: https://repl.it/talk/ask/Wildest-programming-language-idea/42923 I posted "brainf but even worse" (Or something like that). And so I decided to make it. And I think that this takes the cake. I've added two characters (/ and *) just to make life a little easier so you don't have to type "+" 100+ times just to print "h".
Here's a (bad) tutorial.
Similar to BrainF, there is a list of values, in this, each value is called a "cell". A "+" adds 1 to the cell, and a "-" subtracts 1 from the cell. With "." you can print the Unicode value, so if a cell was equal to 100, and you added a "." to the end of the line, then "d" would be printed. Then there's "*" ad "/". These will multiply or divide 10 from the cell respectively, that way life is just a little easier. Finally, there's "!", this will just end the program. It's not needed, but if you add it, then it just stops everything with
+ - Adds 1 to the cell
- - Subtracts 1 from the cell
* - Multiplies the cell by 10
/ - Divides the cell by 10
! - Ends the program
. - Prints the Unicode value of the cell
# - Resets the cell to zero (Idea by KENNETHTRIPP (9))
By the way, I named this programming language (if you could even call it that) "Suffer".
Finally, enjoy suffering!
How is this worse than BrainF? The only thing to make BrainF worse is this:
\ toggle +/- toggled as = ./, toggled as ; [/] toggled as | >/< toggled as ^
This results in 5 characters
^=====\|=^\========\|\; prints the letter "A"
I'm not sure how else to make BrainF even more torture
@DeBeast591 the only sad part about this is that you didn't include
] which no longer makes it turing complete.
Would probably be easy to make a superset of BrainF like this one I made a few months ago (being a BrainF enthusiast myself): https://repl.it/@realTronsi/ARCHIVED-Mybraine#Documentation/_README.md
@realTronsi Yeah, I've tried to make programming languages in the past, but the one thing I haven't been able to get a grasp of is making loops and if statements. So the:
if "hello" == "hello": print("hello"); # <-- This is the part I cant ever get working when I (try and) make a programming language.
@ridark Lol! Python is great for these kinda projects, I personally want to learn C, I've been work with my Arduino recently, and I quite like C++ so far, it's very comfortable, way easier than I thought XD. Once I've gotten a little better at it, I may remake this in that for performance. Idk. Though Node I'd say is best for web development or server backends, not really I/O, though I have little knowledge of Node, so idk it's I/O capabilities.
@DeBeast591 I didn't base mine off BrainF either and wrote it from scratch as well, hence why its so messy because it was really just a meme project.
loops aren't difficult, just remember where the loop starts, and if the condition is true, then run the code in the loop until it reaches the end, then jump back and check the condition again.
In the AST, it would look something like a loop -> condition -> rest of code blah
And how I've done it just node -> rest of code
> loop -> cond -> code
jumping back to rest of code if the cond is proven false
(overly simplified for the purpose of not having to type ascii and also not having 5 years to explain)