Hacker News new | past | comments | ask | show | jobs | submit login
Piet is a programming language, whose programs look like abstract art. (wikipedia.org)
99 points by psawaya on March 4, 2010 | hide | past | favorite | 28 comments

Quick! Something interesting. Let's mark it for deletion!

(Sadly, it looks like they've already made two attempts on this article)

Well, it appears that downvote abuse seems to have somewhat abated after a rash of downvote hordes around the new years (goodness that was annoying)....now they just flag and delete everything in sight when it doesn't fall into their personal concept of "interesting".

I might be mistaken but I think davidw was referring to earlier attempts to delete the article on Wikipedia, not Hacker News.

See, for example:


From the deletion discussion: "Previous AfD was a trainwreck due to offsite activism."

Translation: People from the "rest of the internet" stepped in to clarify how important they thought the article was, so they decided to declare the discussion invalid.

The collection of sample programs is fun to look at: http://www.dangermouse.net/esoteric/piet/samples.html

The program for calculating Pi is my favourite. "Naturally, a more accurate value can be obtained by using a bigger program." made my day.

There was an obfuscated C program that worked the same way: a circle of code used to get its own area and radius. I can't seem to find it though.

The Wikipedia page on the IOCCC has it. See http://en.wikipedia.org/wiki/IOCCC#Examples

Haha I like this Hello world program http://www.dangermouse.net/esoteric/piet/hw6_big.png

I am so tempted to waste half my day playing with this. One day this will replace 3D barcodes and people will get mobile phone apps from soda cans.

The idea of those barcodes is to maximize the reliable, storable information, regardless of format. If you make the information bytecode for a programming language, people would be able to get mobile phone apps from soda cans without needing to program in an esoteric programming language.

Using something like piet doesn't maximize reliability (error correction) and thus isn't good for that domain.


No.... Not at all.

Sorry if I'm misunderstanding your reply due to its brevity, but again, error correction is the primary concern of these barcodes, and given that they are good error correctors, you can put what data you want within them, be it an underlying visual programming language or text.

If by "yet" you mean your proposal is to expand on these visual languages by making a programming language + error correction system, you're not adding any value that didn't exist before, it is the same thing as what already exists.

And besides, it's better to just give the user a URI and then they can download the application from a more robust location.

By "yet" i meant "at this moment in time you may be correct, who know's what the future will bring".

I agree in principle with your points, but my point was "one day I can see something like this replacing the space where the 3D barcodes are on cans now"

That's actually not such a crazy idea.....that may be an idea with legs.

I didn't think it was crazy. Although for complex applications Piet needs bigger and bigger images... but then most things start that way.

That will make barcodes a whole new medium to exploit software vulnerabilities - I can't wait to see the first barcode virus.

This is really cool. Lots of possibilities, and just imagine what the steganography crowd would think if they got ahold of it.

Obligatory esolang wiki reference: http://esolangs.org/wiki/Piet

where can get this stuff the author is smoking ? ;)

When I read a "witty reply" I reach for the mouse to give it a downvote. Or, if the mouse is too far away, I convince myself that it was actually insightful. --Hitch Medberg

Although you're being funny - I have to say that when I see things like this programming language that are so outside the box for me, it really does feel like there is some drug induced transcendence going on. I love this stuff, it makes me think - what if we used color as meta information in C what would that look like? The program flow is 2d now instead of just down the screen, what about adding dimensions or layers like in Photoshop. So yeah, for me, mind blown, point taken.

Check out Befunge ( http://esolangs.org/wiki/Befunge ) and its n-dimensional siblings. It's a favorite of mine.

You may be interested in colorForth, which is actually serious.

When you have a Ph.D. in Astrophysics who spends his time writing loads of web comics, I'm pretty sure you can write as many fantastical programming languages as you like without having to have smoked anything :)

My favourite is "ZOMBIE - a language designed for evil necromancers."

I actually implemented a shakespeare interpreter exactly cause I found it neat so here's an upmod :)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact