Not sure Carmack qualifies as a newbie when it comes to anything programming-related.
Not sure Carmack qualifies as a newbie when it comes to anything programming-related.
John Carmack was mostly a C programmer up until quite recently and then started experimenting with some Functional Programming languages, and I'm sure he had a few things to learn when doing so.
Not to take away from an obviously intelligent individual.
C++ may be an effective language for experienced users, but it's got quite the learning curve (beginning with how exactly DO I write a correct constructor in the presence of exceptions...). Every time I have to work on C++ code I dig out my Meyers book to make sure I'm not fucking something up. C is small enough that I don't have to perform the same ritual.
Is it possible to create a language that fixes what C gets wrong while keeping what C gets right without becoming C++? There have been a number of attempts and none seem to have stuck, except for Go (IMHO). Java tried, and it did not fail altogether, IMHO, but it comes with yet another set of problems, mainly a tendency to lure programmers into over-engineering their solutions (the same, IMHO, goes for C#, which is kind of a sweet language at it core, but that becomes very hard to see among to tangled mess that is the .Net framework).
Having followed Carmack a bit over the years my guess is he built something from scratch himself in C++.
It's interesting to observe how programmers and other similar intellectual workers prostrate themselves in their own specific way when referring to someone of high status in their field.
Deleted comment
For every Carmack, there's 1000s of unspoken/unheard of people doing the same thing. I try to think of them, myself, and not get too excited...
Steve Jobs was Steve jobs because he thought different. You're not going to turn into him or Carmack by trying to emulate them or by following tweets and prostrating yourself.
P.S - the only reason why I commented is because I have friends who constantly give me updates about what Carmack is doing as if they've just had an encounter with God. I can't help but think they are this way because they themselves have never coded at that level. Sadly, you don't get to that level by going Gaga over another programmer. You get to that level by understanding that there is nothing amazing about what Carmack/etc does, digging into something you care about, and pushing your own personal limits... People don't want to hear these kinds of things though as it necessarily compels them to action. They'd much rather rally around the superstar and put him/her on a chariot. Vicarious living?
P.S.S - Constructive discussions can occur on a topic easily as long as individuals aren't over hyping it and are actually capable of conversing at a similar level. Fanfare is just as harmful as it makes people believe there is some mystical magic to achieving things. There isn't.. Just dedication and passion.
Well, okay, then, there must be millions and millions of programmers writing CRUD apps and for loops, because that covers probably 95% of the general value created in programming worldwide.
I don't see anything wrong with being impressed by the accomplishments and interests of others. I'm not Carmack. I'll never achieve anything like his level of productivity. I don't care, but I'm still vaguely interesting in reading about the guy.
I don't plan to climb Mt. Everest either, but I wouldn't mind hearing a story about it. And yeah, there are thousands of people planning Mt. Everest climbs, but that has zero bearing on my feelings about it.
Having worked with Carmack's code, two things I liked about it: it always came across as being the first obvious thing that popped into his mind, and yet it was always somehow the right thing.
Sadly, I myself can only manage one out of two.
It always takes time to learn something new. Especially the fundamentally different way of working between OO and Functional programming.