5 ms·
This is overly simplistic. Sure, low level programming can be easy if you understand the basics of what you are doing, and the same is true for high level prog
by EpicEng 13y ago
This is overly simplistic. Sure, low level programming can be easy if you understand the basics of what you are doing, and the same is true for high level programming.
However, there are aspects of low level programming which are far more technical than anything you are likely to run into programming UI's or the like. Thread scheduling, OS development, compiler development, standard library stuff, etc. tend to be quite challenging from a technical perspective (I've done all but one of them.)
The author is picking one type of low level development and painting the rest with the same brush. Low level development occurs on more complicated architectures as well.
Of course, high level development can be challenging as well, but often in a different way. The challenge here lies in understanding the quirks of your libraries, creating a good user experience (terribly hard at times, but not often technically challenging), working around oddities of your platform, etc.
>And it sucks when you change a variable and then the other processor decides to write back its outdated cache line, overwriting your update.
Well... that's why you use memory fences (volatile if your language supports it) even for writes on types which would be atomic.
- aaronem 13y agoLow-level programming requires a great deal of knowledge, in exchange for which you get an enormous amount of control over how your efforts behave. High-level programming offers the prospect of a quick start, but, especially with today's web frameworks, you tend to rapidly find yourself bogged down in dealing with magic that's baked into the platform and which nobody really bothered documenting very well because "it just works" -- which is fine, except when it doesn't, and you get to spend time working on your tools, instead of the problem you're using them to solve. I don't want to RAILS name any names here RAILS, but RAILS I'm sure every RAILS web developer has RAILS at least RAILS some RAILS inkling of RAILS what I'm RAILS talking RAILS about RAILS here RAILS RAILS RAILS. My observation of the programmers with whom I've worked, and whom I know socially, has been that a given hacker's degree of intelligence and capability tends to be inversely proportional to the thickness of the stack on which he chooses to base his efforts; the smartest person I know, who has multiple doctorates and is currently busy breaking new ground in bioinformatics, doesn't even use libraries if he can help it, and complains constantly about the frustrating misbehaviors of those which turn out to be irreducibly necessary. Perhaps I've merely been observing a constellation of coincidence, but on the whole I rather doubt it. (P.S. for the benefit of anyone who feels like I've just called him stupid: my last gig was a Rails job, and if you took all the programmers I've ever known and broke their smarts up into quintiles, I'd be somewhere in the upper second, maybe the lower third. It doesn't take genius to recognize genius at work; I've merely been uncommonly fortunate, for the most part, in my choice of friends and colleagues.) (P.P.S. for general use: Speaking of recognizing genius at work, it scintillates in every jot and tittle of the article here under discussion.)
- ritchiea 13y agoSounds like your friend with multiple doctorates has put himself in situations where he has time to not use libraries, rather than the necessity of shipping everything asap.
- aaronem 13y agoSpoken like someone who's never had a particular software stack and methodology forced on him, and then been hamstrung by it. The genius of the friend I mentioned is evident, as much as anywhere else, in the way he has placed himself beyond the reach of the sort of mediocre-to-incompetent management under whose yoke web developers so often find themselves struggling.
- collyw 13y agoThere are usually well tested libraries for most stacks. Even VB.
- collyw 13y agoYep, sounds like most of the bioinformatics I know. If there is a wheel to be reinvented, do it. Who cares about mature tested code when you can write it yourself. Guess he is smarter enough not to need that.
- EpicEng 13y agoWould anyone like to comment on what they don't agree with here? I don't mind downvotes, but I would like to hear what you don't agree with.