Esoteric programming languages

Jones
Unregistered
 
Post: #1
http://en.wikipedia.org/wiki/Esoteric_pr...g_language

Those languages are pretty funny. Look at all the work you need to do just to write hello world, in the "brainfuck" language.

http://en.wikipedia.org/wiki/Brainfuck#Hello_World.21

Why does ANYBODY do this?

I mean, it's hilariously funny in my opinion, and I'd love to give it a go at making the most impossible language ever, but can anybody here justify making a language like that, other than a joke?

Wow
Quote this message in a reply
Member
Posts: 715
Joined: 2003.04
Post: #2
Check out 99 Bottles of Beer in 880 programming languages

Its rather educational. I love to see this done with a game concept, it would make learning programming interesting, 99 Bottles of beer is amusing, but not as inspirational.
Quote this message in a reply
Moderator
Posts: 1,560
Joined: 2003.10
Post: #3
Brainfuck, while having zero practical use, is a blast to play with. It's a great mental exercise to figure out how to do more complex things with only eight operations. I haven't tried any of the others yet, but I expect they're similarly fun and mind-bending.
Quote this message in a reply
Apprentice
Posts: 19
Joined: 2005.06
Post: #4
BF is a good benchmark for how well you understand X mathematical concept. It's Turing complete so theoretically you can do anything any other programming language could (mathematically, at least) but you have to know what you're doing inside and out before you can even think about implementing it in BF. Ok, that's my round of BS for today.


Also, hasn't the guy from Kernel Thread implemented the Towers of Hanoi in a ton of different languages? I think he even got one running on his car's CD player.
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #5
Brainfuck is far from a joke, it is as said turing compatable because it is a version of the turing machine.
This is a machine Alan Turing wrote about that would travel along a tape of different instructions performing different actions for each one. It was the first turing complete computer designed, aside from being designed by the man himself.

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Jones
Unregistered
 
Post: #6
Well, I'm not sure I really took in any of that... but oh well.

My pals and I have started developing F++, the stupidest language on earth.

EDIT:

What exactly is "PowerPC Assembler"?

Thanks!
Quote this message in a reply
Moderator
Posts: 697
Joined: 2002.04
Post: #7
I think you'll find the award for stupidest language on Earth has already been awarded to whitespace.

PowerPC assembly language is the mnemonic wrapping of PowerPC machine code (i.e. what a compiler produces from higher-level languages such C, C++, and friends); there was a thread on this recently, here.

Mark Bishop
--
Student and freelance OS X & iOS developer
Quote this message in a reply
Oldtimer
Posts: 834
Joined: 2002.09
Post: #8
I've always been a fan of Malbolge. It was written as a spec of the most hellishly difficult language (Malebolge is [incorrectly, afaik] thought to be the capital of hell) that a group of bored coders could come up with. Rumor has it, the spec hung around for several years before anyone managed to write Hello World in it. Another merit to its difficulty is that the Malbolge version of 99 bottles of beer isn't as much a program as a routine that prints out the lyrics as a string. The version that is up at the 99 bottles of beer site claims to be a real program, but after some (a lot) of analysis, clever people noticed that it wasn't - it's just a Hello World with a longer message.

Most people consider Malbolge to be not a programming language, but rather a cryptosystem.

Quote:Malbolge, for those not familiar with it, is a language designed to be difficult (or perhaps impossible - until recently, there was not even an informal argument showing Turing completeness) to program in. For example, the effect of any instruction depends on where it is located in memory (mod 94, of course), all instructions are self-modifying (according to a permutation table) and both the code and data pointers are incremented after every instruction, making it hard to re-use any code or data. There is no way to initialize memory except to one of the 8 instruction characters, there is no LOAD or STORE operator, and the only available memory operators (both of them) work in trinary and are designed to be opaque. The only control flow construct is an unconditional computed jump, which is also nearly worthless since there is no way (or certainly no obvious way) to set memory to anything except the 8 instruction characters.

That said; 99 bottles of beer on the wall in Malbolge: http://www.99-bottles-of-beer.net/langua...e-995.html (For obvious reasons, I chose to not paste it in the forum.)
Quote this message in a reply
Sage
Posts: 1,403
Joined: 2005.07
Post: #9
dumb Wrote:Well, I'm not sure I really took in any of that... but oh well.
Well, if you dont want an answer to your question, dont ask it. Huh

Sir, e^iπ + 1 = 0, hence God exists; reply!
Quote this message in a reply
Jones
Unregistered
 
Post: #10
unknown Wrote:Well, if you dont want an answer to your question, dont ask it. Huh

Sorry, it was my stupid day. Cool

Wow, whitespace is awsome... it's so creative.

Well, R++ now has a couple of commands. One that downloads the entire communist manifesto to your home folder, one that takes all the "l"'s out of a word and replaces them with "r"'s, and vica versa.

In fact it has more that two commands, here is the command dictionary (version 0.2.7):

_RANG = A useless command that is required to complicate things.
_cockoo # = A command that calculates the volume of a sphere based on it's radius.
_beeP = Another pretty much useless command that beeps.
_w0rd str = A command that replaces all r's will l's and vica versa.
_mArx = A command that downloads the entire communist manifesto.
_qUiz = A command that gives you a pre-programmed psycho-analysis.
_spoRk str = A command that makes the computer speak a word.
_hOOt # = A command that calculates a number times itself.

EDIT : All commands must be capitalized as indicated, or the code will fail. Smile

The commands take arguments, and work in conjunction with each other, but as of yet I have to work out a variable system. Then I'll port it from AS, to C.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  High and Low Level Languages FlamingHairball 22 10,291 Jan 8, 2008 10:23 PM
Last Post: PowerMacX
  What languages do you need for a MMORPG? Lost22 12 5,910 Nov 20, 2007 01:07 AM
Last Post: Lost22
  Re-introduction of low level languages? Duane 4 3,230 Oct 30, 2007 03:10 AM
Last Post: OneSadCookie
  Pros and Cons of Different Languages Blacktiger 40 14,903 Aug 2, 2007 09:36 PM
Last Post: richard
  Some questions on languages from a new guy (...beginners) ProfessorApe 20 7,957 Jan 24, 2007 03:10 PM
Last Post: leRiCl