4 ms·
In my opinion anyone can be a newbie once taken out of their comfort zone. John Carmack was mostly a C programmer up until quite recently and then started expe
by Guthur 12y ago
In my opinion anyone can be a newbie once taken out of their comfort zone.
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.
- Dewie 12y ago> Not to take away from an obviously intelligent individual. 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 12y ago[deleted]
- astrocyte 12y agolots of editing on your post .. I reckon it takes more effort to be politically correct and toe the popular line than to just state the obvious truth : All across the globe, software engineers of value do amazing stuff everyday. They're too busy doing the amazing stuff to be praising someone for doing what they do on a daily basis. The ones that aren't doing amazing stuff can be found prostrating themselves to every tweet some high profile person makes because they don't grasp the normalcy of coding at that level on a regular basis. Sadly this idolization is what is probably the biggest impediment to them progressing to the level of the person they praise. 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.
- to3m 12y agoI've deleted my post as I think it was incorrect. 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.
- O____________O 12y agoFor every Carmack, there's 1000s of unspoken/unheard of people doing the same thing. 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.
- astrocyte 12y agoI tend to observe that seasoned/good software engineers are too busy tackling problems of similar difficulty to be caught up praising, following, and prostrating themselves to others. It's not a habit of mine and I don't hold anyone who does it in high esteem. I tend to think someone praises another to a large extent because they don't hold themselves in high regards. If they did and were of similar skill level, it wouldn't seem a big deal to them right? i.e : Tweet (high profile software engineer) : Today I cut 500ms out of a 4 second operation on a consumer device Me : OK .. last week I cut a 10 second switch-over operation on a enterprise switch (grosses 8 billion dollars in revenue a year) down to 300ms. I thought that was just a part of my job as a software engineer.
- Dewie 12y agoThe upvotes and downvotes on this post has been a true roller coaster. EDIT: someone is fast on the vote-trigger; hello, friend. ;)
- sehugg 12y agoDoom 3 was written in 2004, and was in C++, not to mention Carmack's other scripting langauges and VMs he wrote for his other game engines .. not to take anything away from your comment.
- Narishma 12y agoThe C++ used in Doom 3 was basically C with classes. Even Carmack says it's not his best work since he wasn't proficient in it and didn't take the time to learn it correctly.
- a8da6b0c91d 12y agoI would be willing to bet he's still eight years behind the times with his C++, and that is the explanation for this post. Writing a solid and flexible server in C++ is just not very hard with modern tooling.
- mwcampbell 12y agoWhat would you consider "modern tooling" for writing a network server in C++? Boost Asio, perhaps?
- a8da6b0c91d 12y agoAsio is good but can frustrate people unaccustomed to the heavily templated boost approach. High learning barrier. cpp-netlib aims to wrap and simplify Asio for people doing the typical stuff, but I've no experience. POCO, Qt, and libevent are all good approaches. Having followed Carmack a bit over the years my guess is he built something from scratch himself in C++.
- jeff_marshall 12y agoI think perhaps you've forgotten all the ways to shoot yourself in the foot... 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.