4 ms·
I can't watch his talk right now, but at QuakeCon he recently discussed Scheme, and the potential for embedding it in a game. I think he also pondered what Qua
by aryastark 13y ago
I can't watch his talk right now, but at QuakeCon he recently discussed Scheme, and the potential for embedding it in a game. I think he also pondered what Quake would have been if QuakeC was based on Scheme instead.
But my basic issue with talking about Carmack with respect to programming languages is that he never struck me as an expert on languages. Or even programming for that matter. The source code to Quake was on the messy side of things. His rationale for switching to C++ always seemed a little on the thin side of things, and seemed more like industry pressure than anything. He's great on concepts, on graphics, and keeping up with OpenGL and whatever NVidia/ATI are doing. But he's just now coming around to Scheme and Haskell. I don't really think his perspective on languages carries that much weight to be honest. But I'll listen to him talk about it anytime.
- robrenaud 13y agoTo me, that is a great reason to listen to him. He builds big and complicated programs that people actually use.
- mynameisme 13y agoIf Carmack isn't an expert programmer, no one is. There are very few people with a comparable resume.
- nicolast 13y agoBeing an expert C++ programmer doesn't make you an expert Haskell programmer, or vice-versa ;-)
- Dewie 13y agoAn outside perspective is valuable in its own right, and especially when it comes from a widely respected programmer. I think it's valuable to have both long time expert users, intermediate users and relatively new users chime in on issues: the experts often lack a certain perspective, since it was so long ago that they were novices themselves. And of course the intermediate and novice users lack experience. Together they can hopefully complement each other.
- orclev 13y agoI think that's part of why people are so interested in his opinion in this case. The games programming industry has some very unique challenges, and the focus on squeezing every last drop of performance out of the stuff you write tends to make it a pretty brutal environment for programming languages. From his background as a voice of authority in the games programming industry it's interesting to hear his feelings on the merits/drawbacks of something like Haskell specifically from that perspective. The fact that he's not a long time user, or particularly a fan of functional programming, but a relative newcomer to it just adds more weight as he isn't some known fanboy that's going to praise FP no matter what. He's got extensive background in C, and at worst, average C++ skills if not considerably better than that, so he makes a fairly good case study of how practical it is for a non-functional programmer (but someone who's really experienced with imperative/OO programming) to pick up something like Haskell and actually do something useful with it. It's also good to listen to the things he doesn't like about Haskell, E.G. debugging, and see if anything can be done to improve that.
- MLR 13y agoI can understand saying he isn't an expert on languages, but to say he isn't an expert programmer is honestly just condescending.
- aryastark 13y agoWhat I meant by that is that he doesn't use what most people qualify as "best practices" today. At least per the language he uses. If you look at his (or id Software's, rather) C++, it doesn't follow anything resembling standards in that area. They don't use design patterns, there are straight C (stdio, for example) calls in C++, etc. I'm not saying that's bad. But it's obvious he doesn't keep on top of trends that well. Or languages, for that matter.
- sseveran 13y agoAs an intermediate haskeller (I use it for my business every day) his criticisms largely mirror mine. I found the quake codebase to be great in the 90s. I have also found him more than most other developers to admit when thing didn't work out, specifically that doom 3 was c++ in name only and he didn't fully understand it. A scheme based language would have been better for most modders than quakeC.
- boothead 13y ago> As an intermediate haskeller Are you serious?! If you're only intermediate - then there's no hope for me!
- tel 13y agoThat's one of the nice things about the Haskell community. The experts tend to be much, much better than in other places. There's much more depth there than memorization of quirks and ability to hold large numbers of arbitrary, disconnected pieces in your head all at once. So, while becoming an expert haskeller is enviable, intermediate still suggests an ability to tackle a Fantastic array of problems.
- boothead 13y agoIndeed - it's definitely one of the best places to be if you like to be surrounded by incredibly talented, but also very humble folks. In fact I'd go so far as to say that the pool of wicked smart people who would love to build stuff in Haskell represents a significant opportunity to start ups right now. How have you found hiring for your company?
- tel 13y agoI asked around speculatively and got great response. Right now we've got exactly the team we need, and I'm not too worried about hiring in the future.
- sseveran 13y ago