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

I'm more than a little curious at what folks are thinking this will prove. I mean, to a large extent this feels like it would be akin to watching a master photographer switch from film to digital. The vast majority of the craft is hard to see at the implementation layer.

I mean, consider everyone's favorite sort method. Seeing it implemented in any language does little really show how amazing the original insight was.

I rush to say that I am highly interested in seeing this. Nor do I question what Carmack is looking to see. It is strictly the talking heads around this that have me somewhat... off.




I think its more like watching a master photographer experimenting with a new way of taking pictures (think HDR or something), to keep your reference.

In the Clang world Carmack usually lives in, the tools for game development are extremely mature. There is decades of knowledge and experience that went into the current generation of 3D Engines/Games.

Game Development in Haskell on the other hand is extremely new, as in never been done on a larger scale. Of course alot of the knowledge and experience can be reused, but it is starting from scratch to a large degree.

So id see this as an experiment of a very talented programmer who wants to see if he can translate his immense knowledge of graphics programming into a working game prototype built with a functional language like Haskell.


In my head, I was thinking of someone like Ansel Adams when I made my comparison. So, I was thinking of pioneers in the field. I believe I see what you mean, that at this point there is plenty of knowledge in digital photography. I was just trying to invoke the idea that the algorithms and thought processes that go into creating a project are not necessarily reflected in the actual program that is written.

Now, I have little doubt that a lot of this is because he used to have to program so close to the metal. The abstraction was the computer, to a large extent. The hope now, I suppose, is that he can focus on creating abstractions with the aim of a maintainable and flexible engine.


Yep, but even then its still just Wolf3D which basically is a 20 year old game/technology. Certainly a good first step into graphics programming in functional languages but i doubt we will ever see something like Unreal Engine 4 written in Haskell. All the effort put into C-based Engines has such a legacy that starting from scratch would be an immense effort for questionable benefits.


Personally, it's just interesting to see the original creator start such a port. Especially when the original creator is of the calibur that Carmark is.


Oh, no doubt.

I guess I'm just prejudiced by seeing "case stories" held up as some sort of "see, this person was able to do it, language/technique/tool/whatever X is ready for everyone to use! And will solve all problems!"

So, yeah, I'm projecting. No, I don't know why. :( Sorry.


It's healthy to be skeptical. But it's unhealthier not to try everything and discover what works. It's pretty rare for someone to immediately see which of several possible new inventions might be better (and why they're better). I'm referring to the inventor -- an inventor often has several possibilities for new things he could try to do, and he has to choose which of those to pursue. It's not at all obvious which path to choose. So most of the time, you just try all possibilities as fast as possible, letting intuition guide you. For example, it probably wasn't immediately obvious to DHH that it was a win to write websites in Ruby until he'd tried writing websites in Ruby to see how it'd turn out. History tends to get rewritten so that it's obvious in hindsight that it would work. But it wasn't at all obvious until it was suddenly obvious to him, which was only after he'd had the experience of trying it.

So the interesting aspect here is that Carmack's intuition has told him that there might be something worthwhile for the videogame industry to look into functional programming languages. It probably won't pan out. But if there's any way it can, then Carmack will find out how to make it a pragmatic way for studios to build large codebases.


I am currently reading through the phd thesis of the project: https://casanova.codeplex.com/ A domain specific language for games based on f#. Looks interesting and they have many examples a fully fledged rts included. The thesis is buried in the sourcecode https://casanova.codeplex.com/SourceControl/changeset/view/2...


Not just Carmack, Tim Sweeney (Epic Games) has held a presentation at POPL discussing the value of functional programming for games: http://www.cs.princeton.edu/~dpw/popl/06/Tim-POPL.ppt


In the game industry such stories are important. Unless you are either a celebrity or a unknown indie you have to use such a story to back up every decision you make. For example, before id Software's DOOM nobody would write a game in C just because no high profile game had been written in C.

Of course, Wolf 3D won't become a case but, if it goes okay, it could be a step to a case for Haskell eventually.


I guess my entire point is that this will definitely lead to more questions. It will likely not lead to any direct answers. I welcome the questions, I have grown weary of premature answers.


Wolf 3D was written in C for the most part.




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

Search: