Slashdot Mirror


Can Anyone Become a Programmer?

another random user writes "A Q&A on Ars Technica asks about an old adage that many programmers stick to: 'It takes a certain type of mind to learn programming, and not everyone can do it.' Users at Stack Exchange are wading in with their answers, but what do Slashdot users think?"

767 comments

  1. There is nothing special about programming by Designersa · · Score: 1, Interesting

    I don't know where this self-importance stance comes from, but there really is nothing special in being a programmer. It doesn't really require much, nor does it require anything special. In fact it's probably the lowest of the low jobs related to IT. There is a reason why programmers are called code monkeys.

    There might have been something about it when computers were so new and ancient that programming efficiently actually mattered. That was the age of John Romano and highly efficient code actually produced neat things. Now computers have developed into so powerful that such things just aren't required anymore.

    What is the programmers job in reality? To put out code as fast as possible. It's often very boring, too. 99% of programming is just putting together function calls and libraries others have already coded. There hardly is any "challenge" as so many programmers on Slashdot like to put it. In reality it's boring as hell.

    And you know what? Every programmer will get to the point where they don't want to programmers anymore. They start to see how monkey-like programming as a profession is. Then they want to be designers, those who actually need to think of the bigger picture than just putting together basic pieces of code in Visual Studio.

    Programming itself doesn't require anything special. Designing does.

    1. Re:There is nothing special about programming by wdef · · Score: 4, Insightful

      I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average and an interest in learning how to control that box. Interest can drive aptitude. But a low IQ is going to hamper working in, say, C. Object-oriented and the workings of inheritance in C++ are going to be hard to work with if you're plain dumb.

      Documentation for libraries is not infrequently poor or even wrong and there seems to be some tacit assumption that programmers will work out how things work anyway, even if that just means knowing where to get help.

      And it depends what you call "programming". If that includes designing solutions to complex or novel (hence no off-the-shelf libraries) solutions, then you have to design complex algorithms, which requires creativity. You need to be able to evaluate and select the right solution, too, something even very smart programmers get wrong.

    2. Re:There is nothing special about programming by TheRealMindChild · · Score: 4, Insightful

      Your whole post left my mouth agape. The standpoint that you are coming from, all programming can be simplified into dragging and dropping visual widgets and throwing in a bit of high-level platform code to tie it all together. If that is your view of what programming is, no wonder you think it isn't special. You aren't always programming on Windows. You don't always have desktop-sized amounts of memory. Sometimes YOU need to write one of those libraries that are NOT "already coded".

      And no, an astronaut doesn't just "drive the shuttle"

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    3. Re:There is nothing special about programming by Joce640k · · Score: 3, Insightful

      Your whole post left my mouth agape.

      It's called "trolling"...

      --
      No sig today...
    4. Re:There is nothing special about programming by Anonymous Coward · · Score: 1

      Really, because I just spent the last month doing absolutely nothing except try to make various parts of code operate faster and faster. Perhaps you were just not competent enough to land the level of job where the interesting stuff is?

    5. Re:There is nothing special about programming by kelemvor4 · · Score: 4, Insightful

      Your whole post left my mouth agape. The standpoint that you are coming from, all programming can be simplified into dragging and dropping visual widgets and throwing in a bit of high-level platform code to tie it all together. If that is your view of what programming is, no wonder you think it isn't special. You aren't always programming on Windows. You don't always have desktop-sized amounts of memory. Sometimes YOU need to write one of those libraries that are NOT "already coded". And no, an astronaut doesn't just "drive the shuttle"

      You have to keep in mind, the post seems to have come from a designer. It just sounds like a lot of sour grapes to me.

    6. Re:There is nothing special about programming by Bieeanda · · Score: 1
      At the risk of wallowing in stereotypes, moving deeper and deeper into the morass, up past my pocket protector and almost to my chin...

      It's what makes us special, and separates us from the jocks, and with the increasing ubiquity of programmable appliances with increasingly easy to use interfaces, our self-styled role as the high priests of high technology is losing its mysterious cachet.

    7. Re:There is nothing special about programming by eggstasy · · Score: 3, Interesting

      You must have a very interesting job. I think I've designed an actual algorithm once a year, on average.
      The rest is mindless factory work.

    8. Re:There is nothing special about programming by Anrego · · Score: 2

      Even in larger shops I don't see the same kind of heavy architect / programmer seperation as much. It's still there, but a lot of the mindless code has been replaced by libraries, and most entry level coding positions still have a design component to them. Of course the natural progression is as you said, focusing more on design and less on the lower level nuts and bolts, but you make it sound like some kind of line you jump over one day. I see it more as natural career evolution, and at minimum I would still consider myself a "programmer".

    9. Re:There is nothing special about programming by rolfwind · · Score: 4, Insightful

      Just like anybody can learn to draw. Or to swim.

      But that doesn't mean anybody can be the next John Carmack, Leonardo Da Vinci, or Michael Phelps.

      Even if we reduce it to the nonphysical work and remove the naturally talented aspect, there is the simple matter of time and drive -- which few people have.

    10. Re:There is nothing special about programming by tnk1 · · Score: 2

      Designing does take some talent, so not arguing there.

      However, having attempted to teach people to program before, I can tell you for a fact that you need at least a particular mindset for it. You certainly need one to be *good* at it. It's much like being a car hobbyist. You probably don't want to be an assembly line worker, or even a mechanic, but those who are good at putting cars together tend to have a mindset that is very in tune with putting stuff together and they tend to want to do it, even when it isn't their job.

      Of course, nothing says that your job can't make you very tired of even something you might consider otherwise fun. There's probably only so many bolts you can tighten before you get sick of tightening bolts. In the case of the programmer, they probably now want to attack a new problem that they haven't rehashed 100 times over, but I wouldn't say that being a designer makes you special either. Its just another set of problems. The biggest advantage is that you get more control over how things work on your level and down.

      We only consider programming to be something of an assembly line job today because we've optimized the hell out of compilers and made languages and tools into some sort of thing where you build your apps out of giant sized Duplo blocks. In the right fields, being a programmer is still a job for wizards, and not lesser skilled workers.

    11. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Designers are good at dreaming, but then anyone can dream. Many designers couldn't actually build what they think of.

    12. Re:There is nothing special about programming by Anonymous Coward · · Score: 5, Interesting

      I don't know about sour grapes, since it is a reasonable a priori position, but it is wrong as far as I can tell from the literature.

      Abstract. A test was designed that apparently examined a student’s knowledge of assignment
      and sequence before a first course in programming but in fact was designed to capture their rea-
      soning strategies. An experiment found two distinct populations of students: one could build and
      consistently apply a mental model of program execution; the other appeared either unable to build
      a model or to apply one consistently.
      The first group performed very much better in their end-of-
      course examination than the second in terms of success or failure. The test does not very accurately
      predict levels of performance, but by combining the result of six replications of the experiment,
      five in UK and one in Australia. we show that consistency does have a strong effect on success in
      early learning to program but background programming experience, on the other hand, has little
      or no effect.

    13. Re:There is nothing special about programming by MindCheese · · Score: 1

      For what it's worth, we developers basically feel the same way about designers: clearly it doesn't take anything special to churn out UI mocks or web page layouts in Photoshop. Drop shadow here, lens flare there, all done! Oh, it can't be implemented that way in the current codebase? It's not technically feasible? Not my problem, it's time for my latte break! ;)

      All kidding aside, if programming is boring to you, you just aren't doing it right.

    14. Re:There is nothing special about programming by iamwahoo2 · · Score: 1

      I see where your coming from. I am an engineer who has learned to program because I find it critical to doing my job. Lets face it. Nothing is built these days with just simple levers, pulleys, capacitors, and resistors. If you want to do something interesting, you better know how to make a digital computer do what you want it to do. One thing about programming is that you are always having to learn new things... learn new libraries, new platforms (8 years ago, everyone wanted .NET programmers, now everyone wants Android and IOS), and that takes a lot of self discipline and desire to improve one's self. Based on my observations in the work place, that is something special.

    15. Re:There is nothing special about programming by valentinas · · Score: 1

      You are obviously not a programmer. At least not a good one.

    16. Re:There is nothing special about programming by JaredOfEuropa · · Score: 3, Interesting

      Unfortunately, many people think you are right. And even worse: those people are team leads, managers, executives. Small wonder that so few coding shops actually manage to push out code of high quality, and why the profession in general is more like a bunch of craftsmen than real professionals.

      Programming well takes skill and experience. It is not an easy craft to learn, the devil is often in the myriad details and idiosyncrasies of the platform, the libraries, or the specification. What helps immensely is having access to senior programmers who can make sure you're not reinventing the wheel a thousand times over. Bad news there: because programming is "the lowest of the low of IT" and every programmer wants to get out, there are hardly any senior coders left. Most of them are to be found in the hobby or OSS arena; I find very, very few of them in the corporate world. By the way: I know a fair few people who would like to stay involved with coding (and they continue to do it in their free time), but they do not become our senior coders because that position has been eliminated in pretty much every company I've worked for.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    17. Re:There is nothing special about programming by Designersa · · Score: 1

      Designers are good at dreaming, but then anyone can dream. Many designers couldn't actually build what they think of.

      Some people can dream better than others. Dreaming can be turned into movies, tv shows, and is especially turned into music. It's also something some people have much more and better than others.

      Hell, good dreaming can even fix design problems if you happen to come up with them in your dreams or daydreams. It's hugely influenced into creativity.

    18. Re:There is nothing special about programming by Anonymous Coward · · Score: 1

      Hey, I've got this cool idea for a book and am looking for someone to write it for me. I figure we'll split the proceeds fifty-fifty.

    19. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      You've just redefined words - in your perspective programming is like being a secretary taking dictation from a designer. So you've taken the part of programming that is difficult and creative and separated it away from programming. If you do that then yes, programming is easy - by definition. But that's not what these words mean and designers are either just programmers who focus on the difficult parts of programming or they are just managers pretending to be programmers and probably impeding the development progress tremendously if they still want to be called designers. It sounds pretty likely that someone who desires to separate design and programming in this way is probably one of those managers-pretending-to-be-programmers which just means you've got a terrible manager on your hands who also can't program.

    20. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Trollololololol!

      I see a lot of people responding seriously to this obvious flame bait. Well played.

      Of course, I suppose it IS true that in some circumstances some hacking together of existing components is all that is required. That's the sort of thing that consultants are hired for, since you need them as a one-off and then you move on.

      Real programming not only requires a special skill set, but a superior brain. Like mine.

    21. Re:There is nothing special about programming by wdef · · Score: 3, Interesting

      I know a fair few people who would like to stay involved with coding (and they continue to do it in their free time), but they do not become our senior coders because that position has been eliminated in pretty much every company I've worked for.

      In most engineering fields, engineers don't stay engineers all that long. If they're any good they become managers and stop doing working at the lathe, so to speak. Also, large design exercises are a speciality in some fields and are handled by a department that does only that. In the field, an engineer may be both a manager and a technical problem-solver, but for anything *really* hard specialists are called in. And, tue or not, employers think new graduates will have all this up-to-date fancy shite in their heads, while at the same time, they want managers to have had experience on the shop floor, so they promote upwards from there and replace with cannon fodder CS grads.

      BTW, Google prefers to hire maths grads as programmers. Google say that the problem-solving skills of maths grads are better than those of CS grads, and anyone with a maths background will certainly have done some programming during their education and can cope with learning new languages and technologies.

    22. Re:There is nothing special about programming by LifeIs0x2A · · Score: 1

      Now computers have developed into so powerful that such things just aren't required anymore.

      It might not be necessary to optimize code to do something simple, but to do complex operations that touch the limits of available computing, of course optimization is essential. Just because the scale changes doesn't mean the problem goes away.

      What is the programmers job in reality? To put out code as fast as possible. It's often very boring, too. 99% of programming is just putting together function calls and libraries others have already coded. There hardly is any "challenge" as so many programmers on Slashdot like to put it. In reality it's boring as hell.

      Well, welcome to reality, programming is not the only interesting job in the world that still gets boring from time to time. Talking about "hardly any challenge" why don't you try to solve one of the marathon match problems on Topcoder. But I guess that's no challenge for your either. I know, just a bit of cut and paste and so on. You probably wouldn't even have to type. Just drag and drop fragments from stuff others have already coded. You know, that's actually how all the code in all programms came into existence. One person once wrote Hello World! on one early computer and from then on it was just copy and paste. Well now that I think about it, probably that's how the whole universe was created. Atoms are pretty much all the same too after all. Man, how about you create a religion or something. The Church of Copy and Paste!

    23. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      I don't know where this self-importance stance comes from, but there really is nothing special in being a programmer. It doesn't really require much, nor does it require anything special. In fact it's probably the lowest of the low jobs related to IT. There is a reason why programmers are called code monkeys.

      Semi-true. I design and build java apps (and btw Java is awesome regardless of what purist idiots might think) and I find the mix very motivating. I implement my own designs so there is a great self-fulfilment for me from doing that. Not all programmers are paid monkey-wages either. Ever heard of 'contracts'? Having some street-savvy can really get you the big bucks in many lines of work....

      What is the programmers job in reality? To put out code as fast as possible. It's often very boring, too. 99% of programming is just putting together function calls and libraries others have already coded. There hardly is any "challenge" as so many programmers on Slashdot like to put it. In reality it's boring as hell.

      Depends on how one obtains ones programming work. But then, thats why it's called 'work' and you have to pay people to do it. No one ever said work MUST be fun. Sometimes it isn't, but hey, it's work. I guess that's why the English language has separate words for different things =P

      Every programmer will get to the point where they don't want to (be) programmers anymore.

      Nah, see above. Code monkeys aren't programmers any more than auto spares companies are car manufacturers.

      They start to see how monkey-like programming as a profession is. Then they want to be designers, those who actually need to think of the bigger picture than just putting together basic pieces of code in Visual Studio.

      Visual Studio!? blech! I still love programming in the sense of producing something new, but not in that abortive mess of an environment. Everything MS does is either shit, or turns to shit, from a technical and engineering standpoint. If MS were NASA (just say!) then we'd still be waiting for the first man in space (Russian efforts notwithstanding).

      Posting on /. itself doesn't require anything special. saying something intelligent does

      FTFY

    24. Re:There is nothing special about programming by Truekaiser · · Score: 2

      Oddly i am reminded of an anime called s-cry-ed. Straight cooger, a character based on speed, commented to another one. That anyone given enough time can write novel's. The ones that can do it well are the ones who do it better and faster than the others.

      With enough time anyone can learn to code just about anything. it's the people who can do it well and in a small amount of time(say months instead of years for a large project) that are the people with the innate ability for it.

    25. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Designers are not just a bunch of day-dreamers walking around with their sketchpads and miraculously coming up with stuff which the poor, exploited code-monkeys must then turn into reality for the designer's pleasure. It takes hard work and lots of iterative, critical thinking to come up with a good design. You need to be able to visualise the product, disassemble it in your mind, look for weak points, predict how the end-user will interact with it, solve complex problems even before they appear and with no debugger and no event log to help you. Nikola Tesla had this ability to visualise his inventions so vividly, he could see all of their internals at work, and improve his initial designs before he actually build them. And finally, a designer has the unique ability to make the product desirable. If you ever create the first working A.I. you better make sure you hire a designer to make it look pretty and user-friendly, otherwise people with just think it's some sort of an evil machine that will bring about the end of the world.

    26. Re:There is nothing special about programming by Anonymous Coward · · Score: 1

      who can make sure you're not reinventing the wheel a thousand times over.

      If we didn't reinvent the wheel a thousand times over the modern cars and trains would be practically useless. Reinventing the wheel is not always wrong, sometimes it is exactly what you have to do to make everything else work more smoothly.

    27. Re:There is nothing special about programming by AliasMarlowe · · Score: 1

      And it depends what you call "programming".

      The real money is in providing services to programmers. One way would be to follow this advice. A significant fraction of humanity is already qualified and equipped...

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    28. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      And you know what? Every programmer will get to the point where they don't want to programmers anymore. They start to see how monkey-like programming as a profession is. Then they want to be designers, those who actually need to think of the bigger picture than just putting together basic pieces of code in Visual Studio.

      This sounds like something from the 90's when most people were still thinking that the waterfall model works. Do people still think that code monkeys just write code according to some UML and flow diagrams that designers have drawn. I've been working in SW development for about seven years and in all of the projects that I have been in the same people have designed and implemented the software.

    29. Re:There is nothing special about programming by blippo · · Score: 2

      Indeed, anyone can become a mediocre programmer.

      Unfortunately, or not, depending on how you see it, that's all it takes to grind code for a living.
      (Perhaps because it's really hard to measure, and most people hiring can't actually code at all)

      It's rather unusual to find someone with great analytical and social skills combined with just
      the right amount of stubbornness yet responsiveness, curiosity and pragmatism - that makes a really great programmer.

           

    30. Re:There is nothing special about programming by Intrepid+imaginaut · · Score: 3, Interesting

      Entire industries have been built upon the adage, "one man can do what another can do". Willpower and motivation are more important than raw intelligence, I've lost count of the number of tortoises that have outpaced hares in my experience.

      The divide between designers and developers appears to be another example of this. Yes it helps to be so inclined, but 99% perspiration and all that. Its a skill, like any other, just as sales or electrical engineering are skills. Sure the Picassos are a rare breed, but that doesn't mean someone can't pick it up and become a damn good example of an artist if they really wanted to.

    31. Re:There is nothing special about programming by epp_b · · Score: 1
      You complain about programmers with an overdeveloped sense of importance and then continue to spew your own elitist drivel?

      As someone who dabbles in both programming and visual design, I can appreciate that each has its nuances that can only be learned through experience and natural talent.

      99% of programming is just putting together function calls and libraries others have already coded.

      And exactly where do you think those libraries come from? Thin air?

      By the same logic, I could argue that designing is just cobbling together a bunch of stock photos, but I know better.

    32. Re:There is nothing special about programming by sycodon · · Score: 4, Funny

      one could build and consistently apply a mental model of program execution; the other appeared either unable to build a model or to apply one consistently

      So..Programmers and Managers.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    33. Re:There is nothing special about programming by jc42 · · Score: 2

      Every programmer will get to the point where they don't want to programmers anymore. They start to see how monkey-like programming as a profession is. Then they want to be designers, those who actually need to think of the bigger picture than just putting together basic pieces of code in Visual Studio.

      This sounds like something from the 90's when most people were still thinking that the waterfall model works. Do people still think that code monkeys just write code according to some UML and flow diagrams that designers have drawn. ...

      Actually, that attitude goes back to the earliest days of programming languages. Back in the 1950s, the first "higher-level" languages were developed, Fortran (for techies) and Cobol (for business folks). If you dig up the early wide-eyed announcements for either language, you'll find widespread claims that they would "end the need for programming", which at the time meant what we call assembly or machine language. They did no such thing, of course; they merely introduced new programming languages that solved some of the problems with the previous languages, but did little to alleviate the more general problems.

      The "Visual" approach mentioned by the OP was just one in a long chain of such attempts to eliminate the need for programming, by introducing yet another programming language that solved a few low-level problems in previous software-development schemes. It also failed to eliminate the need for programming, as you can easily see by trying to use some of the balky, buggy products built using that software.

      The idea that we can end the need for programming is best understood as a marketing technique, to sell yet another "solution" to whatever its designers saw as the problems with programming. At best, such things can somewhat simplify a few parts of the task that the designers were consciously aware of. So far, there's little evidence that such tools can do more than "move the problems to a higher level". But don't worry; we haven't seen the end of such claimed panaceas. Marketers will continue to tout their "solution" to programming as long as people continue to pay attention (and money) to the people making such claims.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    34. Re:There is nothing special about programming by sclark46 · · Score: 1

      You are nuts!!! I have been programming fro 40 years and have worked with a bunch of so called programmers who couldn't code themselves out of a paper basket.

    35. Re:There is nothing special about programming by WoLpH · · Score: 5, Insightful

      I agree. Everyone can learn to write basic programs. That isn't to say that everyone can become a good programmer.

    36. Re:There is nothing special about programming by Skreems · · Score: 1

      To put out code as fast as possible. It's often very boring, too. 99% of programming is just putting together function calls and libraries others have already coded. There hardly is any "challenge" as so many programmers on Slashdot like to put it. In reality it's boring as hell.

      I've seen devs who worked that way. I've worked on the same systems as them. In our case, they ended up shipping code that increased system latency by 2x because they didn't understand how thread pools can impact system performance, and their first 4 attempts to fix it were all laughable, focusing on optimizing things that were already extremely optimized. They would have floundered for months if we'd left them to fix it on their own.

      So yes, some programmers work that way. Good luck actually shipping a quality product unless you have some real engineers, though. The extent to which pre-built tools will solve all your problems is inversely related to the complexity of your problems. And even then, putting pre-built solutions together in a way that has no side effects still takes someone who understands the potential side effects.

      --
      Slashdot needs a "-1, Wrong" moderation option.
      The Urban Hippie
    37. Re:There is nothing special about programming by narcc · · Score: 4, Insightful

      I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average

      There you have it. You think being able to program makes you special in some way or indicates that you're above average.

      Here's the truth: Any idiot can write code. Hell, half of Slashdot taught themselves to program when they were between the ages of 8-13.

      All it takes is the will to learn something new. It's no different than learning to work on cars. Do you think auto-mechanics have these same discussions? No. They're more emotionally stable, apparently, than the average developer.

      Yeah, just about anyone can learn to write computer programs. Just like every who has ever learned to write code, they'll get better and better as they gain experience

      Being able to write computer programs does not make you special. Get over yourself.

    38. Re:There is nothing special about programming by ceoyoyo · · Score: 1

      Careful, you just told a bunch of Slashdotters with mod points that they're not as special as they think they are. I see you have a nice shiny troll mod to show for it. Wear it with pride, it means you can think for yourself.

    39. Re:There is nothing special about programming by dumcob · · Score: 2

      You need to visit a Infosys or TCS campus in India to watch their training centers churning out "programmers" in the thousands. It will change your mind.

    40. Re:There is nothing special about programming by ceoyoyo · · Score: 2

      Assuming you (and all the people who modded you up) are programmers, apparently it doesn't require reading comprehension. The guy didn't even mention widgets or dragging and dropping.

      I actually thought you'd accidentally replied to the wrong post. If you did, I apologize.

    41. Re:There is nothing special about programming by tomhath · · Score: 1

      He didn't limit it to Java programming.

    42. Re:There is nothing special about programming by sensei+moreh · · Score: 2

      As the holder of a (36 year old) BS in mathematics, I believe I was the only person in my programming class to go over my allotted time on the university mainframe. Clearly I excelled at programming infinite loops.

      --
      Geology - it's not rocket science; it's rock science
    43. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      It's always fun to walk into this sort of environment and fire 800 people. They're so sure they're vital cogs in a machine. Why, they don't even slap the function calls together, they're not even the one "designing" yet another useless duplicate program. No, they're managers, supervising projects to create such useless duplications of effort.

      Too bad, I've just finished the program that writes those programs, now you're all fired. Go get a real job.

      Of course if they'd hired any real programmers this would never happen in the first place. Nobody should be "monkey coding". But then Designersa up there thinks a real programmer is "John Romano" and that if only you buy a new enough computer O(n^3) won'rt hurt any more. He's probably cost his employer (if he actually is a designer) hundreds of times his salary in waste because of his incompetence.

    44. Re:There is nothing special about programming by tomhath · · Score: 1

      Thinking you are a good designer and being a good designer are two different things. I strongly suspect you are the former. Or just a troll.

    45. Re:There is nothing special about programming by BronsCon · · Score: 1

      The entire design department where I work is in awe of the programmers. There's a lot of "I wasn't sure what I designed would even be possible to implement" going around my workplace, our designers love us. And we adore them for keeping us on our toes. If that's not how things are at your workplace, it's time to move on.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    46. Re:There is nothing special about programming by narcc · · Score: 0

      However, having attempted to teach people to program before, I can tell you for a fact that you need at least a particular mindset for it

      Having actually taught people to program (in a formal setting) I can tell you for a fact that you suck at teaching. It does require "a particular mindset" but that can be taught. Really, it's the only thing that needs to be taught to turn non-programmers in to programmers -- the rest is just details.

      Having taught many idiots to program has shown me that any idiot can program. All it takes is a little bit of dedication -- just like learning any other skill.

    47. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      BTW, Google prefers to hire maths grads as programmers. Google say that the problem-solving skills of maths grads are better than those of CS grads, and anyone with a maths background will certainly have done some programming during their education and can cope with learning new languages and technologies.

      Not true. To get an software engineering job at Google you *must* know how to program. Doesn't matter if you are the best problem-solver on the planet, if you can't convert that into code during your interview you won't get hired. Google's interview process will also favor CS grads, not math grads. They are heavy on data structures, algorithms, and coding - not generic "problem solving".

    48. Re:There is nothing special about programming by BronsCon · · Score: 1

      That would be The Church of Copypasta, a Pastafarian sect. It already exists.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    49. Re:There is nothing special about programming by TheRealMindChild · · Score: 1

      Funny you mention this, my last job dealt a little too close with Infosys for your comment to be insightful. If anything, it reaffirms my position. There is more to the world of programming than desktop/web apps.

      --

      "When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
    50. Re:There is nothing special about programming by ryanw · · Score: 4, Insightful

      I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average

      There you have it. You think being able to program makes you special in some way or indicates that you're above average.

      Here's the truth: Any idiot can write code. Hell, half of Slashdot taught themselves to program when they were between the ages of 8-13.

      All it takes is the will to learn something new. It's no different than learning to work on cars. Do you think auto-mechanics have these same discussions? No. They're more emotionally stable, apparently, than the average developer.

      Yeah, just about anyone can learn to write computer programs. Just like every who has ever learned to write code, they'll get better and better as they gain experience

      Being able to write computer programs does not make you special. Get over yourself.

      I think the problem is that people are trying to answer the question with a "one size fits all" approach to answering the question. Sure anybody who can make toast can program. But not everybody can make a toaster.

      What I mean by that is you mentioned that the average joe mechanics don't have these conversations, but you have to consider that the average mechanic is not making the advancements or creating the car from pouring casts and machining the parts. They're assembling or disassembling. There is creativity in finding a problem with a car before taking the whole thing apart but otherwise it's fairly laid out.

      Programmers, the big daddy programmers are special and unique. Just like the engineers who created a ferrari or any other major achievement. Any body can program, but not everybody has the patience, confidence or desire to take on massive tasks by themselves.

      I have programmed for many years and I have never found a good workflow of working with a large team of developers to create a specific product. So far what I have seen is one or two highly motivated individuals to create the bulk of the product and the rest become break/fix contributors or continuing development after the product is well underway.

      It's just what I have seen. And those examples could make me an exception not the rule but that's what I've seen.

      Were projects like MySQL or PostgreSQL initially effects of one or two highly motivated and focused individuals? I know that unix was and about evey project I have ever seen at the early stages.

      Being that these efforts are largely surrounded by individual contributors I think it enables these individual's to feel special and different. And to be honesty, anyone who takes on these massive feats and succeeds is unique and different. The rest are "programmers".

    51. Re:There is nothing special about programming by freman · · Score: 1

      Lucky bastard.

      Our designers insist on trying to code... Managers let them... then require us to clean up the crap while tying one hand behind our back

    52. Re:There is nothing special about programming by Maxmin · · Score: 1, Funny

      My, that's a frothy spew you're squirting all over /. today! It's obvious you're just yanking everybody's codpiece, with such choice gems as-

      • "All it takes to turn a non-programmer into a programmer ... is experience"
      • "the ones here who think themselves exceptional are the ones who didn't go to college yet somehow manage to work in the industry"
      • "What a bunch of egomaniacs."
      • "You are the 21st century equivalent of an auto-mechanic"

      You didn't include yourself in the pool of morons you've defined as being programming-capable. It's not hard to deduce that you're not a coder and resent them all, or you ARE one but went to college and resent the rest because they didn't. Either way, your rage outstrips your ability to reason ... which makes clear you're really in the first bucket- not a developer, because you haven't got the patience or intelligence left to rebuild a carburetor.

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    53. Re:There is nothing special about programming by narcc · · Score: 1, Insightful

      Programmers, the big daddy programmers are special and unique. Just like the engineers who created a ferrari or any other major achievement.

      No, they're not. They are not special and unique.

      Skill comes from experience -- it's as simple as that. The engineers who created a Ferrari? They're not special either -- engineering is a learned skill that, yes, anyone can learn. Grab the average auto mechanic and plop them in to a university engineering program and you'll have a competent engineer in a few years. A decade or so or work after that, and you'll have a great engineer. Some will be better than others, sure, but it's not a matter of intelligence -- it's a matter of dedication.

      No one is born with a natural ability to write code or design car engines.

      Programming itself doesn't require anything special. Designing does.

      Guess what else is a learned skill? Design! Even better, it's a skill that can be taught! It doesn't take anything special -- just some education and experience.

    54. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      The guy didn't even mention widgets or dragging and dropping.

      He didn't have to. Everyone knows what he meant by mentioning "Visual Studio" at the end of a rant opining how anyone can program. Everyone but you, that is.

    55. Re:There is nothing special about programming by loom_weaver · · Score: 3, Insightful

      You can put anyone through music school but they aren't going to necessarily come out as a Mozart.

    56. Re:There is nothing special about programming by Sentrion · · Score: 1

      I think that most people, if you ask them what they do for a living, will either suggest that what they do isn't all that special (modest) or that what they do requires super-human capability (ego-maniac). It's a matter of personality mostly. The real difference is often a matter of perception. Remember how hard it seemed when you were a student? Now that perception probably seems inaccurate. And considering what we get paid to be programmers and engineers, there is a financial motivation to perpetuate the belief that such skills are way above what the average person can do.

      That said, I have found myself very disappointed by the ineptitude of people I have to interface with on a daily basis from all walks of life. Maybe anybody "below average" really doesn't have the right stuff to be programmers. Or even pool cleaners for that matter.

    57. Re:There is nothing special about programming by narcc · · Score: 4, Insightful

      No, they won't. They will, however, be a competent and skilled musician.

      The problem with developers who think themselves exceptional because they can program is that they all fancy themselves a Mozart.

    58. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Your whole post left my mouth agape. The standpoint that you are coming from, all programming can be simplified into dragging and dropping visual widgets and throwing in a bit of high-level platform code to tie it all together. If that is your view of what programming is, no wonder you think it isn't special. You aren't always programming on Windows. You don't always have desktop-sized amounts of memory. Sometimes YOU need to write one of those libraries that are NOT "already coded".

      And no, an astronaut doesn't just "drive the shuttle"

      You have to keep in mind, the post seems to have come from a designer. It just sounds like a lot of sour grapes to me.

      Indeed. To put the post in context, just read the last sentence and then his username.

    59. Re:There is nothing special about programming by Maxmin · · Score: 5, Funny

      Here's the truth

      "Listen up, maggots."

      Being able to write computer programs does not make you special.

      "You are not special."

      Any idiot can write code.

      "You are not a beautiful or unique snowflake."

      Get over yourself.

      "You're the same decaying organic matter as everything else."

      -narcc (412956)

      -Tyler Durden

      --
      O lord, bless this thy holy hand grenade, that with it thou mayest blow thine enemies to tiny bits, in thy mercy.
    60. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Your problem is that you irrationally have a tiny degree of faith in the majority of the population. The world wouldn't be where it is today if people didn't constantly succumb to emotional appeals (Like "save the children," "stop the terrorists," and "help us stop the big, evil criminals by trading your freedoms for security") and wallow in ignorance. The majority is not and never has been logical. They may be able to write terrible code, but they would never be good programmers.

    61. Re:There is nothing special about programming by BronsCon · · Score: 2

      Boss' wife is the head of the art department. She's also the only designer who has the slightest grasp of coding and the only one allowed to try. She also knows when she's in over her head and usually comes to me to bail her out, which I don't mind doing because she usually realizes very quickly that she doesn't know how to pull something off and aske me before she's made a chore of it. She also takes interest in how it was done, so she can learn and improve, which I definitely appreciate. It also helps that she's the only designer at the company that will listen to my design ideas and give feedback other than "you're not a designer, go code something", and that two-way dialog has helped both of us expand out knowledge and abilities quite a bit. I'm starting to get a lot more open-ended work handed to me by her because she has grown to trust my design decisions, and I've started to reply to more of her requests for coding help with advice rather than "I can get to it next Wednesday", which allows her to get it done in the meantime and if she can't figure it out by the time I can get to it, then I'll do it.

      That said, we go through a lot of designers; for one reason or another, they dont' last long. Some of them insist that they can code as well as the programmers, until they code themselves into a corner, publish their broken code, and take down a client's site, then try to pawn it off on one of the programmers because they said, per their project manager, they couldn't get to it untill tomorrow. Those designers are usually let go fairly quickly. The ones who leave usually get fed up with the fact that the company views them as peers of the programmers, rather than being one rung higher up the ladder. We've had one leave on good terms, who understood the importance of designers and programmers working side by side toward the same goal; he left to start his own design firm and still contract for us quite frequently.

      It's amazing how efficient a small company can be when people in different departments drop their egos and view each other as peers. Likewise, it's amazing how quickly one's ego can get in the way of them keeping (or staying at) a job at a very laid back company that appreciates its employees.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    62. Re:There is nothing special about programming by russotto · · Score: 1

      BTW, Google prefers to hire maths grads as programmers. Google say that the problem-solving skills of maths grads are better than those of CS grads, and anyone with a maths background will certainly have done some programming during their education and can cope with learning new languages and technologies.

      We do? News to me, though it's certainly possible; I'm just a developer (with a CS degree), not a recruiter. Our ads ask for a degree in "Computer Science or related field".

    63. Re:There is nothing special about programming by Smauler · · Score: 1

      Programming itself doesn't require anything special. Designing does.

      Programming _is_ designing. You can't programme something without a design, and if you are getting the design handed to you from someone else, it would be quicker for them to programme it than employ you. Programmers are almost by definition designers. If writing code was simple, most people would be able to do it.

      I personally have just grown up with code. I learnt basic, then taught myself HTML, PHP, Javascript, and C and Java (and machine code, to some extent). But I'm an amateur - I know how to hack together a simple website or script, but I have not a clue how to work in a large development. My code is usually a complete mess, I know that - I don't care. If it works, it works.

      This doesn't make me a programmer.

      If you don't know the difference between someone like me, who can write code in numerous languages, and someone who is adept at doing so, that is your fundamental miscomprehension.

    64. Re:There is nothing special about programming by ak3ldama · · Score: 1

      All it takes is the will to learn something new. It's no different than learning to work on cars. Do you think auto-mechanics have these same discussions? No. They're more emotionally stable, apparently, than the average developer.

      Of course they do not have these same discussions, they just know. All the people coming in with reasonably obvious problems that don't know what is wrong would be a pretty clear indication. I would agree though about your basic sentiment and we should not need to have this discussion. Auto maintenance interestingly has some similarities regarding knowing what to do, following the manual and doing the job right.

      --
      "but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
    65. Re:There is nothing special about programming by Smauler · · Score: 3, Insightful

      I've got no problem in saying I have no musical talent. I learnt the saxophone for 3 years when at school. By the end, I was still worse than most people after their first year, and I was never going to get very good at it.

      Why would this be different with coding?

    66. Re:There is nothing special about programming by multimediavt · · Score: 2, Insightful

      I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average and an interest in learning how to control that box. Interest can drive aptitude. But a low IQ is going to hamper working in, say, C. Object-oriented and the workings of inheritance in C++ are going to be hard to work with if you're plain dumb.

      Documentation for libraries is not infrequently poor or even wrong and there seems to be some tacit assumption that programmers will work out how things work anyway, even if that just means knowing where to get help.

      And it depends what you call "programming". If that includes designing solutions to complex or novel (hence no off-the-shelf libraries) solutions, then you have to design complex algorithms, which requires creativity. You need to be able to evaluate and select the right solution, too, something even very smart programmers get wrong.

      AFAIK every professional, in every field I know, says almost the exact same thing, and you know what? The ones who say it are usually insecure about something. Anyone can learn. You did get one thing right, it takes interest, but more importantly it takes motivation (necessity) and inspiration. Unless there is something genetically or mentally wrong with you due to trauma, anyone can learn anything and apply it. We as a species are innately creative. It's why we made tools and developed technology as a species. Now, some people have genetic dispositions for learning things like syntax, morphology, and may even have strong mathematical skills. Awesome for them! They will learn things like programming, foreign languages, music theory, physics and chemistry quicker than others and may be able to develop improvisations quicker to address challenges when applying what is known, but as long as there are no issues with brain function, yes, anyone can learn whatever they want, even programming. Whether they will be able to turn it into a vocation is an entirely different issue unrelated to learning having more to do with the speed of applying what was learned relative to competitors in a market.

    67. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      In most engineering fields, engineers don't stay engineers all that long. If they're any good they become managers and stop doing working at the lathe, so to speak.

      Not true. In every place I have worked in the last 10 years in consulting engineering, there have been senior engineers up to the level of Principal Engineer, which is roughly equivalent to a senior project management role in terms of pay and seniority, just in the technical stream. Some engineers don't want to manage, and there is a huge amount of value in keeping technical guys in a technical stream, passing that expertise onto your younger team. I know, because one mentored me from graduate level. I still have principal engineers passing on knowledge and adding value to my projects 10 years into my career.

      This idea that progression = management in knowledge work should be taken out to the back pasture and shot. Thankfully, I've never encountered it.

    68. Re:There is nothing special about programming by arth1 · · Score: 4, Insightful

      No one is born with a natural ability to write code or design car engines.

      No, but a great many people have a natural inability. In the case of car engines, the resulting products will never hit the road. In the case of programs, they do, as we all witness every day.

      Programming skill isn't the same as an ability to string small pieces of code together, any more than writing skill is the ability to touch type. It takes both perception andperspiration to be a decent programmer or decent author. Having an English literature grade may be useful, but it doesn't impart the ability to captivate your audience with your words. And taking programming classes won't hurt, but also won't make you come up with new elegant and efficient algorithms.
      At best, you can become a codemonkey, who is to programming as an assembly man is to an engineer, or a typist is to an author.

      Disclaimer: I am a senior sysadmin. I deal with both programmers and codemonkeys on a daily basis. In my long experience, there are hard-working and otherwise smart individuals who will never produce good code, and there are naturals who could, but are too lazy or careless. And there are a few who both have the ability and the drive to do so. Those are programmers, and I respect their profession.

    69. Re:There is nothing special about programming by mwvdlee · · Score: 1

      That said, I have found myself very disappointed by the ineptitude of people I have to interface with on a daily basis from all walks of life.

      According to your theory, does this make you not special or super-human?

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    70. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      No, they're not. They are not special and unique.
      ...
      Skill comes from experience -- it's as simple as that.
      ...
      No one is born with a natural ability to write code or design car engines.

      No, people aren't born with the ability, but some seem to have the innate aptitude. There's a recognition in career guidance that not everyone is "cut out" for a given job, and some people will take to a field easily while others will struggle with it or even be repelled due to some unidentified personal factors. That's hardly controversial, it's just a fact of life that shows itself up statistically.

      People who are drawn to programming seem to have an innate curiosity about how code works, and that curiosity drives their learning at a faster rate to a higher and deeper level than the average person would be able to obtain. Essentially, they know how to "practice deliberately" without needing to be taught. I think this is true of any field which requires building on skills and knowledge in a progressive fashion.

    71. Re:There is nothing special about programming by melodraama · · Score: 1

      I think it requires a certain level of intelligence as a minimum. Nothing incredibly special but above average

      There you have it. You think being able to program makes you special in some way or indicates that you're above average.

      Here's the truth: Any idiot can write code. Hell, half of Slashdot taught themselves to program when they were between the ages of 8-13.

      All it takes is the will to learn something new. It's no different than learning to work on cars. Do you think auto-mechanics have these same discussions? No. They're more emotionally stable, apparently, than the average developer.

      Yeah, just about anyone can learn to write computer programs. Just like every who has ever learned to write code, they'll get better and better as they gain experience

      Being able to write computer programs does not make you special. Get over yourself.

      There is difference between being able to program and being a programmer. I agree, practically anyone is able to program (write a simple piece of code, that compiles and can be executed) but not everyone is able to be a programmer.

      Car analogies don't work here. There is a *huge* difference in complexity between a car and software. Cars are simple (few parts and joints), software systems OTOH are the most complex systems created by humanity.

      The point is: to work and be productive as a programmer in some real environment you have to load a huge and complex model into your brain, before you could do anything useful. I don't know, why it is, but my experience shows, that even optimistically speaking only 1 of 10 people is able to successfully work as a programmer in real world projects. That came to me as a huge surprise, too, once.

    72. Re:There is nothing special about programming by RoboJ1M · · Score: 1

      You mean like the sandwich van? :/

    73. Re:There is nothing special about programming by RoboJ1M · · Score: 1

      Some areas of programming are still interesting, I did a lot of WindowsCE programming and it such a limited environment that you still have to think about how you're coding.
      The interesting part of my job these days is working out how to get 8 programmers to all work on the same project in an efficient manner.
      I spend more time in xmlspy and word than visual studio these days!

    74. Re:There is nothing special about programming by gay358 · · Score: 1

      Being mentally retarted will make programming complex programs very unlikely. Some diseases will probably have similar effect. Paralysis of hands, being totally blind, some of serious mental illnesses etc will probably make it quite difficult for them to do more than very simple programs. This means that in practise, not all people can learn -- or at least do -- programming in any meaningful way.

      I have the feeling that the set of people, who cannot learn/do programming even if you try to teach them, is probably much larger. But I have also noticed that only minority of people seem to be able to rational discussion of ordinary subjects. They seem to lack general knowledge, they make awfully lot of logical fallacies etc. Human stupidity never stops depressing me.

    75. Re:There is nothing special about programming by gay358 · · Score: 1

      I think that being able to write very simple programs isn't really proof of programming skills. Programs like these don't really require any real programming skill:

      print "My text here\n";

      I similar way, being able to write your name, isn't proof that you can actually write in any meaningful way.

    76. Re:There is nothing special about programming by Anonymous Coward · · Score: 1

      lol.... seriously, lol. ...writing scripts for websites is programming only in the sense that hot dogs are fine cuisine.

      Programming incorporates much, much more.

      I get the very strong sense that there are two groups talking past one another here.

      1) The people who wouldn't even blink if you said on Monday, "Here's a new uP instruction set, you've got these resources and this IO model; I'll need a working shortest-path grid routing algorithm for an arbitrarily populated X by Y grid with under Z uS performance by Friday at five, you can use up to four threads but no more, there's a 768 byte limit on stack use when you're called, here's the call input and output spec, see you then."

      2) The people who would listen to you say "I need a drop down menu that'll navigate our website without requiring client-side computing. Can that be done?" And respond with "Maybe. I'll let you know when I've looked through the libraries I know how to use in the one language I know how to write (PHP, Java, Python, etc.)."

      Just FYI, group 1 is composed of programmers. Group 2 is composed of script kiddies. They may be programmers one day, but not yet.

    77. Re:There is nothing special about programming by somersault · · Score: 2, Insightful

      They will, however, be a competent and skilled musician.

      No, they won't. Some people just don't have rhythm, or can't even tell when something is "in tune".

      I think you have spent too much time around talented and driven people to realise how many people there are out there that just wouldn't be able to handle writing anything more than a trivial piece of software.

      Programmers aren't "special" as in "better than others", but they are "different" in the same way that a lot of engineers are. More likely to be on the autistic spectrum for a start, which generally means they are more logical, focused and able to solve problems systematically.

      --
      which is totally what she said
    78. Re:There is nothing special about programming by u38cg · · Score: 3, Insightful

      You didn't want to learn it and you never applied yourself to learning it. It's hardly surprising that you then didn't learn it.

      --
      [FUCK BETA]
    79. Re:There is nothing special about programming by serviscope_minor · · Score: 5, Insightful

      Why would this be different with coding?

      Quite so. This kind of comment seems to be missing from the thread.

      Being good at programming does make you special in as much as you can sell that skill for money, and the better you are the more you can sell it for.

      I don't think there's much wrong with many slashdot residents claiming to be skilled at programming. It is a tech forum after all.

      I claim to be skilled at programming. There's nothing wrong with that and without arrogance I am happy claiming that most people (not most programmers) simply won't be as good as me because I have a natural aptitude and a natural drive which makes putting in the requisite 10,000 hours pretty much effortless.

      But that's OK. I would bet that almost everyone is better than average at something.

      I'm a terrible musician. I'm a terrible writer---I could never write a novel. I would suck as a politician. I can't dance. I would be a terrible administrator, organiser or logistics kind of person. I could never teach school below 16 and even then only good, motivated students, without flipping out or giving up. I probably could run a marathon if I trained, but I would never be good at it. I suck at chess despite a fair amount of playing. I'm a poor actor. I'm bad with kids.

      I can never be good at any of those things above. I lack the innate talent and I lack the ability to make myself work at them enough.

      I don't claim this makes me better than other people (except of course at programming) because clearly programming isn't the be-all and end-all of things.

      So, I think that almost anyone could learn to assemble a few statements of code together. But programming is more than that, and I don't think many people could be programmers, much like most people can't be artists even though splatting down paint from a brush is trivial.

      --
      SJW n. One who posts facts.
    80. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Go talk to a crowd of mechanics from a local shop.

      Now go talk to a crowd of mechanics from a BMW or Porsche factory shop. The ones in the polos making 130,000 a year.

      There are ranks and castes, even in lowly car mechanics.

    81. Re:There is nothing special about programming by serviscope_minor · · Score: 2

      That anyone given enough time can write novel's.

      Trues me, if I ever wrote a novel, it would suck really badly. However, I would use apostrophes properly.

      --
      SJW n. One who posts facts.
    82. Re:There is nothing special about programming by JasterBobaMereel · · Score: 2

      There is nothing special about any profession, anyone can learn to do anything - Given that they don't have a disability that prevents them, and a minimal level of intelligence

      But to be good enough at it to be employed doing it they need two things : Motivation, and experience (the second being dependent on the first)

      What they may never be no matter how much experience and motivation they have is the innate ability to be better than average at the task ...

      There is no getting over the fact that some people are better at some things than others, however the majority can do anything to at least a competent level

      --
      Puteulanus fenestra mortis
    83. Re:There is nothing special about programming by Anonymous Coward · · Score: 1

      Verily, mathematicians are not afraid of infinities! However, unlike computers, they can handle them.

    84. Re:There is nothing special about programming by dvaldenaire · · Score: 2

      From what i've seen, if " By the end, I was still worse than most people after their first year" ... basically it's not that you can't. Just that you are not passionate. And still...

      I think i was HIGHLY passionate about playing music. I tried to learn. So after a few months i began to forget to train. Not deliberately, only i wake up in the morning and said : "oops i forgot to play yersteday evening". When it came to computer i never forgot... that, i think, make the difference.

      The best in any field is the most OBSEDED about this field. They just can't think about something else. Hence Booby Fisher.

      --
      What does it mean, "appended to the end of comments you post"
    85. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Way to ignore most of what else was said, cherry picking one thing and then smashing it with your preconceptions. Congratulations on knocking down a strawman.

      You're arguing that "anyone can become an excellent programmer." This is as useless as saying "anyone can become an olympic athlete" or "anyone can play guitar like Jimi Hendrix".

      Looking over your posts in this article, you sure seem to have an ax to grind against programmers. At some point the question need be asked, are you yelling so loudly that programming is easy because you were embarrassed long ago? Maybe you found out you weren't as great at something as you thought?

      Also, you say this later down this thread:

      The problem with developers who think themselves exceptional because they can program is that they all fancy themselves a Mozart.

      Again we see your obvious bias against programmers. Tell me, have you ever met someone that was really good at fixing cars? How about playing football? What about video games?

      The fact of the matter is, anyone that fancies themselves good at something will have an ego about it if they think they're talking to someone that will care in any way about the skill they're claiming to have. This phenomenon is not limited to programmers.

    86. Re:There is nothing special about programming by cyborg_zx · · Score: 1

      That just made my day.

    87. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Anyone can bang together a house that'll stand up as well. It's just wood and nails after all.

    88. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      We could compare salaries...Mine['s 6 figures.

    89. Re:There is nothing special about programming by ipwndk · · Score: 1

      You are describing programming.

      It is called detailed design, and is the design of a system. Tests are even performed at that level to see if it works. Without any code yet - it has not yet been constructed.

      When you pour a hundred million into a product, and involve hundreds of programmers, this better damn work. This can be the killer of even large corporations.

      I already create working A.I. thank you very much. I do not want to sell it though, so I keep it as data points :-)

      But then again I was a designer once. I abandoned it to become a computer scientist and lead developer.

      I dream now more than ever.

      So design may have helped. I can visualize whole systems before I create them and solve problems of overwhelming size.

      There are some programmers who do not visualize and dream as much, but do stuff based on requirements. But you must remember that there are difference in programmers. I am a lead programmer; I do much more than write trivial letters complying to some grammer of a language.

      --
      01 REDEFINE REALITY.
    90. Re:There is nothing special about programming by niado · · Score: 1

      I think part of the division here between you and most of the other posters is the definition of 'programmer' you are using. Certainly anyone with a minimal intelligence, without an actual mental disability could learn to write some functional code given enough time and the proper instruction. This should be obvious to anyone.

      There is a clear gap, however, between those who have the potential to learn to write some code, and those who have the potential to do it professionally. Even this gap could probably be overcome with enough time and determination, but if it required too much time it certainly wouldn't be worth pursuing. You are arguing from the view of "anything is possible!" which is not a very useful point to make.

    91. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      "AFAIK every professional, in every field I know, says almost the exact same thing (it requires a certain level of intelligence), and you know what? The ones who say it are usually insecure about something."

      No. These professionals know how difficult their profession is and know that they themselves are of above average intelligence (not so strange, since half the people on earth are of above average intelligence). They have probably seen people that they judge (probably accurately) to be less intelligent attempt their profession and fail to thrive.

      On the other hand, the people who make the argument that you make truely appear insecure, and it is obvious about what... They can't program, and they believe that may imply that they are not above average intelligence; which, while it may be true does not necessarily follow in that "A requires B" does not imply that "B requires A".

    92. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Wow, it is obvious that you are not a programmer (or your term "designer"). Perhaps you delude yourself by thinking you are, but let em tell you, you are not.

      It was proven by your lack of knowledge of the existance of truely complex systems. Code efficiency has become less important over the years, but in many cases is still very important (e.g. real time systems).

      With intelligence (and time) comes wisdom. Most intelligent people eventually gain the wisdom to not flaunt their higher intelligence. It is the lubricant for social interaction that allows this thing called friendship. It is not "self-importance". It is a simple fact that programming ability strongly correlates to intelligence as do many things.

      It is simple to drive a car right? Any code monkey should be able to make a computer with webcam and a few big servos attached drive a car, right? You would be surprised at the post doctoral level of math, vision, and control theory that is required, and then all the training for all the one in a million cases...

      If your post was to describe what business constraints do to "programming" (hire the cheapest and try to get by with it), then you should have emphasized that more.

    93. Re:There is nothing special about programming by Marxist+Hacker+42 · · Score: 1

      After 16 years in the industry, here's how I break it down:

      If you are smart enough to balance a checkbook, you can learn Boolean Algebra, and that's all it really takes to be a programmer these days. With modern tools, you don't even have to read (or if half the apps in the android app store are any indication, spell; as one bilingual ESL programmer told me once, as long as the machine knows what you mean and you know what you mean, it doesn't matter if your variable or procedure names are spelled correctly).

      BUT- and here's the big but and the reason I earn $40/hr right now- writing maintainable code is HARD. Architecting a 5 tier multi-server multi-mode piece of software for 10,000 users across 6 states with multiple operating systems is easier than it used to be, but it still isn't for the average code monkey. And if it has had 5 architects and 30 programmers over the past 11 years, it's a bloody mess of object orientation, spaghetti code, procedural, stupid custom control tricks, and byzantine patches. And it isn't even 5 tier in some places anymore.

      Especially if the management does not want to invest in enough people to replace it with a modern web GUI and it's coded in a language/compiler that even Microsoft EOL'd in 2003.

      But yeah, given enough training, say, 13 years of working in the language that even Microsoft won't touch with a 10 foot pole, anybody could do it.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    94. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Google is not alone in hiring math grads for programming jobs.

      I was hired as a programmer (scientific, not business) at Lockheed in the 80's because of my math and physics degrees.

      It was icing on the cake that I was also a programmer. They would have taught me programming just to get my math degree.

      I was the only person to successfully complete the simple (timed) training test. In Fortran (77) create and print the human readable string of english language words that represents an arbitrary floating point dollar amount (like "One hundred twenty-three dollars and fifty-six cents"). Fortran didn't have string handling back then...

    95. Re:There is nothing special about programming by Marxist+Hacker+42 · · Score: 1

      My grandfather was a brilliant auto mechanic. Owned his own shop. Went from the "repair my F-Head army jeep that I got for $25 surplus" era clear up to the late 1980s when OBD-I appeared (and it always amazed me the size of the computer he used, even back then, to read OBD codes- it was so large that he installed it on an overhead track that could be pushed between the four bays in his shop- a mini-computer when that classification still meant something, with 12 different cables hanging off of it).

      He readily admitted that it took something special to be at his level of his profession- it took constant learning, and bi-yearly recertification to keep the business he did have, even after 30 years in a small community where he was well known. It was a poorer community, and I've never known a man to own so many cars that got left behind in lieu of bill payment.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    96. Re:There is nothing special about programming by ahabswhale · · Score: 1

      I hear what you're saying and generally agree but I've met people who have had trouble understanding a for loop. I'm sorry but there's no hope for these people.

      --
      Are agnostics skeptical of unicorns too?
    97. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      1st, this is one of those poorly worded open ended questions that begs for controversy and should never be posted-but-always-is and the poster gets lambasted, the idiots come out, arguments spawn endlessly all due to the wording mishaps..need I go on? There's a large difference between 'being able to write a few lines of code', programming, and software development.

      2nd, like any profession, it will have a unique subset of skills geared more towards certain traits of people.

      3rd, those not in the industry, as with most industries, will likely not understand what we do very well. Many people think politicians are simple populism courtiers. And though to an extent it's true, they also miss out that the good ones are also really gamblers - playing poker on a very high level, expert negotiators, marketers, organizers (many start by helping other politicians get into office), liars, ass kissers, and have backgrounds in other fields of study.

      Programming itself does require: logic, problem solving, some attention to detail (learning a lot of quirks of each programming language is a necessity). It's nice to all think we're logical beings, but the massive fallacies I see from commercials, politicians, news articles, proves otherwise (not just the people putting it out as they may be logical but just ruthlessly contorting it - it's the masses who absorb it completely or let it go so easily (for if they didn't buy into it, advertisers and politicians wouldn't do it)). It gets much more complicated from there. When you need to write fast code or large programs, you need to be a memory management master. This is hardly trivial - even if your algorithms are all fine tuned (few algs are trivial, and a loop is not an alg), there is little worse than a cache miss that forces you to wait in milliseconds (doesn't matter how fast your processor is, the faster it is, the more instructions it could have processed instead of waiting for some data to become available). Don't know what i'm talking about? Windows search indexer is a great example, it can take hours to go through a few thousand files - where as if they weren't all over the place (aka, memory not a factor) this would be in the order of seconds.

      Many programmers are well versed in other fields like physics, linear algebra, and many other types of math. Whoever thinks computers are getting so fast you don't need to worry about running fast algorithms knows very little about software development. There's always a need for fast code. "Back in the day" required it just to run, but today is no different. We've gone from purely scientific to major market - and SELLING is just as important to us - you don't do that often with slow shitty code. Sizable software also requires memory management, intimate compiler knowledge, and often, great math skill. Not to mention doing all of this while keeping debugging issues down. You don't get a 'forever' time frame when making most apps. What about guys who program on hardware - or guys making hardware. They do everything in some kind of programming environment. You don't exactly design a circuit board or next gen CPU on paper. What about cross-platform capable software? You can't just plug-in again if this is an issue, and the more platforms you plan to deploy on, increases the knowledge you need of those greatly, and each platform is not a small topic. Even if you are plugging things in (say Boost) - you are often worried about HOW they execute their algorithms and manage memory. If you aren't concerned, you likely aren't much of a developer. This has weeded out now many more people?

      Of course, this is leaving out being able to see an elegant solution, solving a tricky debugging problems where it could be hundreds of things, (sometimes not even in your own code, but these other 'packages you just plug in'), seeing future development needs, and loads of other things. This requires constant thinking, constant problem solving, constant learning, and yes, an above average IQ. As with anything, there is dirty work, bu

    98. Re:There is nothing special about programming by narcc · · Score: 0

      Nope, no definition gap. Any idiot can code professionally (heh, some might say many idiots do!), and code professionally well. I'm not arguing that anything is possible, only that learning a skill like programming is no different than learning any other skill.

      It doesn't take some special mind or a bit of genetic luck. It takes what every other skill takes to develop -- practice.

      This "I'm special because I can write code" is just senseless egomania. As I pointed out before, half of Slashdot taught themselves to write software between the ages of 8 and 13. It's not exactly the worlds most difficult profession!

    99. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      In the case of car engines, the resulting products will never hit the road.

      Never had an automotive mechanics course, have you?

      There are a slew of badly engineered engines out there. Some from the early 80's had this thing called an electronic carbureator which is a step backwards from the purely mechanical ones and was pointless considering the simple electronic injection systems of that era were already a big improvement over carbureation. There were some European engines known for burning up bearings because of limited oil circulation (cheap out on the filter, one glob of crud in that passage, and you're in trouble). VW engines with piston rings that leak by so badly that topping off oil monthly is considered "normal". GM engines with some serious head gasket problems (some advice - never go hard on them when cold). Another engine which had bad heat soak problems affecting ignition coils, because they were packaged "too neatly". Ford engines that had some problems with bottom end seals and leaking oil. Some Japanese engine although considered reliable - it would be a really bad idea to get the turbo version, etc.

      Those likely wouldn't go over well in the current market because of how quality/reliability driven things are now, but there's still thousands of them out there in cars that you see everyday.

      In some ways modern engines could still even be considered worse than old ones, although much more reliable and efficient - they tend to be packaged horribly compared to older counterparts. Might have to tear out an entire manifold or hang it from a lift and partially unmount it it just to get at the damn sparkplugs. Makes them unservicable without the right shop equipment, and that extra teardown work adds up in hourly labor costs.

      Anyhow... If there's a human involved in the process somewhere, there's still plenty of potential to screw up. Either through incompetence, ignorance, or malfeasance. A bad engine may still yet be designed, and could quite possibly hit the road - even literally.

    100. Re:There is nothing special about programming by cplusplus · · Score: 1

      As a "Designer" myself, I put things together at the proverbial 30k foot level, but rely on my programming team to land the plane, not crash it.

      I thought about this, and I disagree on many points. I agree that anyone can probably write code. However, the set of programmers that can write good code, efficient code, or maintainable code is much smaller. I've seen examples of both. And contrary to your opinion, efficiency does matter. A majority of the computers and devices in the world are embedded, or live in constraints based on cost (meaning crappy CPU, memory constraints, and such) and so efficiency matters. Also, are you writing back-end database stuff? If you execute 10 million queries on your database when 2 million would do, you might have just added hours of processing overhead (and a helluva lot more complexity). Maintainability matters as well. If you write a bunch of spaghetti crap (or code that's inefficient and more complicated than necessary) that needs to stay around and function for several years, good luck. You'll end up swamped in defects or other headaches.

      --
      "False hope is why we'll never run out of natural resources!" - Lewis Black
    101. Re:There is nothing special about programming by Hythlodaeus · · Score: 2

      half of Slashdot taught themselves to program when they were between the ages of 8-13

      And that is exactly the kind of mind it takes to program. The good and bad programmers I've known divide fairly equivalently to those that taught themselves before high school and those who wrote their first code in CS 101.

      --
      For great justice.
    102. Re:There is nothing special about programming by djchristensen · · Score: 1

      Your slashdot example is idiotic. This is a self-selected group of "nerds" who would be expected to be above average at learning skills like programming.

      I know from personal experience with my wife and daughter that some people just are not cut out to do any sort of software development. They don't naturally think in terms of the logical steps required to find and implement an elegant solution. If you made their food dependent on their usable code output, they might learn enough to survive, but they would be very hungry.

      I encourage you to peruse some of the free apps in the app store of your choice. There's no shortage of almost completely unusable garbage there from "programmers" who figure anyone can write an app. A lot of people might be able to write an app, but not anyone can write a good app. In this case, these are people who had a desire to code well and still could not. Likewise books in the Kindle store. The assumption that a decent grasp of spoken language is enough to weave a compelling story is quite obviously fallacious.

      If you're so sure programmers are nothing special, then let me pick a few to write the flight control software for the next plane you fly on or the engine and brake control software of your car or the user interface software of your TV (okay, that last one might be a bad example given some of the crap I've seen in things like TVs, but that helps make my point).

    103. Re:There is nothing special about programming by jeremyp · · Score: 1

      Do you honestly think the Slashdot readership is a sample representative of the population?

      --
      All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
    104. Re:There is nothing special about programming by monkeykoder · · Score: 1

      Quite a significant number of engineers that went through a university engineering program aren't even competent engineers I've met a few myself. As far as design I've seen way too many horrible designers with many years of experience to believe you on that one.

    105. Re:There is nothing special about programming by Marxist+Hacker+42 · · Score: 1

      Good, efficient, maintainable. Choose any two. I've yet to meet any programmer that can do all three, at least, not reliably.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    106. Re:There is nothing special about programming by andrewa · · Score: 1

      Or the "roach coach" as we used to call ours....

      --
      :(){ :|:& };:
    107. Re:There is nothing special about programming by monkeykoder · · Score: 1

      Designers are awesome. I will never be able to do their work and I would be much happier if I didn't have to try. I just sure as hell wouldn't want to have most of them doing any actual programming.

    108. Re:There is nothing special about programming by cplusplus · · Score: 1

      Yeah, true, although it's been my experience that you can probably "Choose any two point five" :-). Live within the constraints of your system and requirements, I suppose.

      --
      "False hope is why we'll never run out of natural resources!" - Lewis Black
    109. Re:There is nothing special about programming by jkauzlar · · Score: 1

      Yes, programming can mean the capability to write a program that does something, but it can also refer to the craft, by which I mean that the programmer has applied lessons learned from the past so that the program is supportable, maintainable, other developers can read it, errors are handled well, significant knowledge of things like databases so you can interact with them, the business knowledge of the company you work for, etc. I think you can excel in the first, but be terrible in the second, and vice-versa. But i'm assuming the article is talking about the former. As for the OP, I'm not sure where he works, but 'lowest of the low' is a bit of a harsh assessment when you consider the second meaning of 'programmer.'

    110. Re:There is nothing special about programming by narcc · · Score: 1

      Nonsense. [Insert contradictory anecdote]

    111. Re:There is nothing special about programming by narcc · · Score: 1

      No. It is, however, a group of idiots. I presume that they were also idiots as children. If an idiot child can teach itself to competently write computer programs, surely, any idiot can learn!

      Stop and think for a moment why sampling bias doesn't apply here...

    112. Re:There is nothing special about programming by narcc · · Score: 0

      You don't learn through osmosis. If they don't actually make an effort to improve, they won't.

      Why is this so damned difficult for people to understand?

    113. Re:There is nothing special about programming by terpri · · Score: 1

      The authors have not been able to repeat their results: http://www.gwern.net/Notes#the-camel-has-two-humps

    114. Re:There is nothing special about programming by Anonymous Coward · · Score: 0

      Do you think auto-mechanics have these same discussions?

      Yes. And, many of them think they quite special because they are able to do what they do.

    115. Re:There is nothing special about programming by monkeykoder · · Score: 1

      To make an effort takes the desire to make an effort that in and of itself is one of many things that sets groups of people apart. As a math tutor for many years in a walk in tutoring environment with many tutors I watched hundreds of students struggling their way through Business Calculus and failing (no matter which tutor) some managed to scrape by with a C with literally hundreds of hours in the lab asking questions and pushing to understand the concepts. With enough help they would pass but still with no concept of what it was they were actually learning. This does not change for any given field of study some can get it some can't. I'm not saying these people are any lesser or greater than each other they just have different domains of capability. Programming has a very specific domain of capability that happens to be rather specific. If by become competent you mean write a program that functions most of the time in horribly written VB then you have a point but no one wants that code and no real developer would call them competent. This code they churn out ends up costing their clients more in the long run than not having a program take care of any of the work. Going on what you said competence is a very low standard and "competent" should never be allowed in the workplace.

    116. Re:There is nothing special about programming by Tamerlin · · Score: 1

      These people unfortunately now comprise the majority of the developers in the industry... and people wonder why most software these days is bug-ridden, memory-hungry, and bloated. It's because most "programmers" learned a programming language, not programming, and certainly nothing like engineering.

    117. Re:There is nothing special about programming by Rakarra · · Score: 1

      All it takes is the will to learn something new. It's no different than learning to work on cars. Do you think auto-mechanics have these same discussions? No. They're more emotionally stable, apparently, than the average developer.

      Are you serious? Do you really think they don't roll their eyes or snicker afterwards at the guy who comes in with a somewhat smokey engine and you find he's never replaced his oil? Or got the tires rotated? Or any other standard maintenance?

    118. Re:There is nothing special about programming by narcc · · Score: 1

      Sure they do. Of course, they don't snicker because they think of themselves as being part of some intellectually elite group -- they laugh at the poor fool who lacks what they consider to be common knowledge.

    119. Re:There is nothing special about programming by Bengie · · Score: 1

      No one is born with a natural ability to write code or design car engines.

      I may not have had an innate ability to program, but I have always been good at problem solving. I don't need to solve computer problems, I can do that with almost anything. Give me any system, a problem, and some knowledge of how things work in said system, and I'll solve the problem.

    120. Re:There is nothing special about programming by narcc · · Score: 1

      Do you think this makes you special?

      Too cute.

    121. Re:There is nothing special about programming by multimediavt · · Score: 1

      Ok, this is at both of the replies above. The OP didn't ask if everyone could become a professional programmer, i.e., someone who does it for money to support their existence. The question was can anyone become a programmer, i.e., learn to write code. The answer to both you egotistical, pompous pricks is yes. Anyone can LEARN how to program. Can they become proficient at it to make a living, that's a different issue, that I did address in the last sentence of my original post above.

      I happen to be one of those blessed with innate abilities in mathematics, music, syntax and morphology. I am also not bad at large system theory and doing related rate calculations in my head, on the fly (I can hit moving targets very easily, most can't). However, I AM NOT A DICK ABOUT IT!!!!! I don't believe that I am better than anyone else for having these abilities. Everyone has their specialty, but that doesn't make them special outside that specialty. So, you can be bound in your nutshell of specialness and master of infinite space, but being a dick about it just diminishes us all. Everyone can learn to do what you do. Can they learn to do it at the same level of proficiency? That's up to them, again, as long as there is no medical or traumatic reason they can learn and take the time to be just as good as you. It might take them LONGER, but anyone can do what you do. If not, then how will we get along after you die? lmao

      I am glad that there are people who do excel at some vocations; simply so I don't have to learn to do them. That does not mean that I am incapable. It means I am not as motivated, interested in doing that type of work. It doesn't appeal to me. It's why I don't work for the myriad federal agencies that were recruiting me throughout my younger years. I didn't want to sit in a room writing code and breaking crypto. Not my bag. Not that I'm not good at it, but just because you have a big penis doesn't mean you have to be a porn star, either.

  2. Answer by Anonymous Coward · · Score: 5, Insightful

    No

    1. Re:Answer by Deep+Esophagus · · Score: 5, Funny

      If you had what it takes to be a real programmer, your answer would have been:
      0

    2. Re:Answer by tsa · · Score: 1

      Exactly. He isn't a real programmer, so no, not everyone can be a programmer. Take my parents, for instance. They will never program anything. They had a VCR for 10 years and didn't even try to program that.

      --

      -- Cheers!

    3. Re:Answer by Kergan · · Score: 5, Funny

      10 as in two, or ten?

    4. Re:Answer by tsa · · Score: 4, Funny

      I asked but they don't understand what you mean.

      --

      -- Cheers!

    5. Re:Answer by man_of_mr_e · · Score: 5, Insightful

      Anyone can become a programmer. Not everyone can become a GOOD programmer, or even a competent one.

      Even fewer can become an exceptional programmer.

      It's not just practice. I've put far more than the 10,000 hours required to master a skill into learning to play Guitar, but I still suck. The reasons are probably many, but I've also come to understand I'm just not talented in this regard.

      Just like some people are natural artists, some people are natural programmers. Some people aren't natural programmers, but can become proficient with a lot of practice. Some people can't get it not matter how much or how long they practice.

      Some people think logically. Some people think intuitively. The former can become competent programmers. The latter, not so much.. because computer languages just don't make intuitive sense.

      The REALLY good programmers are ones that can both think logically AND intuitively. They can use logic and still intuitively jump to conclusions that would take far longer with logic alone.

      Now, whether or not you can change your way of thinking, or whether or not you are born with a certain way of thinking is unclear. Certainly, I think how a child is raised affects the way they will think as an adult, but it also requires aptitude.

    6. Re:Answer by Anonymous Coward · · Score: 1

      16

    7. Re:Answer by Anonymous Coward · · Score: 0

      Twenty two? I don't get it...

    8. Re:Answer by RabidTimmy · · Score: 1

      Hmm, twenty two is an odd base to work in but I suppose it's still valid.

    9. Re:Answer by anomaly256 · · Score: 2

      Typical 'cowboy' programmer. The real answer should have been 'b0' for self documenting disambiguation and clarity when working in a group project

    10. Re:Answer by anomaly256 · · Score: 2

      I'd argue that it also takes desire and motivation - something not everyone will have. It does also take a certain level of reasoning ability to become a good programmer. I've met plenty of average programmers who end up making more problems than they solve then having to fix up their naive work. They usually have ample university credentials and years of PHP or Java dev experience and seem like reasonably intelligent and rational people but for whatever reason just continually miss things that should be obvious and struggle trying to model complex objects or interactions. I guess maybe the term 'programmer' is bit ambiguous - in this context does the author mean 'code monkey' or 'architect' ?

    11. Re:Answer by anomaly256 · · Score: 2

      Oh yeah, that brings me to another point that needs to be mentioned: Those devs with ample university credentials I've encountered seem to have a REALLY hard time switching languages. It seems like they rote-learned the languages without actually comprehending the design patterns and can't reapply their knowledge to new languages - something that should come very easy to a 'good' programmer or higher. Whether this is due to their education or cognitive process, I can't say. But I would think the 'right' kind of mind would be able to do this task automatically without being trained to. I do believe anyone can get there if they desire to, but I do also believe some people have an innate advantage for getting there earlier/easier

    12. Re:Answer by beelsebob · · Score: 1

      Incorrect, because real programmers can get their heads round at least the basics of logic, maths, and type theory ;P

    13. Re:Answer by narcc · · Score: 0

      I'd argue that it also takes desire and motivation - something not everyone will have.

      Indeed, though that's true regardless of the skill at question. The same can be said for playing the piano, for example. The difference is that piano players don't fancy themselves geniuses above the average person!
       

      It does also take a certain level of reasoning ability to become a good programmer.

      Which, of course, is learned. Critical thinking and reasoning are not congenital -- they're learned skills.

    14. Re:Answer by dpdjvan · · Score: 1

      I have not exprienced this. The people I know that came from University can program in several langauges and usally learn a new one very quick and the ones from a techincal college have more trouble. It could be a difference in the education provided at Universities in different Countries. I myself had to learn several langauge an overall system design and methods as part of my degree.

    15. Re:Answer by benlwilson · · Score: 5, Insightful

      There is an important difference between
      - People who have no motivation and don't want to be a programmer so never find out if they're any good at it.
      - People who believe they're not smart enough to do programming.
      - People who don't not have the mental capacity necessary to follow logic.

      I reckon if you took a random sample of say 1000 people and put them through a decent 2 year programming course with the legit promise of 1 million dollars at the end if they pass you would find a pretty large percentage of them would be able to code reasonably by the end and get the money.
      After they got the money however, most of them would go back to their normal jobs since they wouldn't actually enjoy or want to do computer program as a career.

    16. Re:Answer by Nitage · · Score: 1

      Maybe his language of choice is Prolog.

    17. Re:Answer by im_thatoneguy · · Score: 1

      Admittedly VCRs are really hard to program. I can write an entire an entire application with developer SDK and high level interface long before I could program some VCRs.

      I have a Car Stereo right now that a good 4 of us can't for the life of us figure out how to make work on a consistent basis--even with a manual.

      I would wager I could teach most people basic python that could run a VCR with a well thought out Python interface faster than programming many VCRs.

    18. Re:Answer by CastrTroy · · Score: 3, Interesting

      I guess with the million dollar prize at the end, you could probably get some people motivated enough. But I would think there's a very high percentage of people who really just don't have the "mental capacity necessary to follow logic". You'd probably end up with a lot of people passing, but still not really understanding how to program at the end. I saw a lot of this in university. They'd get a whole bunch of help on the assignments, or just outright copy from other students. In the exam, they'd cram until they could just barely pass, and then proceed to forget everything within minutes after the exam, leaving them no more knowledgable then before the class. It's not that people are stupid, but I knew some pretty "smart" people (they did well enough in highschool to get accepted to engineering), but who utterly failed at anything programming related.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    19. Re:Answer by spiffmastercow · · Score: 1

      My college courses included the following languages: C, C++, Java, fortran,pascal, x86 assembly, VB6, and Pcode assembly. The term 'design patterns' was not mentioned once, however.

    20. Re:Answer by lightknight · · Score: 1

      Oh, it certainly does -> it takes a mind capable of doing simple algebra.

      I've heard unsubstantiated tales that there are some people out there who haven't learned algebra, and I believe there was an article out in the NYTimes a few months ago about replacing algebra with statistics.

      --
      I am John Hurt.
    21. Re:Answer by Anonymous Coward · · Score: 0

      Mine had 2 languages and the reason the term design pattern wasn't ever mentioned is because they don't teach you to design software.

    22. Re:Answer by spiffmastercow · · Score: 1

      Mine had 2 languages and the reason the term design pattern wasn't ever mentioned is because they don't teach you to design software.

      That's right, they don't. Design patterns have no place in a CS curriculum. The languages used most in my courses were C and C++, but the language was usually treated as a practical means to implement something, rather than the end goal.

    23. Re:Answer by arth1 · · Score: 2

      Hmm, twenty two is an odd base to work in but I suppose it's still valid.

      I thought twentytwo was even. In all bases except base one.

    24. Re:Answer by anomaly256 · · Score: 1

      That's exactly why they should be teaching design patterns instead of languages....

    25. Re:Answer by man_of_mr_e · · Score: 4, Insightful

      That's simply not true.

      Speaking of auto mechanics. There's this thing called "Mechanical Aptitude", which good auto mechanics have. They can visualize how the machinery operates in their head. Not everyone can do that.

      Having knowledge does not make one good at their job. Having failed 200 times doesn't mean you won't fail on the 201st time. Some people fail to learn from experience.

      I'm not saying you need to be a genius. I'm not saying you need to be a genius to be good at programming... But some people do not have an aptitude for logical and critical thinking.

      You accuse me of being an egomaniac, but you are guilty of the opposite. You expect everyone to be like you.

      I think you will find yourself constantly disappointed in others.

    26. Re:Answer by arth1 · · Score: 5, Insightful

      The mental capacity to follow logic does not mean you can be a good programmer. Codemonkey, perhaps, but not programmer. You need to be innovative too, and be able to make leaps of logic, not just follow logic.

    27. Re:Answer by Anonymous Coward · · Score: 0

      Lots of people don't have "the mental capacity necessary to follow logic." Look at how many people want to vote for Obama again.

    28. Re:Answer by man_of_mr_e · · Score: 2

      They may be learned skills, but some people have greater aptitude for them than others. Further, there is some evidence that our brains develop in the ways they are taught as a child, and that once we reach adulthood the brain is much more difficult to change.

      Some people simply may not have developed the right way of thinking and severely handicap their ability to learn skills such as those.

    29. Re:Answer by anomaly256 · · Score: 1

      I think you guys need to review this: http://en.wikipedia.org/wiki/Software_design_pattern

    30. Re:Answer by Anonymous Coward · · Score: 0

      lmao. We know who wont be a programmer in the near future.

    31. Re:Answer by Anonymous Coward · · Score: 0

      No

      Or as Prolog programmers would put it:

      No.

    32. Re:Answer by spiffmastercow · · Score: 1

      Most of the languages taught at my school were done in a single 'comparative languages' class. Assembly was the only class on a specific language, and it was taght primarily for background on system calls and memory management for later courses. Design patterns certainly have their place, but they belong in a CE program, not CS. A CS BS should take you through algorithm design/implementation/discrimination, data structures, combinatorics, number theory, graph theory, and state machine theory. My program was lacking in many regards, but it was correct to not teach design patterns. Design patterns can be useful in real world coding, but they can also be a rote memorization time sink. Anyone with a lick of sense will figure out the factory pattern long before learning what it's called, or even that someone thought it was important enough to give it a name.

    33. Re:Answer by narcc · · Score: 1

      You accuse me of being an egomaniac, but you are guilty of the opposite. You expect everyone to be like you.
      I think you will find yourself constantly disappointed in others.

      With my students, I set very high expectations. You know what happens more often than not? They improve significantly. Other instructors set a fairly low-bar, and are surprised when their students produce poor work -- or worse, completely okay with it!

      For example, I expect very few spelling grammar and punctuation mistakes in their written work, even though that's not the focus of the class. I expect them to make their points clearly and succinctly with no major oversights or gaps/mistakes in their reasoning. Within a few weeks, I'm no longer looking at a stack full of poorly-written nonsense. I demand quality work and, with a little extra support, I get quality work.

      Everyone can improve. I've yet to meet anyone,baring some physical or mental disability, which can't achieve an acceptable or even exceptional level of performance if they put in a bit of effort. Sure, it may take more work for those who haven't cultivated those skills in the past, but that doesn't make them less capable or mean they have a greater aptitude. It just means that some of them come to the task better prepared than the others -- usually through past experience.

      No one is born a good writer, programmer, or auto mechanic. Aptitude is just a word we use to talk about existing skills, and let us pretend that they're somehow congenital. For the mechanic, it may mean that they had toys that taught them about gears and things. No pre-existing "aptitude", just past experience which is relevant/transferable.

      Now we have two failures here. The egomaniacs who think themselves exceptional because they have some learned skill and the failures who think that it's not their fault that they can't put a little effort in to improving themselves -- they just don't have the "aptitude". Nonsense in virtually every case.

    34. Re:Answer by Gr4vyBoy · · Score: 1

      Do you have any documentation to prove that you were the first TSA? :3

    35. Re:Answer by Anonymous Coward · · Score: 0

      Whats two?

    36. Re:Answer by Anonymous Coward · · Score: 0

      That's silly. Evidently you're not a real programmer. The question asked in English merits a reply in English not Boolean. A real programmer enters commands in the appropriate language and a real programmer would know that. One simply doesn't enter "void(main){...};" when programming in interpreted BASIC or Assembler.

    37. Re:Answer by man_of_mr_e · · Score: 0

      I should have known you were an educator. Your world revolves around the 12 week period when students first show up and they go on with the rest of their lives.

      Something you may not be aware of... many people rote memorize things to pass a class, then as soon as the class is over, forget everything... because they didn't learn it, they just memorized it. And once the need was gone, so too was the knowledge.

      I know.. I know.. Your class is different. You make sure they innately understand the material down to their bones... Yeah, talk about being an egomaniac.

      There are all kinds of people that get through life never truly understanding things, but just repeating it. Often times these people are considered smart. But they can't use logic to adapt to a similar problem that isn't exactly what they memorized.

      A good programmer is someone that can adapt and solve problems, not simply bluster through things until they get something that works.

    38. Re:Answer by multimediavt · · Score: 1

      The mental capacity to follow logic does not mean you can be a good programmer. Codemonkey, perhaps, but not programmer. You need to be innovative too, and be able to make leaps of logic, not just follow logic.

      Thank you Mr. Spock Armstrong, but there are no leaps of logic in programming, only logic. The hardware guys get to do logical leaps.

    39. Re:Answer by arth1 · · Score: 1

      This is so wrong I can't even begin. Most of the algorithms programmers use are due to someone making a logical leap, and coming up with new and better ways of doing certain things for certain situations. And your job as a programmer is, when the situation warrants it, to be able to think outside the box and find that better way.
      Following logic won't bring you there. Without intuition, you will always be a worker, not an inventor. And a programmer needs to have both, or he's just a codemonkey who shouldn't get more than a codemonkey's pay.

    40. Re:Answer by Anonymous Coward · · Score: 0

      He was just answering in Prolog ;-)

    41. Re:Answer by Beeftopia · · Score: 1

      No one is born a good writer, programmer, or auto mechanic. Aptitude is just a word we use to talk about existing skills, and let us pretend that they're somehow congenital. For the mechanic, it may mean that they had toys that taught them about gears and things. No pre-existing "aptitude", just past experience which is relevant/transferable.

      Being exposed to very young children has totally changed my mind on this. The ones I've seen absolutely have pre-existing aptitudes. Some have much better hand-eye coordination. Some hate sitting still to learn something, others have no problem with it, in fact focus on it. Some like dolls and talking, others like trucks and legos. These attributes are built-in from very young ages, 1 to 3 years of age.

      The differences from young ages is striking. It has really opened my eyes.

    42. Re:Answer by Cute+and+Cuddly · · Score: 0

      I fully agree, it takes brains, imagination and ability to think abstractly. On the other hand, I think you are lacking in your documentation skills

    43. Re:Answer by Cute+and+Cuddly · · Score: 0

      All your base belong to us

    44. Re:Answer by aaarrrgggh · · Score: 1

      Sixteen, you insensitive clod!

    45. Re:Answer by narcc · · Score: 1

      Something you may not be aware of... many people rote memorize things to pass a class, then as soon as the class is over, forget everything... because they didn't learn it, they just memorized it. And once the need was gone, so too was the knowledge.

      If all an instructor is testing is knowledge, they're going to fail. See Bloom's Taxonomy for more.

    46. Re:Answer by aztracker1 · · Score: 1

      I was going to say the same... a very good programmer can also keep a grasp on the larger context of what they are trying to accomplish... too many programmers know how to copy/paste code... some apply complex patterns where they aren't really needed... it takes a different kind of mind to put it all together, and still be able to handle the monotony of actually writing the code to do so. I'm fond of thought exercises, and getting things organized structured and together.. sometimes writing the code is the easiest, but most grueling part.

      --
      Michael J. Ryan - tracker1.info
    47. Re:Answer by Anonymous Coward · · Score: 0

      Why do you write 10? I'm pretty sure it's just a bunch of morons who bother putting redundant zeros at the end of half the numbers they write, as if they have nothing better to do.

    48. Re:Answer by Anonymous Coward · · Score: 0

      if they don't have a desire to become a programmer then it doesnt matter if others think that person can't be a programmer does it smart ass??? We all can do the same things, just some people have to struggle more than others at what ever.

    49. Re:Answer by Anonymous Coward · · Score: 0

      Even if those like Nikola Tesla, and I that have that unique brain. That still does not mean that we can do things that others can't. That just means they have more of a struggle. And we can change our brain with the right discipline and knowledge.

    50. Re:Answer by simoncpu+was+here · · Score: 1

      Replying to undo incorrect moderation. Didn't read the last two paragraphs. Sorry.

    51. Re:Answer by lhunath · · Score: 1

      The exit code of true?

      --
      ``OK, so ten out of ten for style, but minus several million for good thinking, yeah?''
    52. Re:Answer by dkf · · Score: 1

      Hmm, twenty two is an odd base to work in but I suppose it's still valid.

      I thought twentytwo was even. In all bases except base one.

      Must be in at least base 3; the "2" symbol isn't used in any base less than that (except for the very weird fractional bases that some mathematicians insist on using).

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    53. Re:Answer by Chrisq · · Score: 1

      10 as in two, or ten?

      And solar or sidereal years?

    54. Re:Answer by arth1 · · Score: 1

      Must be in at least base 3; the "2" symbol isn't used in any base less than that

      You presume that twenty-two is the same as 22. That's only the case in base ten.

      0x16 is read as twenty-two or hex one six, not sixteen. And %10110 is read as twenty-two or binary one-oh-one-one-oh, not as ten thousand one hundred and ten.

      We don't have cardinal numbers for the other bases, so when typing out numbers in words, they always specify the value in base ten.

    55. Re:Answer by Defenestrar · · Score: 1

      Hmm, twenty two is an odd base to work in but I suppose it's still valid.

      I thought twentytwo was even. In all bases except base one.

      All your base are belong to us, even base one!

    56. Re:Answer by JasterBobaMereel · · Score: 1

      C, C++, Java, very similar
      Pascal
      x86 asm, Pcode - similar
      VB6

      All of these are actually very similar languages, and all the high level ones can be rote learned as the same language with different syntax ...

      Now go an learn a different language (e.g. Functional) this will show if you are programmer of a code monkey

      --
      Puteulanus fenestra mortis
    57. Re:Answer by Anonymous Coward · · Score: 0

      Yes, but this is a belief more than a statement. As is anything in this field. Some people will have an easier time with it, others will have to take it one topic at a time. Programming isn't always easy, and some of us (myself included) just get it. This doesn't mean I'm smarter than anyone, or that my brain is wired for it. It just means that I enjoy the process of programming. This means that because I enjoy it i will take the extra time and effort to ensure that I learn it. Not everyone has a taste for this, just like not everyone likes singing, math, or fine arts. But the possibility is there, they just need the correct resources and maybe the correct instruction occasionally. (note: i didn't say instruction, but correct instruction. some people just cant learn with some teaching methods, understanding an AVL tree could be a nightmare for some student/instructor combinations.)

    58. Re:Answer by Anonymous Coward · · Score: 0

      This was just a listing of what I learned in school. I also missed a few (javascript. bash, and prolog) in that listing.. I'm 7 years out of school at this point and have done the functional language thing. Erlang and F# (the two I learned) were neat, but honestly if you think functional programming is the bar for great coding, then you're probably not really working on anything all that interesting. It's not which language you use, but what you build with it.

      P.S. Java and C are very, very dissimilar. You also could have grouped Pascal and VB6 pretty easily.

      Posting AC as I don't feel like logging in.

    59. Re:Answer by UnknownSoldier · · Score: 1

      > No one is born a good writer, programmer, or auto mechanic.

      Total nonsense and completely ignorant of your True Self.

      There are many, many child prodigies which demonstrate this is totally false.

    60. Re:Answer by Anonymous Coward · · Score: 0

      I dunno, out of my graduating class of computer scientists ten years ago, I reckon about 10% could program. The others could pass the tests, produce something approximating answers, but they couldn't actually program without lengthy guidance and instruction.

      For the other 10%, programming came simply and obviously. So I think there is definitely inherent aptitude for programming.

    61. Re:Answer by Anonymous Coward · · Score: 0

      People who don't not have the mental capacity necessary to follow logic.

      Either you don't not have the capacity or you do. People who do have the mental capacity necessary to follow logic will realize these are the same.

    62. Re:Answer by Anonymous Coward · · Score: 0

      Yes, but not all programmers can actually write software.

    63. Re:Answer by Anonymous Coward · · Score: 0

      The basis of what you're saying is correct, programmers are the equivalent of auto mechanics however it would be really rare to see someone go from working in a beauty salon for 20 years, take some classes on auto mechanics and become a technician with anywhere near the competency of some 18 year old kid who took the same classes simply because it interested him.

      People's brains are trained at younger ages to work in different ways. Being a good software developer, like being a good mechanic, requires that you can picture large scale processes in your mind. That's something that not everyone can do because their brain never had a reason to train itself to do it. As computers becomes more readily accessible, more people will be capable of becoming good programmers because they'll be introduced to it at a younger age. At this point in time though, there is already a huge difference between a mid 20's programmer and a programmer in their 50's. This difference will just continue to grow over time until we get to the point where creating a simple program is as common knowledge as changing your oil

    64. Re:Answer by Anonymous Coward · · Score: 0

      If you had been a real REAL programmer, your answer would have been 'false'

    65. Re:Answer by Anonymous Coward · · Score: 0

      The funniest part of your example, to me at least, is that most really talented auto mechanics would be really talented programmers too if they wanted to be. That same "mechanical aptitude" that allows them to see how a machine works is what allows a good programmer to see that steps required to program.

      Seeing how the parts of a system works doesn't really change from trade to trade. The auto mechanic you want working on your car is the person who really understands how your car works and probably became a mechanic because he couldn't find a way to go to school for engineering or a science field. This person will be able to find that rattle which only occurs when the car is going west on I80 at 75MPH without even driving the car because they know exactly what is happening when the car is doing that. Most people can barely find the oil dipstick now days. Just like most people couldn't write if their life depended on it (I am one of these people) because it doesn't interest them. And they shouldn't be required to do it.

      Thanks!

    66. Re:Answer by Anonymous Coward · · Score: 0

      Some people have 20 years of experience.
      Some people have one year of experience 20 years in a row.

      Guess which ones become exceptional programmers.

    67. Re:Answer by Anonymous Coward · · Score: 0

      or people who don't have the patience even if the motivation is there.. to wade through endless API's, a myriad of language nuances, various different systems that all require integration to get to the finished product.

      It's easier to find some desperate soul who loves the mundane, and just pay them.

    68. Re:Answer by Anonymous Coward · · Score: 0

      Pretty large percentage as in 90%, or pretty large percentage as in 40%?

      Is it fair to assume that they'll be expected to do quite a bit more than a "hello, world" after 2 years? I would expect a high degree of competency after 2 years of dedicated formal education... and I would expect that 25% would give up within a month, and another 25% within three months.

    69. Re:Answer by Anonymous Coward · · Score: 0

      So you're saying the question is false? :)

    70. Re:Answer by Anonymous Coward · · Score: 0

      Any thing can be learned. Or put it this way, to learn how to speak the english language requires a great deal more logical skill than to program. One day programming will be a basic human skill taught in grade 6 all through high school. Mainly because it is the best way to have an experience of how one rationalizes a process or a set of events. That is a basic human problem. Interpretation requires a certain degree of knowledge around the problems of coding and decoding. The difference between a good programmer and most programmers is the ability to focus. Focus is usually taught by one of the parents, it is not a natural skill, certain parents who have the ability to focus will make sure that their children learn to focus. Parents who don't realize that this is a skill to be learned, won't emphasize it in their children, and the child will appear not to have natural talent. A few children who are not taught to focus, learn to focus on their own. It takes effort, passion and determination. If you aren't willing to be determined to the nth degree, you won't make a good programmer.

      It can be learned, there are a few very good books. The design patterns community offers a great deal of good information. The only question is, can you surrender your assumptions, and learn why good programmers have come to the conclusions that they have come to? A bad programmer is too self centered to learn. Often the clearest indication that a particular person will not be a good programmer, is the degree to which they embody a regressive stubbornness.

  3. Autists by Anonymous Coward · · Score: 0

    Autists do very well in programming.

    1. Re:Autists by wdef · · Score: 1

      Yes, but that's nothing to do with intelligence.

  4. Absolutely not. by mark_reh · · Score: 5, Insightful

    Some people do not have the logical thinking skills that are required to be a successful programmer.

    1. Re:Absolutely not. by Designersa · · Score: 5, Funny

      Most people also want to have romantic relationships in their lives, so becoming a programmer is a very bad choice for them.

    2. Re:Absolutely not. by Anonymous Coward · · Score: 1

      The logical and critical thinking skills needed are even actively discouraged by many major religions. As such a larger portion of strict adherents from these groups don't end up 'liking' programming.

      What a nice load of BS. Find me a single major religion that isn't well represented among programmers.

    3. Re:Absolutely not. by Designersa · · Score: 5, Informative

      IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

      It's not freaking estimate. The average is fixed at 100. Sigh. And you complain about people being stupid. Sigh. SIGH.

    4. Re:Absolutely not. by marsu_k · · Score: 2

      IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

      By definition the average IQ is 100. Also by definition, half of the population is dumber than average, something I find having to remind myself of every now and then.

    5. Re:Absolutely not. by wdef · · Score: 1

      Programming classes at reputable colleges have an horrible attrition rate that can be largely laid at the door of people just not being able to grasp it.

      Citation required. There's also the level of interest of the student which goes to motivation. And a lot of boring, awful courses and teaching. I looked at some introductory CS course materials from a particular Harvard U program recently and was amazed at how good these were: readable, enjoyable, relevant stuff. By contrast, my alma mater did everything it could to kill any nascent interest in computing in general. I only got interested years later.

    6. Re:Absolutely not. by Anonymous Coward · · Score: 2, Informative

      The 100 IQ is an estimate of an average for any given IQ test since not all people can be measured.

    7. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Mean != Median. Take the set {1,2,3,4,500} - the mean is about 100 but 4 values are below it, which is 80% of the values. I don't see a reason for the distribution to be particularly symmetric though.

    8. Re:Absolutely not. by guruevi · · Score: 1

      Any. Most programmers I have ever met are not religious at all. Then again, 90% of the population is not religious when it comes down to it but people in jobs that have college education have lower religious representation in general than jobs/education that doesn't require critical thinking.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    9. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Perhaps you should remind yourself what an average means.

      What's the average of

      70,110,110 and 110?

      It's 100, but there are three times more people over 100 than under.

      Median is what you are thinking of.

    10. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Ignorance is not stupidity. Snark fail. Oh, and btw, that post of yours was pretty god damned stupid, I guess it's my turn to roll my eyes now?

      disclaimer, I'm not the guy you're replying to, just someone too lazy to get an account.

    11. Re:Absolutely not. by Anonymous Coward · · Score: 0

      half of the population is dumber than average

      Not necessarily. If there are extreme outliers on one side, then that side will have less than half the population.

    12. Re:Absolutely not. by AK+Marc · · Score: 2

      Julia Childs picked up cooking late in life with no previous interest or apparent pre-disposition. Programming is like cooking. The only thing that stops old women from moving from cooking to programming is interest. Otherwise, writing and following a recipe is programming, even if not on a computer.

    13. Re:Absolutely not. by Zouden · · Score: 1

      What's the average IQ of prison inmates, or slashdot readers or CS students? All fixed at 100?

      --
      "A week in the lab saves an hour in the library"
    14. Re:Absolutely not. by MobileTatsu-NJG · · Score: 1

      Acting on ignorance is.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    15. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Programming is like cooking.

      Just like sitting there and drooling like a moron is like rocket science. Oh, wait... it's not.

    16. Re:Absolutely not. by AK+Marc · · Score: 5, Informative

      No, it is not. It is arbitrarily stated to be 100, but the re-balance of the IQ is not consistent across populations, nor time. So the defined mean is not absolute.

      Also, if you knew about how they actually set it, they set it based on the middle people, with assumptions about the tails. As there is an absolute minimum, and no maximum, the long tail effect will push the "average" (mean) above 100. If it were actually a true normal curve as asserted, the mean and median would coincide at 100. As it is, the mean is, by definition, above 100, while the median is what's set to 100. But if you set the test based on middle aged white males in the US, then the world average is somewhere around 90-95, as was done with the first tests. 100 is, at best, an estimate, due to the problems of what it is and how it's set.

    17. Re:Absolutely not. by u38cg · · Score: 3, Informative

      Citation: www.eis.mdx.ac.uk/research/PhDArea/saeed/paper1.pdf

      --
      [FUCK BETA]
    18. Re:Absolutely not. by MrHanky · · Score: 1

      So, does the use of anecdotal data and made-up stats fit well with the requirements of critical thinking, or are they all just another load of the self-aggrandising bullshit that programmers like to surround themselves with (as evidenced by the rest of this ./ discussion)?

    19. Re:Absolutely not. by Greyfox · · Score: 3, Interesting
      And it's no possible to learn those? Logic isn't magic. You don't have to have a certain midiclorian count to learn it.

      In my experience, anyone can become a programmer. I've seen enough of them do it. Also, in my experience, most people can't become good programmers. It requires a certain obsessive interest that most people either don't have to begin with or lose once they start thinking about girls, children, hobbies and the like. Plus it requires a somewhat high midiclorian count.

      I don't have any data to back it up, but I'd guess that if companies knew how to filter on good programmers in the interview process, only about 10% of programmers working today would be working as programmers. And the average salary of a programmer would probably be upwards of one million dollars. Fortunately we can kind of limp by on the mediocre programming and design put out by everyone else, and it's usually at least a bit of a productivity boost for the company.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    20. Re:Absolutely not. by greenbird · · Score: 1

      Majority of the population isn't capable of programming anything more than something very basic.

      From my experience most programmers aren't capable of programming anything more than something very basic.

      --
      Who is John Galt?
    21. Re:Absolutely not. by greenbird · · Score: 3, Informative

      Programming classes at reputable colleges have an horrible attrition rate that can be largely laid at the door of people just not being able to grasp it.

      Programming classes are NOT where one learns to program. They are where you learn a particular language syntax. Language theory, discreet math, compiler design, OS design, etc...are where one learns to program. The belief that you actually learn to program in a programming language class is one of the major failings on our industry.

      --
      Who is John Galt?
    22. Re:Absolutely not. by AK+Marc · · Score: 1

      Creating an algorithm for a specific outcome is not like drooling on a rocket scientist, but describes cooking and programming.

    23. Re:Absolutely not. by Kergan · · Score: 2

      More often than not, I've found it actually is a three constraint problem. Work, play, women; pick two.

    24. Re:Absolutely not. by guruevi · · Score: 1

      They are generalizations of well-publicized scientific results.

      http://hirr.hartsem.edu/about/news_and_notes_vol4no1.html shows a scientific study which shows only 20% of the population actually shows up to church.

      There are many other studies that notice a strong negative correlation between attendance and education.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    25. Re:Absolutely not. by beelsebob · · Score: 1

      All of them. It's actually pretty well documented that religions are represented less well, and atheism more prevalent amongst engineers, scientists and mathematicians.

    26. Re:Absolutely not. by jc42 · · Score: 5, Insightful

      There's something else that's a significant barrier for most people: Pretty much every successful programmer will tell you about their first lesson when trying to write some small programs, and their discovery that no matter how hard they tried, their first efforts always had bugs. They quickly discovered that this was a permanent part of programming, accepted it, and studied debugging techniques.

      But most people can't get past this problem, because they can't admit to themselves that they will never be able to write a significant chunk of code without error. The good programmers are the people who can admit that they're hopelessly fallible, face the fact, and learn how to deal with it.

      Also, the good programmers tend to have a sense of humor about it all. One explanation I heard years ago from someone who was a very good programmer is that programming is actually a sort of computer game. The way the scoring works is that, every time you write something and the computer does what you wanted it to do, you get a point. But when something inside one of the many libraries in the computer finds a way to interpret something you wrote in a way that's different than what you expected, the programmer who wrote that chunk of code gets a point. A good programmer is one who can maintain a score that is usually positive in this game.

      Using this understanding, one way of explaining why I and many other programmers like unix-type systems is that we can usually win at the programming game. Things in such systems tend to (mostly) work the way the documentation says they work -- and the documentation exists. I've worked on a lot of other kinds of computer systems, and on all the others, I constantly lose points to things that work differently than I expected, but often what I expected was just a guess, because the documentation is so sketchy or 17 releases out of date ;-).

      Even this sort of humor is just an acknowledgement of the fact that the deck is stacked against us, we'll never get it right the first try, and the people who built the computers systems we're using like it that way. But I was willing to face my limitations in the face of a game that's biased against me from the start and has grown to be so complex that I know I can't keep track of all the gotchas in my conscious mind. Most people can't admit their own fallibility in this way, so they will never be good programmers.

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    27. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Sort of. It is supposed to be ((mental age / physical age) * 100), but the validation process actually puts an average person somewhere around 100 on any given test, because there's no perfect way to construct a test and relate it to all humans. All other things being equal (were that possible), you'd score 98 on one test and 103 on another. Look at the mensa test score requirements. They're meant to represent cut-offs at similar intelligence, but lists different scores.

    28. Re:Absolutely not. by b4dc0d3r · · Score: 3, Insightful

      I worked with a guy who did a lot of VBA and a little ASP code. He usually got about 90% right, and then mental blocked on some syntax.

      I'd give him a few hints, and eventually he would solve it. But the next time it came up, he just couldn't grasp it.

      I'm not saying he can't become a successful programmer. But without some very careful guidance, study, and experience, he won't. And because he won't take the time, he can't become a programmer.

      He needs to understand things like where a function is. Is it in a static class? Is it a global function? Is it a class method? And why does it work one way but not another? Given time, he could learn these things.

      He also can't spell worth a damn and knows it. With a language with as many broken rules as English, you have to develop some sort of intuition about which letters go together in this context, and with programming you need the same kind of intuition, Maybe they are related, maybe not. But hopefully it made more sense than a car analogy. If you don't understand why the parts don't fit together the way you think they should, you can't make progress.

      So regardless of whether people have the logic skills and abstract thinking, you can have the skills but not the tools to use them. I'll leave the flamewar about people who completely lack the skills to somewhere else.

    29. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Spot on. Additonally, the standard deviation of the IQ distribution is set at 10 points.

    30. Re:Absolutely not. by BotnetZombie · · Score: 1

      Don't worry, the other half of the population is smarter than average!
      Oh, and to those posters complaining that mean!=median, they are probably completely right if when talking about mean/median intelligence. But when talking about measured IQ - completely wrong. Here, have an explanation.

    31. Re:Absolutely not. by Dahamma · · Score: 1

      Exactly. The intro to programming class at Stanford (CS106A) is one of the most popular classes offered - something like 20% of the undergrad class takes it each year. And there really isn't that much attrition.

      As you say, the reason it's so popular (besides the fact that it is a trendy subject right now) is that the course is very well designed and has excellent, engaging teachers. I'm sure it has attracted a lot more students to computer science than it has scared away.

      Then again, the majority of undergrads have already taken AP Calculus, English Lit, Spanish/French, etc in high school, so it's silly to think they would not be able to "grasp" Java. Like it enough to pursue a CS degree? Maybe not. Understand it? Come on...

    32. Re:Absolutely not. by Anonymous Coward · · Score: 2, Funny

      So your specs say that you can only have two tasks running at once? Just swap current state to... oh, I see those are external systems and after you lose connection, reconnecting is a bitch... you might be right.

    33. Re:Absolutely not. by JonySuede · · Score: 1

      What is the considered population ? If you only rank the inmates among themselves, yes the average will be at 100.
      However, if the population under observation is Slashdot readers+inmates. The inmates group will an average IQ much lower and the Slashdot group a much higher one.
      Generally when that acronym is unqualified we refer to an idealized*1 population model of the planet earth.

      1- Therefore, I belief, that the approximation symbol is warranted.

      --
      Jehovah be praised, Oracle was not selected
    34. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Julia Childs picked up cooking late in life with no previous interest or apparent pre-disposition. Programming is like cooking. The only thing that stops old women from moving from cooking to programming is interest. Otherwise, writing and following a recipe is programming, even if not on a computer.

      I would be happy just to teach my grandmother to reply to her emails. At least I've managed to teach her how to check them now.

    35. Re:Absolutely not. by Dahamma · · Score: 2

      I like this analogy.

      More generally, I'd say no, not everyone can learn to program to any useful degree. But it most certainly isn't based on some silly concept like "a special logical mind" or anything.

      If people can become accomplished economists, musicians, physicists, or poets, graduate from medical or law school, or as you say, write an authoritative, award winning cookbook, they can learn to program. They may not because they have no interest, but if they have the capacity and motivation to learn they can definitely figure it out - and I'm sure if they did they'd be better than a lot of the hacks out there programming professionally today, anyway :)

    36. Re:Absolutely not. by rgbatduke · · Score: 4, Insightful

      And don't forget the Flynn Effect. It isn't even a constant 100, so 100 this decade doesn't mean what 100 meant last decade.

      But still, no, it is not true that my brother (with Down's Syndrome) could have ever become a programmer, whereas I, with an IQ (FWIW) several standard deviations over the mean have gigabytes of source in my source directory, a rather large fraction of which I actually wrote, in several languages.

      So the question is still a stupid question, as the answer is obviously no. Worse, it is basically trollbait BEYOND being a stupid question, as somebody of "normal" intelligence can probably write "a program" in a sufficiently simple environment without ever in their lifetime being capable of writing a 50,000 line program with 100 functional modules written on top of various APIs (some of which they created) running over the network on top of UDP socket layer code. Actually, a lot of fairly ABOVE average intelligence well-trained programmers might fail there, or do a poor job if they succeeded.

      So the proper answer is "No, to be a good programmer you have to be smarter than the average human, and probably better educated too. Propensity to skip showers and live on Jolt Cola optional. Troll."

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    37. Re:Absolutely not. by rgbatduke · · Score: 1

      Um, did you mean something IN Basic?

      Just checking...

      Although it is sadly all too likely to be true... even today.

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    38. Re:Absolutely not. by Anonymous Coward · · Score: 1

      They are generalizations of well-publicized scientific results.

      http://hirr.hartsem.edu/about/news_and_notes_vol4no1.html shows a scientific study which shows only 20% of the population actually shows up to church.

      How did you eliminate the hypothesis that they stay at home to sacrifice goats?

    39. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Half the population is dumber than the *median* IQ.

    40. Re:Absolutely not. by Anonymous Coward · · Score: 0

      By definition the average IQ is 100. Also by definition, half of the population is dumber than average

      ...and composed entirely of religious rightwing conservative republicans.

    41. Re:Absolutely not. by Anonymous Coward · · Score: 0

      You are obviously on the lower half since you don't know the difference between average and median.

    42. Re:Absolutely not. by rgbatduke · · Score: 4, Interesting

      Actually, programming is more like writing a cookbook. Lots of people who cook can't write a cookbook. For example, illiterate ones. Similarly, it helps to be literate in a computer language in order to be able to program, which in turn requires an above average ability to deal with a peculiar kind of metaphor and an above average understanding of tools far more demanding than a source of heat, a knife, and some ingredients. The thing that prevents old women or old men or old monkeys or old dogs from moving from food to programming is a mix of intelligence, interest, and motivation.

      It is, for example, fairly common belief that programmers make an income that is well above average. It's a common belief because it is true. Yet you don't see teen-age fry cooks piling in to programming to multiply their minimum wage income by close to an order of magnitude. Why not? Because programming is difficult, and you have to be both smart enough to do it and inclined to WANT to do it, regardless of the obvious rewards of working in an air conditioned environment sitting on your ass while making $60K/year or more with benefits compared to slinging greasy burgers at possibly armed and dangerous clients in a Burger King late at night for $200 a week on a good week -- ooo, and then there are those pesky social security deductions and a manager that laughs hysterically if you mention the word "benefits" right before he fires you.

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    43. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Cooking is typically FOLLOWING a vaguely described algorythm (or precisely described one, if you're making sweets and cakes). Cooking is also tangible, programming is abstract.

      Programming requires abstraction, prediction and mental simulation. Cooking doesn't require abstraction nor mental simulation, but it does require prediction. Both require disciplined short term memory and both (to be good) require "thinking out of the box" but that's where simmilarities end.

    44. Re:Absolutely not. by MrHanky · · Score: 1

      So, after filtering through your "critical thinking", 10% becomes 20%, "when it comes down to it" becomes "shows up to church", and "most programmers" you have met are "generalizations of well-publicized [unsourced] scientific results". Not only anecdotal evidence and made-up stats then, but also irrelevant stats that doesn't quite fit to back up the ones you made up.

      I'm not saying there's no negative correlation between education (or critical thinking) and religiosity, just that your comments display poor reasoning, which is ironic.

    45. Re:Absolutely not. by Anonymous Coward · · Score: 0

      SO true! (from my experience this time)
      It's only natural, it's a big group of people nowadays, it's not really an elite anymore (unless you think than being, let's say, an accountant is elite) and there are more gifted people and less gifted ones involved as well as the natural proportion of lazy, uninvolved etc. just like any other group.

      It's the expectation that's a bit wrong, I think, programmers, just like any other job only need to program well enough not to get fired.
      Also the amount of basic software that still needs to be built (ERPs, basic websites etc. come to mind) creates a need for these good enough people.

      I have spent 12 years doing full time programming and I have encountered really stuff that really challenged me mentally maybe a month in total, the rest was business as usual (and even so I had some of the most challenging projects in the company, others didn't even have that month). It doesn't take a rocket scientist to drag'n'drop some fields on a form and bind them to whatever the ORM of the day is.

      I know people who were working for years in the industry, quite successfully, for whom binary search is an unknown obscure highly complex algorithm. They just never needed it in real life.

      So I guess anybody can program, given adequate training, because "very basic" is all that's needed 99% of the time and for the rest they can ask someone or Google it.

    46. Re:Absolutely not. by Anonymous Coward · · Score: 0

      No. By definition, half the population is dumber than the MEDIAN, not the average.

    47. Re:Absolutely not. by mellon · · Score: 2

      Those are farmers, not programmers. Programmers sacrifice chickens. Everybody knows that.

      (FWIW, I'm a Buddhist, I never go to church, and one of the Buddhist courses I took back when I started was a course on logic and critical thinking, which as far as I was able to tell was pretty much the same system of logic that we use today. I think that contradicts pretty much all of the above wild-eyed assertions, but I'm sure someone will correct me, or else incorrectly state that Buddhism isn't a religion...)

    48. Re:Absolutely not. by Anonymous Coward · · Score: 0

      ...a scientific study which shows only 20% of the population actually shows up to church.

      There are many other studies that notice a strong negative correlation between attendance and education.

      ...the only logical conclusion: science is evil and education is demonic distraction from the bible.

    49. Re:Absolutely not. by future+assassin · · Score: 1

      Exactly. I got into html back in 1996 and had not problems building websites for the 10's of geocities websites I had, it was pretty simple. Then in 1999 I started out with an auction script called Every Acution which was a flat db PERL scipt. Setting it up and modifying the html output was straight forward but when time came to creating new function for the script and the code look like giberish to me. I bought books and started to learn PERL but past basic things I could not visualize or get the logic in the code. Once in a blue moon I manage to add some if, elseif into the code but to me it all looked like the streaming code on the Matrix movie, giberish,

      I have no problems following instructions and have built some nice sites using Emotite, Drupal and other scripts, I've set up my own Slackware 8/9/Windows 2000 web/mysql servers serving my websites and shoutcast site from home in the late 90's ealy 2000's but for someone reason I dont' get code. Maybe its because I never liked math, wasn't bad at it but couldn't get drawned into it like Biology, Art, Graphic Arts or Drafting where I got A's in those subjects.

      --
      by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
    50. Re:Absolutely not. by Anonymous Coward · · Score: 0

      I have a feeling your words are falling on a stupid mind...

    51. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Yes, because as we all know there is only one kind of religion out there, and you have to show up to church to be part of it or to be considered religious at all. There are no other religions or religious philosophies which require statements to be taken on faith at all anywhere in the US or the world, especially not ones that can be practiced or understood without formal gatherings.

    52. Re:Absolutely not. by seeker_1us · · Score: 1

      I would totally have to disagree with this.

      I learned my logical thinking skills from programming.

    53. Re:Absolutely not. by narcc · · Score: 0

      or are they all just another load of the self-aggrandising bullshit that programmers like to surround themselves with

      Just good old-fashioned egomania. I figure the ones here who think themselves exceptional are the ones who didn't go to college yet somehow manage to work in the industry. Lacking an education, and having no other skills, they try to build a mystique around their profession to insulate it and make themselves feel important.

      By spreading the myth that you need to be special in some way to competently write code they think that others will also see them as more important or intelligent.

      Mix that with a healthy dose of militant atheism and you've got this thread. See, chances are that if you're the vocal atheist type that you've turned science in to an ideology. Like many religious folks, they know little to nothing about their own faith, yet fancy themselves experts. This works for them as the motivations are the same: making themselves feel like they're exceptional.

        "I'm already super-special because I can write code. I'm an atheist too, so I must understand everything important about physics, astronomy, biology, etc. Look at how much smarter I must be than the average person. I'm brillant" --Paula Bean

      It's sad, really.

    54. Re:Absolutely not. by Velex · · Score: 2

      Well, I'd conjecture that there are two "midiclorians" in play.

      The most common failure I've seen is when people who want to learn programming anthropomorphise the computer and approach programming in a religious manner, as though a computer can somehow understand English the way you or I can. When they get a syntax error, they view the computer as being a grammar nazi. When the program they've written fails to produce the result they wanted, they see the computer as some kind of adversarial lawyer who's found a loophole in their program and is refusing to play nice with them just to piss them off. I attribute this mode of thinking to watching too much Star Trek or other sci-fi where computers are able to comprehend and respond to verbal, natural-language queries without ever coming back with "I'm sorry, Dave, but I was unable to parse that. Syntax error occurred because I expected a different infection follow the word 'and.' Would you please try again?"

      People who fit in that category often have poor grammar. Just something I've noticed. Humans are very tolerant of improper grammar and bad usage. Computers aren't, and they can't understand why, especially if computers are supposed to be so much more smart than humans.

      The other failure I've seen is also another mode of magical thinking: failure to understand what's going on under the hood. These are people who sometimes can get jobs as programmers, but they just don't "get it." XML is the best example I can think of. I've noticed some things written back when XML was the next big thing almost seemed to start from the permise that by virtue of being well-formed that XML would somehow be able to parse itself. Somehow, XML would imbue a computer program with a deep understanding of what a book or a library was.

      Another example I think fits with the latter mode of magical thinking rather than the former is the idea that a "hacker" can "steal" one's IP address, as though an IP address is mystical knowledge, sort of like certain mystical traditions that believe that if somebody knows one's "true" name, then that person will somehow gain power over them.

      I suppose, in conclusion, the very idea of a "midichlorian" i.e. magical thinking is what causes many people to fail at learning how to program.

      --
      Join the Slashcott! Stay away entirely Feb 10 thru Feb 17! Close all tabs to prevent autorefresh!
    55. Re:Absolutely not. by Anonymous Coward · · Score: 0

      More often than not, I've found it actually is a three constraint problem. Work, play, women; pick two.

      For women, usually life has already chosen two of those.

    56. Re:Absolutely not. by Anonymous Coward · · Score: 0

      wait, what is the absolute minimum, dead????

    57. Re:Absolutely not. by robi5 · · Score: 1

      Maybe it's more to do with finding programming fun to begin with, or at least the ability to find fun in whatever he chooses to do, e.g. programming.

    58. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Absolutely true. I have witnessed a lack of logical thinking and problem-solving skills leading to very pathetic attempts at designing and implementing a computer programme whether it be a shell script or a first semester computer science assignment. This tracks to the workplace as well. And in my experience those whom cannot handle the *nix command-line, vi, and developing shell scripts or more complex systems integration code using Perl, by way of example, like to belittle those of us who can and do each of the aforementioned things. I have had co-workers from other teams come to me requesting that I write their code in a language I have never seen before; I seize the challenge and have the code ready for them within an hour in almost every case.

    59. Re:Absolutely not. by NoOneInParticular · · Score: 1

      Central Limit Theorem. Look it up, you might learn something.

    60. Re:Absolutely not. by NoOneInParticular · · Score: 1

      Central Limit Theorem.

    61. Re:Absolutely not. by NoOneInParticular · · Score: 1

      With IQ, the 'outliers' are pretty tame, i.e. don't disturb the variance. Central Limit Theorem holds and mean = median. For contrast, try wealth. That doesn't have a mean, only a median.

    62. Re:Absolutely not. by Anonymous Coward · · Score: 0

      And it's no possible to learn those? Logic isn't magic

      You can teach most people the basic concepts of logic but it does not guarantee those people are successful in transferring that knowledge or "way of thinking" to produce computer programmes.

      In my experience, anyone can become a programmer. I've seen enough of them do it. Also, in my experience, most people can't become good programmers.

      The third sentence is key. While people can learn to develop relatively simple computer programmes, any complexity introduced causes them to fail miserably. I have taken undergraduate computer science courses in which third-year students still cannot grasp the notion of functions/methods/procedures and even fewer can successfully use a tree data structure to implement an interpreter for a simple programming language. By the middle of second semester computer science I was already combining the learning from my data structures course and compiler theory course to produce a fully-functional implementation of a PROLOG interpreter written in Smalltalk, a language I had only 1.5 semesters of academic exposure.

      It requires a certain obsessive interest that most people either don't have to begin with or lose...

      Correct. But I stand as a counterexample to your claim that my obsessive interest in computer programming ended when I noticed girls. I mastered computers fairly quickly but the female human being remains an enigmatic mystery. ;)

    63. Re:Absolutely not. by pla · · Score: 4, Insightful

      Your joke aside, I don't think you've really missed the mark by much, here...

      I firmly believe that somewhere around half (possibly much higher) the population cannot ever learn programming to any meaningful level. Perhaps really simple Excel formulas, but they learn them more by rote than through any true understanding of what really goes on to make the magic happen.

      Of the other half of the population, who have a sufficient grasp of logic and can grasp the idea of breaking a problem down into tiny steps to solve it methodically - The vast majority, well over 95%, hate doing so. Hate it. They would rather have a root canal than do that for a living. They might have managed to suffer through an intro-to-programming course or two in college, but they really would go completely bonkers if you asked them to program on any regular basis.


      Programmers, on the other hand, tend to view our art almost as a form of meditation - The real "skill" of our art doesn't involve the ability to handle boolean logic or memorize APIs (those just count as a sort of prerequisite), but rather, the ability to go into a deep alpha state and stay there for hours at a time.


      So... No. Not anyone can become a programmer. And of those who can - Most don't want to, not for any amount of money.

    64. Re:Absolutely not. by wierd_w · · Score: 4, Interesting

      I believe that the parent confused "cooking", with "Gastronomy".

      Being a good cook, has several potential paths: 1) you are REALLY good at following directions, 2) You can consistently reproduce the results of others from directions, and 3) you can spot when an error has been made.

      Being good at gastronomy is different. You can look at a recipe, and see glaring problems. You can look at a recipe, and make arbitrary modifications to improve some characteristic of the finished product. (Fluffier muffins, tangier sauces, whatever.) You can find novel ways to combine foods for novel arrangements of flavors and textures.

      The former requires you to follow directions, to produce something that other people consider tasty. The latter requires you to know what your ingredients actually taste LIKE, and imagine how they will taste together, and how they will behave together.

      Programming is not like cooking, unless you are doing the most boring of code-grinding tasks. Programming is more like the latter. You can spot areas that clearly could be improved, and suggest ways to improve them, without throwing off the finished product. You can understand the finished product sufficiently to know what you need to get there, and how different parts of that product work with each other sufficiently to know how to change or improve those components without bringing the whole thing down. (An example, would be knowing and understanding how the ingredients in puff pastry interact, and why you have to use the proscribed method, and if it needs to be modified, that deep understanding allows you to make successful modifications, and not sugary glueballs.)

      A person who creates brand new foods, and modifies existing ones in new and novel ways is a gastronomist. A person with a book of cookery and is good at following directions is a cook.

      For clarity, I *can* program, but I am not a programmer, and do not claim to be. I could possibly become a decent programmer if I had the incentive to code for more than personal pleasure and one-off problem resolution, but I dont. Not like I have drive for cookery. :D I can look at a recipie for cake, and suggest a laundry list of modifications for different textures and flavors without ruining the base, and it is easy and fun for me. Not everyone can do that, nor should they. The same is true for programming, and I can clearly see that.

      I can program, but I am not a programmer.

    65. Re:Absolutely not. by Anonymous Coward · · Score: 0

      as if THAT would refute the argument made ... geez psycho-religious-nutbars r u
      why do you think so many HONEST sciencey and engineering types struggle to make sense of religion...

      here's a clue - Religion is a load of bollocks.

    66. Re:Absolutely not. by Anonymous Coward · · Score: 0

      So true.

    67. Re:Absolutely not. by RabidReindeer · · Score: 3, Interesting

      I think that almost anyone can become a programmer. What they lack is the ability to put-up with the mind-numbing boredom that programming represents, just as many people lack the ability to listen to a teacher drone in a classroom about math or science or english verb tenses. Many people would rather be doing something else. (Just like right now I'd rather be watching a movie instead of coding..... oh wait, that is what I'm doing. Well technically I'm doing both.)

      I would like to propose 3 categories, based on personal observations, including the dropout rates I've seen in programming classes:

      1. People who'd rather have their internal organs gouged out with dull spoons rather than program. I cannot say definitively that some members of this group simply cannot program at all, but I'm willing to entertain that idea, based on the proverbial VCRs with flashing "12s".

      2. People who can program but consider it "mind-numbing boredom". In other words, it's just a job. If it's mind-numbing enough, you get to move to group #1.

      3. People who are freaking insane and would rather program than have sex (not that they're proverbially given a choice). Who consider "mind numbing" and "programming" to be mutually exclusive.

      For practical purposes you can really only hire programmers from groups 2 and 3. Ideally, they'd all be 3's, but there aren't enough 3's to go around, even if they weren't stereotypically social nightmares.

    68. Re:Absolutely not. by AK+Marc · · Score: 1

      I do not make a distinction between gastronomy (the science of food) and cooking or being a chef. Strictly speaking, gastronomy is unrelated to cooking, except for the extent necessary to track contents of prepared food. When everyone here looks down on cooking so far as that it is, by definition, not comparable to anything computer related, then they will never see the analogy, let alone be able to evaluate it. Instead, look at the ridicule and insults to compare recipe creation and program creation. Perhaps my first computer teacher (with a PhD) was an idiot when he compared the two. After going through a computer engineering degree program, I found nothing that invalidates it, just supports it. And molecular gastronomy seems to be closing the gap now. Yet, nobody has come up with a single reason that recipe creation is not comperable, other than "that's silly". Obviously because they are bad at cooking.

      When I program, I take what I know, and I improvise to find the most elegant solution to the problem. Sometimes I'll re-use code snippets, where appropriate, but other times, I have to create new code. For both, I then debug, compile, and deploy. When I cook, I take what I know and improvise depending on available ingredients and audience. Sometimes I'll consult cookbooks for sauce recipies or for sides. When I combine new elements, I test as I go, tasting and baking test items. I then adjust seasoning as necesary, cook, and serve.

      They seem remarkably similar to each other. The real reason why programming isn't accessible to most is that programmers are ignorant, closed-minded jerks. And people trying to enter that space are insulted and berated, like I was here. The difference is, I wrote my first bits of code before most of this audience was born, so I know what I can do and don't mind some pricks being pricks. If my mom were to get a similar response, she'd leave and never come back. That's the real reason why not everyone can program.

      They don't want to put up with the pricks that see themselves as the "real" programmers.

    69. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Ow. That one really stung.

    70. Re:Absolutely not. by lightknight · · Score: 1

      Same could be said for learning basic anatomy or a musical instrument: it can be breathe-takingly boring.

      --
      I am John Hurt.
    71. Re:Absolutely not. by dkleinsc · · Score: 2

      The solution to your problem is to find a woman that being with counts as "play".

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    72. Re:Absolutely not. by angel'o'sphere · · Score: 1

      Regardless how "100" is defined, it is pretty dumb to assume 50% of the population is below it.
      It is much more likely (yeah ...) that 30% of the population has exactly 100 points and another 35% is below and another 35% is above.
      However we know that towards higher IQs the air gets thinner ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    73. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Clearly you have no idea how much sex a good software engineer gets. Even in high school the geeks get girls, if they want them. YMMV, mine has been one of constant female companionship since I was in 5th grade or so ... back then the only thing I was programming was my Big Trak ... but by the time I was dating my first hot blonde, I had mastered my C64 and was on the way to geek land. I remember showing grils how to do A/D sampling of music and various other cool MIDI tricks with an Atari 520ST that well, was pretty cool to them.

    74. Re:Absolutely not. by epine · · Score: 1

      Amen, brother, about the importance of knowing when the documentation for the underlying layers is lying to you about important edge cases. This is not a typical skill out there.

      A related skill is being able to observe a system behaving incorrectly and reasoning where the defect might have been introduced. You might be dealing with a program with 50 million lines of source code. Even with smaller programs, you need to have a good mind for boxes.

      Ken Thompson said that the real reason Belle won so many chess tournaments was less about the custom hardware and more about having fewer bugs (i.e. programmers who really could). Bugs in a chess program are especially pernicious. Did it really evaluate all the lines of play to the desired depth? You can hardly crawl over the listing by hand to discover if Deep Blue is skipping 0.0001% of the lines of play it's supposed to investigate (perhaps because of some exotic edge case in multi-processor locking on your hash transposition table).

      Knuth said that literate programming never really caught on because the group of people with excellent analytic skills *and* excellent verbal presentation skills was just too small a group to reach critical mass.

      In some programming domains where there's a fairly direct and intuitive cause-and-effect model, a fairly large subset of the population could accomplish useful work.

      How many people could find Intel's FDIV bug in the Pentium hardware design? The one I'm thinking of is where a tiny piece of the hardware look-up table was improperly truncated in the final mask.

      Some people are good at making lists of "everything that can go wrong" and some people aren't. Even geniuses make lists too short.

    75. Re:Absolutely not. by AaronLawrence · · Score: 2

      This sounds very interesting me, because in the last few years I had some major life changes, and afterwards found that I really quite dislike going into this state that makes for really productive programming. I now try to tackle it much more piecemeal and process oriented, and while I might be more thorough and thoughtful, I'm pretty sure it's much slower.

      So my conclusion is that this alpha state for programmers is something really unhealthy and maybe programming is quite damaging ...

      --
      For every expert, there is an equal and opposite expert. - Arthur C. Clarke
    76. Re:Absolutely not. by brickmack · · Score: 1

      And of course, the fourth option: People who enjoy programming, think its fun, interesting, etc, but still have some sanity, social skills, and are more or less "normal". This would (at least in my very limited experience) make up about 50% of programmers. Not an insignificant group.

    77. Re:Absolutely not. by Anonymous Coward · · Score: 0

      If you somehow wrote gigabytes of source code you would be the worlds fastest typist, but probably a pretty awful programmer.

    78. Re:Absolutely not. by multimediavt · · Score: 1

      IQ isn't exactly an exact science but as an off hand estimate the average IQ is ~100.

      It's not freaking estimate. The average is fixed at 100. Sigh. And you complain about people being stupid. Sigh. SIGH.

      Actually, average IQ is a range from 85-115. It's not an exact science, at best.

    79. Re:Absolutely not. by Jeremi · · Score: 1

      I [...] started to learn PERL but past basic things [...] but to me it all looked like the streaming code on the Matrix movie, gibberish,

      That's Perl all right. If you ever have the time and the inclination, take a look at Python instead; it has the advantage of being readable by human beings. :^)

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    80. Re:Absolutely not. by smellotron · · Score: 1

      Julia Childs picked up cooking late in life with no previous interest or apparent pre-disposition. Programming is like cooking.

      In the future when we have holo-decks, I want Julia Childs to school me on graph algorithms over the Internet's backbone routers. I want to see her mad about a prematurely-optimized Duff's Device. Yeah...

    81. Re:Absolutely not. by Have+Brain+Will+Rent · · Score: 1

      Also, if you knew about how they actually set it, they set it based on the middle people, with assumptions about the tails. As there is an absolute minimum, and no maximum, the long tail effect will push the "average" (mean) above 100.

      Clearly there is a maximum for reasonable purposes. How many people out of a population of 100 Million will have an IQ in excess of 200? Maybe 1? 0? It's pretty safe to cut the curve at 200 and be reasonably sure that the cases, if any, that that cuts off have no noticeable effect on the mean.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    82. Re:Absolutely not. by AK+Marc · · Score: 1

      In fact, yes. your bran capacity can be low enough that it will fail to trigger breathing reflex and such. That number is somewhere around 40-50, last I saw someone publish it.

    83. Re:Absolutely not. by Deliveranc3 · · Score: 1

      Programming is the one thing you can't jimmy, ignore, brownnose, bash, connive, respect/dignity/busniesslikeness or make mistakes doing. Yes people hate it, it's a hell of a lot easier to wear a nice suit, write reports no one reads and play minesweeper.

    84. Re:Absolutely not. by Anonymous Coward · · Score: 0

      One of the first courses was C programming, the professor forced everyone to create 100 C programs, not that long each, but each solving a specific problem.
      That was a serious pain, but I do beleave it helped alot of the people to learn to program.

    85. Re:Absolutely not. by Anonymous Coward · · Score: 0

      I would like to propose 3 categories, based on personal observations, including the dropout rates I've seen in programming classes:

      Thanks. While you're at it, why don't you tell everyone what the right pizza topping is. People's own reasons are so stupid.

      3. People who are freaking insane and would rather program than have sex

      As you can see, in the following rules programming doesn't even appear. It can't take priority!

      1) Men are scored by quantity of sex (generated depravity).
      2) Women are scored by quantity of affection (generated emotion).

      *Bonus points for dehumanizing their partners is determined by the sum of a general consensus. This is why reality TV and the news exist.

      Homosexual rules are no different, but after tallying points during a game period they're allowed to alternate between rulesets.

      Contest periods are determined by peer-class. Special rule additions vary by region and ethnicity.

      **If you encounter people who don't play the game, you must kill and eat them as decreed by our forerunners. We can't have losers stinking up the place.

    86. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Math performed in secret, to avoid the math police?

    87. Re:Absolutely not. by Anonymous Coward · · Score: 0

      s/discreet/discrete. Yes, I'm being a grammar nazi, but so many people berate others over not knowing discrete mathematics when they can't even spell the bloody word properly.

    88. Re:Absolutely not. by TheRaven64 · · Score: 1

      Technically, so would finding one that counts as work, but it's probably less fun.

      --
      I am TheRaven on Soylent News
    89. Re:Absolutely not. by dell623 · · Score: 1

      Median. Not average.

    90. Re:Absolutely not. by Nivag064 · · Score: 1

      Nah!

      For my first 2 computer languages (the second was FORTRAN IV), I wrote my first program before the first class.

      I the last 20 years, I have programmed in 6 new computer languages without ever attending more programming courses.

      I am now having to apply concepts about compilers I thought of while thinking about FORTRAN 40 years ago. Why do you have to define things before you use them? - you don't! so long as they are defined before you execute them... even at run time!

    91. Re:Absolutely not. by IanUtting · · Score: 1

      Be aware that this paper has been fairly thoroughly discredited. See Richard Bornat, Saeed Dehnadi, and Simon. 2008. "Mental models, consistency and programming aptitude". In "Proceedings of the tenth conference on Australasian computing education - Volume 78 (ACE '08)", http://crpit.com/confpapers/CRPITV78Bornat.pdf

    92. Re:Absolutely not. by Nivag064 · · Score: 1

      Of my first 3 FORTRAN programs I wrote before submitting them at the same time, 2 worked perfectly!

      Since then, most of my first programs in a new language don't work.

    93. Re:Absolutely not. by Nivag064 · · Score: 1

      The difference between a trainee programmer and an experienced one - is that experienced programmers make mistakes at a far faster rate, trainee programmers tend to agonise over their's!

    94. Re:Absolutely not. by mark_reh · · Score: 1

      They ALL count as work, eventually.

    95. Re:Absolutely not. by Chrisq · · Score: 1

      A good example of this is that the average IQ of the USA is 98, lower than the UK at 100 or Hong Kong at 107. This is not because most Americans have a lower IQ, but because some sub groups have a much lower IQ.

    96. Re:Absolutely not. by beachcoder · · Score: 1

      I pick two women.

    97. Re:Absolutely not. by mrt_2394871 · · Score: 1

      ... discreet math, ...

      Is that where they whisper the modulus to you?

    98. Re:Absolutely not. by smitty97 · · Score: 1

      The sum of all IQ's on the planet is constant. The problem is, the population is increasing.

      --
      mod me funny
    99. Re:Absolutely not. by vidnet · · Score: 1

      As there is an absolute minimum

      There is no absolute minimum. The IQ scale is well defined towards negative infinity.

    100. Re:Absolutely not. by u38cg · · Score: 1

      Yeah, I committed the cardinal sin of failing to read the fine article and din't actually realise this was one of the papers discussed.

      --
      [FUCK BETA]
    101. Re:Absolutely not. by Anonymous Coward · · Score: 0

      And you are making a false equivalence between intelligence and knowledge. An ignorant person is not necessarily stupid.

    102. Re:Absolutely not. by serviscope_minor · · Score: 1

      They ALL count as work, eventually.

      With an attitude like that, you almost certainly require more work from them then they require from you, but you almost certainly don't see the work they put in.

      --
      SJW n. One who posts facts.
    103. Re:Absolutely not. by hackula · · Score: 1

      Don't be too hard on yourself. Perl looks like that even to Perl programmers.

    104. Re:Absolutely not. by serviscope_minor · · Score: 1

      If people can become accomplished economists, musicians, physicists, or poets, graduate from medical or law school, or as you say, write an authoritative, award winning cookbook, they can learn to program.

      Huh?

      You mean those people specifically? I doubt it. Why do you think being an accomplished programmer is easier than being and accomplished economist?

      And people as in any person? Certainly not. And they won't become any of those things either.

      They may not because they have no interest, but if they have the capacity and motivation to learn they can definitely figure it out

      Well, there you've basically said that only people who are able to become programmers can become programmers. I certainly agree.

      --
      SJW n. One who posts facts.
    105. Re:Absolutely not. by hackula · · Score: 1

      Buddhism does tend to have less magic than many western religions. Buddhist do not believe in an invisible man in the sky or human sacrifice like Judeo-Christian religions. Not all religions are created equally from a critical thinking perspective. Many Buddhists actually reject all supernatural claims and hold a view that closely resembles materialism. Of course, many Buddhists do believe in stuff like reincarnation or miracles, but I guess nobody is perfect. lol

    106. Re:Absolutely not. by hackula · · Score: 1

      I always assumed that most /. users were commenting from the prison library computer system.

    107. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Tall order, that. How many decades does this take, on average?

      Anyone come up with an algorithm for this yet? If not, I know what I'm doing tonight!

    108. Re:Absolutely not. by serviscope_minor · · Score: 1

      That's the real reason why not everyone can program.

      Rubbish.

      But since we're on food, go and watch Raratouille by Pixar. It's a foodie film very thinly disguised as a kids film. The message in the film is completely relevent to this thread. The message is that though a good cook can come from any background, not everyone can learn to cook. Some people simply do not have what it takes. The hero of the film in fact never learns to cook well and, dispite effort and education, fails and ends up giving up and doing something he is good at.

      Exactly the same applies to this topic. Programming is hard and not everyone is cut out to be a programmer. There's nothing wrong with that, since the world needs more than just programmers, and being a programmer is not the ultimate achievement of life. But not everyone is equal and not everyone can do anything. Programming is no different.

      --
      SJW n. One who posts facts.
    109. Re:Absolutely not. by serviscope_minor · · Score: 1

      For contrast, try wealth. That doesn't have a mean, only a median.

      [citation needed]

      I'm pretty sure that wealth has a mean. For it not to, the integral would have to diverge, which pretty much requires the distribution to have infinite extent.

      --
      SJW n. One who posts facts.
    110. Re:Absolutely not. by Ironhandx · · Score: 1

      The average is SUPPOSED TO BE (but never actually IS) fixed at 100 and varies by country. For instance a few years ago the average IQ among canadians was 102 while americans was 98... it varies from country to country. Its also not an exact science. Its supposed to function that way, but its not even remotely accurate to anything but the loosest definition of "accurate", its just the best we have.

      The "off hand estimate" remark was made in regards to any particular country.

      Yes I complain about people being stupid. I also complain about people being ridiculously pedantic. If the IQ system was accurate you would be right. It is not, therefore you are wrong.

    111. Re:Absolutely not. by Ironhandx · · Score: 1

      Thank you.

    112. Re:Absolutely not. by Ironhandx · · Score: 1

      Look up how the IQ system works and then come back. It does not function on Medians. 50% of the population tested is guaranteed to be dumber than whatever the average was for that test group.

      Sigh, I've been modded into oblivion by idiots who don't even understand what I posted.

    113. Re:Absolutely not. by Ironhandx · · Score: 1

      I should have qualified that with *reputable in my area.

      I can't offer direct citation because the information is from a department head at a college I attended. It came out of a meeting of many such IT department heads she had seen not long beforehand.

      To offer anecdotal evidence: I started the program with 192 others. Once we were finished 3 years later there were 8 of us left. We were told we had a much higher than normal attrition rate, but there you have it.

    114. Re:Absolutely not. by Ironhandx · · Score: 1

      I meant starting classes. I.E. total entrants into a program. Sigh, I think that one not-clarified-enough-for-university-grads is causing some headaches.

    115. Re:Absolutely not. by dell623 · · Score: 1

      And you should be modded down again. You lack a basic understanding of statistics. The average is an average, you can't guarantee that exactly 50% will have a lower IQ than the average. If it turns out to be 50.001% or 49.999% you can't just change the average to make it exactly 50%.

      That may be the case for large enough samples, but it's not a 'guarantee', or 'by definition'.

      IQ results are scaled so that the average is 100. That doesn't mean 'by definition' that for any test group exactly 50% will be less than 100 and 50% will be more.

      Take a case where the results were scaled to 100,105,99,99,98,99 so the average is 100. But two-thirds are 'dumber' than average.

      For a large enough population the results will fit a normal distribution and the median and mean will coincide. That's different, and it's certainly not a guarantee for smaller groups.

    116. Re:Absolutely not. by Anonymous Coward · · Score: 0

      I would personally say a programming class is where you learn to program... Programing anyone can do. Developing/designing... thats a different story. Everyone can make toast, but not as many can design a new type of bread.

    117. Re:Absolutely not. by dkleinsc · · Score: 1

      The algorithm is well-known:

      Learn how to discuss in an engaging way non-geeky subjects.
      Step away from the computer.
      Clean and groom yourself and your clothing.
      While single: ...Get out of the house on a regular basis. ...Make it clear from your dress and behavior that you're a man (or lesbian woman) of financial means, education, accomplishment, and interesting conversation relative to other men your age. ...If you encounter a woman that's both attractive to you and receptive to your attentions, ask her out. ...While she's fun and fulfilling to be around: ......Spend some time with her

      A variation of this algorithm modifies the "While single" loop to make some sort of online profile and announce your various attractions directly rather than just behaving like you have them.

      Those who have a serious problem doing this usually get hung up on either the "step away from the computer" step, the "clean and groom yourself" step, or the "ask her out" step.

      --
      I am officially gone from /. Long live http://www.soylentnews.com/
    118. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Look, we all know that you know the reason you get down-modded is because you keep acting like an immature child instead of a mature adult. So please quit pretending otherwise. By pretending otherwise, you only serve to further your downward spiral.

    119. Re:Absolutely not. by Anonymous Coward · · Score: 0

      You said it brother

    120. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Programming classes are NOT where one learns to program. They are where you learn a particular language syntax.

      Remember too that there is a big difference between knowing how to program and knowing what to program. The latter is the interesting part.

    121. Re:Absolutely not. by Anonymous Coward · · Score: 0

      "In my experience, anyone can become a programmer."

      Anyone can be a chess player too. Anyone can compose music and play it on a piano. Anyone can write science fiction.

    122. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Anyone can be a chess player too. Anyone can compose music and play it on a piano. Anyone can write science fiction.

      Yep. Many people enjoy doing these things, even if they aren't particularly good at them.

      So what's your point? That everyone should excel at anything they care to attempt? Every doctor and lawyer and mechanic should be very good at their job or move into some other line of work?

      I have news for you. Only a small fraction of people in ANY profession are really good at what they do. That's not going to change just because more people are writing code than before.

    123. Re:Absolutely not. by AK+Marc · · Score: 1

      There comes a point where you are too stupid to breathe. It's somewhere around 40 or 50. So there is a lower bound. The IQ scale may be "defined" towards negative infinity, but that doesn't mean someone can live at those numbers.

    124. Re:Absolutely not. by AK+Marc · · Score: 1

      Yes, it's easy to write a fictional character who has a desire and education but no aptitude. In real life, such flat, one dimensional characters don't exist. The person with negative aptitude would either actually learn from the education, or give up long ago for something they are actually interested in.

    125. Re:Absolutely not. by Dahamma · · Score: 1

      I didn't say it was easier or harder, or that everyone could do it (in fact just the opposite, very clearly stated as not everyone can learn to program to any useful degree).

      My point was intelligent people can do many things if they really commit to it, and it's really more about a reasonable level of intelligence + motivation rather than some specific innate ability that many posters are contending.

    126. Re:Absolutely not. by cpu6502 · · Score: 1

      I think that almost anyone can become a programmer. What they lack is the ability to put-up with the mind-numbing boredom that programming represents, just as many people lack the ability to listen to a teacher drone in a classroom about math or science or english verb tenses. Many people would rather be doing something else. (Just like right now I'd rather be watching a movie instead of coding..... oh wait, that is what I'm doing. Well technically I'm doing both.)

      --
      My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
    127. Re:Absolutely not. by cpu6502 · · Score: 1

      >>>because you keep acting like an immature child instead of a mature adult

      Even if we assume that's true Mr. AC, it's no reason to moddown my original post. While I can certainly understand why some might not like my view, that's no reason to slap me across the face with a -1 hit.

      Oh and as for "acting immature" I would assume you mean when I tell people to fuck off. BUT I only do that to people who insulted me first..... Someone calls me an "idiotic asshole" and I don't think they deserve to be treated with anykuind of respect. YOU are one of those people.

      --
      My AC stalker: " I personally agree with your posts most of the time, but that won't keep me from modding you troll"
    128. Re:Absolutely not. by mellon · · Score: 1

      Holding a view that closely resembles materialism and calling yourself a Buddhist is like hoarding what you have, never helping anyone in need, and calling yourself a Christian. Of course you can do it, but why bother? At least calling yourself a Christian when you aren't one gets you some kind of social benefit—calling yourself a Buddhist when you aren't gets you no benefit at all.

    129. Re:Absolutely not. by Anonymous Coward · · Score: 0

      While I can certainly understand why some might not like my view, that's no reason to slap me across the face with a -1 hit.

      Why do you continue to lie about the reason you get downmodded? You're not fooling anyone. We all know that the reasons you get downmodded have nothing at all to do with disagreeing with you. Hell, I personally agree with your posts most of the time, but that won't keep me from modding you troll if the mod is appropriate. Which a fair amount of the time it is.

      BUT I only do that to people who insulted me first

      No, you don't. There have been several posts where you curse and yell and act like a little 2 year old to people who deserved no such reply. However, we will accept that you may have been responding to the wrong posts. You do also do that often enough, responding to a post with a reply that doesn't make sense in the context of the thread. Not "a majority of the time" often, but often enough.

    130. Re:Absolutely not. by Anonymous Coward · · Score: 0

      Your "cook vs. gastronomist" analogy is the best one I've seen on here and would certainly be more accessible to the average joe. Everyone needs to eat and everyone has attempted to cook for themselves or others at some point - especially the former when in college - so it's common ground everyone has.

    131. Re:Absolutely not. by ImprovOmega · · Score: 1

      There's something else that's a significant barrier for most people: Pretty much every successful programmer will tell you about their first lesson when trying to write some small programs, and their discovery that no matter how hard they tried, their first efforts always had bugs. They quickly discovered that this was a permanent part of programming, accepted it, and studied debugging techniques.

      Adding to this: you are correct 90% of programming is actually debugging what you've written. The handful of times that complex code I've written worked 100% right the first time almost took longer because I had to completely convince myself that there wasn't some hidden bug somewhere. It actually slightly freaks out a good programmer when something works correctly with no debugging because it's so ingrained that debugging needs to be done.

    132. Re:Absolutely not. by sitarlo · · Score: 1

      The only "logical thinking skill" required to be a programmer is being able to ask the question "what happens next?"

    133. Re:Absolutely not. by Anonymous Coward · · Score: 0

      I completely agree.

      Something I'd like to add is that just because someone doesn't have the aptitude for programming doesn't necessarily men he's bad with computers. I'm a computer technician but I'm not too fond of programming. I can program, but I don't enjoy it all that much and thus I'm not very good at it. I'm very good at shell scripting though, but that's probably because it's less straining than compiled languages. As a technician I generally prefer to look at the "whole" (networks, hardware etc.) and not the details written in C. I'm not knocking the profession in any way - I respect programmers and all the cool things they can achieve - but the profession just isn't for me.

  5. Easy distinction... by Andy+Prough · · Score: 1, Funny

    If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming...

    1. Re:Easy distinction... by Zero__Kelvin · · Score: 2

      "If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming..."

      I suppose you were going for humor, but I assure you that in 2012 it is entirely possible to both write code, and enjoy the aroma of a beautiful woman. Bonus points if you can do both simultaneously.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    2. Re:Easy distinction... by tftp · · Score: 1

      It's easy if both are programmers.

    3. Re:Easy distinction... by Zero__Kelvin · · Score: 2

      So you are saying that both programmers are enjoying the aroma of a beautiful woman while writing code? I like where this is going ...

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    4. Re:Easy distinction... by Anonymous Coward · · Score: 0

      "If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming..."

      I suppose you were going for humor, but I assure you that in 2012 it is entirely possible to both write code, and enjoy the aroma of a beautiful woman. Bonus points if you can do both simultaneously.

      I call BS. You just sniffed your sisters panties and are into anime porn.

    5. Re:Easy distinction... by Zero__Kelvin · · Score: 1

      You've obviously never seen my sister.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    6. Re:Easy distinction... by tftp · · Score: 1

      Yes, the possibilities are endless :-)

    7. Re:Easy distinction... by fermion · · Score: 1

      It is funny, but if we are honest we can admit the following. That if one spends all day doing ones nail and hair, or at the mall, or trying to impress a mate, that lives little time to work on skills. There are professions that do not require mad skills beyond a good complexion and natural talent. Programming is not one of those. You have to sit at a keyboard and code. You have to learn the math and the logic. If some social niceties are forgone for a while, I look at it this way. At some point a skilled programmer can afford a personal trainer, a stylists, and bloomies. OTOH, a person who never developed skills is going to be able to get those skills at 30.

      --
      "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
    8. Re:Easy distinction... by Anonymous Coward · · Score: 0

      "If you are interested in things like girls and personal grooming, you probably don't have the right kind of mind for programming..."

      I suppose you were going for humor, but I assure you that in 2012 it is entirely possible to both write code, and enjoy the aroma of a beautiful woman. Bonus points if you can do both simultaneously.

      Aroma? Oh, I get it! Female geeks not interested in things like boys and personal grooming, right?

    9. Re:Easy distinction... by Zero__Kelvin · · Score: 1

      Yes, you get it AC style, because everybody enjoys a distasteful odor.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  6. I dunno by MightyMartian · · Score: 3, Insightful

    I've had this conversation in many different formats over the years, and I keep coming back to the peculiar nature of programming, or at least good programming. There is no doubt that technical background or training is highly desirable, but there is also an intuitive aspect that makes it more than just fitting blocks together. Given the right tools, I think anyone can code, but programming beyond basic HTML form processing or Excel macros takes something more.

    --
    The world's burning. Moped Jesus spotted on I50. Details at 11.
    1. Re:I dunno by Joce640k · · Score: 3, Insightful

      A bit like playing the guitar then. Anybody can learn a few chords but being a professional musician takes a thing called "talent".

      (Or substitute any other skill for playing the guitar...)

      To answer the original question: I refer you to Betteridge's Law

      --
      No sig today...
    2. Re:I dunno by Zero__Kelvin · · Score: 1

      Actually, you hit the nail on the head. One way to help tell if someone is qualified to program or not is to ask them this question. If their answer is that anyone can do it, then they themselves cannot do it. If their answer is that not everyone can do it, then they make it to the next elimination round.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    3. Re:I dunno by Omnifarious · · Score: 2

      This is my general feeling on the matter too.

      I used to spend a lot of time in the college computer lab trying to help people learn to program. Unlike many programmers, I actually kind of enjoy that sort of thing.

      And there were some who understood, and many who didn't. No matter how you worked the angles or found different ways of explaining it, they just couldn't build an effective mental model of what the computer was doing in their head.

      I would be really curious to watch the person in the article who claims that he can teach anybody to program and see his technique involving getting them away from a computer. Maybe he's found a way that I haven't.

      But really, my personal feeling at this point is that no, not everybody can learn to program.

    4. Re:I dunno by Anonymous Coward · · Score: 0

      > A bit like playing the guitar then. Anybody can learn a few chords but being a professional musician takes a thing called "talent".

      I think that quite many would call me a talented programmer, but if I had talent, why did I need to practice programming for over 15 years, several hours a day, making mistakes I'm still ashamed of, just to get this good? Only part of "talent" I have had, is that I liked doing programming more than anything else. I doubt that you find that many professional musicians either who have played guitar only for a week.

    5. Re:I dunno by Joce640k · · Score: 1

      Even with talent you still need to put in the 10,000 hours....

      --
      No sig today...
    6. Re:I dunno by sjames · · Score: 1

      That is exactly it. Given sufficient dedication, most anyone can learn to program with some degree of success. Doing it well is another matter. Beyond even that, some professional programmers are as much as 10 times more productive than others.

    7. Re:I dunno by greenbird · · Score: 1

      There is no doubt that technical background or training is highly desirable, but there is also an intuitive aspect that makes it more than just fitting blocks together. Given the right tools, I think anyone can code, but programming beyond basic HTML form processing or Excel macros takes something more.

      I agree with your conclusion but not with your premise. It's not some inherent intuition that's needed. It's a thorough understanding of what's happening at all those levels below the programming language. That knowledge gives you the "intuition" to program well.

      --
      Who is John Galt?
    8. Re:I dunno by MobileTatsu-NJG · · Score: 1

      I've had this conversation in many different formats over the years, and I keep coming back to the peculiar nature of programming, or at least good programming. There is no doubt that technical background or training is highly desirable, but there is also an intuitive aspect that makes it more than just fitting blocks together. Given the right tools, I think anyone can code, but programming beyond basic HTML form processing or Excel macros takes something more.

      The missing ingredient is 'interest'. Some people fiddle around with coding and think: "Oh.. hey if I learn how to do this, I can accomplish that." That's interesting to them and they move up to the next level.

      I think a lot of people around here underestimate people's capability because of their lack of interest. "That guy's stupid because he doesn't know what the blinky lights do on his router." It'd sure knock his socks off if he knew that guy could take his car completely apart and put it back together.

      --

      "I like to lick butts!" by MobileTatsu-NJG (#32700246) (Score:5, Informative)

    9. Re:I dunno by Anonymous Coward · · Score: 1

      What makes a good programmer: logic and analysis. Logic is an absolute necessity because computers don't have emotions and don't do things randomly. Some people are more accustomed to dealing with emotions and persuasion, you can make a customer happy by giving them a free desert, but you can't make your bugs disappear by upgrading your monitor. And analysis is necessary for both problem solving and foreseeing different use cases, different paths to errors, etc.

    10. Re:I dunno by Anonymous Coward · · Score: 0

      A bit like playing the guitar then. Anybody can learn a few chords but being a professional musician takes a thing called "talent".

      (Or substitute any other skill for playing the guitar...)

      To answer the original question: I refer you to Betteridge's Law

      Another load of crock. You are entering the realm of art - which requires practice and refinement and persistence. You might be a rarity gifted with some enhanced brain functions. Those enhancements are not required to be a great musician. Everyday intense practice matters more than some brain enhancement (gift).

    11. Re:I dunno by Anonymous Coward · · Score: 0

      But like any skill, there are native aptitudes and limits. I could put in 10,000 hours training to be a star basketball player, but I'll never make the pros. I just don't have the physical size to be a top-notch basketball player. Programming on the other hand was a piece of cake for me from day 1 and my career was very successful.

    12. Re:I dunno by marcosdumay · · Score: 1

      People that are good in something often underestimate the dificulty of that thing. Saying that programming is easy (as in can be done by anybody) doesn't mean a person can't program, only that he didn't see most people trying it.

    13. Re:I dunno by Zero__Kelvin · · Score: 1

      As a general rule, that is the case. In specific cases, it is not the case. You won't find any qualified doctors who think that anyone can do it, for example. Any moron can suck at it and think there is nothing to it. Anyone who knows what is really involved in doing it right knows that it is not something that just anyone can do. I am assuming of course that these people have had a ten minute conversation with a few people of average intelligence. You'll only see morons who can't do it themselves but think they can say there is nothing to it and it is easy.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    14. Re:I dunno by Joce640k · · Score: 1

      Those enhancements are not required to be a great musician.

      Disagree.

      (I guess it depends on your definition of "great"....)

      Everyday intense practice matters more than some brain enhancement (gift).

      That would be the 10,000 hours I mentioned above. link

      --
      No sig today...
    15. Re:I dunno by marcosdumay · · Score: 1

      Exactly so. But the problem is that several good programmers don't have a ten minute conversation with people of average inteligence untill they enter the workforce.

    16. Re:I dunno by Zero__Kelvin · · Score: 1

      "But the problem is that several good programmers don't have a ten minute conversation with people of average inteligence untill they enter the workforce. - [emphasis added]"

      I agree with you. There probably are more than 2, but fewer than "many" programmers who fit that category. In other words, almost none, and what is - to be perfectly clear - a completely negligible quantity.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  7. Anyone can Do It by Anonymous Coward · · Score: 0, Insightful

    With simplified programming languages like Java, that take care of the "hard stuff", anyone can string together some code and do tasks.

    It's just like anything else that can be learned. Everyone can do it, but few people can do it well.

    1. Re:Anyone can Do It by wdef · · Score: 2

      With simplified programming languages like Java, that take care of the "hard stuff", anyone can string together some code and do tasks.

      And anyone can also make a hell of a mess.

    2. Re:Anyone can Do It by Anonymous Coward · · Score: 0

      If you really think understanding pointers and array indices are "hard stuff," then maybe you've never designed a complicated piece of software before.

    3. Re:Anyone can Do It by Dahamma · · Score: 1

      True, but I'm sure you'll agree a lot of those people are already "professional" programmers anyway.

  8. Anybody can program, but... by Anonymous Coward · · Score: 0

    Anybody can program at some level, but it takes a certain amount of knowledge and skill to program well...especially in complex systems like "high end" device drivers and large databases or large scale applications. Add "security" into programming and you need to be paranoid to program well.

    1. Re:Anybody can program, but... by Anonymous Coward · · Score: 0

      > especially in complex systems like "high end" device drivers and large databases or large scale applications

      That is not complex, it is just complicated. UI programming is complex, because there, the device you are interacting with is the most complex thing humans have created. Another human being. Obviously everyone can do it wrong, but not even the experts can do it right, other than by guessing and trial and error. On the other hand, if you know how to do it correctly, it is pretty easy to do, even it is so complex that no-one understands it properly, on the other hand, writing device drivers is not complex, you can quite easily draw a few pictures that explain exactly how the system works.

  9. Programmer v.s. Developer by Anonymous Coward · · Score: 3, Insightful

    Programming (a.k.a. Coding) has many levels, but yes, most people are able to handle the logic necessary and can acquire the skills in time.

    Development is another level which many programmers either don't attain or are not willing to go to, but it is a step that makes a big difference in the code produced.

    Unfortunately, the terms seem to be used interchangeably, thus diluting the developer's value and putting expectations on programmers that they cannot live up to.

    1. Re:Programmer v.s. Developer by Volvogga · · Score: 1

      Fully agree. One thing I'd add is that to be a programmer or developer, one is supposed to have a drive to learn the new tech and languages. They should want to learn this without any higher-ups telling them they have to. You should keep your skills relevant in the advancing market. Says so right in our code of ethics. I think that is where you would eliminate a good portion of the population from being suitable to be a programmer.

      --
      Vol~
    2. Re:Programmer v.s. Developer by robi5 · · Score: 1

      Is this an attempt to prefer or glorify the job title "developer" over "programmer"? Let's not pretend. We should not create a false dichotomy which is programmer vs. developer. The layering continuum, if we go into that, is vast. If he writes code to solve financial problems, he might be a quant. Or he may be a researcher. Or relative to an organization, a team lead, a software architect or project manager.

      Aside from the labeling, we can say for certainty that there are experienced programmers who should have picked another career (provable via the existence proof). Good programming definitely requires aptitude. But it's not true that there is a separate animal called "developer" which embodies these qualities; it just looks better on a resume. Programmer, developer, software engineer, code jedi, play with the words.

  10. Motivation by Tablizer · · Score: 3, Insightful

    If you don't enjoy something, then usually you don't have motivation to learn and perfect the art. Perhaps anyone can be a satisfactory opera singer with enough training, but that doesn't mean they WANT to be an opera singer.

    It's also true some pick up on programming and learning new languages faster. While anybody can probably learn with enough practice, it may not make economic sense to you and the company to take a long time to get into the flow of things. Possible, yes. Practical, no.

    1. Re:Motivation by Anonymous Coward · · Score: 0

      Yeah if i had a boss realise that I could turn on a computer and then come out of his office to wave big stick over me to develop
      Some sort of wage employee payment software etc. I probably would.
      Most of the time i find that it's the languages themselves that are quite confusing. Visual basics principles, c++ principles on object programming and then when I come across squeak or smalltalk .Oh I could wrap my hands around the lecturers neck for not showing me this these years ago.

  11. unfortunately by circletimessquare · · Score: 4, Insightful

    the only answers you will find in this thread will answer a different question:

    "what prejudicial preconceptions of yours about the field of programming tweaks your ego?"

    --
    intellectual property law is philosophically incoherent. it is your moral duty to ignore it or sabotage it
    1. Re:unfortunately by Anonymous Coward · · Score: 0

      I knew someone was going to bring that up.

    2. Re:unfortunately by Zero__Kelvin · · Score: 4, Insightful

      Bullshit. I am aware that not everyone has what it takes to be a car mechanic. In fact a relatively small part of the population has what it takes. Does that mean you think I hero-worship car mechanics?

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    3. Re:unfortunately by Calphool · · Score: 2

      I think it depends on where you put the magnifying glass.... what does "has what it takes" really mean, and when am I officially "a mechanic?"

      Probably almost everybody "has what it takes" to learn how to change the oil in their car. At a certain fundamental level, they're "a mechanic". If you can break down a complex task like "change the air conditioning compressor" into a smaller set of steps as simple as changing your oil, then again, almost everybody "has what it takes" to change the air conditioning compressor on their car, and now, in a much more general way, they're "a mechanic" (maybe they qualify for "shade tree mechanic" now).

      It's all related to learning theory, and it's also why striking teachers in Chicago rightly say that everybody has an opinion about education, but very few people are actually trained at it (and by extension, qualified to evaluate how well it's being done in a given context).

    4. Re:unfortunately by Zero__Kelvin · · Score: 1

      "Probably almost everybody "has what it takes" to learn how to change the oil in their car. At a certain fundamental level, they're "a mechanic". "

      No. They are not. Also, the world is full of people who cannot learn how to do even that relatively simple task reliably and safely.

      The difference you are looking for is someone who can write code (i.e. an amateur) and a programmer (i.e. professional.) Someone who fixes their own car is the equivalent of the former. Someone who gets paid to change the brakes on other's cars - and is qualified enough to bear all the responsibility that entails - is the latter. That is a mechanic. A professional. Also, not everyone who works on cars and gets paid is actually qualified to be a mechanic, so the parallel to the computing domain holds quite well.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    5. Re:unfortunately by NFN_NLN · · Score: 1

      "what prejudicial preconceptions of yours about the field of programming tweaks your ego?"

      (1) programmers are rational
      (2) programmers are logical
      (3) programmers are anal
      (4) programmers are problem solvers
      (5) programmers have large Wangs

      Those are off the top of my head...

    6. Re:unfortunately by Calphool · · Score: 1

      I think you're being a bit pedantic. If the oil change analogy bothers you, substitute any other mundane car care task, like changing the windshield wiper fluids, or filling the car with gas -- the point is, there's nothing magical about the work itself -- it's simply a hierarchy of mundane tasks coupled with experience. An oil change can be turned into two smaller tasks for example.

      Are you trying to assert that there exist children who spring forth from the womb knowing how to change brakes on cars? The guy who gets paid to change the brakes on other's cars most likely started by changing his own brakes, or learning from his/her parents. At what magic point, in your opinion, does someone transition from being an amateur to being a professional? It is my assertion that there is no magic point -- for mechanics, programmers, architects, physicists, authors, or any other kind of knowledge worker.

      I believe, with the obvious exclusion of illness (mental or physical), almost anyone can do almost anything with enough training, time, passion for the endeavor, and a proper feedback loop. The only real unknown is how long it will take for a particular individual in a particular context.

      I do _not_ believe that some people are "destined" for particular life roles. That kind of thinking inevitably leads to the subjugation of others (a la "Proles", "Outer Party", and "Inner Party" - Orwell's 1984). There is such a significant overlap in our individual abilities (although not our individual desires) that we should rightly consider ourselves all effectively equal in ability, but simply different in inclination.

    7. Re:unfortunately by phantomfive · · Score: 2

      Is that your preconceived notion? I know of no study that shows 'a relatively small part of the population has what it takes to become a car mechanic.' Are you making assumptions? Come on, use good logic now.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:unfortunately by Zero__Kelvin · · Score: 1

      "Are you trying to assert that there exist children who spring forth from the womb knowing how to change brakes on cars?"

      No. I'm trying to say that you severely underestimate the number of people who "spring forth from the womb" who will never be competent programmers no matter how hard they try. Furthermore, you are severely underestimating the number of people who will simply never try, don't want to try, etc. and that you are failing to count them in the category of those who don't have what it takes. Perhaps you didn't know that determination and commitment are important skills that are needed, or that many people lack the basic ability to be productive. I don't know. It sounds like you don't get out that much outside of the circles where people are like you. The world is jam packed with those who can barely read or cannot read at all. Many of them will never be able to do it.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    9. Re:unfortunately by Zero__Kelvin · · Score: 0

      "Come on, use good logic now.

      Does I has to "use good English" too? Moron.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    10. Re:unfortunately by phantomfive · · Score: 1

      I knew you had no evidence, you fool.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:unfortunately by shiftless · · Score: 1

      Also, the world is full of people who cannot learn how to do even that relatively simple task reliably and safely.

      And yet they're here, and successful to various degrees after four billion years of evolution, and your "everyone else is stupid but me" theory can't explain that.

      I once spent a year in Afghanistan writing documentation to explain to front line soldiers (your basic issue 18-20 y.o. private) how to unpack, set up, operate, and do basic troubleshooting on a half million dollar 2.6 meter satellite communications terminal. During operational changeovers, I wrote instructions to explain to soldiers at these established sites how to take their system off the air, point it to a different satellite, and bring it back online with a new modem "boot file" uploaded through an embedded Linux command line on the Linkway modems.

      I also taught small 5-8 man classes in which these same soldiers got hands on experience deploying the equipment and learning how to anticipate and troubleshoot potential problems. We did it over and over again and everyone got their chance to participate. Lots of good questions were asked and plenty of learning took place.

      In many cases they and their equipment would literally be dropped out of a helicopter in the middle of nowhere, and they would have to get this satellite system unpacked off the pallet and out of its various boxes, set up, and on the air using nothing more than this sheet of instructions. In many cases at the more remote locations, they had *no other* means of comms with support personnel until the satellite was on air.

      We deployed hundreds and hundreds of these systems, and we made all sorts of changes to the network in this manner. Maybe 2-5% of them required any kind of extensive hand-holding. These very few people seemed to be just outright idiots; most were competent to some degree. Some didn't fully "get it" at first, but they kept at it and succeeded. The vast majority successfully got their systems on the air with perhaps a little difficulty along the way, and learned some things from the experience. Only in rare cases was a technician actually needed to be sent out, and the majority of cases it was due to faulty equipment. (Apparently Cisco routers, modems, and HPAs don't like being dropped out of helicopters.)

      Never once have I met someone who could not be taught to do just about anything. It all comes down to how well you explain it, and understand their point of view so that you can explain it in a way that makes sense to that person.

    12. Re:unfortunately by Zero__Kelvin · · Score: 1

      "And yet they're here, and successful to various degrees after four billion years of evolution, and your "everyone else is stupid but me" theory can't explain that."

      Well I certainly never said anything like that, but the fact remains that the world is full of stupid people who would read what I wrote and form the erroneous conclusion that I did in fact say it ;-)

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    13. Re:unfortunately by Zero__Kelvin · · Score: 1

      Anecdotal evidence is called evidence for a reason sparky. I'd tell you a few stories, but you would be unable to understand them as near as I can tell from what I have seen you write thus far.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    14. Re:unfortunately by Calphool · · Score: 1

      "I'm trying to say that you severely underestimate the number of people who "spring forth from the womb" who will never be competent programmers no matter how hard they try."

      That's simply an opinion with no evidence to support it, unlike the work of countless psychologists who've studied learning theory (like Dr. Carol Dweck), which basically refutes everything you're saying.

      I take the idiom "have what it takes" to mean "have the ability to do something". Further, I don't think "ability" means the same thing as "inclination". To put a finer point on it, you probably have the ability to be a homosexual, but probably don't have (statistically speaking... obviously we don't know each other) the inclination to be one. So, you "have what it takes" to be a homosexual (you have the proper equipment), just not the inclination.... presumably.

      The world is jam packed with those who can barely read or cannot read at all. Many of them will never be able to do it.

      Jam packed? The world literacy rate is 82%. In developed nations it's well above 95%. In the United States it's 99%. Is your assertion that it's impossible to teach an illiterate person to program?

      I've been a professional developer (making my living from it) for 20+ years. My ego isn't tied into the need to believe I'm special. I started coding video games as a teen, enjoyed the challenge of it, took classes in college, and got a job in my field. There's nothing special about that.

      It sounds like you don't get out that much outside of the circles where people are like you.

      Oh, I had no idea I was in the presence of the the Secretary of State, sorry Madam Secretary.

    15. Re:unfortunately by phantomfive · · Score: 1

      I might or I might not understand them, but I'd surely mock you for claiming that a relatively small part of the population can become a car mechanic. Lucky you can learn anything if you base all your knowledge on anecdotal evidence. The bullshit is all coming from you in your earlier post.

      --
      "First they came for the slanderers and i said nothing."
    16. Re:unfortunately by Zero__Kelvin · · Score: 1

      "The world literacy rate is 82%. In developed nations it's well above 95%. In the United States it's 99%."

      ... and 87.6 percent of all statistics, along with everything you said in your post, has been pulled straight out of someone's ass.

      "Oh, I had no idea I was in the presence of the the Secretary of State, sorry Madam Secretary."

      I post on Slashdot quite a bit, and I'll go so far as to say that - insofar as reading entails comprehension rather than mere annunciation - even Slashdot has a dearth of those who can read. You are a case in point.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    17. Re:unfortunately by Zero__Kelvin · · Score: 1

      The problem is that you don't know what it means to be a car mechanic, or what it means to "have what it takes". Worse yet, you''ll never learn. .. and I mean that last part in a very general way as well as meaning it to be a specific statement about this particular conversation.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    18. Re:unfortunately by Calphool · · Score: 1

      ... and 87.6 percent of all statistics, along with everything you said in your post, has been pulled straight out of someone's ass.

      Citation for world literacy rate:
        "World Statistics." CIA World Fact Book. Central Intelligence Agency, 16 Sep 2012. Web. 16 Sep 2012. https://www.cia.gov/library/publications/the-world-factbook/geos/xx.html

      I guess the stat I gave must be from the other 12.4%.

      I post on Slashdot quite a bit.

      Congratulations. I guess that makes you a very worldly person.

      ..and I'll go so far as to say that - insofar as reading entails comprehension rather than mere annunciation - even Slashdot has a dearth of those who can read. You are a case in point.

      Nice lawyerese... I guess you were destined to mince words at birth.

      Considering how you purport to be a frequent contributor to Slashdot, perhaps you might find these links to be enlightening. I'm sure the community would appreciate your attention to them:

      "Signal-to-noise ratio." Wikipedia. Wikipedia, 13 Sep 2012. Web. 16 Sep 2012. http://en.wikipedia.org/wiki/Signal-to-noise_ratio.

      "Troll (Internet)." Wikipedia. Wikipedia, 15 Sep 2012. Web. 16 Sep 2012. http://en.wikipedia.org/wiki/Troll_(Internet).

    19. Re:unfortunately by russotto · · Score: 1

      The difference you are looking for is someone who can write code (i.e. an amateur) and a programmer (i.e. professional.)

      A professional is someone who gets paid for the job; it matters not how good they are.

    20. Re:unfortunately by phantomfive · · Score: 1

      Oh yeah? Have you learned the meaning of evidence? Or are you going to compose more meaningless posts about bullshit?

      --
      "First they came for the slanderers and i said nothing."
    21. Re:unfortunately by Anonymous Coward · · Score: 0

      we rely on computers more then cars now, so maybe?

    22. Re:unfortunately by Zero__Kelvin · · Score: 1

      Like I said. You cannot read. If you did, you would be able to read those Wikipedia articles and understand how much they do not apply. Just accept that you are one of the many people who cannot read and move on with your life. Seriously.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    23. Re:unfortunately by Anonymous Coward · · Score: 0

      You truly are a clueless idiot.

    24. Re:unfortunately by JasterBobaMereel · · Score: 1

      Almost anyone could work on an assembly line making cars, most people can fix a lot of things on cars, some people can find faults on cars, a few can design new cars

      Almost anyone can code, most people can program to some degree, some people can program professionally, a few can design large program systems

      Almost anyone can learn to read, most people can learn to speak in public, some people can be an actor, a few people can be an inspirational orator

      It's a matter of degree ....

      --
      Puteulanus fenestra mortis
    25. Re:unfortunately by Anonymous Coward · · Score: 0

      "A person who doesn't think is no better off than a person who cannot think."

  12. Ratatouille said it by Anonymous Coward · · Score: 1

    Not everyone can do X, but a person who can do X amazingly well can come from anywhere. i.e. you don't have to go through a particular training to be good at X. nor is going through some training guaranteed make you good at X.

    1. Re:Ratatouille said it by mellon · · Score: 1

      Nail. Head. Bam.

  13. I believe it does take a certain kind of mind by TheRealGrogan · · Score: 2

    I've never had much aptitude for programming. The "programming" (code editing) I do is pretty chunky. I can look at a block of code, go find another example, somewhat understand what THAT block of code is doing and perhaps with a bit of trial and error, come up with the right thing to do. I don't understand the fundamentals. I remember being exposed to programming in earlier years and I just didn't get it. I didn't foresee myself needing it. Maybe if I'd have paid more attention to the preliminary exercises... I don't know, it just seemed pointless because it didn't make sense to me.

    So basically, without examples, I'm fucked.

    1. Re:I believe it does take a certain kind of mind by dwillden · · Score: 2

      I agree, I was able to hack my way through the classes needed in my CS program but it was obvious my skills were more on the hardware, and networking side of the house. My code was always clunky and barely capable and took much more work than others. Not that I didn't try, but coding just wasn't where my brain worked.

      --
      I'm too lazy to compose a creative sig.
    2. Re:I believe it does take a certain kind of mind by gestalt_n_pepper · · Score: 1

      Actually, almost anyone, without a code sample is fucked. Nobody learns coding these days without looking at, and/or re-purposing code found on the web (which of course, never does exactly what you want, but gets you started). There are worked problem in math books. There are coding samples in programming books. The trick, in either case, is to actually learn from the sample. Getting time and space to do that is the hard part.

      --
      Please do not read this sig. Thank you.
    3. Re:I believe it does take a certain kind of mind by phantomfive · · Score: 1

      The "programming" (code editing) I do is pretty chunky. I can look at a block of code, go find another example, somewhat understand what THAT block of code is doing and perhaps with a bit of trial and error, come up with the right thing to do.

      Well there's your problem. You'll never learn to program like that. Go think of some relatively simple task, code it from scratch. It might be a little hard, but you will get it. Then go to a harder one. Though most likely you don't actually care enough to actually do this work.

      If you always copy and paste then you'll never get out of the copy-paste trap.

      --
      "First they came for the slanderers and i said nothing."
    4. Re:I believe it does take a certain kind of mind by Anonymous Coward · · Score: 0

      > Actually, almost anyone, without a code sample is fucked.

      I'm pretty much like the guy in the Matrix. "I don't even see the code..." I just see what it does. If there is an error in the code, I usually see it right away, be it a syntax error or functional error. But I do have my limits, it becomes very hard to see how a very large function works, without using a lot of time reading it. But I can still do it. I can run the code in my head to see how it works.

    5. Re:I believe it does take a certain kind of mind by Anonymous Coward · · Score: 0

      When I open the skull and look inside I see the same wetware organic computer in everyone's heads. If it takes a "certain kind of mind" I put it to you that all humans have it.

    6. Re:I believe it does take a certain kind of mind by robi5 · · Score: 1

      With some current languages (khm.. Java ... khm... C++) there is so much broilerplate and there are so many frameworks and libraries that unless you spend a lot of time with it, the most productive approach is to go by example. Also, consider that macros, library functions and template (generic) programming is programming by example at its core. It is no accident that frameworks and "solutions" come with an SDK, typically with examples.

      On the other hand, if you have the time, you can start with more of a RISC-like language, and/or do programming expressly for the fun of it. Such languages: Lisp, Scheme, Logo, Forth or Python. If you do something long enough for the fun of it in an interactive, relaxed setting that allows you to get into the groove (i.e. give you the flow experience when hours just fly by) then you can build up significantly. For the flow experience, there are preconditions, such as don't set the bar too high or too low and make it real interactive with a series of quick modifications and tests rather than writing 20 lines of code then test. If you can't find fun in it, that's the first thing to reprogram inside. Think about whatever application interests you - control a robot, draw something interesting like a fractal (generative art), or program the simplest game you can think of. If you are interested.

    7. Re:I believe it does take a certain kind of mind by Immerman · · Score: 1

      Still, there are those who, having learned to program, can sit down at a computer and write code to do X completely from scratch, even if X is something they've never seen example code for. And then there are those who don't even know where to start unless/until they find a similar sample online, even if they've "written" similar code in the past. There's nothing wrong starting out with tinkering on existing code, but I've dealt with plenty of people who

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
  14. programmer? by gl4ss · · Score: 1

    turning one set of instructions into other set, yes anyone who couldn't be trained for(who wasn't protesting the process) it would probably officially qualify as retarded in some legal fashion and qualify for social security upkeep.

    however I'm not so sure that "anyone" can churn out code just for the sake of it - or be able to turn vague phrases into something that's a real program that does something meaningful, that's the really hard part of the art of it anyhow, figuring out what the fuck the thing is supposed to do(that's sw r&d for you I suppose).

    --
    world was created 5 seconds before this post as it is.
  15. so true! by joocemann · · Score: 4, Interesting

    Being into computers since 1990, I had thought coding may be a career. In 1999, my first shot at college, and coding, I came to see it was not for me.

    I aced the C Programming course, but it wasn't the technicalities of the language that repelled me... it was the environment.

    I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same. Even the 2-3 hours of coding "lab" was absurd, to me. I was NOT ok with this style of work.

    I realized the CS path was clearly for someone else and moved on.

    1. Re:so true! by LifeIs0x2A · · Score: 1

      I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same. Even the 2-3 hours of coding "lab" was absurd, to me. I was NOT ok with this style of work. I realized the CS path was clearly for someone else and moved on.

      I totally agree. But there are ways to make up for that. It depends on your workplace, but I live close to the sea, so even during work when I feel like I have to get excercise I go out surfing. Although it interrupts my workflow, I think it makes me more efficient, because my mind turns things around while I am away from the computer.

    2. Re:so true! by Anonymous Coward · · Score: 0

      Being into computers since 1990, I had thought coding may be a career. In 1999, my first shot at college, and coding, I came to see it was not for me.

      I aced the C Programming course, but it wasn't the technicalities of the language that repelled me... it was the environment.

      I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same. Even the 2-3 hours of coding "lab" was absurd, to me. I was NOT ok with this style of work.

      I realized the CS path was clearly for someone else and moved on.

      So what did you end up doing? Did you stay in the tech field?

    3. Re:so true! by gidds · · Score: 2

      a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same.

      To judge from some of my co-workers over the years, the 'thinking' part would seem to be optional...

      --

      Ceterum censeo subscriptionem esse delendam.

    4. Re:so true! by Anonymous Coward · · Score: 0

      should have gotten into embedded or automated systems ... theres still a lot of sitting and staring, but you have to move to the work, and theres something exciting about having a syntax error that could physically harm someone or thing.

    5. Re:so true! by antdude · · Score: 1

      What did you end up if not CS and for work?

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    6. Re:so true! by phluid61 · · Score: 1

      CS is not programming, and programming is not CS. Which raises a new question, when people in this discussion or the article or anywhere else say "programming" what exactly do they mean?

    7. Re:so true! by Anonymous Coward · · Score: 0

      I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same. Even the 2-3 hours of coding "lab" was absurd, to me. I was NOT ok with this style of work.

      Ironically enough, this is one of the things I like about the job: the opportunity to just sit there and think about the problem at hand. Probably explains a lot...

    8. Re:so true! by Have+Brain+Will+Rent · · Score: 2

      I realized a day's work of coding meant sitting in one spot, staring at chars/text, thinking, and then more of the same

      I have been a programmer (developer, designer, architect... whatever you would like to call it) for more years than I care to count and I have never worked in that manner. My clients come to me with a problem. I make sure I understand the problem. I detail what I will need from them and then I tell them I will call them when I have something for them. I work when I want (as in when I feel I am going to be productive not just because it is some particular time of day) and where I want. Sometimes I don't work for days and sometimes I will work non-stop for days. The only time I go through the process you describe is if I have to use a specialized piece of equipment that cannot be moved off site.

      But you're right - there is an awful lot of thinking going on and the fact is the more time you spend thinking, and the earlier in the process you do it, the less time you spend sitting in one spot staring at characters...

      A very common problem with programmers is that they see the solution as writing code and really really want to get to that fast... I used to see this with students all the time... but the real solution is thinking. Programming is creating a mental object... a mental sculpture if you will... and once you have perfectly visualized that sculpture and the relationships between all the facets then translating that to code is pretty tivial and doesn't require a lot of debugging.

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    9. Re:so true! by Nivag064 · · Score: 1

      something I wrote about a month ago...

      a Software Architect has The Grand Vision, constructs an Architecture, and hand waves about Implementation

      a Software Engineer designs an Elegant Implementation, and curses the vagueness of the Software Architect

      the Poor Bloody Programmer gets an implementation actually working, and curses the impracticality of the Software Engineer

      I am all 3 on my current project, and this morning I had bitter experience of the last 2 lines above!

    10. Re:so true! by Have+Brain+Will+Rent · · Score: 1

      Been there brother! :)

      --
      The tyrant will always find a pretext for his tyranny - Aesop
    11. Re:so true! by joocemann · · Score: 1

      I do stem cell research (cell reprogramming focus).

    12. Re:so true! by joocemann · · Score: 1

      Stemcell research. I reprogram cells. It sounds ironic, but at least 'coding' these programs is carried out in much more interesting ways.... lots of tiny tubes, buffers, biomaterials, cells, and tons of expensive toys.

    13. Re:so true! by antdude · · Score: 1

      Ah cool and thanks. :)

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    14. Re:so true! by Anonymous Coward · · Score: 0

      this sounds like 'decoding'

    15. Re:so true! by joocemann · · Score: 1

      It's more like hacking. I'm not deciphering/decoding unknown cell programs, rather I am adding in factors/codes that normally don't exist, that alter the cell state, and ultimately turn the cell from Cell Type X into Cell Type Y (where X and Y are the source and target of your goal).

      The various techniques remind me of trojans, DDoS, rootkits, etc.

  16. It's like anything. by Anonymous Coward · · Score: 0

    Like anything, most people can manage to be OK at it, and a few people have the right brain to be good at it.

  17. Like Algebra 1 by DudeFromMars · · Score: 1

    Less than half the kids in high school can grasp algebra 1. There is nothing you can do to make them "get it" - their brain either works that way, or it doesn't. Algebra, Geometry, and Programming seem self-evident to me. On the other hand, I can't draw, and dropped out of English 101 on six separate occasions. Metaphors, similes and analyzing literature are just a ridiculous to me - that stuff makes no sense at all.

    1. Re:Like Algebra 1 by mark_reh · · Score: 3, Insightful

      Almost anyone can grasp algebra 1. The way you make them "get it" is to quit handing out medals just for showing up to class and reintroduce some competition for high grades among students. Kids need to do homework (AKA practice) just like any other endeavor. Right now, in schools, there is no consequence for doing poorly. You'll get passed to the next grade level whether you've mastered the current one or not. Teacher and parents keep patting you on the back just for showing up.

      I estimate that maybe 80% of my adult patients born after 1975 are on some form of antidepressant drug. I'm starting to think that they were that early/first generation of kids whose self-esteem was made the prime importance in school, rather than learning and achievement. They finish school and get thrown out into the real world where they are expected to perform to some minimum standards and they can't do it and can't understand why, especially in light of the history of being patted on the back for underachievement. The next step is to get prescribed an antidepressant to help their bruised self-esteem cope with the fact that they never learned anything in school and are likely to remain unemployable for the rest of their lives.

    2. Re:Like Algebra 1 by Anonymous Coward · · Score: 0

      Almost anyone can grasp algebra 1.

      Just looking at the current state of the world and the average voter (who succumbs easily to cries that we need to trade freedom for security), I highly doubt that. Most people, at least from my perspective, do not appear to be logical in the least. They might be able to memorize equations, but they cannot truly understand the subject.

      The problem right now, though, is that even people that would otherwise have the ability to understand it are being taught poorly, and consequently, don't understand it. It's all teaching to the test and rote memorization.

    3. Re:Like Algebra 1 by Anonymous Coward · · Score: 0

      Are you the kind of person who thinks those with depression should just stop being sad and be awesome instead?

    4. Re:Like Algebra 1 by Kergan · · Score: 1

      Kids need to do homework (AKA practice) just like any other endeavor.

      Eww, talk about dragging out that old mule of an argument. No offense, but you sound like a grumpy curmudgeon.

      In other news, research upon research shows that homework is useless until very late in school. Research also suggests that less is more when it comes to learning -- at the very least in dogs, but I wouldn't be surprised the slightest bit, considering how homeschooled children tend to fare, that it also applies to humans.

      Oh, and countries where people work less tend to fare higher on a variety of happiness and life quality scales unless I'm mistaking. (I'll let you google citations for that one, as homework, since I worked too much for you already; plus, you'll need to some try to find contrarian results to solve all that cognitive dissonance that's rearing it's ugly head, especially to dislocate the dissonance due to that you might learn something by doing homework after all.)

      I estimate that maybe 80% of my adult patients born after 1975 are on some form of antidepressant drug.

      Based on what? Your anecdotal evidence? You must be living in a very screwed up area. Plus, what kind of stat is that? 80% of your patients take anti-depressant drugs? Who knew?

      The culprit, btw, may just as well have more to do with things such as a fucked up HR and management processes (which started in the 1960s and went full-on mental in the 1980s, what a coincidence), employee 360 evaluations, putting people in dead-end positions to pressure them out of their jobs, wage stagnation, and whatever increases stress levels of individuals and groups in the workplace.

      I honestly have no fucking clue of the precise figure or reason. The only thing I do know, based on my own anecdotal evidence, and having been self-employed my whole work life, is that the least I can say is that I do not miss any of what little I experienced it while an intern in my early adulthood. It was all shite..

      The next step is to get prescribed an antidepressant to help their bruised self-esteem cope with the fact that they never learned anything in school and are likely to remain unemployable for the rest of their lives.

      Personally, I'm a lot less worried than you seem to be. Might you need a shrink to look into your anxiety issues, so he can prescribe you some anti-depressants?

      Whether you do or not, and in case you need a yardstick for human adaptability, it literally took a year during WW2 for Europeans (the great majority of which were working in non-farm sectors at the war's onset) to relearn how to -- and actually -- grow potatoe in the face of food rationing. Almost everyone with anything resembling a garden grew some by 1941.

      Not to mention, if they're all on anti-depressants and unemployed, someone has to pay for it. At some point the guy who pays will say "Stop!" and said anti-depressants -- the proverbial "be happy with your shit life" drugs if there are any -- will no longer be available to them. What happens then?

      As in before, I can only offer you my best guess: when people have nothing to lose, they lose it. A quote from Jean Meslier in a similar context in case you need a colorful perspective: "May all the leading elite and noblemen get hanged and strangled with the bowels of clergymen."

    5. Re:Like Algebra 1 by dcollins · · Score: 1

      "Almost anyone can grasp algebra 1"

      The fact is this is just totally false. There are a million teachers in the U.S. trying a thousand different teaching techniques and no one has any better than about a half success rate. Yes homework, no homework, personal drills, group work, project-oriented, detailed writing exercises, exploratory work, no one can make a dent in the success rate. (My intimate familiarity is the fact that all across this country, 2/3 of community college students need remedial algebra, and 2/3 will never-ever pass it. Even with hundreds of research projects every year, no one's significantly improved on this.)

      There should be a Millenium/Randi-style million-dollar prize for anyone who claims that everyone can learn algebra or programming, because it simply isn't true.

      --
      We know where leadership by an anti-intellectual "strongman" who scapegoats minorities and likes boisterous rallies goes
    6. Re:Like Algebra 1 by Anonymous Coward · · Score: 0

      No not the first generation, but the first generation where self-esteem was completely placed above learning.

  18. Programmer vs Good Programmer by ryen · · Score: 4, Insightful

    I think a distinction should be made between a programmer and a *good* programmer. My CS program had a number of *really* smart kids - 1600 SAT scores and the like - but many of them really struggled at the concepts and barely made it through the curriculum. I think a good programmer takes 1. Creativity to think about problems from different angles 2. Drive to hunker down and get through hard problems (be it starting a new language, that pesky compile error, starting a large project from scratch). 3. I'm sure fellow slashdotters can think of many more

    1. Re:Programmer vs Good Programmer by phantomfive · · Score: 1

      2. Drive to hunker down and get through hard problems (be it starting a new language, that pesky compile error, starting a large project from scratch).

      This one is the key. I've known a lot of dumb people who ended up as programmers, and had to clean up there messes.

      The one ability every programmer who manages to make it in the industry is they don't give up. They hack at it until they find some way of making everything public and passing forcibly through abstraction layers, but they get it. Or they keep working on it until the project gets cancelled.

      If you give up easily or want someone to tell you the answer when it gets hard, you will not be a programmer you will be QA.

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Programmer vs Good Programmer by lexman098 · · Score: 1

      My CS program had a number of *really* smart kids - 1600 SAT scores and the like - but many of them really struggled at the concepts and barely made it through the curriculum.

      I don't mean to belittle the intelligence necessary to program, but I have to call BS on this one. No one with 1600 SAT scores would "struggle through" solving compile errors unless by "struggle" you mean "take some time to solve when they're first learning".

    3. Re:Programmer vs Good Programmer by CityZen · · Score: 1

      This hits it on the head.

      Almost anybody can drive a car. That doesn't mean that anybody can be a good race car driver.

    4. Re:Programmer vs Good Programmer by Omnifarious · · Score: 2

      The grandparent's experience mirrors my own. Some people just couldn't get it. They were really bright, wrote well, were articulate and capable. But they just couldn't get programming.

    5. Re:Programmer vs Good Programmer by LodCrappo · · Score: 1

      Have to side with the other replies, I too have worked with extremely intelligent and academically successful people who just can not program worth a shit despite what appears to be honest effort. I don't think a simple compiler error would stump them, but they had tremendous trouble seeing how to apply basic programming patterns to real world situations despite understanding all the theory just fine.

      --
      -Lod
  19. Yes and No by Chris453 · · Score: 1

    In my experience over the last 10 years in a military programming shop, it does take a different mindset to be a good programmer. We have had several programmers that just didn't have what it takes to learn even the basics of programming. That doesn't mean they were dumb, in fact some were very smart and motivated. They just that they couldn't comprehend the concepts and reapply them to changing circumstances. Out of the 20-30 programmers over the years only 2-3 were actually good at programming and 3-4 were not able to function as programmers since they couldn't grasp the concepts. The others might have been classified as 'OK'. BTW the good ones were the enlisted programmers off the street, not the ones with degrees.

  20. Anyone can do it; anyone can be good at it by BlueCoder · · Score: 1

    I pay you enough money you will be motivated to get good at it. The question is how naturally will it come to you. The followup is how good you will get.

    Those that it comes to naturally will need less money and will be better at it for that money. So your priced out of the market unless you have a natural interest and aptitude for it.

    The vast majority of programmers start out as science types that have to learn programming out of necessity since can't afford to hire anyone else and they need their work done right. They are already procedure and process minded.

    1. Re:Anyone can do it; anyone can be good at it by RabidReindeer · · Score: 1

      I pay you enough money you will be motivated to get good at it. The question is how naturally will it come to you. The followup is how good you will get.

      Those that it comes to naturally will need less money and will be better at it for that money. So your priced out of the market unless you have a natural interest and aptitude for it.

      The vast majority of programmers start out as science types that have to learn programming out of necessity since can't afford to hire anyone else and they need their work done right. They are already procedure and process minded.

      I recognize you. You're the person who said "It's easy! All You Have To Do Is..."

  21. We're not all nerds by Anonymous Coward · · Score: 0

    I'm a programmer, I throw parties and have a hot girlfriend. I'm actually good and have over 12 years in the field. Don't generalize. Just because someone is smart, has sound logic and problem solving skills and enjoys creating via programming does not make them lame.

    1. Re:We're not all nerds by reboot246 · · Score: 1

      Your mom lets you throw parties in her basement?!?

      Just jerking your chain . . .

    2. Re:We're not all nerds by Anonymous Coward · · Score: 0

      Introverts aren't necessarily lame; they just have different hobbies than you.

  22. It takes a certian type of drive by Anonymous Coward · · Score: 0

    Yes, anyone can write software, not anyone can write good software.

  23. Anyone can, and unfotunately, they often do. by gestalt_n_pepper · · Score: 1

    Not that I'm in a position to criticize. Self-taught. Ignorant of many useful data structures and algorithms. I squeak by on clarity, organization, simplicity and extreme usability, but I could stand a lot more basic CS (and the time to study it).

    --
    Please do not read this sig. Thank you.
  24. Anyone... by Wattos · · Score: 4, Insightful

    Anyone can become a programmer, just like anyone can become a painter.

    It does not mean that the person would be a good programmer though. I could be an artists, but I would not be a good painter if my life dependent on it.

    1. Re:Anyone... by Anonymous Coward · · Score: 0

      The parent post is exactly right. Almost anyone who can type can create very simple programs like "Hello World" or add two numbers together. With some training many people can make fairly simple input->processing->output programs. However, like any profession/hobby there are a small group of people who really excel at it and a large group of people who are just at it and many people who are terrible at it. I have encountered many people who could code, many of them at done so for years, but it is very rare I encounter someone who can do it well, to whom it appears to come almost naturally.

      The answer would be the same if you were to talk about horse jumping. Almost anyone can be trained to take a horse over a small jump, but it's a rare few who reach a professional level.

    2. Re:Anyone... by Anonymous Coward · · Score: 0

      I think any statement containing words like anyone or everyone or all things without exception are inherently false with the exception of nothing in all of the world is 100% certain. You throw a blanket onto the fire and the fire feeds. I had a friend back in college that tried to major in computer science with a focus on computer programming with me. He simply could not do it at the proficiency necessary to create working programs. Working out logic problems and remembering keywords and syntax was beyond is capacity. Not everyone is capable of becoming a programmer. It really does take a certain kind of mind. But then if it takes a certain kind of mind, couldn't one foster that kind of mind? The answer is yes and no; about as much as nature and nurture affect our development.

    3. Re:Anyone... by RabidTimmy · · Score: 3, Interesting
      I think this provides a reasonable basis for how to think about the issue. I read through most of the Ars comments and I found one recurring confusion that nobody seemed to have picked up on that seems to be continuing on into the Slashdot comments. That confusion is really that people are arguing two different questions. The first is "Can anyone be a good/professional/successful programmer?" and the second is "Can anyone learn to program?". These are in fact two different questions.
      I've found everyone is arguing one of the two and most of the contentions between people come from when they don't realize they are arguing two very different questions.

      Now I'll try to take a stab at the two questions. As "Can anyone learn to program?" is a requisite for "Can anyone be a good programmer?" I'll start with that question first.

      Can anyone learn to program? : I don't know and I'm willing to venture a guess that no one on this forum really know either, regardless of how sure they may think they are. I venture to say, though, that I do think the vast majority of people can learn/be taught to program given the right instruction, motivation, and time. I'd recommend the following post on Ars. I think it provides a good example that the right instruction is crucial.

      Obviously, some people are going to find programming more natural than others. For me, learning programming came very easy. Writing did/does not. Other people are the exact opposite. Does this mean that I can never learn to be an ok writer. I tend not to think so and I believe the reverse is true for people who are not naturally gifted for programming. What it does mean, at least to me, is that they have to learn to think in a new way (admittedly not easy, but it is possible). The real question then is how much effort will it take, does the person have the motivation to do it, and is it a worthwhile venture. I'll leave these to somebody else to answer.

      Next, can anyone be a good programmer? This is really more of an extreme version of the other question. I'll hold to what I said with the previous question that most people could. However, the issue of whether it is worthwhile to spend the amount of time to develop the skills to become proficient is even valid. I suspect the answer is no. While I'm a believer in developing a range of talents, I also believe that being productive in society means that one needs to hone their skills in an area to become as good as they could possibly be. It seems natural then that the area in which one attempts to excel in is in an area that they are naturally gifted in to begin with. The person could then progress much further and the initial learning curve and potentially the later learning curve is much less steep for them. Lastly, one additional question: can anyone become an amazing programmer? To this I would have to say almost always no. This is akin to saying, "Can anyone become a DaVinci, a chess grandmaster, or an elite athlete?" Reaching the pinnacle of an area requires both dedication and natural ability. Even most programmers will never reach such a level that they can see any problem and quickly come up with an elegant solution for it. This is at the far end of the ability scale and for someone who isn't naturally adept at programming, and asking them to figuratively carve David.

      Just my 3 cents.

    4. Re:Anyone... by danlip · · Score: 1

      I probably couldn't be a good painter either, but I can't be sure, because I've never tried - I did take a painting class once but gave up, because it seemed I didn't have any talent, and didn't particularly have much desire to try. Great painters didn't start that way, they spent thousands of hours practicing. Same with great programmers. I did seem to have some natural talent for programming, but I also had parents that got me started at a very early age, and have definitely spent over 30,000 hours doing it. I am a great programmer now, but definitely wasn't when I only had 1000 hours practice. See 10,000-Hour Rule

    5. Re:Anyone... by Anonymous Coward · · Score: 0

      Why do you say offhand that you will never become a good painter?

    6. Re:Anyone... by guttentag · · Score: 1

      Anyone can become a programmer, just like anyone can become a painter.

      Somehow I misread that as "...just like anyone can become a printer" and was reminded of a friend in the gifted class in elementary school who used to frequently impersonate the Apple ImageWriter printer in the computer lab. He would smoothly glide from one side to the other while imitating the sound the printer made, then glide back to the other side while making a different sound, and repeat ad nauseam. Like the ImageWriter, the quality of his impression was "adequate rather than startling." I thought the whole thing was dumb until he pulled a printout from his back pocket.

      In this way, I suppose anyone could become a programmer by sitting at their desk with headphones on, staring at a computer screen and occasionally drinking Bawls. Gliding from side to side in an Aeron chair while making computer noises is optional, as long as they produce something.

    7. Re:Anyone... by Anonymous Coward · · Score: 0

      I would not be a good painter if my life dependent on it.

      Or a good grammer teachar ;-)

    8. Re:Anyone... by rmstar · · Score: 1

      Anyone can become a programmer, just like anyone can become a painter.

      My impression is that this is only true if I take your sentence to mean "not everyone can become a painter, so not everyone can become a programmer".

      It is my firm belief that a significant portion of the population cannot become a programmer, not even on a mediocre level, even if their life depended on it. A lot of people just cannot dig loops. If you don't believe me, try giving courses to the general public. Some people are successful, inteligent, eloquent, whatever, but by themselves they cannot code a loop!, no matter how much they try.

    9. Re:Anyone... by Anonymous Coward · · Score: 0

      Indeed, afaik this was tried in practice in former soviet. Everybodies weren't particularly productive.

    10. Re:Anyone... by Anonymous Coward · · Score: 0

      You can learn to paint just as you learn to code. Both are procedural. The question becomes one of creativity and desire. The best known programmers are creative and dedicated. Same for artists.

  25. Algebra by m4053946 · · Score: 1

    Not exactly answering the question, but just moving it back a little: folks who know algebra seem to be able to grasp the basic concepts. People who don't will usually just struggle. Another one besides algebra, but closely related, is Excel. If folks can't grasp the basics of formulas/functions in excel, then coding will most likely be beyond their grasp. (this is from ~10 years experience teaching adults the basics of writing code). Can all people get to the point of being proficient in Algebra and therefore code? Perhaps... But since 100% of the general population definitely does not know the basic concepts of algebra, I'd have to say that at this point, not all people will be able to learn to code.

  26. "Hello World!" by stevegee58 · · Score: 1

    Yay! I'm a programmer!

    (It's getting tiresome posting this same comment again.)

    1. Re:"Hello World!" by Mashiki · · Score: 1

      Yeah, but can you do it in Java? Or should we just nail you to the chair now that I've asked...

      --
      Om, nomnomnom...
  27. The question by DarkOx · · Score: 3, Interesting

    Implicit in the question is the idea the programing is programing is programing.

    I don't think this is case. I would say just about anyone, baring those individuals with some moderate to severe mental impairment can do some programing. Integration programing is usually nothing more than outlining the corrected steps and gluing that outline onto the required boiler plate. Application programing might get a bit more complex but even that should be attainable for anyone able to read and follow documentation.

    Oh sure it can get very complicated when you get into ETL on big data sets and such certainly may require a specialist who makes it business to do it well but I do think its something *anyone* could learn. In the same way anyone can learn to be an accountant or an attorney. Getting past some of the hurdles can be tough but with enough time and resources most normally abled people should be able to get there.

    When you get into lower level stuff its a different game. I am not so sure just anyone could be taught compiler design for example at least with the outcome they will be proficient and successful working in the field. As you move from programing for high level applications into programing for 'Computer Science', 'Computer Engineering' or 'Systems Programing' than there is a certain group that is able to follow the math, and think about problems with and without abstractions at the same time and other things not everyone has a facility for.

    --
    Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    1. Re:The question by Anonymous Coward · · Score: 0

      Implicit in the question is the idea the programing is programing is programing.

      Programing may indeed be programing, but it certainly is not programming.

  28. It requires a logical mind for a start. by rstanley · · Score: 1

    Not everyone does think logically! We all can think of things we experience every day that were NOT logically designed or planned!!! ;^)

    Anyone can learn a language and write some simple small programs, (many times badly, even by those WITH a CS degree!) but There is a lot more to programming than just learning the syntax. I myself am self-taught for the most part, but there is a lot missing that would make me much better had I obtained a CS degree.

    Michael Bloomberg, Mayor of NYC is supposedly learning to program. I would be curious to evaluate his programs, whatever language he has chosen! ;^)

    1. Re:It requires a logical mind for a start. by fwarren · · Score: 2

      Give me a 32 ounce big gulp and I will tell you of his progress.

      --
      vi + /etc over regedit any day of the week.
  29. Bent of mind by Spazmania · · Score: 0

    Lots of folks have strong logical thinking skills. Philosophers. Mathematicians. Lawyers. If logical thinking skills made a successful programmer these folks would be consistently good at it. They're usually not. In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

    There's a particular intuition, a bent of mind that makes for a successful programmer. If you have it, there's little about programming I can't teach you. If you don't have it, there's little about programming I *can* teach you.

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    1. Re:Bent of mind by wdef · · Score: 2

      In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

      Totally wrong. Computer science is *ALL* mathematics. It's programming that isn't maths, for the most part.

    2. Re:Bent of mind by Tyler+Durden · · Score: 4, Insightful

      They're usually not. In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

      Computer science is, practically by definition, a subset of math. But there are many branches of mathematics out there, and being great at one doesn't necessarily mean a person is great at all of them.

      Also, just because someone happens to be a great computer scientist doesn't mean they must also be a great programmer.

      --
      Happy people make bad consumers.
    3. Re:Bent of mind by Anonymous Coward · · Score: 0

      In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

      Totally wrong. Computer science is *ALL* mathematics. It's programming that isn't maths, for the most part.

      In your own words, please define the word "algorithm". Programming *is* math. In a word, Algebra.

    4. Re:Bent of mind by danlip · · Score: 2

      Indeed, I had several professors who were great at theory but lousy at programming - one of them was a former grad student of Dijkstra, and he was the worst (although to arrogant to realize it).

    5. Re:Bent of mind by Kergan · · Score: 2

      Lots of folks have strong logical thinking skills. Philosophers. Mathematicians. Lawyers. If logical thinking skills made a successful programmer these folks would be consistently good at it. They're usually not. In fact, mathematicians can be the worst: they think computer science is a subset of math and it really isn't.

      Actually, you're technically incorrect on that last point. Anything that you can mathematically demonstrate can be calculated and vice versa. Not that knowing this is of much use in everyday coding of the type you do when you're maintaining a big ball of mud, but hey.

      Also fwiw, and in my experience anyway, mathematicians are supremely better coders than CS guys: they abstract more, better, and faster, leading to fewer lines, fewer bugs, fewer edge cases left out, better tests, etc. (Your mileage may evidently vary, since everyone and his dog graduates nowadays.)

    6. Re:Bent of mind by rgbatduke · · Score: 2

      I would have to disagree. Programming isn't algebra, it is metaphor. It is building machines out of words. In fact, I don't know if you meant it humorously, but you yourself say "define the WORD algorithm". I'd argue that most algorithms CAN be described in words. Often even English or Swahili words.

      I'm not sure, but I think that's why they call the medium a "programming language". It isn't devoid of math or logic -- far from it -- but it isn't the same thing, either, and a person good at real mathematics can easily suck at programming or vice versa.

      Here's a program:

      "Take an integer variable named i, fill it sequentially with the integer values from one to one hundred in steps of one, and print out its value on the screen I'm looking at".

      This is perfectly understandable English, and can be executed by a reasonably bright student to whom the words are directed where the screen is a whiteboard.

      It isn't really any different when written "for (i=1;i <=100;i++) printf("%d\n",i);" or any of the myriad other ways of writing the same program in different programming languages. A machine built out of words/symbols that have a fairly carefully specified operational meaning. Not at all like proving that the angles in a plane triangle add up to pi.

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    7. Re:Bent of mind by Anonymous Coward · · Score: 0

      Or even more precisely. Mathematicians assume that algorythms work within computers as they do in math. But they don't.

    8. Re:Bent of mind by Spazmania · · Score: 1

      Math is continuous. Y isn't set to X + 1, Y *is* X + 1. That's not true in computing. Y doesn't become X + 1 until it's set to that. Before that it's something else and after that it doesn't matter if X changes. Computing is incremental. State-dependent. The language of mathematics is poorly equipped to describe it let alone think in those terms.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    9. Re:Bent of mind by sensei+moreh · · Score: 2
      Actually, I thing the

      bent of mind that makes for a successful programmer

      is quite similar to that required to successfully create a proof in mathematics. Both mathematical proofs and computer programs can be either hack jobs or works of elegance, or anywhere in between. I think it's safe to say that my efforts in both areas tend toward the former.

      --
      Geology - it's not rocket science; it's rock science
    10. Re:Bent of mind by mellon · · Score: 3, Insightful

      Oh for heaven's sake. If you aren't a computer scientist (and the above statement demonstrates that you are not), don't make assertions about computer science. And if you aren't a mathematician, don't make assertions about math. "Math is continuous?" That's about as meaningful as saying "pink is ten." What you are talking about is a difference in notation. Look up lambda calculus on wikipedia, and get back to us when you've cleaned up the brain cells that dribbled out your ears when your brain exploded. Don't even get me started on type theory...

    11. Re:Bent of mind by Anonymous Coward · · Score: 0

      Dude, speaking of arrogance, learn the difference between to, too, and two, before you say that somebody else (not you) is arrogant!

    12. Re:Bent of mind by next_ghost · · Score: 1

      Programming isn't algebra, it is metaphor.

      I think you're confusing algebra with elementary algebra. FYI, algebra provides sufficient tools for building a Turing-complete programming language and also any program written in any Turing-complete language can be expressed in terms of algebra.

      I'm not sure, but I think that's why they call the medium a "programming language". It isn't devoid of math or logic -- far from it -- but it isn't the same thing, either, and a person good at real mathematics can easily suck at programming or vice versa.

      Math itself is a language. Programming languages are just some of its many dialects.

    13. Re:Bent of mind by gnasher719 · · Score: 2

      Computer science is, practically by definition, a subset of math. But there are many branches of mathematics out there, and being great at one doesn't necessarily mean a person is great at all of them.

      Many years ago, someone found a proof for the "Four Colour Theorem" that was assumed to be correct for many years and then refuted. For an experienced programmer, it would have been obvious that the proof couldn't be trusted, and for a slightly clever experienced programmer, it would have been not difficult to demonstrate that the proof was wrong. Unfortunately, there were no experienced programmers in the 19th century, so the proof stood for a few years.

    14. Re:Bent of mind by RabidReindeer · · Score: 1

      Oh for heaven's sake. If you aren't a computer scientist (and the above statement demonstrates that you are not), don't make assertions about computer science. And if you aren't a mathematician, don't make assertions about math. "Math is continuous?" That's about as meaningful as saying "pink is ten." What you are talking about is a difference in notation. Look up lambda calculus on wikipedia, and get back to us when you've cleaned up the brain cells that dribbled out your ears when your brain exploded. Don't even get me started on type theory...

      Amen. I know people who assert that everything is ultimately math, but I think they're stretching the point.

      I'm not a mathematician, but math isn't just the traditional number system operating according to traditional rules. Math is symbolic manipulation, including meta-symbolic manipulation, and an algorithm isn't disqualified from being mathematical for being either stateful or discontinuous. Alan Turing was a mathematician, and unless I mis-remember my schooling, he's as famous for mathematically proving the Turing Machine as for inventing it. The Calculus of Propositions obeys the laws of mathematics and without it, if/then statements would not be what they are.

      You do not need to "know calculus backwards and forwards" to do programming, despite what some idiots have asserted to me, and I'm living proof and have the transcript to prove it. However, programming is definitely based on mathematical principles.

    15. Re:Bent of mind by sonamchauhan · · Score: 1

      There you go, you just proved him right ! ;)

    16. Re:Bent of mind by Spazmania · · Score: 1

      The central conceit of mathematics is that everything is math. Life, the universe, everything. That's why "the answer" was 42, or didn't you get that?

      Tell a physicist that his work is just math and he'll sneer derisively. Tell an engineer and he might crack the joke that the difference between theory and practice is that in theory there is no difference. Yet because so many of the founders of computer science started as mathematicians, we're willing to tolerate the similarly absurd claim about computer science.

      My degree says CS and I graduated with a 4.0 in-major from a school that while it wasn't in the top 5 is reasonably high up the list. Somehow or another I satisfied the professors that I knew the material and then went on to satisfy employers too.

      On the other hand, both of my parents hold degrees in math, and theirs are from top-5 schools. My father has even won awards for his brilliance in cost modeling.

      So when I talk my father through a computing problem and he can't work his way through the next similar one, and then I face the same problem when he walks me through something in differential equations, that gives me a pretty solid clue that the two fields' underpinnings are dissimilar. If they weren't, the insights and approaches to problem solving would be portable.

      As for lambda calculus, that's a great example: a false mental model of computing. It offers great insight into a set of seemingly simple computing problems which are not solvable. But it offers little insight into usefully solving problems in computing which -are- solvable. It presents itself as a system by which the correctness of a computing solution can be proven, but such proofs are so tedious that using it to prove the correctness of any complex (i.e. useful) computing problem falls to simple statistics: the probability of undetected error in the proof approaches unity.

      Even the problems proven to be unsolvable with lambda calculus turn out to be solvable in the practice of computer science. We just move the goal post: find a computable way to get an answer that's "good enough." Indeed, much of the art of computer science lies in intuiting when and how to redefine the problem so that you reach a useful solution.

      Which is not to say that math is not a useful tool in computer science. Boolean algebra: critical. Algebra in general, damn important. Combinatorics, really helpful. Probability too.

      But Calculus? Trigonometry? Geometry? Outside of very specialized portions of computing, these branches of math have no value to computer science at all.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    17. Re:Bent of mind by russotto · · Score: 1

      So when I talk my father through a computing problem and he can't work his way through the next similar one, and then I face the same problem when he walks me through something in differential equations, that gives me a pretty solid clue that the two fields' underpinnings are dissimilar. If they weren't, the insights and approaches to problem solving would be portable.

      Perhaps they are portable, and you merely haven't found the reductions.

      Even the problems proven to be unsolvable with lambda calculus turn out to be solvable in the practice of computer science. We just move the goal post: find a computable way to get an answer that's "good enough." Indeed, much of the art of computer science lies in intuiting when and how to redefine the problem so that you reach a useful solution

      Heuristic solutions are still in the realm of mathematics.

      But Calculus? Trigonometry? Geometry? Outside of very specialized portions of computing, these branches of math have no value to computer science at all.

      Big-O notation comes close to requiring calculus.

    18. Re:Bent of mind by multimediavt · · Score: 1

      Computer science is, practically by definition, a subset of math.

      No. Try it's by practical definition applied mathematics and you're golden.

    19. Re:Bent of mind by Jeremi · · Score: 1

      That's why "the answer" was 42, or didn't you get that?

      Sorry, no. 42 was just a throwaway gag, with no hidden deeper meaning intended.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    20. Re:Bent of mind by Nivag064 · · Score: 1

      Look up discrete mathematics!

      I remember one course when most theorems started with provided that 1 + 1 does not equal zero, and they were not joking!

    21. Re:Bent of mind by Anonymous Coward · · Score: 0

      Amen. I know people who assert that everything is ultimately math, but I think they're stretching the point.

      Nah. They're just wrong. Everything is physics. Math is just a metaphor for physics.

    22. Re:Bent of mind by serviscope_minor · · Score: 1

      I remember one course when most theorems started with provided that 1 + 1 does not equal zero, and they were not joking!

      Pedant point: you can't prove that in general, since it's not true on GF(2).

      But with integers, then sure.

      --
      SJW n. One who posts facts.
    23. Re:Bent of mind by Spazmania · · Score: 1

      Adams said, "It had to be a number, an ordinary, smallish number." Why? Why not the color blue? Or "steak, medium rare?" Why did choosing an ordinary smallish number make "the answer to life, the universe, everything" funny?

      Because it poked at two favorite conceits: that there must be some simple reason for our existence and that everything is math.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    24. Re:Bent of mind by hackula · · Score: 1

      That seems to be a commonality among most CS academics. The real world is a cruel, cruel place for your code. Pie in the sky perfectionists need not a apply.

    25. Re:Bent of mind by hackula · · Score: 1

      Philosophy major here. I specialized in formal logic systems, computational thinking, and neural networks. Now I am a software architect building very math heavy software (geospatial analytics) for Fortune 500 companies using many of those same concepts. I took several CS courses towards the end of school. What I noticed of most CS guys was that they: had a poor grasp of logic (discrete mathematics brushes over the fundamentals far too quickly), had poor reading comprehension skills (which is unfortunate when the job requires you to read technical specs and manuals a good bit of the time), and had poor communication skills (which is why someone like me was able to sneak my way into the job market in the beginning without a CS degree, since I was able to get through an interview without making people uncomfortable). I know some great people who came out of the CS program, but those people probably would have been great had they just gone the self teaching route and majored in Anthropology. CS and programming are evolving. Someone who cannot teach themselves will be terrible at both before long, because they will be left in the dust.

    26. Re:Bent of mind by erik.erikson · · Score: 1

      Mathematics is most basically a field encompassing the methods and concerns of quantification.

      The field of computer science has largely been developed and expanded by mathematicians but I can only accept your assertion if you can demonstrate mathematics ability to address matters such as semantics or all of the other myriad concerns that are generally accepted aspects of the informatics field. Mathematics is a terribly handy and important tool in the toolbox but just one. The general companion idiom you may recognize is that if all you have is a hammer, the world is composed of nails.

      My best formalization of how to express computer science is that it is "applied philosophy": the unification of the ideal with the concrete as a precursor of and mechanism towards the possible and actual manifestation of the unification of all ideals.

    27. Re:Bent of mind by Anonymous Coward · · Score: 0

      Oh, you mean imperative languages. Well, there I agree. These aren't exactly state of the art, though. That's like cleaning the concorde with a tooth brush.

    28. Re:Bent of mind by Nivag064 · · Score: 1

      We were dealing with integers, or at least with non-fractional numbers - this was 40 years ago, so my recollection is a bit vague as to the other details!

      We were never attempting to prove that 1 + 1 does not equal zero, just requiring that to be the case (in the sense that no claim of theorem validity was was made when 1 + 1 equaled zero ).

      I am well aware that in the group (+, 0, 1), that 1 + 1 = 0. Similarly for the field (+, x, 0, 1). Sorry don't recall the formal mathematical notation used.

      What does 'GF' stand for?

    29. Re:Bent of mind by Nivag064 · · Score: 1

      No!

      There are 'existence' proofs in Mathematics, that show that something does exist, but not how to create one.

    30. Re:Bent of mind by serviscope_minor · · Score: 1

      What does 'GF' stand for?

      Galois Field. It's the notation I'm familiar with so GF(N) is integers modulo N.

      --
      SJW n. One who posts facts.
    31. Re:Bent of mind by hendrikboom · · Score: 1

      Yay! Type Theory!

    32. Re:Bent of mind by Anonymous Coward · · Score: 0

      cd you tell us what you mean by 'computer scientist"?

    33. Re:Bent of mind by Mormz · · Score: 1

      Fewer lines NE fewer bugs. In my experience developers who strive to do an algorithm or just a function in as few lines as possible, tend to do all sorts of mistakes and thus spend more time in debugging. This is particularly awful if you develop for the web and do stuff in PHP/JS. As ugly as Perl syntax is, you can make sense of it, and all is good. But if you have a dev who does like not naming the variables in line with their use, not commenting, and self-documenting programming is a sort of an anathema to those... I don't like such characters on my team. They are often brilliant, but writing code no one can read easily (spending time to make sense of somebody' coding is wasting time) and for superficial reasons like, well I save ten characters per line, and that makes my program run faster... Makes everybody but them miserable. In response to other questions, CS is a subset of Mathematics. Programming is not a subset of CS, nor is it exclusive to CS. Programming, like math, is trying to describe the material world (and most of our programs do this, you just have to think about it) in a standardised way, but unlike math, who does that for other humans, programming does it for the machines. This has nothing to do with CS, because programming is older than CS. It is more closely related to linguistics, and logic and ofc mathematics. All programming languages are tools that take a abstract or a physical object, or a sequence of objects, and describe it in meaningful and logical way to the computer. Then they "teach" the computer how to manipulate those objects. Mind you, I'm not talking about objects from OOP. I'm talking about objects in a dictionary way ( [object] a thing, person, or matter to which thought or action is directed), one might argue that this is not dissimilar from class-based programming objects... And it's not... And that should be a thought too ;)

      --
      Imagination is more important than knowledge. Having both makes one a genius.
    34. Re:Bent of mind by omfgnosis · · Score: 1

      If you really don't believe that programming is math, what exactly do you think that a processor does with those "words"?

  30. Depends on the programming... by Pyrotech7 · · Score: 1

    It took a different mindset to program in Fortran, C, Assembly and that age of programming. Accessing memory in a way to accomplish the task when there was very little memory (4-128k), and still provide UI was not for the feign of heart. Now we have OOPs programming, built with GUI programming environment using calls to the OS. Much simpler, but still requires a logical mindset. IMHO, just about anyone can do some programming these days.

    1. Re:Depends on the programming... by Anonymous Coward · · Score: 0

      Now we have OOPs programming

      In what way do you think OoP made anything easier? There's a strong school of thought that it does just the opposite: http://harmful.cat-v.org/software/OO_programming/

    2. Re:Depends on the programming... by Anonymous Coward · · Score: 0

      ...not for the feign of heart

      Good grief. "Faint of heart."

      If you program as badly as you write, you should be shot before you are ever allowed to approach a computer again.

  31. You have removed all doubt by Zero__Kelvin · · Score: 2, Insightful

    "I don't know where this self-importance stance comes from, but there really is nothing special in being a programmer. It doesn't really require much, nor does it require anything special."

    Well, you hit the nail of the problem right on the head. We have met the enemy, and it is you and people like you. The fact that you make this statement shows that you are one of the 80+ percent in the industry that don't belong who are destroying the software ecosystem and making garbage software the norm.

    "What is the programmers job in reality? To put out code as fast as possible."

    You should have just put an end to your post after the first question, since you clearly don't know the answer.

    "Programming itself doesn't require anything special. Designing does."

    And there it is. The winning answer in this round of Final Stupidity. The fact that you don't think that designing everything from internal data structures to quality unit tests for your code shows how much you truly have no idea what you are talking about. Abraham Lincoln could have told you that tis' better to remain silent and be thought a fool than to speak and remove all doubt.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:You have removed all doubt by fwarren · · Score: 5, Insightful

      Can anyone learn to play the piano? What about playing the piano compently? What about playing it excelently? Can you read sheet music? Can you read sheet music in one key and tranpose it to another while you play? That last part is easy. All you have to do is teach yourself to read sheet music in such a way that you say "Oh this is in the key of C, so this note is the 3rd intreval in C" and tell your hands "you are playing in G, play the third intreval in G".

      It takes dedication, undestandeing, and practice. Oh and natural ability. How good is your ear? How much dexterity do you posess? How well can you listen to other things, read sheet music, conrtol your hands and maintain a tempo? Each person has limits. You might always suck, maybe you can be acceptable. Even then, somone who has many limitations but lots of dedication undertandind and pactice can outdo someone with a natural nack, but does not apply themselves.

      Most people don't apply themselves to learn to play the piano or to program.

      How much self import should someone have who has learned to play the piano, crack a safe, walk a hiwire, dircet air-traffic, put out an oil rig fire, implode a building, cut a diamond or progam have? Be a little nicer to the 80+ percent of us who have invested enough to have the chops to do this kind of work.

      --
      vi + /etc over regedit any day of the week.
    2. Re:You have removed all doubt by kaizokuace · · Score: 1

      I feel like there is a breed (most?) of designers that think that design is the final gift from God. The problem is that they seem to not realize that software design happens beyond a pretty UI. Or even a well structured design spec and a good UI to display that. They don't seem to get that what is under the hood involves a lot of design skills. Design isn't making stuff look good and feel good to use. That is a specific subset of design (UX design, UI design, etc.). Design is a creative and decision making process. Design under the hood is of paramount importance. Software designers, architects etc are always making design decisions. Unfortunately a lot of developers don't feel or think that they are actually designers.

      So this jackass in the end is correct, design is king. But he unfortunately does not know what design actually is.

      --
      Balderdash!
    3. Re:You have removed all doubt by Zero__Kelvin · · Score: 1

      "How much self import should someone have ..."

      You don't seem to understand the implications of your own piano analogy. If the question is Can anyone learn to program code only they themselves will ever be exposed to? ... then of course the answer to the question is yes. If, however, you plan on forcing others to hear you play the piano, please have the decency to only play if you actually posses the skills.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    4. Re:You have removed all doubt by kumanopuusan · · Score: 1

      Slightly offtopic, but Lincoln himself would not have considered that an original quote, seeing that he read the bible.

      Proverbs 17:28 Even a fool, when he holdeth his peace, is counted wise: and he that shutteth his lips is esteemed a man of understanding.

      --
      Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    5. Re:You have removed all doubt by Zero__Kelvin · · Score: 1

      ... which is why I said that Lincoln could have told him, rather than claiming that Lincoln came up with it himself. Of course the actual paraphrasing was from Lincoln himself.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    6. Re:You have removed all doubt by kumanopuusan · · Score: 1

      You win points for accuracy, then.

      --
      Use of the words "good", "bad" or "evil" is almost invariably the result of oversimplification.
    7. Re:You have removed all doubt by Anonymous Coward · · Score: 0

      I believe that is a Mark Twain quote, not Abraham Lincoln.

    8. Re:You have removed all doubt by Zero__Kelvin · · Score: 1

      "You win points for accuracy, then."

      Did they revamp the Slashdot modding system without telling me ... again !!??? ;-)

      Cheers!

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  32. Define 'programming' by udachny · · Score: 0

    Maybe programming should be defined first. I am almost certain that excluding people with various mental and cognitive problems, any person can put together a simple flow chart, with conditions in it (doesn't have to have loops, but any non-trivial problem sketched with a flow chart will likely have a loop or two, where a condition is used to split the next step into path A and path B).

    However if we are talking about something else, like being able to hold a large piece of application in one's head while coming up with solutions to the problems, designing algorithms, working with fairly complex data structures, maybe working on with low level stuff, memory management, timing issues, multi threading, communications between components and between computers. Maybe in that case not everybody can become a programmer, it takes persistence, it takes good enough memory of the right kind, it takes ability to concentrate on a problem for hours at a time, it takes ability to be by yourself for an extended time period.

    I don't think everybody can be a civil engineer for example for similar reasons.

    Not everybody can be a doctor, it takes a different level of patience and ability to remember things that surpasses many people's abilities I think.

    Not everybody can be a good 100 meter sprinter for obvious reasons.

    Not everybody can be a psychiatrist.

    Not everybody can be a kindergarten teacher.

    etc., all of these things take a different mind set and different levels of patience, etc.

  33. just do interviews and you'll see by HappyEngineer · · Score: 2

    I've interviewed a lot of people for the position of senior engineer. This has taught me that most experienced programmers can't program. Most have trouble writing the simplest of code snippets despite claiming a decade or more of experience.

    Given that, I'd say that anyone can become a senior engineer, but few people can learn to program even when given a decade of on the job experience.

    1. Re:just do interviews and you'll see by Anonymous Coward · · Score: 0

      Engineers mostly program in Matlab

    2. Re:just do interviews and you'll see by AK+Marc · · Score: 1

      Its like writing. You don't just sit down and write. You do research, set out a plot, and a cast list. You have an editor, who is more of a marketer than editor. You do similar work before starting programming, and have similar support systems.

    3. Re:just do interviews and you'll see by Anonymous Coward · · Score: 0

      Experience means just an opportunity to learn. A manager of a large project (which was failing) said that he has 20 years of experience. I wanted to ask, "If that experience was any good for you, why is this project of yours still failing?".

    4. Re:just do interviews and you'll see by robi5 · · Score: 1

      What's your interview technique? I'm just asking because an interview setting is very different from a work setting. To give an example, once I was interviewed for a position and questions about C/C++ came out, and I said, I haven't programmed in it, so I probably scored -2 on a scale of 1 to 5 (and didn't get hired). Then at work, soon a problem came up that required C programming, and guess what, with no experience in it whatsoever I was able to create working code (not a big task but still about a thousand lines, incl. GPGPU, OpenGL and use of template libraries). The development was kind of slow (maybe twice as long as of what I use daily) and obviously a good learning experience.

      However the code worked nicely and reliably; I know where it was awesome and where I cut some corners (being an alpha version); what the tradeoffs were (performance, memory, verbosity, portability etc.); and most of all, I had a full grasp of the functional model and the inner workings of the solution.

      Whereas I have seen programmers who had used language X for many years and would have aced typical interview questions such as write a heap sort or what's the best data representation for something (e.g. doubly linked list) and would still make a worse programmer than me. On multiple occasions I inherited code in a language new to me and rewrote much of it of higher coherence.

      A closing thought is that it turned out, on an interview I can even fail questions where I'm at home; in an interactive discussion maybe the best approach does not come to mind, and I can't program on paper (i.e. without a PC with quick lookups as needed). So depending on how you interview people, the question is how much bias you introduce for people who fit the interview style and against those who get the job done in good quality in a work setting.

    5. Re:just do interviews and you'll see by Anonymous Coward · · Score: 0

      Just curious, can you elaborate on what kind of code snippet most have had trouble writing? Are you asking them to write a function, given certain input and expecting certain output? Or implementing a classic algorithm, such as a binary sort?

    6. Re:just do interviews and you'll see by Anonymous Coward · · Score: 0

      Would you please give a couple of examples of what the simplest of code snippets would be? I'm just curious in what an experienced programmer would not be able to program.

    7. Re:just do interviews and you'll see by Anonymous Coward · · Score: 0

      I am wondering what is your experience with you as the interviewee?

  34. I would agree with this assessment, but... by AlphaWolf_HK · · Score: 1

    Not for the obvious implications. Personally I have a lot to do with computers. I am a network engineer, I understand fundamentally how programs work (and have even written my own bash scripts on many occasions) and even have a broad understanding of how a kernel works.

    However I really don't care for writing code. I've tried on many occasions to learn GNU C, C++, and C#, wrote some basic programs that do little things, even tried writing an android app, but just couldn't get into it. Maybe there's another programming language out there for me, or perhaps a better way to learn the languages without getting bored with it (books really don't work for me) but I just haven't found it yet.

    But I think the more realistic thing is that I am just not interested at some deeper level, even though I would like to learn it. I've actually been involved in an open source project where I was sort of a tester, and the coders implemented some of my ideas (which I conjectured at the low level side of things) that turned out to be a successful addition to the project.

    --
    Careful with names containing L slashdot.org/~AiphaWolf_HK slashdot.org/~AlphaWoif_HK slashdot.org/~AiphaWoif_HK
  35. There was a draft paper about this... by Anonymous Coward · · Score: 0

    ... floating around somewhere. From (hazy) memory, the gist was that among those who tried to acquire the basic skill, some fail to take the hurdles. The second one of them is grokking the indirection represented by pointers. Forgot what the first one was, but obviously a more basic abstraction.

    For that is what programming amounts to: Pouring thought into abstractions so that computers might execute the resulting recipe. Seeing how plenty of humans need various crutches to sort our thoughts, it isn't strange that some never manage to clean up the mess enough that a computer might do something useful with the resulting programs. But some evidently do.

    Even so, plenty of people who do seem to grok it still produce inferior code. Take, say, slashdot. So heavy on the ajax that writing comments is nearly undoable on slow hardware. And no, not all of us have the latest room heaters equipped with software accellerators to help churn sloppy javascript.

  36. no by Anonymous Coward · · Score: 0

    no way Obama can ever write code.

    1. Re:no by Anonymous Coward · · Score: 0

      And yet Progressives speak in code all the time.

  37. Apparently, yes! by EGSonikku · · Score: 1

    10 PRINT "EGSonikku is a PROGRAMMER!"
    20 END

    --
    - "Scientia non habet inimicum nisp ignorantem"
    1. Re:Apparently, yes! by EmperorOfCanada · · Score: 1

      When I was 9 I always put a GOTO 10 instead of your line 20 END

    2. Re:Apparently, yes! by Anonymous Coward · · Score: 0

      I wonder how many people these days actually get what is up with those "10" and "20" numbers...

    3. Re:Apparently, yes! by marcosdumay · · Score: 1

      I don't even remember that END command of BASIC. Is it real?

  38. Anyone can become a programmer by guruevi · · Score: 3, Insightful

    But not everyone is going to be a good programmer. I think the 80/20 rule applies here too. 80% of programmers can program, 20% can do it efficiently.

    I see examples of bad programming all the time (or you can just read thedailywtf.com) and currently it doesn't matter all that much whether you spend 100,000 extra cycles in a loop. But we're heading once again to a level where efficient programming is going to become more important (low-end, cheap devices like Arduino and Raspberry for the consumer-end and high-end multi-processor systems like GPGPU and shared clusters on a pay-per-cycle on the other end).

    In a GPGPU scientific environment (where I work) shaving 10ms off a single looped calculation can easily end up giving you a result 7 days faster. Finding out that a buffer gets flushed every 64-bytes or every 100 microseconds and understanding why filling up a buffer with 0's (and how to do it efficiently) is faster than waiting for a timer to expire is real programmer's work but none of the documentation or even advanced classes on the subjects don't explain such things.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      > But not everyone is going to be a good programmer. I think the 80/20 rule applies here too. 80% of programmers can program, 20% can do it efficiently.

      Having done performance optimization on other peoples code for ~30 years, I can tell you that 20% is way off. It's more like 1%. I've seen some code in shipping commercial products that should have gotten the original authors of the monstrosity fired and banned from holding a coding position for life.

      Way too many people thin form a very narrow perspective when coding, and they may be able to get something to work, but it will not be performant, and will waste system resources. The biggest issues seem to be memory, but I've seen many N^2 and N^3 algorithms when an logN algorithm was available. I've given up long ago on trying to explain memory usage and how that impacts not on the performance of the process their code is executing within, but the system as a whole.

      Now if your speaking of getting code up and running in a short amount of time, then that's slightly different. However, there are more people that can cobble something together that works in a reasonable amount of time, the real problem is maintainability. That is less difficult than writing performant code, but getting them both right at the same time can only be done by about 1% of the people I have worked with at both small ( 50,000 employees) companies.

      The issue at large companies is that you have more people that think they can do it all, but really can't and you waste a lot of time fixing their mess. At smaller companies it's easier to get rid of the bad ones, and buiold a small solid core of better people.

    2. Re:Anyone can become a programmer by danlip · · Score: 1

      But we're heading once again to a level where efficient programming is going to become more important (low-end, cheap devices like Arduino and Raspberry for the consumer-end and high-end multi-processor systems like GPGPU and shared clusters on a pay-per-cycle on the other end).

      Or high-speed trading, where any delay, no matter how small, can have a big impact on profit.

      In a GPGPU scientific environment (where I work) shaving 10ms off a single looped calculation can easily end up giving you a result 7 days faster.

      You found 10ms to shave off a single calculation? 10 ms is practically infinity, even 10 ns would be important on most modern machines.

    3. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      You seem to be confusing the word "real" with "specialist"

    4. Re:Anyone can become a programmer by robi5 · · Score: 1

      > 80% of programmers can program, 20% can do it efficiently.

      And beyond these, there is another 20% who can't program or even add up to 100%.

    5. Re:Anyone can become a programmer by robi5 · · Score: 1

      > You found 10ms to shave off a single calculation? 10 ms is practically infinity, even 10 ns would be important on most modern machines.

      That's nothing, kiddos! Where I work, even sub-nanosecond time differences matter a lot on single calculations! And we use the fastest electrons we can get!

    6. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      I just recently had situations like this at my current job. The previous programmer they had hired had created a 24/7 continuous video recording file system, but his code had memory leaks, thread contention issues, and was constantly losing lots and lots of frames if the computer or application crashed. I wrote my own file system from scratch to replace it and it's smooth as silk, carefully designed and planned, has no leaks, no threading issues and I properly flush and synchronize to the hard disks. In addition, my file system is journaled to prevent data loss whereas his was not. And, mine can reach several terabytes in size whereas his was limited to mere gigabytes. I think you are right when you say that not everyone is going to be a good programmer.

    7. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      These are rules of thumb and learned by experience. They are not written down or taught. You learn from a mentor.

    8. Re:Anyone can become a programmer by doghouse41 · · Score: 1

      Raspberry Pi low end?
      It has 512MB of memoy for goodness sake. Desktop PC territory not that many years ago.

      Try programming an 8-bit 6502 with 8kB memory.
      Now that is low end

    9. Re:Anyone can become a programmer by martin-boundary · · Score: 1

      That's nothing, kiddos! Where I work, even sub-nanosecond time differences matter a lot on single calculations! And we use the fastest electrons we can get!

      Me too! Where d'you buy your electrons?

    10. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      "and understanding why filling up a buffer with 0's (and how to do it efficiently) is faster than waiting for a timer to expire is real programmer's work"

      No. Finding the right way to fire the timer immediately is real programmer's work, especially in the code environment that you describe. Three or four clock cycles instead of hundreds (depending on size of buffer and use of DMA, etc.) loading the buffer and hundreds more discarding the unnecessary 0's.

      The right way of course requires potentially complex locking, possibly modifying the timer API, and maybe even talking to hardware timers.

    11. Re:Anyone can become a programmer by guruevi · · Score: 1

      For a desktop system it is currently low-end. I also gave the Arduino and together with the Android devices those are really low-end while we still want the full-blown graphics we have gotten used to.

      Sure, we could go back to running CP/M but we want KDE/Gnome/Compiz graphics (ideally) from the equivalent of a 486 chip.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    12. Re:Anyone can become a programmer by Anonymous Coward · · Score: 0

      Yes, but hardly anyone works in a GPGPU scientific environment. You can't generalize from a total niche to the entire world. Computer power continues to get cheaper and computer programming continues to cost a lot of money. Not many people can justify spending 5 days on an optimization task that saves 7 days, because there aren't any optimization tasks that save 7 days in their program.

      Having said that, there is still a niche for hardcore optimizers, in your field and mine (games). But it's not getting more important in games, it's getting less important. Maybe I should brush up my physics :)

  39. Can anyone become a musician? An artist? by bfwebster · · Score: 2

    Short answer is: yes, in theory; in practice, though, actual results will vary. My observation is that the same is true with programming. Some people are natural talented, some people have good workman-like (workperson-like?) performance, some are pretty wretched no matter how much experience they may actually have, and some just can't grasp the basic concepts enough to really do anything. Note that I've taught computer science on a university level, and I've built software development teams from scratch, so this is based on direct personal observation. ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
  40. There are people... by xor.pt · · Score: 1

    There are people that will never be able to become programmers, as people that will never be able to become artists (many of them programmers).

  41. What type of programmer? by TrumpetPower! · · Score: 4, Interesting

    I like to think I'm a more-than-competent SQL programmer, and I don't hurt myself too badly at Web and Windows Forms programming.

    I work with somebody who does some great stuff in C# who can't warp his head 'round set theory and therefore has real problems with SQL.

    I know somebody else who's a real monster with Cisco stuff (a Cisco employee with certifications coming out his ears), and I'd argue that creating networking and firewall rulesets is every bit a form of programming as anything I do...but he'd need some serious handholding just to do a "Hello World" program in Visual Studio.

    I know another guy who can make COBOL sing and is not bad at SQL (though he prefers to write his SQL with more procedural code and less set theory than is good), but he wouldn't have much luck doing more than tweaking a Web form.

    We're all programmers, all of us good at what we do, some of us great at what we do...and, yet, making any one of us look like rank amateurs at huge swaths of basic programming tasks wouldn't be hard at all.

    Could we become good programmers outside our areas of expertise? Probably. But it took me quite a while to figure out how to truly think in set theory, and I'm not sure I'm capable of more than a handful such masteries in any given field in my lifetime.

    Cheers,

    b&

    --
    All but God can prove this sentence true.
    1. Re:What type of programmer? by Anonymous Coward · · Score: 0

      Interesting. I write embedded Linux realtime systems usually using Xenomai. I have no clue as to how to execute your job!

      You rule!

    2. Re:What type of programmer? by Anonymous Coward · · Score: 0

      SQL programmer? Oh god... please don't let it be so... At my current job I'm having to wade through several stored procedures with over 7000!!! lines of "code" weighing over 1MB in size, each. SQL programmers such as you decided to put their entire application (business logic, presentation and all) in SQL. They heavily abused casting, string concatenation, undocumented status/conversion codes and several layers of case string comparing to cook up dynamic queries that build entire reports as output. At some point I even considered that they used some kind of code obfuscation tool. That single application requires its own server because the CPU is completely overloaded. A small snippet of the horror:

                                      -- 140805
                                                when 'TotalFromActivity-REG' then 'CAST(DT.TotalFromActivity as Float)'+
                                                    (Case CompCalcType when '0' then ' as #2F'+Cast(CompParamName as varchar)
                                                                                                                            else ' as #2'+ CompCalcType + Cast(CompParamName as varchar) end)

      Their CVS consists of small comments with just a date stamp, followed by large blocks of commented out code. Actual comments describing the code are nonexistent, except for the occasional two or 3 words every odd page... in two languages.

      Both me and our database expert have yet to figure out in which of the 170 tables with an average of 60 columns per table they stored the working hours for each employee... So far we have a list of 27 datetime columns that are potential candidates.

      SQL programmers? Don't make me laugh. No, I KNOW most people are not fit to be programmers. They may call themselves as such but the code they produce will always prove them wrong.

    3. Re:What type of programmer? by TrumpetPower! · · Score: 1

      As with any other field, there are good SQL programmers and bad ones.

      A good SQL programmer would ever even think to mix data types in an output column (does your SQL implementation even allow that?), and well-written SQL runs orders of magnitude faster than anything you can do in an imperative language -- but only for those problems that can be solved with set theory. And a good SQL programmer knows what the limits of set theory are...and knows that you're almost always better off moving to a traditional language when you meet those limits rather than use the procedural kludges built into most SQL implementations. But, again, a good SQL programmer will be able to understand the set theory inherent in the original problem and isn't even going to think of reaching for the procedural kludges -- instead, a simple matter of turning something upside-down or moving it into a sub-select or the like will generally do the trick, and do so very quickly and very clearly.

      I can't imagine a stored procedure with 7000 lines of code. Chances are excellent that either those 7000 lines need to be re-written to use set theory in a tenth as many lines that'll run a thousand (no exaggeration) times faster, or that it should have been written in COBOL instead.

      Cheers,

      b&

      --
      All but God can prove this sentence true.
  42. From my 18yrs of experience I would say YES! by Anonymous Coward · · Score: 0

    but not a good one....

  43. who cares? by ThorGod · · Score: 1

    Can all programmers raise milk cattle, teach elementary students, properly certify the general medical needs of a patient, manage a retail store, sell commercial real estate, design and print professional-grade advertisements, safely drive an 18-wheeler truck, AND captain a fishing boat?

    Not everything in the world requires implementing algorithms in computer languages nor benefits from being automated. The human world is much larger than any one of it's professional disciplines (obviously), and the human world is tiny in comparison to the world that encompasses it and the universe even more.

    --
    PS: I don't reply to ACs.
  44. The comment at the bottom of the ARS article... by Anonymous Coward · · Score: 0

    .. by the teacher who says anyone can learn, and tells how he does it by programming humans (if you didn't read that particular TFA: he says he takes the ones who are "not getting it" away from the computer and teaches them instead to program *people*. He puts them in a room of people and has them instruct people to do things (walk down the left side of the room. throw the ball to person B), and teaches them to program that set of humans with looping constructs and so-on, and then they get it.

    This resonates with me a lot, as someone who has always "gotten it" about programming. As much as I try to curb myself from anthropomorphizing my code in discussions or comments, it always creeps through in the end. That's how my brain thinks about code: anthropomorphic actors following my written instructions. I'm always absent-mindedly saying things in bug reports like: "We take the value of X from the network packet and do ...", where "We" is clearly some sort of Royal We involving me, my code, and the machine running it.

    This is probably a key thing, and I wouldn't be surprised to learn that most successful programmers have a similar mental model. The ones that initially "don't get it" are probably trying too hard to think of code as abstract algebra instead of just actors.

  45. yes and no by buddyglass · · Score: 1

    It takes a certain minimum set of cognitive skills to get to the point where you can be moderately successful in the software industry. IMO it takes a special person to write what I would consider "really good code". I'm skeptical that this can be taught. I'd add that most software developers, including many who enjoy long and reasonably successful careers in the field, don't fall into this category.

  46. Speaking as a teacher by godrik · · Score: 2

    Anybody can learn the basics of all domain (except obvious physical impairment). Everybody can learn how to draw, everybody can learn how to dance, everybody can learn how to speak an other language, everybody can learn maths, everybody can learn how to program. The amount of time required to learn depends on motivation and natural skills.

    Not everybody can become exceptional in a particular field. But everything can be taught at a college level to anybody.

  47. It's a bit like art, or music, or anything by Anonymous Coward · · Score: 0

    I would not call myself an artist, but I went through various art classes on school. I can paint or draw something, but it's going to look terrible. Programming is the same way. Everyone can probably do some basic programming, but once you start getting into good programming, well, then it starts to drop off.

  48. Almost anyone can be a programmer. by PotatoHead · · Score: 1

    Being a programmer, at the lowest level, is composing instructions. Lots of people do that, and they do so without too much trouble.

    Now, being a good programmer requires being able to manipulate and keep track of simultaneous abstractions. That's a lot harder, and I do think there are plenty of people who just don't work well that way.

  49. Yes, but does it compile? by Anonymous Coward · · Score: 0

    Not everyone who can paint can do the Sistine chapel.

    1. Re:Yes, but does it compile? by PPH · · Score: 1

      If Michelangelo would have used a roller, he could have finished in two weeks (IOW, read the requirements).

      --
      Have gnu, will travel.
  50. Reason the whole "Dummies guide to X" books exists by Cito · · Score: 1

    Dummies guide to C
    Dummies guide to C++
    Dummies guide to Visual Basic
    Dummies guide to java

    and on and on and on and on...

    any dummy can learn with those :P

  51. Programming is no different than other skills by Anonymous Coward · · Score: 0

    Can anyone learn algebra? Can anyone learn to play a musical instrument? Can anyone learn to write poetry?

    The answer to all of these questions including yours is: yes, they can. But some will become great programmers. Others will become mediocre programmers. And some will become very lousy programmers. Just like some people will get great at playing the violin in no time, and others still sound horrible after years of practice.

  52. Of Course! by PatDev · · Score: 4, Funny

    Based on my experience as a professional software developer dealing with many other programmers, I have to say yes! Anyone can become a programmer. You don't even have to learn how to program!

  53. Purely Genetic by codepunk · · Score: 1

    I am from the thought that it is purely genetic. Sure you cant teach someone the concepts applying those is where genetics come to play. It takes someone with abstract visualization, tinkering and creativity skills . Throw in some unsatisfiable desire to beat a machine into submission and you have a great programmer.

    Interestingly enough over the years I have run into a unusually high percentage of great unix programmers that where previously auto mechanics.

    --


    Got Code?
    1. Re:Purely Genetic by thoriumbr · · Score: 1

      There's a special kind of brain that can play pianos. Another kind can do math by thinking. Another transforms recipes into delicious cookies. Give me the best cookie recipe and I can tranform it into smoking charcoal in no time. Give a map to my wife go North of home, and she will end up lost. I can drive almost anywhere even without a map. So, there's a special kind of brain that can code. Ask around if people can imagine an 5-dimensional array. I can. It is easy for me. My wife can't. My brother can't. But my wife is very good at a lot of things where I suck.

  54. Understanding Programming by trydk · · Score: 1

    I think software development, apart from the most basic programming, is an inherent trait that cannot be learned -- much the same as playing an instrument. I played in a school orchestra and one of the other musicians played the French horn. He could get the basic tones out but had no sense of beat and could not play syncopes or counterpoint, no matter how much we helped him.

    Programming is a mix of skills ranging from "language" skills, where the programmer needs to understand:
    - The syntax of the programming language
    - The semantics of the programming language

    The programmer also needs to know how to "interface" and thus understand:
    - The interaction with the OS
    - The interaction with storage systems
    - The interaction with networking systems
    - The interaction with the presentation layer (this includes communicating with the user)
    - The limitations of each subsystem

    And lastly the programmer has to solve the problem and therefore needs to understand:
    - The problem
    - The solution
    - The different ways of achieving the solution and select the best in the circumstances
    - What can go wrong at every step and catch each possible error in a meaningful way that does not break the functionality

    On top of this, any seasoned programmer knows a number of "tricks", methods and algorithms, and can select the best for the current job. The list is probably not even complete, but the best I could do at short notice.

    Many of the above skills can be learned, but some are just beyond many, if not most, people like understanding the semantics of the programming language (Perl is notorious in this respect) and the intricacies of the interaction with the subsystems (like how a program can fail miserably when ported from *NIX-type systems where filenames are case sensitive to Windows where they are not), to name two. And coming up with a solution to even simple problems is impossible for many -- believe me, I have seen quite a few failing. What can go wrong and how to catch it is a challenge for even the most seasoned programmer -- it is near-impossible to learn this if you do not have the "gift".

  55. Of course by phantomfive · · Score: 1

    If you give a kid a Logo turtle and tell him to turn right and left and forward, he'll be programming within a day.

    From there of course there are a lot of other skills you need to learn to become a professional developer, and a lot more to actually be good at development, but if you keep at it, you'll get it.

    --
    "First they came for the slanderers and i said nothing."
  56. Anyone can sing by istartedi · · Score: 1

    Anyone can sing. Many are bad. Some are good. A handful blow you away and send your soul into the stratosphere.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  57. Yes, anyone can learn, but ... by CyberLife · · Score: 1

    Anyone can learn to program, just like anyone can learn to build a house or drive a car or bake a cake. But not everyone can learn to do these things well. The lower an industry's barrier-to-entry, the more crap people one will find working in it. Just look at the software business.

  58. Everyone Can Dance - But Does everyone dance well? by metajunkie · · Score: 1

    Anyone can learn to program. But not everyone may enjoy programming - or programming well. I enjoy writing short stories - I'm not so much a fan of going over them again and again to edit them. Programming can be the same way, but my IDE helps me edit. ;) I am mostly a "right brained" person; but, I enjoy programming - as it involves solving problems. But I'm more of a hacker than programmer. I think though, an important thing to note is that Programming is a tool that many different minds and personalities will use in the years to come. When I first showed an interest in programming, I was told that I would not do well in this field, because I was not "good at math". That was an opinion given to me by people, who I can say now, had no idea what they were talking about. (Some of these same people also said that I needed to learn Cobol before C++ -- I chose to never learn Cobol - and it has never hindered me.) If there is any one thing that will be of huge value to someone interested in Programming, it would be Logic. But, I can even think of an exception to that. Programming in ProLog in a very real way handles most of the logic for you, so in the end you only have to describe relationships and rules. But I digress. In short, the question Can anyone become a programmer? must be qualified OR answered quickly and simply: YES. If deciding to qualify the question, consider the following: If you are seeking to program Artificial Intelligence - then you should probably be someone who enjoys exploring the mind, such as a Psychologist. If you are going to be programming something that requires huge amounts of physics calculations - then you probably should be good at math. If you are focussing on Natural Language Processing (a field within AI) - then you probably should be a linguist. Beyond that though, there are some basic skills that would seem to usually be required or at least helpful. I think a Programmer needs an ability to have an attention to detail. I think having skills at recognizing patterns can be helpful. I think understanding (really groking) Logic is usually helpful. But - I believe anyone can build those skills, and should. I don't see the continued benefit of keeping programming out of the hands of the Information Owners. Let each man (and woman) crunch their own data until their heart's content! Many people, imho, have an unrealistic fear of programming. With higher level languages like Ruby and MacRuby - I hope more people take up the challenge to codify solutions to their problems. The Information Owners of the world should at least be able to code a proof of concept or get something working before bringing in expert Keyboard Cowboys to refactor and tune. Today - I think "refactoring" is the task that many people won't be able to do or want to do. I suppose some might say, "Well that is what we mean by becoming a 'Programmer'"; but, I think anyone who writes code that executes as intended is a 'Programmer' - and a decent one at that. And anyone who writes code that doesn't execute as intended is a "Windows Programmer" - (j/k I grew up running away from broken Windoze). HHoS. The "refactoring" task would be the task that might require a "special kind of person". That task where you need to reduce the amount of memory being used or increase the speed of the program by optimizing the code beyond what any computer compiler might do, for example. But - ugly, sloppy, uncommented, spaghetti code that no one in their right mind would ever want to maintain may be all you will ever need. Such code often works fine for the programmer's purposes. In today's world of ever increasing RAM and hard disk sizes, there is room for less than elegant code. Today, every line of code doesn't need to be a terse zen koan to be useful. Therefore, we can all be Programmers, if we will it.

  59. motivation by Anonymous Coward · · Score: 0

    yes past mental disabilities, anyone can become a programmer.

    motivation is the biggest factor here, the subjects we have more difficulty with are those we are less interested in.

    Anything a CS Student learned in college I can learn at this desk, we have access
    to all the information a major in a CS degree would acquire, and beyond

  60. Some programming simple, some hard by EmperorOfCanada · · Score: 1, Interesting

    Years ago an accountant told me she would love to learn to program; yet then she showed me some awesome macros that she had done running past 1000 lines each. I could have come up with a zillion criticisms from code repeating, bad variable names, weird formatting, variable scoping, etc. But her code did amazing things and did them well. She had all kinds of edge cases handled well and so on.

    On the other hand I have seen CS grads with perfectly formatted code with all the comments, variable names, OOP, etc perfectly to school standards that was all crap in actual use. I could edge case them to death. A simple way to break their code was to do something radical like use a foréign character. Often the difference between a bad programmer and a great programmer is the size of their code. A bad programmer will use 6 classes and 900 lines of code, a pretend good programmer will half that while making it more complicated, and a great programmer will use zero classes and 20 lines of code; and those 20 lines of code will be simplicity incarnate and if they ever need any maintenance any fool could do it.

    I have found the great programmers usually stick out early. It is not often something that comes after years of programming they just become more great with time. Although the better programmers weed out their bad practices and add new good ones the worst programmers are often very reluctant to change, "Unit testing will just slow us down."

    What makes me laugh though is when the worst programmers do finally adopt something new and good they usually adopt it in the worst way. So they will adopt test driven development during a prototyping or R&D phase when everything is in massive flux and just needs to be proof of concept not flawless.

    So I would say anyone can become a bad programmer and with the correct mentoring most can become an adequate programmers but that only those with the right intelligence and mindset can become great programmers.

  61. Categorization threshold by Anonymous Coward · · Score: 0

    Almost anyone can write a story; very few can write on the level of Shakespeare, Dostoevsky, or Ayn Rand. Writing is an indispensable every-day tool for most people in the developed world: forms, reports, e-mails, blogs, etc. The same is gradually starting to apply to programming (or at least "scripting") literacy as well: wiki markup, make a spreadsheet do something, automation, etc. With the development of ever-easier high-level languages and free modules to leverage, programming will continue to become ever more accessible. But of course very few can code on the level of Peter Norton, Ritchie & Thompson & Kernighan & Joy & de Raadt, or John Carmack.

    If you spend an exorbitant amount of time learning to program as a professional, you have a chance of eventually reaching mediocrity. But why? You will not be very competitive in the marketplace. Maybe your personal comparative advantage was to be a yoga instructor or a gynecologist instead? One can always code as a hobby, even if you end up making crap. (That's how we got WordPress and GNOME 3.)

    --libman

    1. Re:Categorization threshold by Anonymous Coward · · Score: 0

      Almost anyone can write a story; very few can write on the level of Shakespeare, Dostoevsky, or Ayn Rand.

      One of these three is not like the others.

    2. Re:Categorization threshold by Anonymous Coward · · Score: 0

      Indeed, but Shakespeare is elevated to this comparison by his historical impact on the English language, and Dostoevsky by being the very best representative of religious irrationality and emotionalist weakness.

      --libman

  62. Yes. by ddt · · Score: 4, Interesting

    I believe everyone can code, but obviously some people are going to be intrinsically better at it.

    A few weeks ago, in less than half an hour, I taught about 20 2nd grade kids (generally 7-8 years old) how to count in binary as well as add any length of binary number.

    Wondering whether I could beat that, I repeated the feat last week by teaching about 20 1st grade kids (6-7 years old) exactly the same thing. The 1st graders had more trouble keeping their attention than the 2nd graders, but they were all the more enthusiastic to learn.

    In case you're wondering how to teach kids of an arbitrarily young age how to learn binary, here was how I did it in three rounds of kids raising their hands to answer my questions:

    1. Raise your hand if you like to play video games.
    2. How many of you would like to make a video game?
    3. Who would like to know the three secrets to making a great video game?

    By the third question, I think I could have staged a coup with the eager little mobs.

    I've got my eyes on a local pre-school next.

    That came out wrong.

    PS. Teaching kids how to count and do math in binary is way, way easier than teaching them how to do it in decimal. It should come first IMHO.

    1. Re:Yes. by Anonymous Coward · · Score: 0

      I'm really curious about one thing. How do you name binary numbers in English.

    2. Re:Yes. by ddt · · Score: 1

      I'm really curious about one thing. How do you name binary numbers in English.

      I taught them "one + one = ten". It was just easier, because it looked like ten, and that's what they knew to call it. Also "ten" conveys that something special has happened in that second digit.

  63. Answer: Yes and No by proca · · Score: 1

    Yes, programming, as with virtually all other skills (except perhaps dunking a basketball), can be learned and developed through practice. The 'old adage' should be changed to 'It takes a certain type of mind to ENJOY programming'

    1. Re:Answer: Yes and No by flyingfsck · · Score: 1

      Your assumption is that everyone has a mind. I am not so sure about that. Human stupidity is limitless.

      --
      Excuse me, but please get off my Pennisetum Clandestinum, eh!
    2. Re:Answer: Yes and No by proca · · Score: 1

      I hate cynical statements like that. Any human without brain damage can be taught programming in some form. Creating a windows form with functional buttons isn't rocket science, it just takes a curious mind. And if they aren't curious, just give them some amphetamine and a computer and they'll figure it out.

  64. Not all can be a *useful* programmer by Anonymous Coward · · Score: 0

    In a way, anone can be a programmer. Similar to how anybody can drive a car or a trailer truck. Or bake, or paint, or play the piano, or work as a medical doctor. Anybody can try and achieve something. But not all can program good enough to be usefully employed as a programmer. Being good is even harder.

    Read the wikipedia article on quicksort. If you can't grasp it - forget about programming. Or take some beginners courses. Chances are, if you have dyslexia or struggle with math, programming won't be for you either. Maybe you can force yourself to do it, but you won't enjoy it and you'll likely be too slow to be useful. Compilers are unforgiving about spelling, and the understanding needed to compose a program needs the same mind that handles algebra.

    Seeing all the shitty code bad programmers have made - it is clear that not all are fit to be programmers. Even if they have passed the usual university courses.

  65. Technically Yes by Anonymous Coward · · Score: 0

    Technically, anyone can learn syntax and write code.

    However, being a good programmer requires being able to think a certain way. It's a skill that can neither be taught nor learned, you have to realize it in your mind. Some people just can't do this, and those people will always struggle to write good code.

  66. Anyone can be a programmer, but ... by Jeppe+Salvesen · · Score: 1

    Anyone can become a programmer at some level. Simple programming is like coming up with a recipe for a meal - you have some ingredients and combine these to create a hopefully desirable outcome. It's skill, but it can be learned. I mean, I was able to move the turtle using LOGO when I was .. 10? 11?

    It does however take both experience and raw intelligence to become a really good programmer. Fully understanding trade-offs takes experience. If you go all-out on even small scripts, you'll waste time. If you just hack away at large projects without design and methodology, your lack of a coherent design will bite you in the gonads. Learning how to communicate effectively with end-users and non-technical team members is also something that takes practice and a certain mind-set. I've seen many, many bad solutions chosen by bright people. I've done some myself, also recently. And I'll make some more mistakes in the future. Why? Because communication is hard. Also for the other party.

    --

    Stop the brainwash

  67. Yes and yes by Anonymous Coward · · Score: 0

    So long as a person has drive, passion and an eagerness to learn, they can accomplish most anything - not just programming.

  68. I wish ... by PPH · · Score: 1

    ... we could apply Betteridge's Law here.

    But, sadly, it appears that the answer is 'Yes'.

    --
    Have gnu, will travel.
  69. make it easier to learn by bzipitidoo · · Score: 1

    I'm of the opinion that we do a poor job of teaching math and programming. We could do much better, without extreme measures.

    Why is it so poorly taught? Setting aside such issues as politics, bad teachers, bad students, bad home environments, distractions and the like, it comes down to the way the material is presented. We bog down in trivia, such as derivatives and integrals of common formulas. What is the derivative of y = log x? Of y = sin x? y = x^3+2x^2-5x+1? Why should we care about those problems? Rote memorization and practice is of little value to the students who never understood what they are practicing. We bury students with tedium, hoping that if only they do enough math problems, grind through enough meaningless made up formulas designed to force a student to use the product rule, the substitution rule, or a Laplace or Fourier transform, or any of the dozens of other techniques, a light will magically switch on and they'll suddenly get it. Even for the brighter students, this doesn't work well. Where and how can calculus be applied? This question was never explored. The closest we got to it were the dreaded "word problems", which students were anxious to avoid, and teachers were all too willing to skip.

    Programming is much the same. Students are drilled on keywords, syntax, data structures, library functions, and similar trivia. People can memorize all that stuff, and yet be utterly incapable of writing a program.

    In a beginning programming class, a struggling student demanded a process he could follow in order to write a program. Upon reflection, I thought it an interesting question. How to answer it? Throw Agile Programming at him? But that wasn't really what he was asking. Try an OOP approach of creating a description in English, then pulling nouns out of that for class names, and verbs for member functions? Closer, but not good enough for him. He wanted low level guidance, so he would know when to make a new variable or new function, write a loop, test a condition, and that sort of thing. So, try to explain he's asking a circular question, if it is indeed circular? Or that if there was such a process, we could program a computer to do it for us and then there'd be no need for human programmers? Explain that design is hard, as one must be able to perceive the problems correctly, then devise plans and methods for solving them, and that there are many ways to do this and often the choice of which way to go is seldom clear, and no simple set of rules can do a good job of pointing out a good way?

    Yet we could do better. I have a question that most people miss. Of anyone who knows, or thinks they know, what Structured Programming is, I ask: Give an example of a program structure. It's not really a hard question, but an entire class of Computer Science seniors (at, admittedly, a 2nd rate school), was stumped, and needed a number of hints in the form of related questions before they at last got it.

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  70. NO by Faisal+Rehman · · Score: 1

    no - as anyone cannot become poet.

  71. It is always the same by hugetoon · · Score: 1

    Manufacturing the Oldowan tool set was not for anyone either back in 2.6ma... The rest is history

  72. And a gorilla can learn sign language... by Kjella · · Score: 1

    ...but it won't make them talk like a human. Being a good programmer in my experience requires you to articulate the logic that's implicit. Once I thought the tedium and attention to explain in excruciating detail what to do was sufficient, it's necessary but not enough. Implicitly you're doing a lot of other things that aren't in the recipe like checking if any of the ingredients are past their due date, spoiled, sour or moldy. You check that all your utensils are clean and in working order, you clean out the oven if it's already occupied, if that bag of sugar is leaking you have an error handler for that, you do a zillion things that aren't in your recipe no matter how detailed you make it. The computer does absolutely none of these checks unless you tell it to.

    If you find really sloppy code where there's only one working code path, it's the main path where everything goes as expected. The slightest deviation from that, and the code goes boom. Good code is one that actually handles all these sorts of odd conditions or at least fails gracefully. But you can't write that kind of code unless you can "introspect" yourself and realize all those implicit assumptions you make. In my impression, very few people are able to do that - sure if you point out a way their code crashes they can put a band-aid on it but either you have the knack for writing that code on your own or you don't.

    --
    Live today, because you never know what tomorrow brings
  73. I've Seen a Lot Who Want To by ozonearchitect · · Score: 1

    But only a hand full that can. And when I say a lot, I mean hundreds of people I've witnessed who want to. Maybe the ones who want to category is the cause for this article? Dream on... and then we're seen as arrogant. It's not my fault you can't do it. Parle vious France? I didn't think so.

  74. Anyone can be a VB programmer by L473ncy · · Score: 1

    It doesn't take a lot of skill to click buttons. But seriously, almost anyone can do basic programming (hello world, calculators, make some sort of output etc.) but it's when you start to get into things like Objects, Design Patterns, Constructors/Destructors, and Pointers where you have to start exercising your logical thinking and just be able to understand it if you want to get to the next level. The reality is that not everyone is cut out to be a manager, or a labourer, or a foreman, or an engineer, or a programmer. You can train hard and become decent or even good but I truly believe there is some inherent skill and brain function/thought process that you need to become great at whatever it is we're talking about. Except Liberal Arts, it doesn't take much skill to flip burgers/start a deep fryer or make coffee. Hell you could probably learn how to do latte art over a weekend and make cool fractal or mathematical latte art.

  75. Obligatory by istartedi · · Score: 0, Redundant

    There are 10 kinds of people in the world. Those who understand binary and those who don't.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    1. Re:Obligatory by synaptik · · Score: 5, Funny

      There are 10 kinds of people in the world. Those who understand binary and those who don't.

      That joke ceased being funny, 10 years ago...

      --
      HSJ$$*&#^!#+++ATH0
      NO CARRIER
    2. Re:Obligatory by Anonymous Coward · · Score: 0

      That's because your user ID is only 3 digits long. Youngsters still laugh out loud.

    3. Re:Obligatory by BronsCon · · Score: 4, Funny

      Actually, there are 10 kinds of people in the world, those who understand binary, those who don't, and those who can't recognize a base-3 joke when the see it.

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    4. Re:Obligatory by feedayeen · · Score: 2

      There are 10 kinds of people in the world. Those who understand binary and those who don't.

      That joke ceased being funny, 10 years ago...

      Eh, I'm only twenty-four months behind the times then.

    5. Re:Obligatory by Anonymous Coward · · Score: 0

      There are 10 kinds of people in the world. Those who understand binary and those who don't.

      That joke ceased being funny, 1010 years ago...

      FYIF

    6. Re:Obligatory by Anonymous Coward · · Score: 0

      Not that long ago then..

    7. Re:Obligatory by Anonymous Coward · · Score: 0

      There are 10 kinds of people in the world. Those who understand binary and those who don't.

      That joke ceased being funny, 10 years ago...

      You mean, just a couple of years ago??

    8. Re:Obligatory by Anonymous Coward · · Score: 0

      There are 10 kinds of people in the world. Those who understand binary and those who don't.

      That joke ceased being funny, 10 years ago...

      10 decimal years ago?

    9. Re:Obligatory by Anonymous Coward · · Score: 0

      11 cheers for binary!

    10. Re:Obligatory by minstrelmike · · Score: 1

      That joke ceased being funny, 10 years ago...

      There are 10,000 people a day in America turning 16 years old. It is all new to them. Sounds to me like you're moving into geezerhood already.

    11. Re:Obligatory by Anonymous Coward · · Score: 0

      There are two kinds of people in the world: population bifurcators and non-population bifurcators.

    12. Re:Obligatory by Anonymous Coward · · Score: 0

      But there are 10 kind of people in the world: those who understand binary, those who don't and those who weren't expecting this to be a trinary joke

    13. Re:Obligatory by Anonymous Coward · · Score: 0

      I liked it.

  76. Yes, but... by Anonymous Coward · · Score: 0

    Everyone can become a programmer, but not everyone can become a good programmer.

  77. As a professional screenwriter, I say this... by Anonymous Coward · · Score: 0

    Up to now, I've had seven scripts optioned (although only three of them have been produced).

    Back in the 1990s, I wrote (and rewrote) episodes of one of the biggest television shows ever screened. (And that show is still considered by many to be a landmark in TV history.)

    Over the years, a huge number of people have told me that "anyone can do it".

    http://www.youtube.com/watch?v=Jvxl9KtgKXE

  78. Not a good programmer by kipsate · · Score: 3, Informative

    When is someone a programmer? I wrote my first programs on a calculator. They were more like macros actually. Was I a programmer? Of course not. Then I wrote my first BASIC program on an Apple ][ of a friend at highschool. Was I a programmer? Not really. Then I saved up all my money and got myself a C64 and wrote programs in BASIC, then 6510 assembly. Was I a programmer? Well, perhaps, but only 15, so what did I know? A couple of years later I bought myself an Amiga 500. Wrote some stuff in 68000 assembly. When studying computer science, I learned a lot of useless program languages, but also C. Wrote lots of programs in C. Then I started a small company, hired an office space where 10Mb ethernet sockets from the wall connected directly to the net for a low fee, built and hosted web sites on a Intel 80486 running Linux. This was 1995. When I got my first job at an internationally operating start-up, I was busy configuring servers running NT, load balancers, firewalls but also did some SQL and coded some Cold Fusion for the company web site. My old trusty 486 served as DNS server. Was I a programmer? Nah, I did not really consider myself one.

    The start-up went nowhere and I moved on. I did, and still do, enjoy programming tremendously. I sometimes still do it in my free time as a hobby. So I got a new job and with this job I could program all day. I made long hours that did not feel like long days at all as I was doing some very nice things, or at least that's what I thought. I was making enhancements to core parts of the software, and even got multithreading working for them, something that they were not able to because of compiler bugs, which I also helped finding. I was refactoring their code at high speed, because there was a lot of room for improvement, to say it politely. I often stared with disbelief and some amusement at the nonsensical functional designs handed to me. But worse, I started to clash with their main programmer, who had been there for a long time, and did not like what he saw. Our manager did not extend my contract after a year. He did not like it either. I was using object oriented techniques which they were not used to, it was a "different paradigm" for them, as the manager put it.

    This was a disillusion. Programmers at the time were hard to find, and I could not believe that this was happening to me. Was this manager clueless? Probably. Was their main programmer pulling my leg? Perhaps. But I was sure I had done some very valuable things for them and as a reward, I was thrown out. Apparantly, I had been unable to demonstrate my abilities sufficiently. That might have been either my or their shortcoming, but for me that did not matter. I decided to abandon programming, or rather, developing. I felt developing did not receive the respect it deserved. It was often looked down upon by management and being outsourced to India. I decided to become a business analyst.

    Life as a business analyst was a walk in the park compared to programming. I could now make designs on a higher level, but with my technical background, also talk to the guys that were going to implement it. I would never hand over a design that the developers would be unable to build. Also, the deadlines where less pressing. In the cycle design-develop-test-release, the time pressure existed mainly in develop and test. The testers would be the ones making extra hours when a release deadline was to be met.

    I had been a business analyst for a couple of years at several banks. They have large systems and a high rate of IT staff turnover. Generally at banks, knowledge it sparse, documentation often non-existent, and management not competent on a technical level. They do have enough money though so they just bring in loads of consultants. So being a consultant I benefitted handsomely financially as well. My days as a programmer that got no love were soon forgotten by just looking at my bank account every now and then. I worked happily with the Indian vendor (Infosys) who created just horrible code, but ultimat

    --
    My karma ran over your dogma
    1. Re:Not a good programmer by Anonymous Coward · · Score: 0

      Any more insight? Seasoned software engineer seeing the age wall and futility of fighting outsourcing.

  79. Yes, for small values of anyone by flyingfsck · · Score: 1

    It is true in a special kind of way...

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  80. Fixed Mindset vs. Growth Mindset by Calphool · · Score: 1

    Dr. Carol Dweck spent much of her career answering the question "Why do some kids seem to excel at school, and others seem to struggle?" Using various controls she developed her somewhat famous "Mindset Theory".

    At a fairly early age we all start bifurcating into either "fixed mindsets" or "growth mindsets" about various things in life (sports, academics, musical prowess, etc.) That is to say, we frame the world up into a set of interrelated closely held beliefs that subconsiously tell us either: everyone is essentially born a certain way and can only change a little around the edges, or anyone can be anything with perseverance and the truth. The more you practice behaviors related to one or the other of these mindsets, the more it reenforces your beliefs, until eventually it becomes a core part of your personality and becomes difficult to change.

    People who say "it takes a certain kind of person to be a __________" are either revealing that they have a fixed mindset about ___________, or they're just stating something like: "in practical terms" some people grow faster than others when learning ___________.

    Of course, neither fixed nor growth mindsets are good or bad per se, but they do produce certain predictable results. A fixed mindset toward a domain ("I'm not good at math."), will produce plateaued and unchanging ability in that domain. A growth mindset toward a domain ("I'm not good at math right now, but I can be if I choose to pursue it"), will produce continued growth so long as the learner remains interested in the domain, and finds someone who is good at the subject and is truthful with the student on his/her progress.

    1. Re:Fixed Mindset vs. Growth Mindset by russotto · · Score: 1

      Dr. Carol Dweck spent much of her career answering the question "Why do some kids seem to excel at school, and others seem to struggle?" Using various controls she developed her somewhat famous "Mindset Theory".

      And failed to answer anything, as she concentrated entirely on perception and left reality by the wayside. If you refuse to consider the hypothesis that there are actual inherent aptitudes, it follows that people who have a mindset that they cannot accomplish something are thereby not accomplishing it because of that mindset.

      Whereas if you accept the hypothesis that there are actual inherent aptitudes, you might think that people who have a mindset that they cannot accomplish something got that mindset because they attempted to do so and failed utterly.

  81. A programmer's mind. by Anonymous Coward · · Score: 1

    As a self-taught programmer and software engineer with 30+ years of experience in the design and development of everything from double-entry accounting systems to real-time embedded systems, to large-scale high-availability distributed systems (a field I have now been working in for almost 20 years), I have been able to observe the thinking processes of many other programmers - both those who were good, and those who were abysmal at the job. The best like to play, experiment, observe, and share. They are also likely to have a very good grasp of formal logic (intuitively, if not by dint of training), and have without exception pronounced pattern-recognition skills. When asked what I think is the one skill I have that best serves me in my career as a software engineer/programmer (I am Senior Systems Engineer/Programmer for a tier-one mobile phone manufacturer), I say that there are two - logic and pattern-recognition. I think the pattern recognition skills come from my study of music and languages, and my logic skills I attribute to the required philosophy course I took in engineering school - formal logic, as well as rigorous sections on logic I had in maths class during my year in England when I was 15.

    1. Re:A programmer's mind. by gay358 · · Score: 1

      I think perseverance is also very useful in programming. I have seen many people to become "scared" and give up too easily, when they don't immediately understand something or have trouble doing something. And of course curiosity and willingness to make experiments helps a lot.

  82. I can't teach, I program for a living. by holophrastic · · Score: 2

    Of course it takes a certain kind of person. Doesn't evening?

    For example, I can't teach anything to anyone. I can't even teach my cousin to use my alarm system, so it's just easier to not arm the system when he's around. The skill that I lack is to serialize information in a manner able to be conveyed to another human being.

    The reason I lack that particular skill is because I'm always in programming mode. And in my programming, it's about "layered truth statements". It turns out that layered truth statements aren't easy to communicate in english -- in part because english announces such ambiguity in any given sentence that truth statements often fail outright.

    Since most programming is done in with positive truths, (SQL especially comes to mind), to be a programmer one must fluidly drop english from their mind. Anyone who can't do so (the way I can't teach) will forever struggle.

  83. Mensa skews the value of I.Q. tests... by Anonymous Coward · · Score: 0

    The problem with I.Q. is that there are not a lot of accurate measurements of I.Q, and you could argue outright lying in many cases. For example, Mensa allows any gorgeous woman that visits their group to between a 140 - 160 I.Q depending on what they're willing to do for it, just showing up gets you at least a 140. This kind of activity belittles the meaning behind I.Q., though you could argue that the men in Mensa are really the ones with the high brains to have come up with this clever trick to get women. They're pretty blatant about this in some cases, just a few years ago a famous model was asked in an interview what her I.Q. was and she responded it was around 120. Mensa noticed this and contacted the news agency to make a statement that if the model was willing to come visit them for a retest that they were absolutely certain she would get at least a 150. Women everywhere should be against this sort of thing, I should think. But, also men too, since it eliminates the point of I.Q. in the first place.

  84. Engineer or Administrator, that is the Q by Anonymous Coward · · Score: 0

    Being a P.E., and having had the title of "senior" thrust upon me, I feel justified in saying that the vast majority of what the corporate culture passes off as "engineering" is in fact nothing more than "administration"; the reason ... in my not-so-humble opinion is intuitively obvious in the lawyer-centric culture of the present day US - as a registered P.E. I can be the scapegoat / fallguy for all the mechanics - electricians - technicians - programmers - middle level managers - executives who do NOT present a target of opportunity.
    So, are you interviewing for "Engineers" or for "Administrators" (please, use a Webster's Dictionary).

  85. Mr. Betteridge says... by epp_b · · Score: 1

    No.

    Just about anyone can use a typewriter, not just anyone can write a best-selling novel.

    Just about anyone can hold a box and press a button, not just anyone can make gallery-quality photos.

    Just about anyone can stroke a brush on canvas, not just anyone can create a masterpiece.

    Just about anyone whack a stick on drum skin, not just anyone can do it rhythmically and cohesively.

    Just about anyone drive a car, not just anyone can become an F1 champion.

    I could do this all day, but I think I've made by point.

    1. Re:Mr. Betteridge says... by epp_b · · Score: 1

      "...made my point."

      Derp.

    2. Re:Mr. Betteridge says... by Mybrid · · Score: 1

      Well said. You made your point well. I'm going to be more long winded. LOL

      My counter would be, but almost anyone can cook.

      To the extent that programming correlates to following well known recipes like cooking then anyone can do it.

      Programming is such a nebulous word. Is a graphic artist who knows enough web technology to express graphics via CSS, Javascript, Photoshop, etc. a programmer?

      Lots of accounts who use Excel can write some fairly sophisticated macros. Are they programming?

      Personally I think the article asks the wrong question. The more germane question would be, 'Has the word "programming" become so muddled that it is time to expand the vernacular and come up with canonical classifications of programming?" To that I would answer yes.

      In the field of genomics there are "bioinformatic programmers", usually part biologist and part programmer. They don't write application programs per se as much as they write custom analysis of data using scientific algorithms. they are scientists who write code. And, oh, btw, they also have to package that analysis in a program. The application takes a back seat to the analysis.

      What is programming? The lack of clarity in definition is very similar situation to the words "software engineer" and "software developer".

  86. Rephrase by pubwvj · · Score: 1

    A better way to say it is that "some people innately have an easier time programming." That is true. Part is learned skill, part is how the person's mind works. It takes all types for many different things to make the world go round. Oh, wait, that's momentum. :)

  87. Logic should be the first class taken. by Anonymous Coward · · Score: 0

    Back in the 80s the first course the collage I went to required for computer science was symbolic logic. (philosophy department), As I saw many people drop out of the computer science program based on the fact that they couldn't get past that the course was only going to deal with the concept of true and false and not maybe. (ie it is raining or not raining. It is 'misting" outside was not dealt with in this course)

  88. Can Anyone Become a Programmer? by l3v1 · · Score: 1

    "Can Anyone Become a Programmer?"

    No.

    But anyone can become a coder.

    Let me clean that up for you. In my book, coder is someone who knows at least a language and can write some code which can do something on a computer, while - building on that - a programmer is someone who has knowledge of algorithms, methods, methodologies, architectures, and doesn't just write some code, but understands and knows how and why to write that code.

    Of course that's just my take, but it comes from experience.

    --
    I am putting myself to the fullest possible use, which is all I can think that any conscious entity can ever hope to do.
  89. Basic brain functions required, that's all. by Qbertino · · Score: 1

    Anyone can programm if he has a healthy brain. And given enough time and programming problems anyone will discover his or her own version of functional programming, object orientation and all the other basic programming paradigms others have discovered too. For instance, most of us have discovered their version of OOP some time in their programming career all on their own.

    Wether you'll have the mindset to work yourself into existing established insanities such as the C group of languages or Java or into huge libraries and complex existing systems and software kits and run into design patterns is a different story. As is if you are willing to slog through the existing insane historically grown chaos of our system stacks we have to handle today. That is what you'll have to do to get *paid* to program.

    Those things aside, programming is more or less the same as disciplined thinking, and every healthy grown-up should be capable of that.

    The truth is: For everyone who says you have to have a certain mind to programm, I can find a programming language that is turing complete, introduces innovative concepts that this person doesn't know to well and will be a huge pain for said person to programm in. Take an elitist ruby fanboy and he'll probably start crying and doubting himself (and the entire world :-) ) if you show him Lisp - for instance.

    So one shouldn't be to distracted by enthusiasts who claim programming is an arcane art for a selected few.
    Programming as a pastime is actually quite easy and fun. As are most things.
    It's the hard dirty work that professionaly get paid to do. That goes for every learned profession basically.

    My 2 cents.

    --
    We suffer more in our imagination than in reality. - Seneca
  90. Programming is first and formost problem solving by RNLockwood · · Score: 2

    I've been programming on ond off since 1975 and I came to realize that it was the problem solving that I liked. I think some one stated explicitly that programming was problem solving in the blog "Coding Horror" recently. Of course to be good at problem solving takes practice. After a while one remembers a similar problem that one solved. (That's a lot like math.) Perhaps some version of that technique might be suitable or one realizes that the first technique could have been better and the improvement could be used for the current problem. An inquisitive mindset and the ability to reduce the problem to its essentials helps, too.

    It helps to know one's tools well, too. I've heard a musician say that they could finally make good music when their instrument no longer came between them and their music and I think it's the same for programming. When use of the languages and IDE are second nature one can concentrate on the problem solving. I've never worked in a shop where someone handing me detailed design, though. My work assignments have been some thing like: "This is the input and we need these features". Or "this is the output we need (to feed to some other software) design the input and data gathering protocol". So perhaps my "world view" is a bit insular.

    So the answer to the question, IMHO, is "no".

    A mathematician, Chris, needed to boil some water and found that the kettle was on the table. After some thought Chris took the kettle to the sink, filled it with water, placed the filled kettle the stove burner, turned on the burner, and waited for the water to boil. The next time the kettle was on the counter. Chris thought about this new situation, placed the kettle on the table, and proceeded as before.

    --
    Nate
  91. programming is like art. by jellomizer · · Score: 4, Insightful

    Anyone can draw, most people can draw pictures, the really good ones make art.

    Nearly anyone can be taught to code. Most of the coders can make programs to solve problems, but a few of them can make software.

    A lot of the skills are similar to art, a lot of touchy feely stuff learned thru skill and practice. We can learn the skills but it takes real practice to be good at it.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  92. Yes, as evidenced by all the really bad ones by gweihir · · Score: 1

    The question is whether everybody can become a good programmer, and the answer is a resounding "no". Most people can not.

    Unfortunately, many people do not get that and do a lot of damage both to the profession and to the people later trying to use the software produced. Bad programmers, which there are really a lot, maybe even a majority of all programmers, generally have massively negative productivity and destroy wealth that others create. Of course, the bad programmers are only partially to blame for this. The perhaps worse problem is bad managers that hire bad programmers, either because they are cheap, or because they manage to give the impression of being good programmers. This is a really huge problem.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  93. Can anyone be a painter? by msobkow · · Score: 1

    You can give anyone a brush and a palette, and they can throw colour on canvas.

    Does this make them an artist?

    The same applies to programming. Anyone can pick up a book and sling a bit of code, but that's a far cry from being good at grasping and designing complex distributed systems.

    Still, until programming tasks are automated, we need a lot of those paint throwers to produce the grunt code. Unfortunately for the North American programming market, that learning environment has moved to offshore cheap contracting sites, which means our local talent isn't getting the exposure to how the internals of frameworks are coded that they used to.

    In the long run, that's going to hurt the senior programming market because there will be a shortage of people who've learned through experience rather than by Google and textbook.

    --
    I do not fail; I succeed at finding out what does not work.
  94. People oversimplify by Anonymous Coward · · Score: 0

    I think that, much like musicianship, handy-manship, or any other skill for that matter, software development is not a single trait/skill but a system of them. All these traits are shared among some disciplines but useless in others. This is where drawing parallels comes from but there are no proper analogies between coding and any of them, much like there are no real analogies between musicianship and painting (tho both require that very vague trait of "creativity" or "artistry", as does good programming for that manner).

    So yes and no, everyone could program just like everyone could sing. But that does not mean it will be pleasant if they do it to others.

  95. Can anyone become a programmer? by Squirmy+McPhee · · Score: 1

    Yes. I can.

  96. Interest/Motivation - Ability. by DaneM · · Score: 1

    Yes, brain function has a tendency to influence how good a person is at something, but all it really takes to learn the general skill set is enough interest and motivation to get it done. (I won't claim that a person with severe mental impairment follows the same rules, but that can be said of any severe disability.)

    I know of plenty of people who have learned programming simply to get a job (that they needed, but didn't want); my own father is a plant scientist working as a farm advisor, but in order to keep his equipment functional, he's learned quite a lot about computers--including some very basic programming and scripting skills. (He also works with GIS and such, and has been tasked--usually for lack of anyone better being present--with installing Unix and Windows NT systems, among other things, way-back-when.)

    I think this same trend of interest/motivation leading to ability is true with virtually every field: if you find it interesting or necessary, you'll work to figure it out. Notably, there's a metric for measuring intelligence by a person's number of interests and aptitudes, rather than the traditional (deeply-flawed, IMHO) Intelligence Quotient tests (which test for math skills and little else). The difference here is that a person with a ton of interests will be self-motivated to learn a lot of things. Even a person with little interest in something (like me and most mathematics) can score well in classes (get an "A" grade) if presented with the right motivation. Why should programming be any different?

    I strongly suspect that the rhetoric about only certain people being able to do this kind of work (based on innate ability, rather than education/skill) is largely a function of the human need to feel needed. If everyone can do it, a person with this skill set will undoubtedly feel less necessary--even if that's not the case. This isn't necessarily a "nefarious" thing, so much as a "you're a normal human being" thing; accordingly, I mean no offense by saying this. :-)

  97. A bag of tricks doesn't make you a programmer by dinther · · Score: 1

    I think anyone can lean how to use a bag of tricks. Learning a programming language, the syntax. Applying that bag of tricks to a given problem get's a lot harder but can be learned up to a point. Actually writing a commercial grade application takes pure skill and I am convinced it takes a certain mind to do it.

    Although OO allows programmers to compartmentalise a given problem, someone still needs to keep all those objects in mind. It is well known that a good program is written in a short time. It certainly applies to how I work. In a rapid speed a range of classes are developed and this wondrous abstract model evolves in your mind that a programmer can see from all sides at once. I suppose it is a bit how chess masters can play chess in their minds (Although I really suck at chess)

    If a project stretches over a longer period or if it is interrupted with different projects the quality suffers as it get's harder to keep the mental model pure and complete.

  98. Yes they would by SuperKendall · · Score: 2

    No one with 1600 SAT scores would "struggle through" solving compile errors unless by "struggle" you mean "take some time to solve when they're first learning".

    A really good SAT score is an indicator that you are really good at taking standardized tests.

    There are often tricks and approaches, that kind of help guide you to what an answer should be in such tests.

    But in real life, when a compiler is spitting out a really obscure error message, that's a whole different skill to parse and understand. Heck, it's a whole different personality type to even want to follow the rabbit hole of cryptic compiler messages to find eventually the true issue.

    I also knew people at school that had extremely high scores in the SAT, really good grades elsewhere but computer programming issues really befuddled them, and they were poor at retaining solutions to same.

    Computer programming is this odd combination of standard academic learning combined with real world "well this is how it all actually works in practice" because in the end computer programmers have to make something actually work. That is I think the reason why great students can struggle with it yet, because they have not yet absorbed a lot of real-world problem solving skills outside the more narrow academic channel.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Yes they would by Anonymous Coward · · Score: 0

      "A really good SAT score is an indicator that you are really good at taking standardized tests."

      That and that you are really good at the subject matter. The reason they give standardized tests is exactly this. Many people argue "Oh, I fail on the standardized part, but I excel at the subject matter, so I deserve credit even though I can't prove it." I can believe this for a cook, but not for a mathematician.

      "But in real life, when a compiler is spitting out a really obscure error message, that's a whole different skill to parse and understand."

      The sort of person who excels at the word problems of general tests can learn to understand syntax errors. They have to start by understanding that the program is spitting out phrases that were designed by a human to be terse, but give enough info to give the exact answer. That said, there are incomplete compilers released that were coded by less than the best of programmers. A programmer who knows how to document (and syntax errors are related to this) knows how to put himself in someone elses head; to read his new documentation as someone reading it for the first time.

      "I also knew people at school that had extremely high scores in the SAT, really good grades elsewhere but computer programming issues really befuddled them, and they were poor at retaining solutions to same."

      For those that did over 700 in math and over 500 in verbal, I claim they had a system that artificially inflated their SAT scores and didn't actually deserve them. Mundane options include cramming and cheating.

      "Computer programming is this odd combination of standard academic learning combined with real world 'well this is how it all actually works in practice' because in the end computer programmers have to make something actually work. That is I think the reason why great students can struggle with it yet, because they have not yet absorbed a lot of real-world problem solving skills outside the more narrow academic channel."

      I agree if you change 'well this is how it all actually works in practice' to 'well, reading between the lines, this is what the end user actually wants'.

  99. Not really by SuperKendall · · Score: 3, Insightful

    Programming is like cooking.

    When your oven starts emitting cryptic messages because you put the spatula back in the wrong drawer, I might agree.

    Moving to programming from cooking is a far vaster bridge than just "interest".

    Now a car mechanic on the other hand, is used to dealing with the kind of malign electronic entities programmers face often.

    Perhaps that in the end is the real reason we see so few women programmers, they are not as willing to fight virtual evils just for the sake of victory when complete.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Not really by Velex · · Score: 2, Interesting

      Umm... apparently if you mix your ingredients in the wrong order, you won't get a souffle. I didn't even know that until I watched a Nova documentary on Netflix about evolution. Apparently, cooking can be very technical, unless your definition of cooking is along the same lines as the women I work with: throw a bunch of meat, cheese, and maybe something green in a crock pot, wait four hours, and eat. Delicious, but not a souffle.

      It sounds like you're engaging in the anthropomorphising fallacy I offered up to Greyfox a few minutes ago. It's a form of magical thinking. In order of the oven to emit a cryptic message because the spatula has been misplaced, it would require that either the oven, drawer, and spatula be somehow linked and programmed (maybe via RFID) or that there's something magical happening that's enabling the oven to care about where the spatula is.

      Why is the computer so mean? Why can't it just tell me what's wrong instead of playing a game with me?

      The real reason that women do not tend to become successful at programming, I think , is because they're told from day one that women are more social and more socially-oriented, and they're discouraged from developing logical thinking skills, often by older women (elementary teachers, daycare providers, even their own mothers). They watch sci-fi where computer interaction is social, and they watch computers deliver English words to them as though the computer understands English, and they conclude that programming must be a social problem. Pedantic, logical geeks can successfully communicate with computers, so maybe it just takes a certain kind of person to socially engage a computer and talk it into playing nice. So, a computer becomes something like their autistic son rather than a machine.

      I'm not saying that women can't program. I have a female-model brain (whether I like it or not) and because I was encouraged to value logical problem solving at a young age over being social (because my ex-parents figured that there must have been some fundamentally male "stuff" about me because of my male reproductive system), I am now able to successfully get computers to do all kinds of things.

      Let's face it. Women are more religious and more prone to social reasoning and magical thinking. It's just how older women brainwash girls to be. There's no other reason it has to be that way. When I tell a co-worker that "no, I can't make the computer do that because the program is closed-source" they hear "I'm in a bad mood today, and I don't like you, so I'm not going to cooperate." The logical and critical listening and thinking stills aren't there.

      I don't know what to make of it, and it's become rather vexing to me as I get closer to gender transition. How can I possibly be a woman if women can't program, if it's even women who are the ones telling me that programming is a matter of body parts, that being a boy is the main quality I possess, rather than years of experience, education, and tinkering, that enables me to program? Furthermore, not to go off on too big of a rant, if I did have a female reproductive system, why would I have even bothered with all that "hard" stuff like math if, as a question of my personal survival and role in life, I could just have found a successful guy, got married, and had kids? Yet, as a man, how can I suggest to women who tell me they're baby machines and social enablers by virtue of their reproductive systems that they're wrong?

      Who knows... anyway. I digress.

      --
      Join the Slashcott! Stay away entirely Feb 10 thru Feb 17! Close all tabs to prevent autorefresh!
    2. Re:Not really by Anonymous Coward · · Score: 0

      I know a couple of kick-arse girl programmers. They do exist.

    3. Re:Not really by SuperKendall · · Score: 3, Insightful

      Apparently, cooking can be very technical

      Following directions properly is not a technical skill. If someone got the ingredients out of order and blew a soufflé, they would not seek to find the root cause - they would follow the directions again, more carefully. Or give up.

      In order of the oven to emit a cryptic message because the spatula has been misplaced, it would require that either the oven, drawer, and spatula be somehow linked and programmed (maybe via RFID) or that there's something magical happening that's enabling the oven to care about where the spatula is.

      And yet similar seemingly utterly unrelated things end up mattering all the time in programming. It's not "magical thinking" so much as "decades of real world experience with real computers and development platforms".

      Why is the computer so mean?

      It is not mean. It is uncaring, and slightly evil.

      The real reason that women do not tend to become successful at programming, I think , is because they're told from day one that women are more social and more socially-oriented

      BULLSHIT. That nonsense has been peddled for decades now and I'll not have you blow another ten years of the industry repeating it. Many approaches have been tried to counteract this "programming" if you will that women have supposedly faced, with less than zero impact (the percentage of women in CS fields has fallen over the years from where it used to be).

      Let's face it. Women are more religious and more prone to social reasoning and magical thinking.

      If that were true they would be quite a bit better at programming, since the ability to create models in your head that are not real yet reflect what is happening is quite important to being a top programmer. Indeed I would say if anything MEN are quite a bit more able to live in self-made fantasy worlds than women, women seem generally more practically minded.

      I do not think though that men or women have any difference in ability to be good programmers. I think possibly the way we approach teaching it may currently not be as good for women as men. Since we've tried and failed to "deprogram" women to make them think like men for many years to utter failure, we really should try something different.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    4. Re:Not really by Anonymous Coward · · Score: 0

      This is absurd. Are really this unaware of women? Women can be good programmers, and good programmers can be religious. I've been programming since I was 11, I'm exceptional at it, and I am a faithful Catholic. I also know a women who is a very good programmer. She has worked on 3D rendering engines. Also, plenty of women I know are atheist. I don't personally don't know any good atheist programmers although I may have met one. Most programmers are not very good, even after a decade of experience.

    5. Re:Not really by Anonymous Coward · · Score: 0

      I don't know what to make of it, and it's become rather vexing to me as I get closer to gender transition. How can I possibly be a woman if women can't program, if it's even women who are the ones telling me that programming is a matter of body parts, that being a boy is the main quality I possess, rather than years of experience, education, and tinkering, that enables me to program? Furthermore, not to go off on too big of a rant, if I did have a female reproductive system, why would I have even bothered with all that "hard" stuff like math if, as a question of my personal survival and role in life, I could just have found a successful guy, got married, and had kids? Yet, as a man, how can I suggest to women who tell me they're baby machines and social enablers by virtue of their reproductive systems that they're wrong?

      Brains come in all packages.
      The subset of brains that house minds that can program can come from any sort of human packaging.
      It is easy to see that programmers come from a variety of packages.
      It is tremendously difficult to infer programming capability from the type of package the mind wears.
      I have managed teams of up to 70 programmers. They were roughly 50% M / 50% F, with a fairly broad set of gender alignments.
      From this I have determined, for myself, that absolutely nothing along the line of what package their minds are wrapped in can indicate whether a person can program or not.

      The only determinant I can rely on for parsing who can program, is seeing their completed code work correctly.

          -- Nefarious Wheel

    6. Re:Not really by Anonymous Coward · · Score: 0

      Let's face it. Women are more religious and more prone to social reasoning and magical thinking. It's just how older women brainwash girls to be. There's no other reason it has to be that way.

      I used to think this way, before I had kids - one boy and one girl. We were determined to raise them as humans, not genders, but it turns out we were wasting our time. Some boys just want to be boys, and likewise with girls. There's more at work here than traditional gender roles, men and women are genuinely *different*, on the whole. Some women are more prone to typically male thought-models, and vice versa, but in general girls like pink and boys like blue.

      Until we stop insisting that men and women are exactly the same, mentally, we'll never get to a comfortable place with gender 'equality'. Equality doesn't have to mean exactly the same.

    7. Re:Not really by Deliveranc3 · · Score: 1

      Social is easier.

      Net + = Win. Try that with Code.

    8. Re:Not really by Anonymous Coward · · Score: 0

      Apparently, cooking can be very technical

      Following directions properly is not a technical skill. If someone got the ingredients out of order and blew a soufflé, they would not seek to find the root cause - they would follow the directions again, more carefully. Or give up.

      Never actually done any serious cooking hey? That's ok. You can survive on pot noodles, albeit not without feeling like crap eventually.

    9. Re:Not really by Anonymous Coward · · Score: 0

      I like to say it this way:

      Equal opportunity is a critical component of a decent society. Without it, much potential can be lost for no good reason.

      Equal identity is a wholly false path, as is equal capacity.

      Our unique identities and capacities are things we learn about ourselves and others once they have had some time to develop, hopefully as a consequence of intelligently choosing one or more well-adjusted paths made available through said equal opportunity.

      Income inequality, rabid "isms" such as feminism and theism and sexism, and exposure to folklore (such as "women can't program" or "men can't cook") all work to make us poorer at making the best life choices we can.

    10. Re:Not really by Anonymous Coward · · Score: 0

      I'm very curious to know, how exactly do you conclude that "women mentality" is purely/mostly cultural thing? It's a known fact that brain structure between the genders is slightly different. It's also known that children exhibit differences in behaviour and aptitudes from a very young age before any "cultural brainwashing" has an opportunity to set in. It's not unreasonable to consider that

      Now, I'm not saying that genders differ purely on biological basis, but there is plenty of evidence that biology plays an important role. I would like to see more evidence before accepting the idea that there would have been a significantly larger number of women programmers, had they not been exposed to cultural bias.

      Also, you are commuting a fallacy yourself by taking an analogy too literally. An analogy is supposed to illustrate the state and interactions of the system it relates to, not be mechanically identical to it. You are supposed to disregard the uncommon traits, especially when they have no bearing on the problem being illustrated.

    11. Re:Not really by Anonymous Coward · · Score: 0

      > Following directions properly is not a technical skill.

      the best chefs don't follow recipes, they create them - which is a very different prosect.

      If you're still not convinced cooking can be technical, check out the English guy Heston Blumenthal - there's loads of videos on you tube.

      http://www.youtube.com/watch?v=udkmAbEno5g

  100. Enjoyment by Anonymous Coward · · Score: 0

    I'm not sure about being able to, but I've seen studies that determined that only a small subset of the general population can enjoy being a programmer. One study which I'm too lazy to look up concluded that almost all developers who enjoyed the kind of work they do were classified xNxP on the Meyers-Briggs. That also partially explains why there are so many more male developer than female developers since xNxP accounts for 25% of the male population and only %5 of the female population.

    So it very well may be possible to teach any reasonably-intelligent person to write software, but chances are that person is going to hate actually doing it.

  101. To simplify the AC argument by SuperKendall · · Score: 3, Insightful

    Creating an algorithm for a specific outcome is not like drooling on a rocket scientist, but describes cooking and programming.

    Cooks are FOLLOWING the algorithm. Most cooks are in fact computers, not programmers.

    Chiefs and programmers yes create algorithms to follow. But how many people create dishes from scratch often?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:To simplify the AC argument by canadiannomad · · Score: 1

      They aren't allowed. The recipe writing patents squash the creativity in the kitchen and prevent chefs from coming up with anything new if it may have been done before.

      --
      Hmm, the humour and sarcasm seem to have been be lost on you.
    2. Re:To simplify the AC argument by AK+Marc · · Score: 1

      I guess I'm unique, so I don't have a problem equating the two. I never follow a recipe. I create a new recipe every time I cook. Cooking isn't following a recipe. Cooking is creating food (programming isn't just typing but making something that generates the required output).

    3. Re:To simplify the AC argument by SuperKendall · · Score: 1

      I guess I'm unique, so I don't have a problem equating the two. I never follow a recipe.

      Yes in fact that is fairly unique. So the general claim cannot be made this is always the case, or else why would most people buy cookbooks?

      I vary sometimes myself, but most of the time I am content to see what it was they created originally before I explore beyond the bounds.

      --
      "There is more worth loving than we have strength to love." - Brian Jay Stanley
    4. Re:To simplify the AC argument by i.r.id10t · · Score: 1

      Nope, sorry. The act of "creating food" is called either farming, ranching, or fishing

      --
      Don't blame me, I voted for Kodos
    5. Re:To simplify the AC argument by wierd_w · · Score: 1

      I treat cookbooks as a collection of reference implementations. Good enough for use, but lacking distinction. The equivalent of algorithm implementations you come across in CS coursework.

      They are not gospel, they are not explicit. To me, they beg to be used in new ways; they are the instructions for a blank canvas, and you supply the art.

      Looking through a good collection of cook books is like looking through a good selection of reference implementations. You can see some really clever ideas in what other people have made, and become better at making new things as a result.

      It is true that not everyone approaches cookery this way, which is a pity. Many people are afraid of such experimentation, because they dont have the drive or attention to what they are making to really think about their spices, or the natures and characters of different food items, or how they work together in creating delicious food.

      A reference implementation of a function is just that, a reference implementation of a function. Just like a reference implementation for "Cake" will be for white or yellow cake, when what you really need is chocolate, many reference algorithms are super vanilla. The programmer provides the "Flavor", because the desired outcome very rarely is the vanilla reference implementation.

      Need to get 2 different databases to talk to each other? congratulations, you just made chocolate cake with a recipe for white.

      I love cookery. I find cookbooks fascinating, and often thumb through them in book stores to see if there is anything lovely in them. I dont really own any though. Collections of reference implementations have thier uses, regardless of type, for those that know how to use them.

    6. Re:To simplify the AC argument by AK+Marc · · Score: 1

      I have lots of cookbooks. I buy them for, as I said, borrowing code smippets. I'll take the meatloaf gravy from one and put it on my chicken-breast-on-rice dish (changed from a beef-base to a chicken base to match the flavors). Cookbooks are like googling for code smippets. Unless in a programming class, I've never written a sort algorithm. There are so many to choose from, I decide what flavor I need (depending on things like, say, the randomness of the data), and pick from the choices others have already made and made available.

      But then, I also never measure (within reason - if I need 2 cups of flour, it's easier to use the cups I keep in the flour tins than to pour it directly, so I'll just dump in 2 cups, but for tablespoons of flour or sugar, I just eyeball it). For home cooking, that's plenty good enough. In a restaurant, repeatability and consistency is often more important than quality.

      And I include perfectly following a main recipe and combining a sauce from another as not following a recipe, as there was no recipe with the dish I made in it. But that doesn't mean I'm not following a recipe most of the time.

    7. Re:To simplify the AC argument by AK+Marc · · Score: 1

      Nope, sorry. You are describing gathering ingredients.

    8. Re:To simplify the AC argument by Anonymous Coward · · Score: 0

      Programmers do! I Just made dinner from food I grew myself! Now that's a program that could save the world!

    9. Re:To simplify the AC argument by Anonymous Coward · · Score: 0

      And how many programmers go to beaches with front-end loaders to find "the right sand" to start fabbing their own IC's.

      Cooking vs Programming isn't that bad an analogy. If you stretch one side of an analogy too far, it'll never make sense (but make sure you stretch the other as well!)

    10. Re:To simplify the AC argument by Anonymous Coward · · Score: 0

      LMFTFY:

      Chiefs and programmers yes create algorithms to follow. But how many people create edible, tasty dishes from scratch often?

      /rulingmyselfout

    11. Re:To simplify the AC argument by Anonymous Coward · · Score: 0

      Any cook past McD level can do that. Not from scratch entirely, of course. Most combinations don't work. But you know that. Just as programmers know that you can't just slap instructions together. You have to understand how they interact.

      And as far as "just following instructions" is concerned, look at the "season to taste" instruction. Works for cooks, not computers. That's because of experience. I can taste an almost-done recipe, taste what's missing and add it, to a reasonable degree.

  102. Wrong, too... by G3ckoG33k · · Score: 1

    "As there is an absolute minimum, and no maximum"

    So, you got that wrong, too... ;)

    No, there is no absolute minimum. The IQ never reaches 0, it just approaches it.

    You are correct however that there is no maximum.

    The reason? For both - it is a quotient.

    1. Re:Wrong, too... by Immerman · · Score: 1

      I think you need your vocabulary checked - an absolute limit does not imply that it be reached, just that it can't be exceeded. So long as you can't have a negative IQ and could (at least in theory) have an IQ of 1 or 0.1, etc., zero is an absolute minimum. Think "absolute zero" in temperatures - it's not entirely clear that it is possible for anything to actually reach a temperature of exactly 0, but what *is* clear is that nothing can have a lower temperature as you can't have a negative amount of molecular velocity. There are plenty of other such absolutes - lightspeed places a similar asymptotic limit on the acceleration of matter: there's no theoretical reason that matter cannot be accelerated to 99.99....% of c, but never to c itself.

      --
      --- Most topics have many sides worth arguing, allow me to take one opposite you.
    2. Re:Wrong, too... by AK+Marc · · Score: 1

      IQ has a lower bound of about 40. Not zero. Zero has no meaning in a normal distribution centered around 100. You can pass 200 in IQ, but below about 40, you are too stupid to breathe. So the lower bound isn't zero. But too mentally feeble to care for yourself in any capacity is a limiting factor. You will only survive by being a drain on those around you. That's why babies are cute, so you are less likely to drown the little leaches.

    3. Re:Wrong, too... by Nivag064 · · Score: 1

      Actually on the absolute scale of temperature, all negative temperatures are hotter than all positive temperatures! I learnt this about 40 years ago, it is not exactly cutting edge physics.

      The sign assigned to temperature relates to how an increase in energy affects the entropy (loosely: a measure of disorder, or uncertainty) of a system. Consider a 2 state system with a positive even number of identical particles. When all particles are in the ground state you have minimum entropy and the lowest non-negative temperature. When you have an equal number of particles in both states, you have the maximum entropy and the highest temperature. As soon as you move one more particle into the higher energy state, the total entropy of the system drops, so now the temperature is defined as negative - as now adding energy now decreases entropy!

      http://prola.aps.org/abstract/PR/v103/i1/p20_1

  103. not everyone can be good at it by mcguyver · · Score: 1

    Anyone can become a programmer but not everyone is good at it. This is like all things in life. Take the project manager for /. forums for example...whoever was the project manager for the forums put in features to make the forums difficult to use (as proof I give you /.'s declining traffic stats http://www.alexa.com/siteinfo/slashdot.org).

  104. Self Serving Comments by jamej · · Score: 1

    The programmers -- you should have above average intelligence, blah, blah, blah. Nobody can define intelligence and nobody can measure it. All you have need is to enjoy thinking like a machine. I enjoy it. I'm okay at programming. Ego is the primary block to personal improvement in programming. Lack of willingness to work with others, see the point of view of others, and to respect others is the primary block to professional progress among programmers. I really respect what programmers do. I spend serious time programming. More often than not programmers are there own worst problem when it comes to personal and professional advancement. Few realize that when a programmer shares code it is intensely personal as it reveals how their individual brain works. What other profession is that personal--none!

  105. I agree anyone can be a programmer, but.... by davydagger · · Score: 1

    Being a programmer is nothing more than being able to memorize the basics of flow control, learn new langauges, while using and constantly reffering to a refrence guide, and rote memorization of a few basic commands and techniques.

    Oh its really easy to just be a programmer.

    The real question is:

    What does it take to be a good programmer? Or at least someone who codes at the bare minimum talent level that effort is not entirely wasted and foward progress is still being being made?

    That is someone who in addition to the above, needs innovation, critical thinking skills, ingenunity, and the ability to re-write the rule book when and if appropriate.

  106. Wrong Question by houbou · · Score: 1

    Anybody can be a programmer, for that matter, anybody can be a cook! The question should be can anyone be a good programmer? And the answer is simple. No! Programming is problem solving and not everybody is capable of doing that. Ironically even though programming is a highly logical discipline, great programs are written based on understanding the problem to solve and having the ability and creativity necessary to solve the problem and write the code.

  107. Yes by bratmobile · · Score: 1

    Next question.

  108. Most web pages do not validate by Cool700 · · Score: 1

    What type of programming are we talking about? If it is web programming 99.9999% of webmasters can not write code or program. The majority of websites do not validate. As far as C or C++ goes you can teach yourself, but it takes many hours, day, months and you won't have time for women (hardly) think divorce. Yes anyone can be a programmer, but who will use your programs you write? I programmed as a hobby and universities used my apps, programs or whatever you want to call them. My software was used all over the world for years. The software name I used was stolen by many companies big and small (SmartWiz). I have not written software in years and I loved C++. I enjoy working with web pages and you can check mine to prove I am not a hypocrite. http://cool700toys.com/

  109. programming efficiently actually mattered by Tim+Ward · · Score: 1

    I luuuurve people who thing that efficiency doesn't matter.

    I make lots of money turning their crap into something useful.

  110. Sorry, but you are just plain wrong by Weaselmancer · · Score: 3, Insightful

    There you have it. You think being able to program makes you special in some way or indicates that you're above average.

    Think of everyone you knew from high school. Now imagine each one of them piloting an airplane you are a passenger in. Not everyone is cut out for every job. Some jobs do require the right person to do the job correctly.

    And if you think any idiot can write code you clearly haven't ever been given the task of maintaining some other idiot's code base before. If you really think anyone can do the job I recommend you peruse this site some.

    Unlike brain surgery, you can be self taught and be good at programming. But just like brain surgery not everyone should be doing it.

    --
    Weaselmancer
    rediculous.
    1. Re:Sorry, but you are just plain wrong by narcc · · Score: 3, Insightful

      You're being purposefully obtuse.

      You know where that WTF code comes from? You, 10-20 years ago. You know, the inexperienced developer. If you have the opportunity, take a look at some code you wrote 5, 10, 15 years ago -- you'll be disgusted with yourself.

      I've run in to quite a few of the idiots with whom I went to high-school. You know what? Some of them are surgeons. Some of them are pilots (or "airplane drivers"). Some of them are business owners or other business professionals.

      Yes, and some of them are unskilled laborers -- the very category I would have put all of them in those many years ago. (When I was young, I thought myself exceptional as well. I chalk that up to youthful arrogance. I got over it. My self-worth is no longer defined by what I fancy myself as "good at".)

      No, not everyone should write code or perform brain surgery. But that doesn't mean that most people are incapable of writing code or becoming skilled surgeons. Education and experience are what made the difference.

      Programmers are not exceptional. You are not special because you're a programmer -- it's just a skill that you've learned and improved over time. Had you decided to pursue some other interest, you'd likely think yourself exceptional because of *that* skill.

      Get over yourself. Really. It's not that impressive. Hell, most Slashdot users fancy themselves to be good programmers -- and many are better than you are or I am -- even a good number that are not or are no longer professional developers.

    2. Re:Sorry, but you are just plain wrong by Weaselmancer · · Score: 2, Insightful

      No, not everyone should write code or perform brain surgery.

      My exact point. Now, who is being obtuse again?

      But that doesn't mean that most people are incapable of writing code or becoming skilled surgeons.

      Really? Most people can become surgeons? Are you sure about that? 3 out of 8 people that take the GED flunk it. You're saying that all these people need to do is knuckle down and study, and you'd happily let them inside your head with a scalpel?

      Sure you would.

      The simple fact is that some people are more capable than others for a given set of tasks. There isn't any "getting over" it. We are all different from one another.

      And some jobs simply are not for some people. No matter how much you work out or how many pushups a day you do, you will never be an NFL quarterback. No matter how many books on quantum mechanics you read, you will never come up with a brilliant paradigm changing theory. And to a lesser degree, most of humanity no matter how hard they try would never be able to write a working and useable computer program.

      Sorry, but that's how it is. If anyone could do it the market would be full of skilled programmers making Taco Bell wages. But it isn't.

      --
      Weaselmancer
      rediculous.
    3. Re:Sorry, but you are just plain wrong by narcc · · Score: 0

      Really? Most people can become surgeons? Are you sure about that?

      Why not? Baring some physical or mental disability, all it takes is ... education and experience.

      No, not everyone should write code or perform brain surgery.

      My exact point. Now, who is being obtuse again?

      Tisk, tisk. You took that out of context. The next sentence is: "But that doesn't mean that most people are incapable of writing code or becoming skilled surgeons."

      The simple fact is that some people are more capable than others for a given set of tasks.

      That's not simple, and it's not a fact. It's just a fantasy that let's you think that you're somehow special because you can write code.

      You're not exceptional, you're an egomaniac.

    4. Re:Sorry, but you are just plain wrong by Anonymous Coward · · Score: 0

      That's not simple, and it's not a fact.

      Actually, yes, it is -- both. You need to become familiar with the IQ gaussian, and then learn to make competent generalizations. Your illusion that all folks have equal resources they can bring into play for learning and executing skills is both naive and wildly inaccurate.

    5. Re:Sorry, but you are just plain wrong by Anonymous Coward · · Score: 0

      Don't feed narcc, there's already more than enough troll food here.

    6. Re:Sorry, but you are just plain wrong by Chrisq · · Score: 1

      If you really think anyone can do the job I recommend you peruse this site some.

      Wow. I think the follow up comments are more telling than the original post. I couldn't believe that so many people would not understand a singleton!

    7. Re:Sorry, but you are just plain wrong by Bronster · · Score: 1

      If you really think anyone can do the job I recommend you peruse this site some.

      Wow. I think the follow up comments are more telling than the original post. I couldn't believe that so many people would not understand a singleton!

      Whoosh

    8. Re:Sorry, but you are just plain wrong by Weaselmancer · · Score: 1

      You're not exceptional, you're an egomaniac.

      Ah. I see what the problem is. Above, you said this:

      "When I was young, I thought myself exceptional as well. I chalk that up to youthful arrogance. I got over it. My self-worth is no longer defined by what I fancy myself as "good at"."

      Ok, so apparently at one point in time you were Nick Burns. Fine. But now you've seen the light and you think that we - just like you did - need to get over ourselves, it's nothing special, and so on. What you're doing is projecting your life's experience onto an entire industry and everyone in it. I'm very glad you "got over it", but please don't apply your experiences to everyone else. Please read item #2, Fundamental Attribution Error for clarification.

      And also, please pay attention to the AC below about the Gaussian distribution of intelligence.

      --
      Weaselmancer
      rediculous.
    9. Re:Sorry, but you are just plain wrong by narcc · · Score: 0

      Wait, are you suggesting that it's good that people delude themselves in to thinking that they're superior to others because they have some learned skill?

      See, most people get over these delusions of grandeur by their mid-teens. Apparently, you never did. You must be tons of fun to be around...

    10. Re:Sorry, but you are just plain wrong by Weaselmancer · · Score: 1

      See? Projection.

      I would say it's more delusional to think that anyone can be anything if only they apply themselves.

      --
      Weaselmancer
      rediculous.
    11. Re:Sorry, but you are just plain wrong by narcc · · Score: 1

      That wasn't my point, and you know it.

    12. Re:Sorry, but you are just plain wrong by mcmonkey · · Score: 1

      And some jobs simply are not for some people. No matter how much you work out or how many pushups a day you do, you will never be an NFL quarterback. No matter how many books on quantum mechanics you read, you will never come up with a brilliant paradigm changing theory. And to a lesser degree, most of humanity no matter how hard they try would never be able to write a working and useable computer program.

      NFL quarterback--even going to the 3rd string clip board holder, we're talking about 90 elite athletes. Even extending that number to folks with the right combination of speed, agility, strength, and decision making skills who might go on to succeed in other sports, we're talking about maybe 400 people. And let's not forget the ladies. There are certainly some women who could be NFL quarterbacks if not for discrimination based on gender. So that's 800 people who could be an NFL quarterback. Out of 7 billion.

      And how many "paradigm changing" physicists do we have at any one time? Not competent scientists racking up publications. Not leaders in their field. But the folks who really change the course of history. Let's say that number is about 800. (Although it's almost certainly fewer.)

      You're comparing the ability to "write a working and useable [sic] computer program" to what those folks do? Not be the next Bill Gates or Steve Jobs. Not the next Woz or Linus. Not come up with the next Facebook or Google. But just write a working and usable program.

      I'm on the side of being a programmer is not as easy as most people think (including most programmers). But I'm thinking of things like getting good requirements from users and maintaining documentation, which are harder than what the code monkeys do.

      But you are nuts.

      If anyone could do it the market would be full of skilled programmers making Taco Bell wages. But it isn't.

      So I guess you've never heard of outsourcing. Yes, outsourcing often turns out to cost more than having your folks code in-house, but that's due to management not knowing how to work with remote people. You'll have the same issues when a large number of people are telecommuting. And yes, the global market is creating a middle class is many countries so wages are coming up. But don't fool yourself (even if you have fooled your employer) there are skilled programmers making Taco Bell wages.

  111. Or you can learn Shakespeare by Kergan · · Score: 1

    Have you never encountered Shakespeare? It makes for an interesting and utterly geeky conversation with chicks every time, even when -- especially when -- they're allergic to math. Become the systems analyst for a brief moment, and let them come up with the actual code. Then pull out the laptop, compile their poetry, and watch them beam.

  112. Don't start a conversation with a yes/no question by Mystery00 · · Score: 1

    Yes. Anyone can become anything.

    Next question.

    --
    "we've got trenchcoats and bad attitudes" - John Constantine, HellBlazer
  113. Almost by Murdoch5 · · Score: 1

    Anyone can learn to program but not everyone can learn to script. A programming language means when finish writing the code you can compile it to an executable. If your not able to compile down to an executable then your not programming, your scripting. I think a very clear line needs to be drawn between those who script and those who program.

    I think it's also important to separate programming languages into multiple groups, low level, mid level and high level. At the high level you have anything Object Oriented, these language should be programmed by a monkey and require about as much effort and learning to tie your shoe. Object Oriented languages well very popular just take work and consideration away from the programmer, this to me is a horrible concept. Anyone can pick up an Object Oriented language and hit the ground running.

    Mid level languages like C are not as simple but still don't pose a huge challenge. Mid level languages are for the real programmers, those that don't need to hold on to there mothers hands well they cross the street. Your in control with a mid level language, you have the ability to crap out the OS completely if your not careful and they leave the programmer with most of the control. Not everyone can pick these languages up and those that do and become well versed in proper programming have a very power tool. ( Something C# doesn't give you ).

    Assembler and machine code represent low level languages. These are the big dogs on the play ground. If you can program a low level language and well then you are a master programmer. They're hard to pick up, hard to use and hard to teach, they're reserved for the best programmers on the market and they leave the programmer with 100% control.

    If you start with the simplest tear to learn you enter with OO languages like C#, C++ and the entire group of easy to use languages, I personal think they make programmers lazy and unfocused but at the same time anyone can learn how to become an OO programmer. It leaves the programmer with little work to do and little consideration on safe programming. These are great for beginners and can really help a novice to get there feet wet.

    When you step it up to the real languages like C you have to take responsibility for what you do and not fall back on the garbage collectors. These languages are harder to program, require thought and safe programming. Not for novices or lazy programmers . Well still fairly easy to learn the time required does jump considerably.

    When you jump to low level languages I would say that it's only for the best programmers around. You have no protection, you can cause serious damage and you can run your head into a wall just attempting hello world. Most professional programmers in the workforce can't even learn how to program in assembler properly. You have to be a true master and I recommend that novices don't even look this way.

    In all cases I'm going to say that if you want to learn programming stick to OO languages but move quickly to something that will actually involve skill. If anyone cares I'll talk about scripts and why I don't consider them programming languages.

  114. Yes, of course! by Anonymous Coward · · Score: 0

    I was one of these "anyone" before I got my self a degree in Computer Science, so yes any one can become a programmer and a good one too: all it takes is a decent degree in CS covering Descrete Math, OS, Compilers, Algorithms and DS, DBMS, Digital Design, Numerical Methods etc.

  115. One Word Answer by SpeedBump0619 · · Score: 1

    Can anyone become a programmer?

    Apparently.

  116. Can anyone become a surgeon? by Frans+Faase · · Score: 1

    For anyone who believes that anyone can become a programmer, I would like to answer the question: Can anyone become a surgeon? There are lots of people who can be taught about basic medical issues and how to treat them, but not all of them can become surgeons. And just as there are lots of people who can learn to write some basic programs, there are few people who can program mission critical applications that fly planes.

  117. As with anything... by Anonymous Coward · · Score: 0

    Most anyone can do it; takes a certain skillset/personality/outllook-on-life/etc. to do it well.

    Most any idiot can program a simple "Hello World" application (Look ma, I'm a programmer!"), given sufficient motivation to do so; doesn't mean they can code well. That said, I can punch stuff, doesn't mean I'm a decent boxer. I can skate and whack a rubber disc with a stick, doesn't mean I'm a decent hockey player.

  118. Yes by Anonymous Coward · · Score: 0

    Yes.

    Look at Java.

  119. Nope. by nighthawk243 · · Score: 1

    I say no. Working in help desk forces you to quickly realize that many people are completely useless when it comes to technology. There are names I've memorized because they usually call over the same thing over and over again; never taking any note of how I fixed it (I usually explain how to mitigate the issue in the future when I fix things that were certainly user serviceable). Some people I've noticed seem to proudly announce that they're not tech savvy when asking them to do the simplest procedures (such as hitting the menu button on their company issued smartphone). These are the types that would fit the "never try to teach a pig to sing" adage extremely well. The very minute something breaks in their program, they'll be completely lost with the cryptic error messages. I know they're lost when our one system throws a "Datagram buffer too small" error instead of a more friendly "invalid password" message.

  120. Yes... by sonamchauhan · · Score: 1

    But the tools are lacking.

    Right now, programming is language-based/text-based. So a programmer is required to mentally keep track of program state -- variables, iterations, conditions -- as he writes more code. This rules a lot of folks out right away (Personal.Brain.StackOverflowError)

    Python with its indentation rules is a step forward in that regard -- many 'real' programmers find its whitespace rules chafing (as they have no need for it), but newbies get visual cues about the program state at the line they are currently on.
     

  121. Anyone can do anything by Anonymous Coward · · Score: 0

    The question is... will they be good at it?

  122. anyone can do it by Anonymous Coward · · Score: 0

    ...and consequently it is no surprise when anyone does.

  123. Anyone can do it. by Gr4vyBoy · · Score: 1

    There aren't any special requirements to learn efficient programming. Those that say you need a certain mindset to learn programming are full of shit. Don't let society, which has held a PhD in bullshit since the longest, tell you what you can and can't do. This world is in need of independent thinkers, so fear not when delving into unusual ground and be sure of yourself when doing so. This applies to everything.

  124. If you use a computer you can program it. by 3seas · · Score: 1

    Everyone of us has a very complex computer at our use, far more complex than any invented computer or programming language can yet achieve. Its the brain.... Question answered!

    Can anyone do math? There was a time when only socially elite had such a status, for math was hard to do with roman numeral type of math. But the base changed and now more can do math than actually know how to manually.... the use a computer called a calculator. The same applies to programming computers, but the difference is that those who can create the tools to allow all to program computers are holding on to their position for money and/or ego. For lets face it, the goal of programming is to take complexity and make that complexity easy to use and reuse and for this to play out logically is to understand teh same cane happen with programming computers as had happened with math beyond roman numeral style of math.

  125. Short answer: No. by slapout · · Score: 1

    Short answer: No.

    I've seen some people hired as programmers who couldn't really program.

    Everyone has some things they are good at and some things they aren't good at. Not everyone is good at programming.

    --
    Coder's Stone: The programming language quick ref for iPad
    1. Re:Short answer: No. by Thuktun · · Score: 1

      We regularly give trivial problems (like FizzBuzz) to our applicants. Ever since we went from hiring only referrals from other developers, a large percentage of them can't even handle the trivial problems. How in heck are they supposed to be able to solve real problems with bugs in deployed production software?

  126. It is not rocket science. by bussdriver · · Score: 1

    Some things are beyond normal people. Physics. yes. Programming? no. anybody can.

    Better question is can anybody become a GREAT programmer? no.

    Then there is the part about proper education and motivation. Even with motivation, not every kind of mind has an effective learning method towards the goal they want to reach. We don't know the mind well enough to provide the education some people need; we require people to adapt to generally a 1-size fits all approach where the educators themselves are almost always the types who succeed the BEST at the current method, so naturally, they have a bias for it and may even judge others by the metric which worked so well on themselves. It deflates your ego and undermines your accomplishments to think that you just lucked into a model that was better suited to you. It feels much nicer to believe you are just better than others and have tangible proof to back it up (even if it is actually unproven.)

    You can now be shot in the head and they know how to teach you to relearn many things that wasn't possible years ago; the process has advanced. Your brain could be trained to do anything most likely because of all the extreme examples of what it is capable of doing. We just don't know how to do it and won't figure it out for a long long time. If we did, we'd have big problems with formalized brainwashing that make stuff like Fox News look pitiful.

  127. To further simplify by SuperKendall · · Score: 1

    Programmers are just as likely to do in cooking what they do in programming.

    Meanwhile everyone else just follows the book.

    It further proves that cooking is a very bad analogy for programming.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  128. Programming, yes, Software Engineering, no. by Anonymous Coward · · Score: 0

    WRT to programming by itself- almost anyone can learn to program. But most people find that converting a task into hundreds or thousands of statements connected by twisty little logic is just nutty. Programmers are the one who don't mind.

    WRT to Software Engineering, now, that's a different story. The challenge of finding a robust, practical, maintainable, and extendable solution is an engineering problem. This is made worse by the fact that software engineering is not like chemical or mechanical engineering, as we all know.

    For me, though, the benefit of working with self-motivated folks who are always learning is the best part of this business.

  129. it's a higher IQ profession by Anonymous Coward · · Score: 0

    Honestly I would say that a good programmer probably posses the IQ necessary to learn all those other functions (no one is born knowing any of them), but of course that's also true for most other high IQ professions. It just demonstrates the broad applicability of that thing measured by IQ.

  130. Writing and coding by spasm · · Score: 1

    Everyone can learn to program, just as everyone can learn to write.

    But learning to write *well* takes time, lots of practice, and a desire to actually get better as a writer. And every now and then you bump into someone whose writing is *truly* good or truly innovative. This is rare enough that they still give Nobel prizes for it.

    I think the same basic principle applies to programming. Being a good programmer takes time, lots of practice, and a desire to become a better programmer. And every now and again you bump into someone whose skills are something else again. Although Alfred Nobel's ability to predict the future was a bit lacking, so there's no Nobel prize for programming.

    But no, it doesn't take a 'certain kind of mind' to learn to program, any more than it takes a 'certain kind of mind' to learn to read and write. Although medieval monks surrounded by a sea of disinterested illiterates might have thought otherwise.

  131. Not a Well-Defined Question by darkfeline · · Score: 1

    The answer is similar to the ones for "Can anyone become a rocket scientist?", "Can anyone become a carpenter?", "Can anyone become a painter?", etc. Depending on what you're really asking, the answer is either yes, no, or maybe. "Can you get the job?" "Can you become qualified/licensed?" "Can you be successful?" "Do your peers accept you?" These are all different questions being lumped into one.

  132. More importantly why don't more want to? by soldack · · Score: 1

    I think enjoying programming is some kind of genetic mutation. No matter who good the software jobs market is, few people get CS degrees or otherwise want to be software engineers or programmers. It isn't quite a mono-culture but programmers and software engineers have so much in common that one can almost forget about how the rest of the world thinks. As you move out to other engineering disciplines, there are still an amazing number of personality traits and interests in common.
    This is all good for those of us who enjoy programming and would like to be paid well to do it but it is strange to me. I often see IEEE and ACM articles about how to "fix" this issue but I don't think it can be fixed. Most folks would not like what we do even if they were totally capable of doing it.

    --
    -- soldack
  133. Depends how you define programmer by drew_eckhardt · · Score: 1

    It depends on how you define 'programmer'.

    Most people could learn to do trivial (count 1 to 10 in a loop) and simple things.

    OTOH less than 1% of professional programmers whose resumes are filtered by recruiters paid on contingency have all the aptitudes necessary to do well in the commercial environments I work on (I think a larger percentage of engineers are good, although most of them already have jobs and are likely to join a former co-worker at a place which has been verified to be good when that becomes sub-optimal and not go through a recruiter).

    Those aptitudes are

    1. The ability to think logically, identify edge conditions, and express that

    2. The ability to deal with indirection

    3. The ability to apply knowledge to engineering problems.

    4. The ability to grasp parallelism

    I have a set of questions covering these which changes some with time. There aren't any trick questions here - engineers which do well tend to make it through the first question in under 10 minutes and the rest under 5 after which we can talk about their work history and other things. When I was young and naive I caved to management and overlooked a few problems but have since learned my lesson. People you don't want to hire can spend 45 minutes on one and not get to an answer.

    Such things should be pre-requisites for a computer science degree but aren't because too many people fail when they are and that's bad for the department's cash flow.

    My favorite professor taught data structures with her TAs linking students code into their automated test suites with grades based on whether their code actually worked. Supposedly 1/3 of the class failed. Graduates of that program were generally worth hiring.

    She was replaced by a more lax instructor that didn't do that and our hire rate went way down.

  134. I think about 50% of people can do it. by multicoregeneral · · Score: 1

    You'll find that there are only two kinds of people in the world. People who can parse and replace tokens in their head, and those that can't.

    --
    This signature intentionally left blank.
  135. Absolutely. by Anonymous Coward · · Score: 0

    Any nonsense to the contrary is little more than the usual "rock star" bullshit.

    Guys: you don't have groupies, and the vast majority of you aren't snorting coke out of hooker's arsecracks. You. Are. Not. Rock. Stars.

    As for "anyone" becoming a *good* programmer - that's debatable, but the fact is, there are legions of programmers who aren't good, and are quite gainfully employed spewing out shitcode. Just as there are countless terrible doctors, lawyers, plumbers and people who can't even operate a goddamned deep fryer at a fast food joint out there.

  136. Takes a particular kind of brain then zap its gone by Anonymous Coward · · Score: 0

    I spent 30 years developing software professionally. And then the seizures came. For those unfamiliar with what an epileptic seizure is like, think some random electrical jolt to your brain. For me, it has totally changed my thinking process.

    My brain can't keep all the balls in the air that are necessary to follow the main flow and all the possible branches any more. I just can't juggle all the information anymore, even with wonderful tools like eclipse. Try to explain that to someone who thinks that programming is just an excel macro and that I must just be a malingerer.

    Yes, anyone sufficiently motivated can do the easy stuff, but slipping your one or two line change into a million or so line codebase, without breaking anything can be a lot more complicated.

  137. No by Thuktun · · Score: 1

    Judging by the number of applicants we get for junior (and senior!) software development positions that can't code their way out of a wet paper bag, I'd have to say no, not everyone can become a programmer.

  138. According to the legends by Have+Brain+Will+Rent · · Score: 2

    It was so long ago I cant remember who but one of (I think it was the first) Wirth, Hoare or Dijkstra said that the best programmers fell into one of two groups: those with good facility with math and those with good facility with their native language.

    --
    The tyrant will always find a pretext for his tyranny - Aesop
  139. Yes, for some definition of programmer by iamacat · · Score: 1

    Does this question really has to be asked. Yes, everyone can be taught to program a VCR given enough patience. No, ultimate achievement potential in the field will not be the same from person to person.

  140. Depends on what you are programming... by Anonymous Coward · · Score: 0

    I remember the good old days when folks started with the basics like programming their VCRs, but now, Tivos, DVRs, MythTVs, I mean it has really gotten more advanced. Of course the basics like programming the microwave and coffee maker still apply. While some chose to go low tech and analog back to the kettle and gas range.

    In all seriousness, programming is something that often comes out of a need usually. Whether it's folks in business that "program" functions in excel to build better forms, or a kid making a web site which may not win any design awards, but still requires "programming". All the way to folks that innovate, design complex programs and can code circles around everyone else.

    To sum it up, others have made some good comments. You will have folks that can program, folks that can program ok, folks that can program well, and folks that rock when it comes to programming. If you look at it like math. Everyone is taught some level of mathematics. Some folks don't get it, but they can do basic math. Others solve the worlds hardest math problems or prove to be the ones that push the field of mathematics to new levels previously unknown. But the key is, everyone learns a little, while some learn a lot. Programming could be the same if folks were taught a little or learned a lot about it. It doesn't take a natural talent to get the most simple languages and code.

  141. not everyone can do it .. well by Anonymous Coward · · Score: 0

    I met many "professionals" that work as software engineers and especially consultants, who think they can program and should have never touched a keyboard instead. Often there is not a good system in place to filter out these people.

    Some of them cannot really do it, no matter how much they try, either for lack of cognitive resources, or for incompatible character and attitude.

  142. Do you really have to ask? One word. by aliquis · · Score: 1

    Facebook.

  143. Not everyone can be a programmer. by Anonymous Coward · · Score: 0

    After many years of learning to program. I've seen people start entire programs in college to become programmers themselves and then realize that they just didn't have the personality to do it. Even when I go to right my own programs it takes a certain dicipline to get the software your working on to finish. The hardest part of this is the attention to detail that one must have. Its more then just finding the missing semicolon. You have to have a sense of what is necessary to make a program easy to use. That detail is not as intuitive.

  144. Easy as Pi by Anonymous Coward · · Score: 0

    Anyone can learn to program. Programming is easy, essentially it boils down to, sequence, iteration, selection.

    It takes a particular person with the right mindset and skills to be a 'Software Engineer'. If you need further proof just look at the overwhelming number of badly written software applications and libraries available.
    Good software, and software engineers are a lot harder to come by.
    It requires someone who can program, but also understands the theory behind concurrency, networks, and various design patterns.

    An analogy would be the way that pretty much anyone can learn to draw squares on a page, but not everyone could Architect their own house. i.e. drawing is just one skill that a Architect needs, in the same way programming is just one skill that a software engineer would need.

  145. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  146. Being OCD and paranoid helps by RichZellich · · Score: 1

    Anyone can become a programmer. However, to be a good, even great, programmer you have to have:

    1) A flair for logic;
    2) OCD;
    3) Paranoia (otherwise you write code with hidden bugs - it's hard to write idiot-proof code because idiots are so ingenious, and you have to intuit the many ways users, connected programs, and bad data can screw up your code).

    Oh, yeah, and 10-20 years of making programming mistakes helps a lot, too. If you're any good, you tend not to make the same mistake more than 2-3 times, and to recognize the results of any particular coding error in the output of anyone else's code.

  147. No by Anonymous Coward · · Score: 0

    I'm very technically minded, greatly admire those who can programme well, and well known in the open source community. And I'm a rubbish programmer.

    I wish I were good at it, so very much, and I've made so many attempts at programming, but any attempts I make are crude at best. Anyone can programme at a very basic level, but at a level of genuine competence? No. I think it takes a certain kind of brain.

  148. dumb question by Tom · · Score: 1

    Apparently, there are dumb questions.

    Yes, anyone can become a programmer.

    Just like anyone can become a manager, a circus clown or a painter.

    Does that mean he or she will be any good at it? I doubt that.

    --
    Assorted stuff I do sometimes: Lemuria.org
  149. Why are you repeating what I wrote? by Zero__Kelvin · · Score: 1

    No shit? That might explain why I stated that when I wrote: "The difference you are looking for is someone who can write code (i.e. an amateur) and a programmer (i.e. professional.) Someone who fixes their own car is the equivalent of the former. Someone who gets paid to change the brakes on other's cars - and is qualified enough to bear all the responsibility that entails - is the latter." - [emphasis added] Take a moment now and match up the "former" clause and the "latter" clause. Note that I then pointed out that "Also, not everyone who works on cars and gets paid is actually qualified to be a mechanic"

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:Why are you repeating what I wrote? by russotto · · Score: 1

      My point is that your whole "and is qualified enough..." is not part of it. A lousy professional is still a professional. A code monkey who gets paid to write code is still a professional, even if he cuts and pastes an identical block 10 times rather than write a loop.

  150. Actually... by Karma's+A+Bitch · · Score: 1

    There are 10 kinds of people in the world. Those who understand binary and those who don't.

    There are 10 kinds of people in the world: those who understand ternary, those who don't, and those insufferably pretentious arsewipes who thought that this was a binary joke...

  151. Hard Work by MrKaos · · Score: 1

    Nobody likes hard work. Thinking is the hardest work and programming requires a lot of thinking. It's not that programming is hard, it's that thinking is hard and the smartest programmers have worked hard to be good enough to solve the most interesting problems. They understand that thinking is it's own reward.

    If that is difficult for you to think about, then it's unlikely you will ever be a programmer.

    --
    My ism, it's full of beliefs.
  152. The answer is in the Question - Yes by Anonymous Coward · · Score: 0

    Rhetorical

    Nice way to start a conversation

    But proceeds from a false assumption - "there are people who can never learn to program"

    That logic invalidates the question

  153. Anyone can cook by e70838 · · Score: 1

    Different types of mind lead to different types of programmers, none of them being really superior.
    I know some experiences developers who have problems with recursivity. I have already met some very fast developers who were producing very good and clean code but who had difficulties to understand the requirements and the explanations.
    I really do not think that this is a question of intelligence. There are so many programming languages not only because of the different kind of problems to solve, but also because of the different kind of minds.
    Programming requires logic and abstraction. This may be slightly more difficult for some people, but as said Chef Gusto, "anyone can cook".

    1. Re:Anyone can cook by Alex+Belits · · Score: 1

      Different types of mind lead to different types of programmers, none of them being really superior.

      They are not retarded, they are special.

      --
      Contrary to the popular belief, there indeed is no God.
  154. Some people just don't understand pointers. by invid · · Score: 1

    When I was first learning C there were several people in the class who simply couldn't wrap their mind around pointers. They just couldn't get the idea of a variable that had a memory address to another variable, let alone utilize it. Then, when we were learning about object oriented programming, it was actually about a year before I got that 'aha!' moment when it became clear. Now the object oriented mind set is second nature to me, but I remember when it just wasn't there. Then there's multi-threading, the normal forms of relational databases, and design patters; concepts that the average person doesn't really encounter in everyday life that takes some learning, patience, and time to understand sufficiently to write modern applications. I think that in order to be able to learn all this you have to actually enjoy the act of programming, and not everyone does. You can't fully grok the concepts unless you put them in action yourself and see them function.

    --
    The Moore-Murphy Law: The number of things that will go wrong will double every 2 years.
  155. Re:Programming is like cooking. by Anonymous Coward · · Score: 0

    1st correction: programming is like writing a receipt (as is already said by someone).
    2nd: writing a receipt is like programming SMALL and ONE task. Real programming (not learning the basics) deals with BIG tasks and with MANY interlinked tasks simultaneously...

  156. 10 or 1100 ? :) by Anonymous Coward · · Score: 0

    sorry, couldn't resist

  157. It takes a special kind of mind to be an Artist by concealment · · Score: 1

    I don't agree with that one either. These are all learned skills. Being a liberal arts major at a competitive college is as much of a learning process as becoming a programmer, just in a different specialization.

    But what do they all have in common? The ability to reason, to remember, and to organize.

    This isn't to say that anyone should be a programmer (or artist). Some are better than others. But if you just want someone to be able to write code, it's not any more difficult than any other major.

    1. Re:It takes a special kind of mind to be an Artist by Alex+Belits · · Score: 1

      I don't agree with that one either. These are all learned skills. Being a liberal arts major at a competitive college is as much of a learning process as becoming a programmer, just in a different specialization.

      Congratulations, you are an idiot!

      But what do they all have in common? The ability to reason, to remember, and to organize.

      When liberal art major is wrong, he is deemed to be a talented artist.
      When programmer is wrong, stuff burns down and explodes.

      --
      Contrary to the popular belief, there indeed is no God.
  158. Saxophone amost same story by Dareth · · Score: 4, Insightful

    I played saxophone in the band for 6 years. I have no special musical ability. I played alto sax with the regular band and tenor sax with the jazz ensemble. I was much better at the "jazz" than the regular band music. The difference was that I really enjoyed the jazz ensemble's music selection and I practiced it a couple hours a day, much to the dismay of my neighbors. If you find an interest and practice you can be okay. If someone has an interest in coding/programming they can practice and be okay even if minimally talented.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  159. Understanding Mozart's Genius by Dareth · · Score: 2

    A snippet of the Wikipedia article on Mozart:

    "In Rome, he heard Gregorio Allegri's Miserere twice in performance in the Sistine Chapel and wrote it out from memory, thus producing the first unauthorized copy of this closely guarded property of the Vatican."

    A bit more than the average tone deaf person can accomplish. Sometime a trained musician would find difficult I would imagine.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
    1. Re:Understanding Mozart's Genius by Hythlodaeus · · Score: 1

      On the other hand, considering the original was secret, who's to say how accurately he reproduced it? In the 1700s, it was standard practice to notate music as a series of chords and let the musicians improvise within that framework.

      --
      For great justice.
  160. Why Johnny Cant Program? by Ransom342 · · Score: 1

    Not to be rude or a bleeding heart but we still live in a country where 1% of the population cant read... and here we are arguing about if anyone can learn to program. Seems rather pointless.

  161. In theory, almost anyone can do _some_ programming by jonadab · · Score: 1

    Virtually anyone *can* learn at least enough basic programming to do a useful amount of small personal stuff (automating repetitive tasks for yourself and that sort of thing), and I think most folks are smart enough to also do useful business programming (basic web development, enough SQL to generate custom reports, etc.)

    In practice almost everyone *doesn't*, however, usually because the desire isn't there. It does take a particular mindset to become a programmer. You have to be *interested* in learning how to use a computer at a deeper level than typing words into Google and clicking on links. If the interest isn't there, the learning doesn't happen.

    Of course, there are also kinds of programming that are more advanced, which not everyone is smart enough to learn how to do even given the desire. This is true in just about every field, I think. There are kinds of salesmanship not everyone can learn, kinds of writing not everyone can learn to do, levels of sports performance not all athletes are capable of achieving, and so on.

    --
    Cut that out, or I will ship you to Norilsk in a box.
  162. lol coding... by Anonymous Coward · · Score: 0

    Any nub can code.
    Only someone with talent can successfully DEBUG code.
    There are different levels of coding too.
    Someone creating a new language or compiler...that's hugely different coding from someone trying to make a GUI for a user to do a job faster and easier.
    The biggest roadblock in coding isn't skill or desire...it's arrogance.
    There are a huge number of arrogant programmers who look down on the user base they are coding for. These kind of coders think they know what a user wants better than the user does. Then the user ends up with a graphical front end they find confusing, buggy, and hard to use.
    So in conclusion, my answer would be, yes, anyone can learn how to code just as anyone can learn how to bake a cake. But not everyone can be Linus Torvalds just like everyone that bakes won't be the Cake Boss.

  163. Try teaching it by kiick · · Score: 1

    If you want to get a feel for whether or not programming can be learned by "anyone," try teaching it to a random group of people.

    Before I tried to teach programming to some people, I was of the opinion that anyone could learn to program. If you could cook, or dress yourself in the morning or operate a VCR, surely programming would be within your grasp right? All it takes is someone to explain it clearly enough. That's because it seemed to obvious to me. Wasn't it obvious to everyone?

    Not so much. There are some people that just do not get it. The sequential, logical reasoning involved does not come naturally to them. If you spent a few months at it, they might get some glimpse of the basic ideas. Or they could learn to parrot back rote pieces of code on demand. But the ability to write a program from scratch is not inherent. While it is partly a skill that can be learned, it also takes talent that not everyone has.

    Of course, programming is not the be-all end-all of existence. Diversity of talent makes the world go 'round.

  164. NO by denmarkw00t · · Score: 1

    The dead, for instance, cannot learn to program.

  165. Yes and No by Anonymous Coward · · Score: 0

    Yes, anyone can LEARN to program. Of course. It is like any skill. Bash at it enough and anyone who can read and write can do it.

    Perhaps you mean can anyone learn to be a GOOD programmer, or program WELL.

    The answer is no.

    Some people just don't care. Others don't want to. Ignorance and apathy go a long way and if the people I work with are any indication then even if you pay someone 100K you still can't get people to get off their ass and do it right and do it well.

  166. Programming = Art by Anonymous Coward · · Score: 0

    To be a programmer you need to be able to understand syntax, objects, containers, etc, all programming is is moving stuff in X to stuff in Y. No different than filling bottles of water from other bottles of water, or learning how to draw and keeping on the canvas.

    There is nothing special to do it.

    There is however a certain degree of understanding that you get with experience. Someone who draws for 10 years and someone who programs for 10 years are likely not able to just switch each others jobs and automatically have 10 years of the wrong experience help them. Someone who understands both can do both.

    This is why people working in jobs they hate need to get out, because their experience counts for nothing to get them a job they will enjoy.

    There's not really a lot of jobs out there that require a college or university degree. There are some jobs where the degree counts as experience (medical) and others where research is the goal, where the university is the only way to get access to the research tools to get that experience.

    But for most computer-related and art-related careers, experience can be gained at home, in your spare time. You can learn missing things by going to college, but you are only harming yourself by going into debt to get degree in something you already can do. It's better to get a degree in whatever your #2 interest is in. That way you learn something that you can fall back on should your #1 be difficult. For example, I'd love to get a degree in a geoscience field, because I love that stuff, but I primarily like mapping. My ability to program or draw aligns itself nicely with mapping. So if I were to go to university I'd get a geosciece degree, not one in computer science or arts. If all I cared about was programming, I wouldn't get a degree at all, because I can learn more on my own than I would ever get at a university. All the text books are easily purchased (or pirated), so it's not like this information is behind a locked door.

    Medical degrees are different, because there is a certain level of liability, you are not going to be able to be a doctor without going to a university or college path. It used to be that in the 18th century that you'd apprentice for most of the jobs out there. Many jobs staying within families. What the university systems do, is allow people to choose their own path. But the present-day version is a corrupt for-profit center that cares little about people picking the right degree.

    And this in turn causes immigration and trade agreement farces (see NAFTA Visa) where you only need a degree to enter the country, yet the state won't recognize foreign credentials. This is why all the taxi drivers are doctors in their home country. I met a young lady working at a call center. In the country she came from, she was a dentist. But here they don't recognize her credentials, so what is she doing? working in a call center taking abuse from stupid Americans.

    So... no a degree is a meaningless thing except in your home country. If your home country values the fact that you have a degree in X more than experience, and it's insanely expensive to get a degree, then maybe you're better off not getting a degree, and forgoing any job that wants one as a condition of employment.

  167. A programmer yes, a hacker no by John+Holmes · · Score: 1

    Programming languages are becoming more and more accessible. I'm thinking Ruby. Understanding the syntax and reading the book doesn't make you a good programmer. Sure, you'll be able to write some utility, but it takes years of practice, understanding of low level architecture and talent to be a good programmer or hacker. I don't have that skill. I tried, but I'm too impatient and I have to admit I lose intrest after a while. Since I know I don't have that talent, I leave it to those who have it and I thank them. Thank you Linux devs. We love you.

  168. Yes and No... by lpq · · Score: 1

    Likely anyone who can add 2 numbers and learn to program with some degree of success.

    The question is how much success and how easily it will come... for some, math seems easier, for others logical thinking comes more naturally, for others seeing interactions and concepts and how they work together come more naturally.

    Each type of thinking pertains to different types of programming -- making some people more effective at coding and some more effective at design, BUT -- assuming one doesn't have some pathology that would force only one type of thinking, all humans are capable of the various types of thought -- and types of thought not natural for a person can be learned -- to the point that they might be better than some other arbitrary person who had
    those modes of thinking as their 'primary' modes, but didn't use them in programming, for example.

    So .. from a mental level.. anything is possible, but not all things are equally easy or probable.

    Second thing is based on knowledge .. Anyone can add 2+2, but not everyone can do calculus... or anyone can write a sentence, but not everyone can write 'Shakespeare'. Training can help, as well as generally skill improvement and theory learning as taught in a school. Some do very well with no schooling, but schooling on the whole in the field you want to be a professional in, is going to help. You wouldn't expect to be a lawyer having gone to medschool would you? (or vice versa)... the same for
    programming. Most likely any lay person can be trained in first aid -- and how to deliver a baby -- BUT, if they specialize in it in school -- most people would do better than if they specialized in something else.

    You can't become a lawyer unless you go to law school in most states. Same with being a doctor. Sorta wish it was the same for professional software engineer, but then they'd have to pay them too much -- but
    the quality of software might not be in the state it is today, if that were the case... with the downside that it might not be as cheap and plentiful.

    So it all depends on how much you want it and how much you are willing to self train -- how self-motivated are you to make up and exceed in any area you might lack in?

  169. Sure, but why would they? by Anonymous Coward · · Score: 0

    Anyone with reasonable intelligence can cultivate the knowledge required to program. But it takes a mind for logic, abstraction, meticulous attention to detail, and let's face it- fawning over trivial particulars to make a decent programmer. Notice I said decent, not great.

    Anyone can become a programmer, but they will inevitably be a bad programmer. And we don't need any more bad programmers. Dedication, a bit of OCD sprinkled with nerdy tendencies, the strange desire and compulsion to improve algorithmic complexity of a function, the need to understand not that something works but HOW it works, and a strong fortitude for constantly working more hours than an average professional are what it takes to be on the path to programming competency.

    The question should really be, is the world ready for bad programmers? As our tools become more and more abstract, I think we'll see a striation of the programming populace. On the top you'll have your Visual Studio button pushers, the individuals that utilize the tools.

    Programmers are really tool builders. The difference will always be between the ones who build the tools, and the drones who use them in daily work.

  170. Hooked on programming by BruceEH · · Score: 1

    I studied Statistics for a number of years, and enjoyed learning that. It was more a case of the detective work that it took to solve something, like programming Linear regression to predict the future. Part way through my Studies, I had to take courses other than Statistics for which I opted to take some programming. I was hooked. Twenty-five years later I do other stuff in the IT world, but still enjoy writing system-side code occasionally.

  171. Short Answer: Yes by mchappee · · Score: 1

    The short answer is "yes", which is why most enterprises have adopted Java. You need not be skilled nor particularly smart to crank out an abundance of code, which caused the glut of programmers (both good and bad) to fight to the death over a bunch of 40k/year jobs.

    --
    /. finds me to be 20% Troll, 80% Funny
  172. All people can code by Anonymous Coward · · Score: 0

    I think everyone given the rules and the problem could code. the program might even work. But not everyone will a) enjoy it or b) do it well. It takes a certain kind of person to sit in a chair and spit out quality code. that is not to say that writing quality code cannot be taught, it's just hard. It's easy to teach people how to play baseball but not everyone will excel at it.

  173. "Anyone" ALREADY IS a "programmer." by Anonymous Coward · · Score: 0

    So my answer to the question is '1.'
    First off, let me say that I am a field tech, and network admin. From the crappy programming I have seen out there, I can tell you that if anyone can be a programmer, it has already happened. Many packages are so bloated, it's not funny. So called programmers don't test their code any more, and just put bugware out there to meet their manager's deadline.
    Half of the programmers in my shop can't even spell O/S, let alone know how to use one.

    I don't think that anyone SHOULD be a programmer, with such low standards these days, anyone can call his/her self a programmer, and does.

  174. Problem Solving by kaws · · Score: 1

    I think that a way to sum things up is if anybody applied themselves enough they can learn the mechanics of programing. However, a very important part of programing is problem solving. This is a natural ability that can be learned to a small extent but only so far. It's just like how a lot of people say that you have to be good at math to program. There's a lot of programing now days that don't involve much if any math but problem solving is central to both math and programing. The way I see it is knowing and understanding how to program requires a certain way of thinking. An example of this would be the scientific method. Anybody can learn the steps but a lot less are able to make it a natural way of thinking.

  175. Can anyone become an embedded systems programmer? by Doug+Jensen · · Score: 1

    There is a vestigial article on embedded software on Wikipedia: http://en.wikipedia.org/wiki/Embedded_software.

    A key aspect is that embedded systems and software are "reactive" in that they receive information (data, signals, etc.) from devices external to the computer system, process it, and usually (but not necessarily) send data out to devices external to the computing system. A real-time embedded system (not all are) has time constraints for completing all three of those steps.

    A case can be made that programming an embedded (often real-time) system is harder than programming a non-embedded -- called a "transformational" (for obvious reasons) system. The increased difficulty is due to the programmer typically having to deal with the exogenous devices at a very low level, requiring detailed understanding of the devices' hardware. Embedded software programmers usually have some degree of electrical and/or mechanical and/or .... knowledge (but currently based on experience more than formal education). Real-time embedded software and systems must consider meeting completion time constraints for these reactive interactions a correctness (perhaps even a human safety) criterion, not a performance criterion -- adding exponentially greater difficulty as the size and functional and non-functional (e.g., fault management) and complexity increases. Embedded programming deals with more than software abstractions.

    A counter-argument can be made that programming an embedded system is at least often easier than programming a non-embedded one. That argument is based on several considerations. Embedded software is usually smaller size (e.g., lines of code) than most non-embedded software -- but in number of application domains (such as certain parts of telecommunications and military systems) the embedded software is 10's of millions of source lines of code. Another consideration is that the embedded system application software development systems and operating systems are almost always simpler than those of non-embedded systems. Whether that indeed makes embedded programming easier-- more difficult -- is specific to the systems, and also a matter of opinion.

    So can just anyone be a programmer? Here I ask "Can just anyone be an embedded systems programmer -- good enough to be successful?" I assert that fewer people can be successful embedded -- especially real-time -- programmers.

    I provide one piece of anecdotal support for my assertion.

    In one of my former lives, I was on the faculty of both the Computer Science Department, and the Electrical and Computer Engineering Department, of Carnegie Mellon University. I created and led one of the largest research projects -- it was for embedded real-time systems -- moreover, distributed ones, thus adding a whole new dimension of complexity. We implemented our distributed real-time OS kernel directly on the bare hardware of multiprocessor nodes which we created by modifying Sun boards (a donation from Bill Joy), and then interconnected those with an Ethernet. (Yes, you can create a real-time Ethernet, or even a real-time system using standard Ethernet--a non-trivial topic out of scope here.) At that time, the standard practice for academic OS research was to implement on top of a *NIX. I was the thesis advisor to five CS Ph.D. students and five ECE Ph.D. students, all of whom did their thesis work in the context of my research project. In addition, I taught cross-listed courses attended by both CS Ph.D. students (a Ph.D. was the only CS degree CMU offered at that time) and ECE M.S. and Ph.D. students.

    My experience, which was the consensus of a small group of other faculty I consorted with, was the anecdotal support I referred to: we agreed that in general our experience (note the two qualifiers) was that it was easier to educate an ECE student to be a good embedded programmer, than it was to educate a CS student (having a non-engineering -- usually math, physics, or

    --
    Doug Jensen
  176. Re:Can anyone become an embedded systems programme by russotto · · Score: 1

    I've been an embedded systems programmer. Hard real time, you miss this deadline your system fails (didn't kill anyone, just dropped a phone call or missed an alarm, but still hard real time). And quite constrained; one device had 16K of flash and 128 bytes of RAM. I'd like to think I was pretty good at it.

    My background: after being rejected from your hoity-toity institution, I went to a humbler school (University of Maryland, College Park) which had a CS program, but no ECE program. In that program, while we did not learn control theory, we did have courses which taught concepts all the way down to the level of logic gates (not how they worked, just to the symbolic level). We wrote a simple compiler, and a simple multitasking operating system in assembler. We also, of course, did all the algorithm analysis and more abstract CS stuff.

    My point being that maybe the problem is just that your programs are too specialized; that you can teach people to be good embedded programmers AND good "transformational" programmers. Maybe not; maybe they are separate aptitudes. But I strongly suspect that anyone who can write good complex SQL or good UI code or good data analysis code could be trained to do embedded. But someone who can only write poor hacked-up copypasta SQL or data analysis code or program a UI with a visual toolkit probably could not do embedded at all, simply because it is unforgiving.

  177. So many people eating shit in one spot. Disgusting by Anonymous Coward · · Score: 0

    You know I think most people are full of shit in this forum stating such things like you have to be a certain type of person to be able to program.

    The thing is university does not teach you how to program. It does not teach you all the definitions of every function like an english course does. It goes over the concepts of object oriented design rather briefly and goes over the simple "semantics" of programming but it does give a chance to practice how to write in a program in a way that is "correct"! If it is done it will be only done perhaps once. How many times did you have to write a story or essay in high school before you got it correct? More programming subjects in universities will solve this problem focusing on rote learning and you will find programming will become as normal as writing a letter.

    Most students have to work or do not have the time to study extra or do no have a good mentor to guide them to be able to program.

    The workforce does not cater for this insufficiency. In fact, I can see it is in every programmer's interest who is currently employed to make it as difficult as possible to become a programmer because it artificially lifts their wages up!

    You think people cannot follow logic in the english language? Think again buddy! Your all full of shit.

  178. design and coding - different! by Anonymous Coward · · Score: 0

    few of us understand that design work is the most important part of developing a system. change this feature of our corporate culture, and more people will be able to become competent practitioners.

    coming at this idea on a slightly different tack, i know a programmer who is extremely productive (to the tune of ~350/hr when he chooses to work for you). he is also a published author in the field. and whenever the guy starts working for a new client, he offers to give classes in his methods to other programmers in the company. guess how many usually attend them. (if you guessed >0, yr wrong.)

  179. Can any one write a program? by rhalstead · · Score: 1

    No. Hence not every one can be a programmer and for all the programmers only a small percent are "good programmers" and it seems that most large corporations have at least a few who are well up the food chain who "think" they know how to program. In essence they may know how to write a program but I've spent many an hour "fixing" those programs, and worse is when you have to "fix" good programs to interface with those so called programs which may be corporate databases that don't even use unique records, but rather use a combination of variables within the record to define it. These are records keeping systems. Imagine what a complicated system would be like after having been messed by one of these "thinks they are programers". I'd disagree that almost anyone can grasp Algebra 1 our of today's schools and I think Mark might agree if the caveat were added unless they have a reasonable education. I only have a minor in Math. Students from the government sponsored schools, taught by progressives in the unions and bound by the PC rules imposed do feel good about themselves for showing up and it keep the schools from getting sued. Of course the students only feel good until they get turned down, or can't even get interviews in their fields of study even if they aren't the useless degrees so many take just to say they have a degree. They blame the system, not the schools or themselves. Then they spend $100,000 on loans to get a masters in that useless field and still blame the system and as the one OWSer said after being asked why she didn't get a science degree. "Oh, that stuff is too hard". The first course to get into college should be a good grade in "Practical decision making". Many of us worked hard, or for many years to save up so we could go to college without having to borrow. Few in the general population including college graduates know anything about science. Most are completely clueless about anything technical. Try to explain math, physics, chemistry, aviation, or even economics and they just get that glazed look, yet they expect the system to provide a good paying job.

  180. Some people think they are programmers ... by Dabido · · Score: 1

    I've meet heaps of people who do one course in programming (sometimes a one or two day course) and end up thinking they are programmes (some even claiming to be as good as 'other programmers'.

    But, very weird this has come up. As I had a bad experience today due to people who 'think' they can program.

    Long story short, an old program of mine was 'hacked to death' by a person who thought they could program. The guy now maintaining the code (another programmer) asked for my help today, and we eventually worked out that back in May the non-programmer who had been maintaining the code removed vital bits that did the calculations etc. So, for the last 3.5 months the business unit has been running with code spewing out incorrect data ... and they didn't notice! Sheesh!

    But, programming, like most things, can be done to a certain extent by anyone, but to excel at it and understand it requires a certain mind set. In the same way that people can swim, but will never be Olympic swimmers, and people can cook, but will never be a cordon bleu chefs, and people can write but will never be an novelists, people can program, but some will never be able to write elegant, powerful code the way it is best written.

    --
    Sure enough, the cow costume was hanging up next to the superhero outfit and sailors uniform. (S,Spud)
  181. Programming is like speaking a language by Claudix · · Score: 1

    My native language is not English, but Catalan. My (limited) English skills allow me to post comments in Slashdot and Stackoverflow, and I could even have a beer with you and talk about worldy things. However I often need to look up words in the dictionary and I could never write a novel in English (perhaps I could in Catalan, but it wouldn't be so good). I have been studying English since I was 6 but I know that learning languages is not my strong point. So with regard to the computer programming domain, where humans talk to machines to do things, there may be people that have to continuously look up the internet for code snippets or to remember syntax constructs of some language; there may be people that "speak" C so bad that often forget to say "return" to make a function return a value; and finally, there may be people that cannot even understand how to count in binary (0, 1, 10, 11 WTF????). So not everybody can become a programmer, in the same way not everybody can write a novel, a letter or even a post in slashdot :D

  182. Re:Reason the whole "Dummies guide to X" books exi by ImprovOmega · · Score: 1

    You laugh, but C for dummies vol. 1 & 2 were how I first learned to program. The breakdown of pointers in vol. 2 was worth the price of admission. When I did get to college and took formal courses on the subject, the foundation of the "for dummies" books actually gave me a major leg up on the theory and I basically coasted through all of the programming courses.

    Until I got to 8086 assembly. That curriculum was put together by Satan.

  183. No by Anonymous Coward · · Score: 0

    Just like anyone couldn't become a doctor, lawyer, engineer, basketball player, musician, writer, actor, sales-man/woman, you-name-it....

  184. Programming DOES require a certain type of mindset by Anonymous Coward · · Score: 0

    Back in 1980, I took a test called the Electronic Data Processing (Aptitude) Test - the Air Force's EDPT. I got a great score. I went to the Air Force's programming school, where I learned how to use JCL, PDL, flowcharts, assembly language, COBOL, and FORTRAN. I was awarded the title of "Programming Apprentice" and soon earned the title "Programming Specialist."
    But I soon learned there was a big difference between me and most of the programmers. I had the training, I had the certificates, I had the aptitude, but I really didn't care if I wrote new code or not! I was just as happy developing databases and training for users as I was writing or debugging code. The other programmers LIVED to write code. When they went home, they wrote code on their home computers. I shook my head in wonder.
    Later, I became an instructor for the Air Force programming school. I quickly learned to pick out the students who would be successful from the students who would not. It did not have as much to do with their EDPT score as it did their "Admin" score on the Armed Services Vocational Aptitude Battery.(ASVAB). Basically, people who could think logically AND organize data were successful in the course. People who did poorly at either mental skill, or who didn't care if they succeeded in the course or not, failed.
    So, in my opinion (after spending 30+ years in the field) it does indeed take a special kind of mind to be a successful programmer. It takes even more to be a software engineer. The brain can belong to a male or female; gender does not matter as much as passion for the game. Programmers want to solve problems, and they have a special kind of laziness that makes them want the computer to do all the work. Programmers can think logically, and break big problems down into smaller ones. Software engineers have an additional level of discipline that enables them to do the hard parts: tracking their metrics, following the configuration management processes, and (shudder) doing the documentation.

  185. My interest: of course yes and no! by Anonymous Coward · · Score: 0

    Above Down Syndrome (?) without brain impairments, anyone learns writing. But from there to do with words what you HAVE TO... It is interesting to have bad programmers around so your excellence can show up, but more importantly so that it is considered so NECESSARY that it reaches the stage of popular mass education.