I was reading this article on "Great Hackers" Some of the things he says about hackers ("coders") is true, but a lot of them are skewed toward open source in a way that is not fair and not real world on any way. I was pretty annoyed to read up to about the first half. then it gets better.
Examples of stuff I agree and disagree with:
"Great hackers also generally insist on using open source software. Not just because it's better, but because it gives them more control. Good hackers insist on control. This is part of what makes them good hackers: when something's broken, they need to fix it. You want them to feel this way about the software they're writing for you. You shouldn't be surprised when they feel the same way about the operating system."
Um.. huh? coming from the windows world I certainly know some great hackers and architects and they all work on non-open source tools, OSs and languages. As a side-thought - if I was doing some project on Linux - do you really think that if I found some silly bug in the underlying API I would generate by own build stack of that Linux distro. just so that my application works? *that's* silly.
Actually -I would much rather have 3rd party commercial tools. From my experience they are usually better maintained (someone is actually paying someone else to make them better), that is bugs get fixed more, and an overall sense of urgency and customer support is there. With open source its pretty much every man for himself. Take The Regulator for example. Since I'm doing it on my free time you get a cool product, made with love and all, but there are bugs in there that need to be fixed. and I currently don't have time to fix them. so - you get a less usable product. If someone was "paying" me for it the product would be of much better quality.
That's the same reason I currently like FinalBuilder over NAnt - more usable, more support, more everything.
Maybe today's great hackers are a new breed of coders. ones that realize that actually *delivering* software in less time is more important than doing all the nooks and crannies on your own. Maybe *that* is what makes them 10-100 times more productive. They know how to take advantage of the environment around them and, be it open source tools or 3rd party commercial tools - the fastest and easiest will usually win the game (provided you get the same results of course. The idea is that they do not compromise quality - just control). so - yes. I lose control if I use an OR mapper to generate by DAL and BL components. but if I deliver a good product in half the time that is still maintainable and can be added with more features- does that really matter? Only if it makes things more boring for me - which is most certainly does not. Since now I have more time to study the real interesting stuff.
"A couple years ago a venture capitalist friend told me about a new startup he was involved with. It sounded promising. But the next time I talked to him, he said they'd decided to build their software on Windows NT, and had just hired a very experienced NT developer to be their chief technical officer. When I heard this, I thought, these guys are doomed. One, the CTO couldn't be a first rate hacker, because to become an eminent NT developer he would have had to use NT voluntarily, multiple times, and I couldn't imagine a great hacker doing that; and two, even if he was good, he'd have a hard time hiring anyone good to work for him if the project had to be built on NT. [2]"
Total BS. A good dev is a good dev - be it COBOL, puthon, C++ or VB.Net.
"Doomed" is a word I save for people that think things can only be done in one particular way. If that company did fail it wasn't because it did not choose open source. it failed because it made many mistakes lots of other companies make in management, clear objectives and other business related decisions. Who's to say if they had gone open source that would have saved them? Except the author, of course...
"One big company that understands what hackers need is Microsoft. I once saw a recruiting ad for Microsoft with a big picture of a door. Work for us, the premise was, and we'll give you a place to work where you can actually get work done. And you know, Microsoft is remarkable among big companies in that they are able to develop software in house. Not well, perhaps, but well enough."
That started out good - but jeez. How annoying was that last sentence?
"Indeed, these statistics about Cobol or Java being the most popular language can be misleading. What we ought to look at, if we want to know what tools are best, is what hackers choose when they can choose freely-- that is, in projects of their own. When you ask that question, you find that open source operating systems already have a dominant market share, and the number one language is probably Perl."
I'd love to see those numbers.
"You may not have to go to this extreme. Bottom-up programming suggests another way to partition the company: have the smart people work as toolmakers. If your company makes software to do x, have one group that builds tools for writing software of that type, and another that uses these tools to write the applications. This way you might be able to get smart people to write 99% of your code, but still keep them almost as insulated from users as they would be in a traditional research department. The toolmakers would have users, but they'd only be the company's own developers. [6]
If Microsoft used this approach, their software wouldn't be so full of security holes, because the less smart people writing the actual applications wouldn't be doing low-level stuff like allocating memory. Instead of writing Word directly in C, they'd be plugging together big Lego blocks of Word-language. (Duplo, I believe, is the technical term.)"
If Microsoft used this approach, their software wouldn't be so full of security holes, because the less smart people writing the actual applications wouldn't be doing low-level stuff like allocating memory. Instead of writing Word directly in C, they'd be plugging together big Lego blocks of Word-language. (Duplo, I believe, is the technical term.)"
Interesting thought. I wonder what really happens behind the scenes at MS in that regard.
"Because you can't tell a great hacker except by working with him, hackers themselves can't tell how good they are. This is true to a degree in most fields. I've found that people who are great at something are not so much convinced of their own greatness as mystified at why everyone else seems so incompetent"
That made me smile...