Domain: muppetlabs.com
Stories and comments across the archive that link to muppetlabs.com.
Comments · 183
-
Right here!
Next programming model is right here
-
Re:Don't want to bash PHP....
The reason that noone's hacked the Perl equivs. is that not even the hackers want to code in Perl.
(Jus' trolling. I'd write in BrainFuck over Perl.)
-
Re:Start again?
Pfft your language is just a ripoff of Brainfuck
;-) -
The Solution
I maintain that the only true solution to optimization is to choose the right language to work in. If you truely want a language in which confusion is simply not a problem, try this. It resolves the "if (!ptr)" vs "if (ptr == NULL)" argument nicely.
-
Re:Umm....
Anyway, I'm just saying. I don't think MS *could* open the format -- at least not as regards document embedding.
Even if everything thing you've said is true, your conclusion is unjustified.
M$ is getting $35,000,000,000+ per year. They could reverse engineer and document their own format with their small change, even if it was serialized Brainfuck. To claim that because it involves activex controls this somehow makes the format undescribable is simply wrong. If the format contains state, that state can be described. Period.
If M$ is claiming what you say they are then they are lying. To technically naive people. Business as usual for them.
---
It's wrong that an intellectual property creator should not be rewarded for their work.
It's equally wrong that an IP creator should be rewarded too many times for the one piece of work, for exactly the same reasons.
Reform IP law and stop the M$/RIAA abuse. -
Re:Cold, Hard Reality
It's sad but nearly true. I think people should almost be forced to take a legal studies course before touching a computer. At least that way they know partially WTF is actually being said in an EULA. I try to read them, but, the way they screw with the language screws with my brain in a way nothing but Brainfuck does.
-
Attribution
It appears to come from here.
-
Note: "Herb" actually refers to Hermann Minkowski.
Note: "Herb" actually refers to Hermann Minkowski. (And "Izzy" and "Ari" are, of course, Isaac Newton and Aristotle.)
http://www.muppetlabs.com/~breadbox/txt/al.html -
Re:Clever, but not exactly practical
Someone should make a Lego computer, and then run a CAD program on it, just for irony's sake.
I'd be happy with an BF interpreter made out of Lego... -
Re:Perfect
Perhaps even made up sports. Calvinball anyone?
In order for Calvinball to work as a video game, it would have to be written in highly-obfuscated Brainfuck and be nothing more than a bunch of /dev/urandom output. ;) -
Re:My first Caml script...
Looks more like brainfuck source to me.
-
Re:Haskell just won't cut it
I was about to post more or less the same thing you did -- that users shouldn't care what its written in but I realized as I read your post that it isn't in fact true.
How would you feel if Microsoft released the source code to MS Excel in, say, Brainf*ck?
Actually, lets say its an obscure compiled language that can't be easily translated into another language at all.
Would you be praising MS for their contribution to the community or decrying their choice of language which limits the legibility and review of the code?
Haskell is completely opaque to me (as far as debugging is concerned) although I'm sure I could learn it if I wanted to (having tucked many others under my belt already, including most recently PostScript for some reason). That opacity does change my feelings about using a program -- RMS' views and paranoias notwithstanding, his thoughts about "what if the developper dies or quits maintaining the code?" are justified.
I have expectations that people would continue to maintain a Haskell program because I've met Haskell programmers -- but not as assured as I'd be if it were written in C, PERL or even Python. (I leave Java off that list since most Java programmers seem intent on code-hiding rather than sharing). -
Re:Ask a slightly better question...
Chip's challenge has been ported to Linux. You need to keep the original
.dat file for levels. The Linux implementation is called Tile World. Enjoy. -
Re:What do they teach in undergrad now?It's like teaching people to drive with semi-tractor trailers.
Good idea! And while we're at it, let's move all programming classes to brainfuck.
-
Certainly
Does it have to be a C code? In my opinion C is not nearly obfuscatable enough. What about BF or Unlambda? Or, better yet, Lingua Romana Perligata?
how about Brainfuck
Well, yes. Certainly. That was actually my first example. I only used the euphemism "BF" instead of this vulgar profanity, so this misunderstanding is, well, understandable.
-
C code?
C code that appears correct but does the wrong thing when counting votes.
Does it have to be a C code? In my opinion C is not nearly obfuscatable enough. What about BF or Unlambda? Or, better yet, Lingua Romana Perligata? Now when I'm thinking about it, I think PASM might be perfect for such a task, if only-- I know! Acme DWIM or Bleach compiled directly into PASM! With JIT!! Dear God, that would be so cool!!! But wait, they want C code, right... Wait a minute, Perl is written in C! So is Parrot! And they can be embedded in a C program! Sweet Heavens! What an idea!!!1 Gotta go.
-
Strong Typing vs Type Safety
In strongly typed languages, type safety is enforced, with no loopholes. Both ML and Java meet this criterea.
You are confusing typing strength with type-safety.
For example, you can have a crash-proof implementation of BF. Does that make BF type-safe? Yes; the type system is so pathetic that it's trivial to enforce type safety. Does it make BF strongly typed? No, because the type system doesn't do a good job of accurately describing the values you compute on. Tcl is also type-safe, but, again, the type system is weak (strings and lists are all you get).
Perl is often cited as a weakly typed language because strings and numbers are easily interchangeable. But this doesn't make Perl type-unsafe. Type-safety is enforced; it's just that there is a type called "scalar" that can handle both strings and numbers by design. Perl is weakly typed because many other languages make the distinction between strings and numbers and therefore more accurately describe values.
Type-safety means you cannot escape the type system. Strong typing means that your types are very precise descriptions of your values (relative to other languages).
Some examples:
Language | Safe | Typing Strength
Tcl . . .| Yes. | Pathetic.
C . . . .| No . | Weak. Lacks subtyping, among others.
Old Java | Yes. | Medium. No parametric polymorphism.
New Java | Yes. | Strongish.
C++ . . .| No . | Strongish.
Haskell .| Yes. | Strong.
Epigram .| Yes. | Insanely Strong.
BTW, Python shouldn't really be considered strongly typed. The typing is weaker than Java's. Method invocations and field accesses are performed through string lookup.
class ElevatorButton:
. . def Press()
. . . . CallElevator():
class BellyButton:
. . def Press():
. . . . Giggle()
// weakly typed:
x = GetElevatorButton();
x.Press();
// strongly typed (not real Python):
x = GetElevatorButton();
x.[ElevatorButton]Press();The strongly typed version ensures that you're invoking the method you think you're invoking instead of invoking a method that simply has the same name. Python will not notice an error if GetElevatorButton() returns a BellyButton instead because method invocations are done by matching strings. Of course, the stronger typing doesn't really work well in a dynamically typed language. (Then again, dynamic typing is just a fad that will fade when people realize that what they really wanted was type inference).
-
Re:'a mere 6 lines'?
Brainfuck does everything with just 8 charcters
-
Re:"Niche guys"?speaking of brainfucked, have you ever programmed in brainfuck?
> Increment the pointer.
And of course, the Game of Life as implemented in Brainfuck. Complete with ASCII art sourcecode.
< Decrement the pointer.
+ Increment the byte at the pointer.
- Decrement the byte at the pointer.
. Output the byte at the pointer.
, Input a byte and store it in the byte at the pointer.
[ Jump forward past the matching ] if the byte at the pointer is zero.
] Jump backward to the matching [ unless the byte at the pointer is zero. -
Re:About OcamlNo, it does not have any advantage. Any functional style algorithm can be expressed in imperative style.
Any program can be written on a Turing machine. Or in Brainfuck for that matter.
And C++ can do functional programming. It *is* a functional language, in some respect.
No, it fails on most properties that make up functional languages: functions are not "first class", there is no static type checking, there is no partial evaluation, variables represent memory cells instead of values,
...Sebastian
-
Smallest ELF program
You can't talk about the ELF format without mentioning this gem. You learn a lot about the format when you push it to its limits.
-
Missing optionWhat about Brainfuck?
-
Re:A program written in many of them
Start here on your journey through the Turing Tarpits.
And then go do some Object Oriented BrainF*ck just because OOP makes things so much easier. -
How could they leave off Brainf***
How could you not like a language whose syntax is > < + - . , [ ]
Its also the smallest compiler ever written. -
Missing Languages
Two languages missing are: Io [...], REXX [...], ficl [...].
You have provided great examples. I would add another two: Unlambda, bf and maybe also Ook. Furthermore, let us not forget about Assembly. Seriously, I strongly believe that if kids today had learned those languages and tried to understand how computers really work, we will have much less Flash/JavaScript/PHP/MySQL "elite" (or "leet," if you will) websites shamefully vulnerable to trivial cross-site scripting and SQL-injection exploits. The problem is that script kiddies today don't want to learn anything, be it REXX, Unlambda, IMCC, Perl 6 or even valid ANSI C for God's sake. We have to do something about it. I agree with you.
-
Re:Using the right tool for the jobIt's a turing complete language
so is Brainfuck, but i wouldn't consider it the right tool at any time.
-
I know the perfect language.
Only 8 instructions to learn, fully Turing-complete, implementations which run on almost anything, and a name sure to get your mouth washed out with soap just for mentioning it.
-
Brainfuck!
Hey, get her to learn Brainfuck! It's so simple! It's Turing with numbers! Easy, only eight commands to learn, and you're done!
-
Brainfuck ?
How about Brainfuck ?
Seriously though, maybe you should learn her about the von Neumann architecture, and let her play with a simple implementation of it. At the very least it let's her help understand the basics of computing. -
Re:Can't seem to find it...
With names like that, why don't we all just switch to INERCAL character set. Fun!
-
Re:Relevant excerpt from the INTERCAL language man
Intercal is a joke language (though there is a compiler, natch).
See also brainfuck, whitespace, etc. -
Re:Hmm...
-
What about Intercal?
Okay, some of the keywords are English, but they don't really help. The "documentation" can be found here.
-
BrainFUCK!!
-
whitespace
I havent seen nobody mention whitespace, it has no english keywords whatsoever =)
Well at least another poster already posted about brainfuck
I can't remember of any other languages, but maybe one could try machine code, nah, just kidding (are there people who program directly in machine code?, I found this link about the Psion organizer or something, but I didn't get too deep into it) -
brainfuck
brainfuck though, granted, it's still in ASCII.
-
Re:Piracy is caused by lazy developers
But, hell, most of them are still using C or C++: the most backward, cryptic, and unproductive languages imagineable.
You obviously don't have much of an imagination. -
Re:Excellent!
No matter what you throw at me, Brainfuck is worse
http://www.muppetlabs.com/~breadbox/bf/
Some of the intercal stuff is pretty nasty, but the gnarliness of this program to calculate Pi trumps all
Fun times! -
Here's simple proof
But I'll continue to live in reality where some languages make it easier to write readable code, while some make it harder.
You and me both. I don't remember who said it, but my position is this:
It's not that Perl programmers are idiots, it's that the language rewards idiotic behavior [on the part of the programmer] in a way that no other language has ever done.
While it's obviously technically true that turing complete-languages are equivalently powerful, it ignores the reality that writing certain kinds of programs is easier in some languages,
Here is the proof I mentioned, and the ultimate refutation to anyone who spouts off that nonsense about "all Turing-complete languages are equally powerful, so they're all equally readable" (usually a Perl coder, ha): Brainfuck. It has only 2 variables and 8 operations, but ooooh, it's Turing complete!
-
Re:Best. Excerpt. Ever.
A fellow programmer once called C++ a "write-only" language. I guees this could be extended to PERL.
Nah, C++ is lovely. When you've been using it as long as I have you start to think in it. ;)
A true "write only" language is brainfuck
I was going to paste a sample program here, but /. just gives me a "please use fewer 'junk' characters" error.
Ho hum. -
Wonder how big the VB/.Net version would be?
It reminds me of this guy who wrote a snake game for Linux that compiles to under 1500 bytes. It really does work.
-
Wonder how big the VB/.Net version would be?
It reminds me of this guy who wrote a snake game for Linux that compiles to under 1500 bytes. It really does work.
-
Re:Python and Perl...Like this one? http://awk.geht.net:81/README.html
AWKhttpd - HTTPD written in AWK This is another "fun" HTTPD and it's written in the unix tool language AWK. This is (still) an Alpha prerelease.
There are httpd's written in pretty much every language -- although I don't think BrainF*ck has been used yet. And Malbolge certainly hasn't.
-
Forget Eiffel . . .
. . . the future is brainfuck!
-
Re:Too obscure
-
No need to learn
For those of you who don't know PHP, just wait a version or two. It already supports VB, C, C++, Javascript and Perl style coding. Version 5 is basically Java. Expect Intercal, Unlambda, and BrainF*** support by version 7 or 8. If you know a Turing-complete language, chances are you'll be able to use it to code PHP by the end of the decade.
-
Re:Out of Context
C will never die until someone makes a new language that is just as awfull.
It's not quite as bad as C, but this might be the language you're looking for. -
For tomorrow:
Learn Intercal.
-
Re:assimilation 101
you forgot to mention the brainfuck programming language.
-
Re:Not intended to be used for illegal distributio
Quite a flamewar you've started there. I'd just like to show you this, perhaps as an example of when short words complicate the text.