Esoteric languages are good fun, to be sure, but it's possible to take the concept a little far.
Brainfuck, for example, is a great example of a minimalist Turing-complete language, expressed as an esoteric. Befunge and Piet are other good examples of languages that approach programming from a different angle. Malbolge, though, is just malevolent and evil for its own sake.
yes, that was the design goal. intercal is supposed to be unlike any other language, brainfuck is supposed to be minimalistic, malbolge is supposed to be impossible to use.
That's a nice response to the frustrating "good programmers can create working software in any language/technology - stop complaining about WPF/VB6/Delphi7/CVS" statement.
I really meant it as a joke/proof-of-concept, rather than a challenge per se. That some people came along later and found it to be an entertaining challenge was a happy accident.
"There is a claim that the '99 bottles of beer' program has been written in Malbolge. ( See http://99-bottles-of-beer.ls-la.net/m.html) The implication is that the program was doing looping, testing and printing. However, closer examination shows that the programmer was just doing a printf("") of the desired result using straight line code. Conceptually this is exactly the same as the 'hello world' example above."
Hello Patient0, I didn't follow closely the issue, but reading the comment http://www.99-bottles-of-beer.net/language-malbolge-995.html... I formed the following opinion (speculation, since no much "subtitles" are provided): somebody wrote the 99-bottle program in Malbolge, actually doing printf("..."), which isn't that interesting after all. Then Hisashi Iizawa showed up and did the real thing (looping). Pedro Gimeno (the commenter I linked) did some analysis, and is convinced that the program does looping:
The program length is 22561 instructions; its output is 11459 bytes long. The ratio is less than 2 instructions per output byte, clearly insufficient <i>with Malbolge's limitations</i> for a program which simply outputs constant text.
This person also rewrote the program in what he calls "the normalized form", whatever that means (see comment for link to that code).
I like esoteric languages as much as the next geek, but not being Turing-Complete puts a real limit on the coolness of a language. I think it's much more salient to say you can do anything in a ridiculous language rather than limiting it.
The only reason it's technically not Turing-complete is because of its limited memory. The Malbolge Unshackled variant has unlimited memory and is Turing-complete.
Esoteric languages are good fun, to be sure, but it's possible to take the concept a little far.
Brainfuck, for example, is a great example of a minimalist Turing-complete language, expressed as an esoteric. Befunge and Piet are other good examples of languages that approach programming from a different angle. Malbolge, though, is just malevolent and evil for its own sake.
I guess that's the point.
Malbolge would be a challenge to the programming community.
"Here is a language. I bet you can't make it do anything."
Some people clearly like being challenged (see, for instance, the writer of the 99 bottles of beer algorithm)
yes, that was the design goal. intercal is supposed to be unlike any other language, brainfuck is supposed to be minimalistic, malbolge is supposed to be impossible to use.
That's a nice response to the frustrating "good programmers can create working software in any language/technology - stop complaining about WPF/VB6/Delphi7/CVS" statement.
I really meant it as a joke/proof-of-concept, rather than a challenge per se. That some people came along later and found it to be an entertaining challenge was a happy accident.
Given the name (8th circle of Hell), I'm sure that's the point.
Here a program that makes a for loop. From the comments: This program is something I thought to be impossible
http://99-bottles-of-beer.net/language-malbolge-995.html
Awesome... It might GB of code to write some thing useful.
"There is a claim that the '99 bottles of beer' program has been written in Malbolge. ( See http://99-bottles-of-beer.ls-la.net/m.html) The implication is that the program was doing looping, testing and printing. However, closer examination shows that the programmer was just doing a printf("") of the desired result using straight line code. Conceptually this is exactly the same as the 'hello world' example above."
http://www.lscheffer.com/malbolge.shtml
Hello Patient0, I didn't follow closely the issue, but reading the comment http://www.99-bottles-of-beer.net/language-malbolge-995.html... I formed the following opinion (speculation, since no much "subtitles" are provided): somebody wrote the 99-bottle program in Malbolge, actually doing printf("..."), which isn't that interesting after all. Then Hisashi Iizawa showed up and did the real thing (looping). Pedro Gimeno (the commenter I linked) did some analysis, and is convinced that the program does looping:
The program length is 22561 instructions; its output is 11459 bytes long. The ratio is less than 2 instructions per output byte, clearly insufficient <i>with Malbolge's limitations</i> for a program which simply outputs constant text.
This person also rewrote the program in what he calls "the normalized form", whatever that means (see comment for link to that code).
Ah I see. And he does say "(real loop version)" as a subtitle.
Obviously a Perl inspired Syntax.
I like esoteric languages as much as the next geek, but not being Turing-Complete puts a real limit on the coolness of a language. I think it's much more salient to say you can do anything in a ridiculous language rather than limiting it.
The only reason it's technically not Turing-complete is because of its limited memory. The Malbolge Unshackled variant has unlimited memory and is Turing-complete.
Ben, if you're out there, hope you're doing well. - Mike and Simone, from Mines
And lo, by the name Malbolge I am summoned.
ben at xn13 dot com if you want to get hold of me.