Hacker News new | past | comments | ask | show | jobs | submit login

That's not the point. These are the kind of projects programmers do for fun. Your comments is like saying "if this guy didn't go the zoo, but rather spent his day at work, he at least might have been productive". Now, I can imagine you wouldn't enjoy watching somebody else's pictures of zoo animals, unless you were very interested in zoo animals, like, say, some people are interested in compiler technology and/or esoteric languages. Because Brainfuck is an insanely simple language to compile/interpret it's actually makes for a nice small example!



I did a small language for fun: http://www.hecl.org

And it has actually turned out to be useful, besides being a lot of fun to work on.

I am not saying fun projects need to be useful (I'd be the last one to say that), I'm saying "why ensure they'll never be useful?".

Here's another language that is a 'fun project' that, who knows, might be quite useful some day:

http://wiki.reia-lang.org/wiki/Reia_Programming_Language

Edit and the classic "hobby project":

> "I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones.

Once again, by not tying a rock to his leg, it eventually went on to be just a bit more important than a hobby project.


> I am not saying fun projects need to be useful (I'd be the last one to say that), I'm saying "why ensure they'll never be useful?".

Because some things are done for learning exercises and nothing more.

Just because that code isn't going to do anything useful when executed, it does not mean that there is no value in the exercise of producing or sharing the code.

Not that it needs that much justification, fun is a good enough reason.


Ok, you people are seriously failing to comprehend that which I am attempting to communicate to you.

* I have no problems with 'fun projects'. I do them myself.

* I have no problem with 'useless code'. Many fun projects are never useful. I have done these myself.

* I have no problem with learning for learning's sake. I have engaged in lots of that.

What I don't agree with is artificially limiting your project's potential. By choosing to implement brainfuck, instead of Tcl or Lua or Forth or Lisp or any number of other languages (even if it's just a toy version, and not the full spec), you've consigned your project to the dustbin before you've even finished it. To my way of thinking, that just doesn't make any sense. If you want to be artistic, go out and make your own language.


Not sure why you see implementing a simple language to learn the underlying techniques as "artificially limiting" the project's potential. Maybe this is just a step to implementing a more complicated language.


> Not sure why you see implementing a simple language to learn the underlying techniques as "artificially limiting" the project's potential.

Even a simple language like Hecl is used for real things in the real world, something I wouldn't have imagined when I started writing it. An implementation of Brainfuck will never be used for anything more than learning.

Which continues to be my point: learning's great, but why not learn and do something that has a tiny chance of developing into something big?


You're assuming that every thing that people work on actually needs the potential to become "big".

What about the people that study klingon? Or Esperanto? Or Elvish?

You assume that a person cannot gain something by simply learning something that has no practical purpose. This isn't the case. By working on BF, someone might make some neuron connections that help them with logical thought with other projects, by breaking down logical thinking into very simplistic, basic symbols--completely removing "language" out of the equation.

You just don't know. :P


cough

"Elvish" doesn't actually exist. There's Quenya, or 'high' elvish and Sindarin, 'low' or 'gray' elvish.

cough

Carry on!


Then how about giving an example of somebody who had some benefit of learning Klingon, not related to Klingon as is?


The Klingon Dictionary is very good at explaining grammatical concepts. It made me interested in how language worked. After reading it I was able to understand a French grammar book and go from getting an E in my French GCSE mock exam to a B in the final a couple of months later. I went on to get a degree in French (which I never used but that's beside the point).


Specifically, some of the gutteral sounds used in Klingon are sounds that are used in real languages. If you're a native American-English speaker, these sounds do not exist in our language. If someone here is so dedicated to learning Klingon and Star Trek, it might open their ability to A) learn real languages easier, B) to pronounce many of the sounds used in those languages.


> You assume that a person cannot gain something by simply learning something that has no practical purpose

Actually, what I wrote, if you'd bother to read it, is: "Yeah, he learned something for sure, but that's pretty much all it can be." so don't put words into my mouth.

The point boils down to this:

* It'll probably never become big.

* That doesn't really matter, it's mostly for learning and for fun.

* But even so, why preclude that? <- this is all that is causing people to get their knickers in a knot over what I wrote.

> You're assuming that every thing that people work on actually needs the potential to become "big".

If you get that essentially for free, then why the hell not?


The effort you've expended to debate this will soon meet & then exceed the effort that went into the tracing JIT in question. When you reach that point, you'll have some soul searching to do.


You'd be annoyed too if people continued to misconstrue what you were saying in order to attack a strawman.


Writing fast Brainfuck interpreter is one of the best optimization exercises I've ever encountered. Trivial to start, easy to improve and then it gets progressively harder with every iteration.


I see your point (and kind of agree)... but isn't the fact that it's Brainf*ck part of the fun?




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

Search: