Slashdot Mirror


Normal Humans Effectively Excluded From Developing Software

theodp (442580) writes Over at Alarming Development, Jonathan Edwards has an interesting rant entitled Developer Inequality and the Technical Debt Crisis. The heated complaints that the culture of programming unfairly excludes some groups, Edwards feels, is a distraction from a bigger issue with far greater importance to society.

"The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to build web apps. Disrupt web programming! Who's with me?" Ed Finkler, who worries about his own future as a developer in The Developer's Dystopian Future, seconds that emotion. "I think about how I used to fill my time with coding," Finkler writes. "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."

608 comments

  1. Normal? by PinJunkie · · Score: 1

    Yup, we're all freaks!

    1. Re:Normal? by Anonymous Coward · · Score: 5, Insightful

      My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity.

      Yeah that's called growing up.

    2. Re:Normal? by Wootery · · Score: 0

      Nice job hijacking the top comment.

    3. Re:Normal? by Jeremiah+Cornelius · · Score: 1

      Next stage is the Butlerian Jihad and abolition of compute machiney - "Thou shalt not make a machine in the likeness of a human mind".

      Then your super-trained, Autistic elite can take their proper role, as Mentats.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    4. Re:Normal? by Jeremiah+Cornelius · · Score: 2

      Nice job hijacking the top comment.

      Ewe must bee knew hear.

      Meta rules for Slashdot engagement.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    5. Re:Normal? by fyngyrz · · Score: 1

      Ideas don't arrive in convenient order. Interruptions occur. The world is not a smooth surface, it's full of bumps, pits and detours. Sometimes (as here) there are even reasons to top post. Such as, so someone will actually see it. So get over it. Notably, the AC comment you're objecting to contributed more to the conversation than yours (or mine) does. There's a lesson there.

      --
      I've fallen off your lawn, and I can't get up.
    6. Re:Normal? by __aaclcg7560 · · Score: 1

      Nah... Everyone else is a Luddite.

    7. Re:Normal? by mysidia · · Score: 1

      My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles.

      Welcome to Management!

    8. Re:Normal? by Wootery · · Score: 1

      Such as, so someone will actually see it.

      Indeed. A significant problem with Slashdot. The reddit way (yes yes, reddit) is far superior: it doesn't cause the first serious comment to have such undue influence on the direction of the rest of the conversation.

  2. Cry Me A River by the+eric+conspiracy · · Score: 5, Insightful

    Normal humans are excluded from a lot of things.

    1. Olympic Gold Medal
    2. 5x Jeopardy Champion
    3. Professional Concert Pianist
    4. Bolshoi Ballet
    5. Supermodel

    etc.

    The idea is to find your niche in life and exploit it. Not call the whaaambulance.

    1. Re:Cry Me A River by oh_my_080980980 · · Score: 5, Interesting

      Somebody didn't read the article:

      "In the old days there was a respected profession of application programming. There was a minority of elite system programmers who built infrastructure and tools that empowered the majority of application programmers. Our goal was to allow regular people without extensive training to easily and quickly build useful software. This was the spirit of languages like COBOL, Visual Basic, and HyperCard. Elegant tools for a more civilized age. Before the dark times before the web."

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors is no place for the application programmers of old: it takes a skilled programmer with years of experience just to build simple applications on today’s web. What a waste. Twenty years of expediency has led the web into a technical debt crisis."

      It's a fair point.

    2. Re:Cry Me A River by DickBreath · · Score: 5, Insightful

      That may be true, but you miss the deeper underlying issue that TFA (the friendly article) is whining about.

      They want to be able to be a programming superstar by reading a book such as:
      * Learn Programming in 24 Hours!
      * Learn Brain Surgery in 24 Hours!
      * Learn Rocket Science in 24 Hours!
      * Learn To Be A Concert Pianist in 10 EASY Lessons!

      Various programming boards are flooded with people who want to know how to break into programming for big bucks, quick, overnight, but don't want to actually do the hard learning.

      --

      I'll see your senator, and I'll raise you two judges.
    3. Re:Cry Me A River by i+kan+reed · · Score: 5, Informative

      No, it isn't.

      Tools are simpler and easier to use than ever, and this guy is mistaking nostalgia and innocence for actual difference.

    4. Re:Cry Me A River by nedlohs · · Score: 1

      It's a fair point if you are deluded.

      Programming has better tools for such uses now. It's easier for "regular people" to build useful software now.

    5. Re:Cry Me A River by mjwalshe · · Score: 2

      well take that argument to its logical conclusion TCP/IP would have died in a ditch and we would all be using OSI and you subs would take what the PTT allowed you to have.

    6. Re:Cry Me A River by NotDrWho · · Score: 5, Interesting

      I wonder if anyone in the architecture profession has ever proclaimed "Well if you really want to change the world, empower regular people to build skyscrapers." Probably not. And yet the programming profession seems to be constantly obsessed with making the field accessible to everybody and her sister, as if programming should be something any idiot off the street can do easily.

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    7. Re:Cry Me A River by robmv · · Score: 5, Interesting

      The Internet was done so well that most people think of it as a natural resource like the Pacific Ocean, rather than something that was man-made. When was the last time a technology with a scale like that was so error-free? The Web, in comparison, is a joke. The Web was done by amateurs

      Alan Kay

      http://www.drdobbs.com/archite...

    8. Re:Cry Me A River by Anonymous Coward · · Score: 3, Insightful

      I have seen plenty of these "tools" and they are worthless for anything complex. If you need to put a nail in, I can give you a hammer to make your job easier, but what happens when you need to put the nail someplace the hammer doesn't fit?

    9. Re:Cry Me A River by PseudoCoder · · Score: 0

      That's progressivism for ya. Turning ever-more basic traits of human nature and existence into "rights" people are entitled to and building up the grievance industry. I hope we get better at identifying when people are trying to create problems to propose "solutions". Like crying about "inequality" with one breath while advocating for "diversity" with the other.

      --
      "Now, I doubt any of you would prefer a rolled up newspaper as a weapon against a dictator or a criminal intruder."
    10. Re:Cry Me A River by Anonymous Coward · · Score: 0

      No the tools are not. Most web development today is done with a text editor. WYSIWYG editors are dead. App development requires a slew of different tools if you want to make anything multi-platform. Desktop development is nearly dead. Unless you're using Visual Studio, or maybe Eclipse there is no intuitive GUI style programming like there was back in the days of VB6. Sure the code was crap, but a person who could handle creating a macro in Excel could turn out a simple program to suit their needs.

    11. Re:Cry Me A River by i+kan+reed · · Score: 1

      Oh right, WYSIWYG like COBOL, riiiiiiiiight.

      And lots of people are using IDEs. Far more than were ever being used it the times the author the article is wishing for.

    12. Re:Cry Me A River by i+kan+reed · · Score: 0

      You're like an old man whining about nail guns(because what are those new kids going to do when they can't use a nail gun for a particular job).

    13. Re:Cry Me A River by musterion · · Score: 0

      Hear! Hear!

    14. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Regular people?
      How can they even whet their childhood apetite with simple code if Windows no longer includes the QBASIC exe? An extremely complex barrier to entry needs to be overcome if they want Windows native code. IDE, compilation, Cpp, gui frameworks. If you do toss them Qbasic they cant do very practical things anyway.

      And when they, knowing nothing, are told that programming equals computer science degrees?

    15. Re:Cry Me A River by jenningsthecat · · Score: 2

      Normal humans are excluded from a lot of things.

      1. Olympic Gold Medal 2. 5x Jeopardy Champion 3. Professional Concert Pianist 4. Bolshoi Ballet 5. Supermodel etc.

      The idea is to find your niche in life and exploit it. Not call the whaaambulance.

      Sure. But lots of people participate in sports, just not at the Olympic level. Lots of people play Jeopardy, play the piano, dance, and vamp for photos, to the betterment of their own lives and for the entertainment of both themselves and others. How many people are 'casual programmers' in the sense that they can do a little bit of programming to enrich their own lives and those of others in their immediate circle?

      I see this as being more about moving away from excessive specialization and exclusiveness, rather than making all programming so simple that dedicated, hard working, deeply knowledgeable programmers are no longer required. We still need wizards to maintain, improve, and expand the underpinnings and structure of programming, and do the really complex stuff. But it's time for average people to have the ability to develop some basic applications, just as they can now produce photographs that two decades ago would have been the exclusive domain of professional photographers.

      --
      'The Economy' is a giant Ponzi scheme whose most pitiable suckers are the youngest among us and the yet-unborn.
    16. Re:Cry Me A River by MightyYar · · Score: 3, Interesting

      "Application Programming" is today done in things like Excel spreadsheets. You don't need to write a COBOL app* to keep track of interest payments and such. I'd argue that computers are more accessible than ever, and thanks to Google routine coding often becomes this exercise in searching for already-solved problems and applying the solutions to your similar problem.

      * Ahhhh, dear God, "app"? Why did I type that?

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    17. Re:Cry Me A River by pla · · Score: 4, Insightful

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors is no place for the application programmers of old: it takes a skilled programmer with years of experience just to build simple applications on todayâ(TM)s web. What a waste. Twenty years of expediency has led the web into a technical debt crisis."

      I know, right? We had it so much easier back when we could just write our own interrupt handler (and pray we didn't step on DRAM refresh or vice-versa) to pull bytes directly off the 8250 - And once we had those bytes, mwa-hahaha! We could write our own TCP stack and get the actual data the sender intended, and then do... something... with it that fit on a 40x25 monochrome text screen (yeah, I started late in the game, those bastards working with punchcards spoiled all the really easy stuff for me!).

      And now look where we've gone: Anyone using just about any major platform today can fire up a text editor and write a complete moderately sophisticated web app in under an hour. Those poor, poor bastards. I don't know how I can sleep at night, knowing what my brethren have done to the poor wannabe-coders of today. Say, do I hear violins?

    18. Re:Cry Me A River by beelsebob · · Score: 4, Informative

      If you don't want to get left behind the fads, don't choose an area that's all about fads.

      Any kernel developer will currently be using basically the same toolset as they used in 1980.
      Any driver developer will currently be using basically the same toolset as they used in 1980.
      Any game developer will currently be using basically the same toolset as they used in 2000.

      Not everyone jumps on a new shiny framework every 2 years because they're struggling to overcome the limitations of a crappily designed language like javascript. If you don't want to jump from fad to fad... just don't be a web dev.

    19. Re:Cry Me A River by serviscope_minor · · Score: 2

      I wonder if anyone in the architecture profession has ever proclaimed "Well if you really want to change the world, empower regular people to build skyscrapers." Probably not. And yet the programming profession seems to be constantly obsessed with making the field accessible to everybody and her sister, as if programming should be something any idiot off the street can do easily.

      I think you're mixing your metaphores somewhat.

      There's a different between learning to build a basic house and a skysraper. Only the best civil engineers are ever going to do the latter.

      Likewise there's a difference between building a basic program (web based or otherwise) to solve some small task and building the next version of TCP/IP.

      And yet the programming profession seems to be constantly obsessed with making the field accessible to everybody and her sister, as if programming should be something any idiot off the street can do easily.

      Many people including some "idiots off the street" seems to have wound up capable of bodging something really nasty together with exel and possibly powerpoint. Like it or not, that is programming.

      And why -shouldn't- it be accessible?

      --
      SJW n. One who posts facts.
    20. Re:Cry Me A River by Anonymous Coward · · Score: 1

      I was actually referring to programs like FrontPage and the older versions of DreamWeaver but feel free to parse my words in whichever way you find it easier to pick apart my statement. I'd be curious to know what IDEs "lots of people" are using who do web development.

    21. Re:Cry Me A River by DarkOx · · Score: 5, Interesting

      I don't think its fair. A modern web application is expected to do a whole heck of alot more than COBOL as it was originally designed even envisioned. You can still bang out a simple shell script or procedural program in Ruby today without knowing much of anything but we just don't consider those things 'applications' anymore.

      Hell COBOL (propper) isn't really even interactive, its read in records, and write out some other records. You needed something like CICS to do much of anything interactive and guess what its not so easy to use or understand anymore once you go there.

      Lets not even talk about the job control stuff to get your program running in the first place; normal people were never expected to handle that, it was the job of the OPERATOR who HAD EXTENSIVE TRAINING to do that.

      So really its just not true.

      Applications are more complicated to build today fundamentally because they are more complex in terms of what they do. Could it be simplified yes, we could fix lots of the technical kludges by replacing http and other web technologies with some truly stateful application delivery protocol and languages + libraries but it while it would be simpler it would not be simple.

      His view of the past is skewed, things were never really available to regular people. There was always specialized professionals in the background handling the details. Except for a breif period in the late 80's and early 90's during the height of the PC revolution. Those machines though were a great leap backward in terms of what the limitations were as compared to the mainframe, and in leaving those limitations like (single user) behind we have put all the complexity back in.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    22. Re:Cry Me A River by gbjbaanb · · Score: 4, Insightful

      No, he has a point. Back in the day, we had few tools and we learned how to use them.

      now, we have a tool for every hour of the week, and as soon as you've mastered one, someone comes along and says "your skills are sooo obsolete, you must learn now or fall behind", so you get to grips with it and start top master it, and then realise its a pile of poop and hunt around for a new, cooler tech to use instead.

      Software projects today are littered with the corpses of technology that was the silver bullet to make your life as a developer so much better, easier and productive. Constantly.

      That's the problem - we're not productive, we spend all our time learning new crap that is little better than the ancient stuff we used to use and got stuff done with.

      The tools, well I know people who swear vim is easier to use than the latest IDE that has full intellisense and refactoring builtin, and they are probably right - in that they have learned their craft using that tool and actually are more productive than the bloated and slow IDE could make them. The trouble is that newbies start with the IDE and don't know anything else, so they stay in the "its easy" camp and never progress to real masters of their art. Which is understandable when you need to re-skill every couple of years, but not beneficial to the software industry.

    23. Re:Cry Me A River by DuckDodgers · · Score: 5, Insightful

      I think they're right about the problem, but wrong about the solution. They think the solution is to make it easier, but that's just not practical. Most people can drive, few can design engines. Most people can learn to use a blood pressure cuff, few create them. Most people can learn to use a spreadsheet, few know how to create one. Learning how to write software that's more than just user interface tweaks on something that somebody else built is inherently difficult.

      But the real problem is this impression that you have to be born 80% as smart as Einstein to get into this field, and that the learning curve is impossible for regular people. That's totally wrong. Average intelligence plus persistence is all you need. You won't be Linus Torvalds tomorrow, you won't be Steve Wozniak next month. But put your time in, try things out, get used to being frustrated as you learn and keep learning anyway, and in a few years you'll understand what's going on and be able to do anything this side of the most advanced work as well as anyone.

      That's the lesson we the progressives should be teaching people. And to be clear, it fits all of my original examples too. Few people walk into an automotive engineering program and instantly grasp all of the concepts involved - years of persistence matter more than raw talent if you want to design engines. Few people start building medical equipment and have an instant knack for getting it right - years of persistence matter more than raw talent again. If you were born with an 80 IQ, sorry there's only so far you can go. But the difference between a person with 110 IQ that contributes code to the Linux kernel and one that works at a gas station is their persistence, not raw intellect.

    24. Re:Cry Me A River by Anonymous Coward · · Score: 1

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors is no place for the application programmers of old: it takes a skilled programmer with years of experience just to build simple applications on today’s web. What a waste. Twenty years of expediency has led the web into a technical debt crisis."

      How did it get to the point of being a "series of kludges upon hacks upon misbegotten designs"? So much of it was because of shit-headed ad-hoc, fix-it-now solutions done by amateurs. People like Brendan Eich were nothing but enablers: much of Javascript's stupidity comes his trying to make it accessible to non-programmers.

      I suffer through that crappiness every day. I have those years of experience, and it boggles my mind how often the products of flawed thinking got standardized.

      Yes, you have to be of a certain mindset to be a programmer. It doesn't have to do with knowledge of toolkits; it has to do with ways of thinking. We would all be a lot better off if more people were at least exposed to these patterns of problem solving to get an appreciation of what is behind all the "magic", but for the vast majority of people, the ways of being a programmer are foreign and uncomfortable. That's just how it is--suck it up.

    25. Re:Cry Me A River by gbjbaanb · · Score: 1

      as if programming should be something any idiot off the street can do cheaply.

      TFTFY. CEOs gotta have a bigger bonus after all, and you don't get that by paying staff what they're really worth.

    26. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Dreamweaver and other WYIWYG editors for web pages sucked ass though.
      These days we have simple web frameworks that allow you to set up web pages simply unless you have some strange requirements.

    27. Re:Cry Me A River by Anonymous Coward · · Score: 0

      It is more like their boss plunked a programming book down on their desk and said get programming even though the person's programming experience in said language is next to nil. People get stuck doing all kinds of things that are not in their job description. Naturally when you are under the gun like that you will gravitate to quick fixes like learn to program in C in 24 hours. Other people that buy learn to program in 24 hours are students at school. It is crash course for them to get up and running. Nobody in their right mind thinks they have become an expert in 24 hours and can go out apply for a job programming in that language. The people you described flooding the programming boards are either delusional or are looking for further information to increase their knowledge beyond what is in the book. I wouldn't take what you see in on programming boards as the majority of readers of such books. There are people that read such books and give up after falling asleep reading them. Some of these books are a nice cure for insomnia!

    28. Re:Cry Me A River by just_a_monkey · · Score: 4, Insightful

      The problem is that "accessible" usually also means "nerfed" and "limited in scope" and "very annoying to the power user".

      --
      How inappropriate to call this planet Earth, when clearly it is Ocean.
    29. Re:Cry Me A River by thaylin · · Score: 1

      Dreamweaver and other WYIWYG editors for web pages sucked ass though. These days we have simple web frameworks that allow you to set up web pages simply unless you have different standards

      FTFY

      --
      When you cant win, ad hominem.
    30. Re:Cry Me A River by Anonymous Coward · · Score: 0

      You're right. Progressives see the goals, but tend to be really bad at diagnosing what is wrong and how to address the problem. It is not the case that geeky men are the only ones with the aptitude toward programming: there are men and women (and boys and girls) of all races who have the appropriate mindset. It is often cultural factors which discourage people in the "underrepresented" groups from the more mathmatical pursuits--and that's a shame. The cultural glorification of stupidity is what we ought be against.

      It is absolutely not a matter of it being a right to be a successful developer.

    31. Re:Cry Me A River by TWX · · Score: 5, Insightful

      Well, to expand on your analogy, when nail guns were new, they were huge, heavy, hard to operate, and required investment in hoses, and for most jobsites, an expensive gas-powered air compressor. The nails were also much more expensive as they required special rolls/loaders, and those input mechanisms were completely proprietary. Even today, the good nail guns that will last for a long time are not cheap, the gas-powered air compressors are still expensive, and the and the nail rolls/loaders are often still proprietary. One can easily get $2000 into a system right now just to hammer-in nails.

      By contrast, a hammer, ranging between $5 at Harbor Freight Tools to $80 for a top-of-the-line deluxe framing hammer forged from olympus steel and quenched in the tears of angels will drive in almost any conventional nail that one needs, and unless abused will probably last as long as the owner will.


      I'm working with some web software at the moment. It's the kludgiest amalgomation of crap that I've seen in quite some time. It's got OS library dependencies, but they need to be newer than one stable distribution's version, but older than another stable distribution's version, so one has to use unsigned third-party repositories for those. Then for Ruby on Rails and for Node.js it needs two other sets of proprietary repositories, and it needs specific versions of packages from those repositories too, not default, and it installs some redundant packages that were already covered by OS in slightly different version. Then once you go to put it in it requires MySQL for some of the dependencies but the main program itself only runs on PostgreSQL, so you're stuck with two DBs running, one doing almost nothing but required to be there.

      This is sickening. This will make it almost impossible to do OS updates, and will cause all manner of problems if those third-party repositories ever go away, or if the developers for them stop maintaining those specific versions. It's dangerous and stupid to do this.

      --
      Do not look into laser with remaining eye.
    32. Re: Cry Me A River by rhodium_mir · · Score: 2

      Downloading a free copy of Visual Studio Express is "an extremely complex barrier"?

      --
      You can't spell "oneiromancy" without "roman".
    33. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I think this sums it up, pretty well.

    34. Re:Cry Me A River by Archangel+Michael · · Score: 4, Interesting

      Tools are simpler and easier to use, and yet a Master can make those tools do things your average user cannot. And that makes the world of difference. A spreadsheet "can" be used as a simple Database, but actual real databases are more complex and can do things a Spreadsheet simply cannot handle. Is the difference "database" or something else? Is it the tool or something else?

      The problem isn't where the author thinks it is, masters always make their work look easy, but it takes skill and talent both. Skill is practice, talent is skill with artistry.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    35. Re:Cry Me A River by Anonymous Coward · · Score: 0

      True but unfortunately in this economy with high unemployment and only a few growing fields such as tech there will be pressure on the tech industry and others to be more open to people. All those manufacturing workers and others who have lost their jobs have to be retrained for where the jobs are. They can't simply sit at home and twiddle their thumbs for ever just because they don't fit the stereotype of a programmer being a young fresh faced white or Asian twenty something geek male who graduated from M.I.T.

    36. Re:Cry Me A River by shess · · Score: 5, Insightful

      No, he has a point. Back in the day, we had few tools and we learned how to use them.

      now, we have a tool for every hour of the week, and as soon as you've mastered one, someone comes along and says "your skills are sooo obsolete, you must learn now or fall behind", so you get to grips with it and start top master it, and then realise its a pile of poop and hunt around for a new, cooler tech to use instead.

      Apologies, but we still have all those old tools. We just don't use them any longer. Because you can't use Turbo Pascal to make web pages, but you can use jQuery. If you were working on the same problems today as you were working on 20 years ago, you probably would be using many of the same tools. The only reason you're using the new tools is because you'd rather spend 20 hours throwing something together versus 20 weeks writing it from scratch.

      Honestly, if you think this is different than it was in the 90s and 80s, then you weren't paying attention in the 90s and 80s. The technical periodicals were FULL of the new stuff that was going to change everything. The only real difference is that it's easier to find stuff and get distracted these days, simply because the industry is much larger. I assume it was similar as you go back further, I just am not old enough to remember it first hand.

    37. Re:Cry Me A River by Dishevel · · Score: 4, Funny

      All you really need is Perl and PHP!

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    38. Re:Cry Me A River by LordLimecat · · Score: 1

      We are using OSI. Forget about UDP, and layer 2 protocols other than ethernet?

      Most people can ignore most of OSI, but its still there. Signal recieved by interface, layer 1 signalling is removed, layer 2 headers are removed, layer 2 headers are re-written, layer 1 signalling is reapplied, signal sent out.

    39. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Derp. Visual Studio Essentials (or whatever they call it) is a free download for anyone that wants it. Arguably a far superior learning experience compared to QBASIC.

      Visual Studio Super Professional Ultimate Editions is also a free download from Microsoft. Google for the key. Install all the updates via Windows Update. It shall always work. Microsoft wants this pirated (YAAAAAAAAAAHHHHHHHRRRRRRRRRR!) to train future developers while they're young.

    40. Re:Cry Me A River by Archangel+Michael · · Score: 3, Insightful

      And when I see words like "injustice" and "excluded" I see a typical liberal who views skill, talent, dedication and mastery as bad things. Misapplying words like this, in ways exactly like this, cheapens real injustice, and real exclusion. Normal Humans are excluded from exceptionalism, not because of some "injustice" but rather that is what makes the exceptional so great (mostly hard work and dedication).

      How about, instead of deriding the exceptional among us, we inspire others to exceptionalism?

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    41. Re:Cry Me A River by LordLimecat · · Score: 3, Informative

      It IS accessible. Every copy of Windows since 2006 has included Powershell, which is one of the easiest to learn things you will ever come across, and it can handle 99% of the tasks your average non-programmer user will ever want to do, from simple GUI's with scripted events, to excel automation, to bulk administrative work. Theres even an IDE for it built right into windows.

      Im not an OSX guy but I understand things are pretty similar over there, with whatever OSX uses (Applescript?), and Im pretty sure most Linux distros come with Perl or Python (if not theyre a 1-liner away).

      If you're not finding those scripting languages accessible enough, you dont care enough about the project you want to do. Alternatively, maybe some people just dont naturally have a gift for the type of thought process required by programming-- and I dont think that needs to be a "problem".

    42. Re:Cry Me A River by LordLimecat · · Score: 1

      Any idiot off the street with a copy of Windows has access to Powershell and 90% of the .Net stuff behind it.

    43. Re:Cry Me A River by VGPowerlord · · Score: 1

      How did it get to the point of being a "series of kludges upon hacks upon misbegotten designs"? So much of it was because of shit-headed ad-hoc, fix-it-now solutions done by amateurs. People like Brendan Eich were nothing but enablers: much of Javascript's stupidity comes his trying to make it accessible to non-programmers.

      Much of JavaScript's stupidity was because it was a shit-headed ad-hoc, fix-it-now solution written for NetScape 2.0... back then it was called LiveScript.

      "Those who cannot remember the past are condemned to repeat it." -- George Santayana

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    44. Re:Cry Me A River by gregor-e · · Score: 4, Insightful

      Whining about how hard the tools are to use and how, if only the tools could be made as simple as a hammer then everyone could program, is as naive as suggesting that if word processors were as simple as pencils, anyone could write poetry.

      What these utopian visions of programmatic democracy all lack is any notion that attacks the essential complexity of the problems being solved by code. Problems that have, if anything, grown more complex with increasing memory and CPU power. All the forays into "graphical programming" or other tools to take the programminess out of programming have shown that it doesn't matter whether you're expressing a solution in text or little icons connected by arrows - the essential complexity of the problem remains. The only way we're going to democratize programming is if AI gets to the point where the thoughtwork of breaking down the essential complexity of problems can be offloaded to some other intelligence.

    45. Re:Cry Me A River by FuzzNugget · · Score: 1

      The hell it is.

      There are more free, well-documented, cut-n-paste libraries than ever. Building a fancy website can literally be done using a number of Google searches for "$language library for doing $x" and a bit of know-how to put it all together.

      Oh, you want it done properly without gaping security holes, bad usability, cheesy graphics and cookie-cutter design? Guess what, that requires skill and experience, just like accomplishing many things properly, quit your bitching.

    46. Re:Cry Me A River by Anonymous Coward · · Score: 0

      simple...you keep using that word...I do not think you know what it means.

    47. Re:Cry Me A River by lgw · · Score: 1, Insightful

      Most of what was written in COBOL looked very much like any non-AJAX web app. Sure, there were the batch programs you describe, but mostly it was apps for terminals. Send a form, the terminal posts a reply, hit the database, send the result fields. Same-old same-old. But it was all server-side code.

      There are a few WYSIWYG web editors out there, but for some reason they were never that popular. People seem to want to muck around with JavaScript and frameworks and otherwise dick around with the client side code, as if the bit that paints the screen were the important bit. That was the difference in the COBOL years - you wrote the server side and let the client take care of itself, instead of trying to do that backwards.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    48. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I don't want to agree or disagree about web or web apps being kludgetastic or not, but I do want to point out- there were a lot less people doing programming and they'd built themselves a lot less tooling. What had to be understood was far less, and what it could be done was yet far less still.

      A diverse technical ecosystem springing up is, in my view, a healthy thing: a natural awakening and striving for new potentials. That the many technical societies and practices don't all form themselves towards the same careful deliberate ends, one free of subcultures and instead pushing towards one unified culture, is natural.

      This claim of elegant understandable tools of old is more likely to be the unavailability of other signals out there cluttering up the programming spectrum. Thrown into the mess of programming, it's hard to discern relevance of the many things one is being exposed to.

    49. Re:Cry Me A River by Smidge204 · · Score: 1

      Normal humans are excluded from a lot of things.

      1. Olympic Gold Medal
      2. 5x Jeopardy Champion
      3. Professional Concert Pianist
      4. Bolshoi Ballet
      5. Supermodel

      Our technologically advanced society will not fall into ruin if nobody ever becomes a 5-time Jeopardy Champion ever gain...

      On the other hand, guru-level engineers are considerably more important.
      =Smidge=

    50. Re:Cry Me A River by causality · · Score: 4, Insightful

      But the real problem is this impression that you have to be born 80% as smart as Einstein to get into this field, and that the learning curve is impossible for regular people. That's totally wrong. Average intelligence plus persistence is all you need.

      What you really need is to deal with this anti-intellectualism that's so popular in the culture today, and replace it with genuine curiosity, a joy of discovery, and a delight at learning new things.

      Do that, and the rest will naturally follow, and not just in software development.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    51. Re:Cry Me A River by Bob9113 · · Score: 5, Interesting

      First off, love your post. Well said.

      The tools, well I know people who swear vim is easier to use than the latest IDE that has full intellisense and refactoring builtin, and they are probably right - in that they have learned their craft using that tool and actually are more productive than the bloated and slow IDE could make them.

      I would add that very little of my programming time is spent writing code, which is what an IDE is most helpful with; refactoring, code skeletons, reminding you of the order of args, etc. Most of the time I spend programming -- at least on anything that I expect will have a long service life -- is spent thinking through the right way for the code to work so it will be clear, fast, easy on memory, and work in a way that makes sense when we apply it in a different context. There is no IDE or language that can help with that part of the problem.

    52. Re:Cry Me A River by jrumney · · Score: 2

      In 1980, a kernel or driver developer was entering data into a mainframe using punchcards in binary (or if they were lucky, an assembler was available for the architecture they were targeting). Version control consisted of a row of 7 cabinets, one for each day of the week, where you stored your most recent stacks of punchcards. They most certainly weren't using vim/emacs, gcc and git and debugging in a VM.

    53. Re:Cry Me A River by i+kan+reed · · Score: 1

      I'm sorry, I don't see how "you get better at a job with practice" supports the original thesis. That's so normal for any profession that it almost represents the antithesis of the original argument.

    54. Re:Cry Me A River by JMJimmy · · Score: 3, Insightful

      No, it isn't.

      Tools are simpler and easier to use than ever, and this guy is mistaking nostalgia and innocence for actual difference.

      When websites like TopCoder are offering $100-200 bounties for something as simple as changing how a table is sorted it really shows how it's become easier than ever. It's just layer after layer of needlessly complex code and we don't realize how inefficient, poorly designed/coded, and horrible it really is because the speed of the hardware masks it.

      Working with a framework and some spreadsheet code things just didn't "feel" right to me, felt sluggish. No one else noticed it, they said it was fine, I was imagining things. It took me almost a full day of digging to discover that a single 37 character line of code was slowing everything down - no one bothered to do any efficiency testing on it because it was a "low level function". Changing it sped up the application a thousand fold. Had the code been well designed and not set on mounds of anonymous functions, hacks, and bad practices it probably would have taken about 20 minutes to locate and fix.

      Just because something can accomplish the tasks you need it to simply/easily doesn't mean it's well designed, simple, or easy from a coding perspective.

    55. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Power users should be using power tools and ignore the "accessible" toys. If you're forced to use accessible toys because management can use it to write stupid cruft in it, and you're not changing jobs, you better be paid handsomely or your arguments aren't valid :)

    56. Re:Cry Me A River by chispito · · Score: 1

      I wonder if anyone in the architecture profession has ever proclaimed "Well if you really want to change the world, empower regular people to build skyscrapers."

      Well what about building a shed out back so your tools don't rust?

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    57. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Get a palm hammer.

    58. Re:Cry Me A River by jedidiah · · Score: 2

      "Complex" is not for laymen. There is only so much that you can do with any "appliance". Beyond that, you actually have to know what you are doing. This "problem" has nothing to do with programming.

      Once you get into "complex", you really do want something along the lines of a profession were people have to be licensed and they can be held accountable for their failures. For the "complex" stuff, we should be striving MORE for something comparable to real engineering or medicine rather than pushing for trained monkeys and amateurs.

      Right tool for the job and all that...

      --
      A Pirate and a Puritan look the same on a balance sheet.
    59. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Agreed not everyone can afford a professional programmer to do the work they want done. Sometimes you have to do it yourself or pay some budding programmer a pittance to do it for you and it probably won't be very professional but as long as it gets the job done that is the main point. There are plenty of small businesses, non-profits and individuals out there that might need a specialized program that they can't find on the shelves at their local Staples or Best Buy.

    60. Re:Cry Me A River by Tablizer · · Score: 1

      Tools are simpler and easier to use than ever

      They are? Only if you or your boss are willing to live with a generic out-of-the-box template or style. In some cases one can say, "That's all the tool allows me to do", but often the customer wants to custom-fit it to their needs and work patterns, not the example prototype. Otherwise, they'd use FileMakerPro and skip you and you'd never know about it.

      And if you go outside of the box, you will realize the web is indeed "just an enormous stack of kluges upon hacks". Web GUI's that attempt to approach the power and flexibility of desktop apps are often a real pain to make, have jittery movements, break in the next browser version, and use frameworks the new guy is likely unfamiliar with because there are so many. Time for a new web GUI standard; the existing attempts keep falling on their face and try to turn JavaScript into a GUI OS language, which it wasn't meant for. We need fresh standards, dammit! Stop making excuses for the f8cking kludgeWeb. Think Different, Think desktop GUI, and Think Right.

      I've kicked around ideas for a "GUI markup language" on the c2 wiki which basically takes the common desktop GUI idioms which have been around 20 odd years, and make them markup declarations so that one does not have to micro-manage GUI handling when making applications. (Granted, portable devices have created a new set of popular UI idioms, but they are not too different from prior ones.)

    61. Re:Cry Me A River by ArhcAngel · · Score: 2

      You are right of course it is similar to the 80's and 90's in that companies that wanted to steal the sales of other companies simply created new fangled languages and marketed the hell out of them instead of embracing what works and adapting it to the new paradigms. The only reason you can't use Turbo Pascal to make web pages is the compiler was never updated for the functionality but it very well could have been. In fact its progeny Delphi is alive and well and building apps for almost every popular platform out there today including the web. As long as there is competition there will be someone who chooses to create from scratch rather than use someone else's tool.

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    62. Re:Cry Me A River by jedidiah · · Score: 1

      I might not be able to build a skyscraper but I can nail some boards together, plunge a toilet, wire a room, or lay some tile.

      Basic home maintenance is something that everyone needs to understand regardless of whether they own their place or not. People need to know enough to be able to delegate to experts and not get robbed in the process. People need to understand what they are buying.

      People need to be able to fend for themselves on a very basic level.

      This American love of stupidity only serves to make for easier victims.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    63. Re:Cry Me A River by RabidReindeer · · Score: 1

      as if programming should be something any idiot off the street can do cheaply.

      TFTFY. CEOs gotta have a bigger bonus after all, and you don't get that by paying staff what they're really worth.

      It's simple! My little 10-year old cousin can do it! All You Have To Do Is...

    64. Re:Cry Me A River by beelsebob · · Score: 4, Informative

      Bullshit. In 1960 you would be correct. In 1980 kernels were written in C, for new fangled micro computers.

    65. Re:Cry Me A River by Crashmarik · · Score: 1

      Dreamweaver and other WYIWYG editors for web pages sucked ass though.
      These days we have simple web frameworks that allow you to set up web pages simply unless you have some strange requirements.

      OH man it's Barbie's first web project there. I guess that attitude really goes so far to explaining why websites usually don't have anywhere near as nice a threaded comment system as Slashdot does.

    66. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Yeah, I remember when I was younger people were always asking me, "How did you learn all this?" At the time I found it annoying because I had no answer and felt they were looking for a shortcut, but this blurb shows another reason it's an annoying question: it's rhetorical. They don't expect an answer nor want to use one to begin learning themselves. They're just trying to say, "You must be some kind of deviant freak with brain abnormalities because you know this and I don't, and there's obviously no normal way of learning it. I guess freaks can be useful tools a times, but my god are they weird." Well, fuck you.

      There was also, from my mom, "Your little sister wants to be exactly like you. Why don't you teach her how to do, I don't know, all that computer stuff? [nag nag nag]" It was annoying because (1) nobody taught me, so why is it fundamentally unfair that I don't teach others? As a child I had back then _no_ example of anyone having been "taught," yet I had many friends who had learned as I did, so now it's "Why are you not teaching something you've never seen taught to a student who has never directly asked you to teach them nor explained what they want to learn? My god she is your sister don't you love her etc.", (2) unclear what she wants to learn and why except to "be exactly like me" which naturally I don't like, (3) would be more clear if she were asking herself or showing how she had already attempted to learn instead of nagnagnag by proxy, (4) just because I know how to do it doesn't mean I'd be remotely effective at teaching it. Teaching is a Thing which is also a skill.

      so I guess the normal-person response to my frustration is, "if you know how to do something and suspect maybe it can't be taught, it must be evidence of a brain abnormality."

      Again, fuck you.

      Q. Wow, you are much better at playing basketball than I am. I can barely get the hoop in the ball or whatever. Can you teach me?
      A. No, because I don't know how to teach it. You probably have to practice by yourself.
      Q. How did you learn to ball hoop put-in, or whatever?
      A. I came out to the court and started doing it, by myself, like I said. It took a while.
      Q. I guess you must have some Black grandparents or something.
      A. ...

    67. Re:Cry Me A River by Crashmarik · · Score: 2

      Apologies, but we still have all those old tools. We just don't use them any longer. Because you can't use Turbo Pascal to make web pages, but you can use jQuery. .

      Man Microsoft pulled a Rome to Borland's Carthage here. True you can't use Turbo Pascal but you can use Delphi the Indy Lib, and intraweb

      http://www.embarcadero.com/pro...

      http://www.indyproject.org/ind...

      http://www.atozed.com/intraweb...

      Really incredible tools for getting the job done better than so much of what is out there, they only have a couple problems

      1. They aren't hip and score no points in games of buzzword bingo
      2. They work.

    68. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Coincidentally, just the other day someone on the weightlifting forum I frequent started a thread essentially saying, "I'm interested in learning how to do the lifts. Can I make the Olympics?" We've gotten to the point where even being exceptional on the global stage is supposed to be something anyone can easily do.

    69. Re:Cry Me A River by omfgnosis · · Score: 1

      There's a problem with efforts to make programming more accessible to non-programmers at the technology level: it turns out that you still have to become a programmer to use the technology effectively. This very notion is how programming languages were developed in the first place—what if we could specify what a program should do, rather than writing the code that does it, and then have the computer generate the code? That is a programming language.

      Modern programming is increasingly abstracted away from the metal, and compilers are a wonder unto themselves, but ultimately in order to effectively write a program you still need to do two very specialized things:

      1. Design the damn thing well enough to at least get it working (and hopefully well enough to maintain and extend it).
      2. Either know or discover—usually both—how to work around the warts of the chosen technology (because they all have warts).

      Even if programming could be made so abstract that it's essentially a series of opaque building blocks, you'll always need to do #1, and only by vast inefficiencies and ignorance be able to avoid #2.

      - - -

      Side note:

      Speaking of HyperCard, in many ways its spiritual descendant is Flash. Flash hosts a monstrosity of a language, with concepts from Java bolted onto JavaScript. I'm not saying it couldn't have been done another way, but it's little surprise that something designed to be simple for content producers could become so enormously complex.

    70. Re:Cry Me A River by guruevi · · Score: 4, Insightful

      I wonder if the writer has ever seen the monstrosities programmed in BASIC/VB, COBOL or HyperCard by the resident business manager. People in general have no clue about programming or mathematics. People in general, don't go for higher education. People in general have an IQ of about 100. People in general can't work with a computer when the outline of things changes or the buttons move around. And you want those people to program a math equation that requires 2 years of college math... and they need to place the buttons themselves?

      Hell, take things "programmed" in Excel for that matter. I've seen people use 3 columns to do things which could've been written in 1 operation especially when it comes to adding percentages to a value (they'll calculate 4%, then add it's outcome to the source value to get a +4% and then hide the other 2 columns instead of just doing 104%). That will take them 2 hours to complete.

      The Web is fine. Plenty of people understand HTML, even without much education. People UNDERSTAND that things within a document need to be described at some point. Plenty of people can even understand basic JavaScript, even without much education.

      The reason the web and most of programming in general is so kludgy and broken in many places is because we've let those people that understand HTML and basic JavaScript make websites and entire applications. We have told business managers that they can describe their business in a common and easily understood language and the business manager did describe their business but then they've gotten in way over their head where they themselves can't even understand what they've done. And then those business managers moved on and started claiming they had programming experience and then they went to another company to make ever bigger monstrosities. And REAL programmers get a bad name because programming these days is so easy, anyone can do it.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    71. Re:Cry Me A River by guruevi · · Score: 2

      How about instead of giving you a hammer, I give you a toolbox. That's what all of these 'tools' are, they're toolboxes. And unless you got training in the specific tools to use, you will probably and eventually get the job done... poorly. A craftsman will know which tools to use and when to use them.

      There is no difference in programming. Everyone can program these days. There are plenty of languages that are easily understood. However when you can buy a toolbox at Home Depot for $300, everyone becomes a craftsman in their own mind.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    72. Re:Cry Me A River by Anonymous Coward · · Score: 0

      programming should be something any idiot off the street can do easily.

      Programming is extremely easy, and something that most people could quickly pick up if they wanted to. Tools like Visual Basic (And VB scripting in Office) and FrontPage made it so that anyone with a little bit of intelligence can throw something together that works for them.

      Where it becomes harder is writing something that scales, has few enough bugs to be distributable and is easy to use. Comparing it to architecture, anyone can throw together a dog house that works reasonably well for their dog. If you want to build a house, you'll need a formal education and/or apprenticeship. If you want to build something larger than a house, you'll need more training still. That part isn't easy.

    73. Re:Cry Me A River by Altus · · Score: 1

      Barely, it ignores the actual bulk of developers back then. Few people did real work in HyperCard. Sure, some larger apps were build in COBOL and VB but the reality is that the more advanced work, the apps that were actually worth their salt were mostly written in C and then C++. These apps required serious serious skill to develop.

      That said, the web is a mess, web development is a mess and that is a problem. It would be great if we could tear it down and start over, but the reality is that anything you build always compiles down to the basic languages that all browsers understand and until you can change that I think it will be very difficult to empower regular people to make complex, useful web apps. The foundations were never built to support what we have now.

      --

      "In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson

    74. Re: Cry Me A River by narcc · · Score: 1

      Small Basic seems to be Microsoft's current equivalent. It could use some improvements and better documentation, but it's not a bad start. Of course, they'd need to start bundling it. I doubt interested kids would find it on their own.

    75. Re:Cry Me A River by narcc · · Score: 1

      What stupidity would that be?

      Oh, that's right. You never bothered to learn the language. Never mind, I'll ask someone competent.

    76. Re:Cry Me A River by Anonymous Coward · · Score: 0

      No, by 1980 we were using teletype machines like the Texas Instruments Silent 700.

      http://en.wikipedia.org/wiki/Silent_700

      One could program a mainframe over the phone from home.

    77. Re:Cry Me A River by Anonymous Coward · · Score: 0

      It sounds like you are working on a project that was started by idiots. All of my web projects run on node.js and can be installed completely, from the db drivers to the frontend build pipeline, with `npm install`. The fact that you work with incompetent programmers is not the fault of "the web".

    78. Re:Cry Me A River by HornWumpus · · Score: 1

      In 1980 micro computers didn't have anything that looked like a kernel.

      On an Apple ][ Dos ran on top of Basic. TRSDOS was no better. I believe it was on Compucolors that 'DOS' was written in Basic.

      'What, How, Sorry' were the only error messages from a level1 TRS-80.

      In 1980, if it had a kernel it was called a 'workstation' or better.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    79. Re:Cry Me A River by Anonymous Coward · · Score: 0

      great read, thank you!

    80. Re:Cry Me A River by Drethon · · Score: 1

      Say what? I learned to program really good in C and as a result can pick up any C like language pretty quickly and write good code in it. I don't relearn programming, I just pick up the minor (and sometimes major) syntax differences but the higher level concepts are all the same.

    81. Re:Cry Me A River by serviscope_minor · · Score: 1

      It IS accessible.

      That's nice.

      What I wanted to know is why the GP thought it shouldn't be accessible.

      --
      SJW n. One who posts facts.
    82. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Nice strawman.

    83. Re:Cry Me A River by Anonymous Coward · · Score: 0

      The funny thing to me is his rant is on a Wordpress site.

      He basically built a simple web application without writing a single line of code...

    84. Re:Cry Me A River by HornWumpus · · Score: 1

      sarc Check your privilege! /sarc

      Leaning to work is a privilege that you should pay for by being taxed to poverty. So you can support those who were never taught to work hard.

      Don't you feel privileged?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    85. Re:Cry Me A River by Anonymous Coward · · Score: 1

      I don't disagree about how much crap there is under the "web technologies" umbrella, but "the internet" is emphatically not close to error free.

    86. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I believe the first version of VI was released in 1976, and Emacs traces its roots back to something like 1972. Seriously, how old are you, 12? My first computer was an IBM compatible in 1983 with an external disk hard drive running MS-DOS and 5.25" floppies. The only one you'd have right is they weren't using git. I guess I might give you GCC since that wasn't released until 1987.

    87. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Time for a new web GUI standard; the existing attempts keep falling on their face and try to turn JavaScript into a GUI OS language, which it wasn't meant for. We need fresh standards, dammit!

      I wish someone would create a universal standard for graphical layout and flow (usually when we say "someone should" we're told to look in the mirror). It's really overcomplicated because of all the different proprietary solutions and formats intended to solve similar problems in different domains. But it always comes down to geometry and organizing data structures.

      Just take a look at how many page description languages there are. Do we really need all these incompatible solutions? Plus many of them are abandoned, obsolete, or undocumented. I wanted to find out more about the Page Interchange Language which looked interesting, but there's essentially no information available. I found a few sites with source code .zips, all 404'd. Thanks to the Web Archive, I got the code, but it's basically undocumented. Protip: if you want people to use your "standard" format, don't force them to reverse engineer it!

    88. Re:Cry Me A River by Anonymous Coward · · Score: 0

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs.

      So is the law. So are all our cities. So are our transportation networks.

      That's how life is. We can't just shut down complex systems on a whim so academics can spend a decade to redesign it "properly". We have to use them in the meantime, so we hack and patch as we go.

    89. Re:Cry Me A River by Anonymous Coward · · Score: 1

      "Whining about how hard the tools are to use and how, if only the tools could be made as simple as a hammer"

      The part I find funny about that is, I bet most people in the world rather suck at using hammers. Watch somebody skilled and they can sink a nail with two hits, one light tap to get it started and one hard hit to sink it.

      Me, it takes a lot of hits, and half the time I end up bending the nail. For as simple as a hammer is, it's incredibly difficult to use.

    90. Re:Cry Me A River by Desler · · Score: 1

      In 1980 micro computers didn't have anything that looked like a kernel.

      They did if you ran something like Xenix. Which was Unix specifically for microcomputers.

    91. Re:Cry Me A River by Anonymous Coward · · Score: 0

      The web stack was a giant cluster fuck from the beginning. Everyone was so eager to get rid of Microsoft in the early 2000s that they jumped on the, "make all apps into web apps" bandwagon, which was fucking stupid as hell. Individual and team developer productivity plummeted. There are, still to this fucking day, browser incompatibilities.

      There are places for the web kluge, like Amazon, etc, but for most businesses here's how it goes

      To make a web app, you have to know:
      - HTML, a markup language that builds your GUI forms.
      - CSS, because HTML wasn't good enough and geek committee couldn't agree on how to make it better
      - Javascript, because fuck everyone in the ass with a broken stick
      - Java/C#/PHP/Whatever the first guy decided to use. Each of these have no less than 5 different frameworks that all do the same thing in a different way
      - SQL in whatever flavor your business uses.

      Thats 5 fucking languages / markups. Then you have to deal with mimicking state in a stateless environment. And the fucking tools to integrate all this shit together are few and far between.

      To develop Win32 / multi tier business apps you have to know:
      - C#/Delphi/VB
      - SQL in whatever flavor your business uses.

      The GUI is drag and drop. I don't have to be a fucking visual artist, or worse, hire one to make it usable.

      I've done both and do both to this day extensively. The time it takes to develop an app of any substance using Win32, even with SOA is a fraction of the bullshit I have to go through to make web kludge work in a decent way.

      I program to develop useful systems, not for the sake of programming. Web stack is crap for business apps.

    92. Re:Cry Me A River by Anonymous Coward · · Score: 0

      > In 1980 kernels were written in C, for new fangled micro computers.

      No, most micros in 1980 didn't have kernels. If anything, they had a monitor (written in assembler) and maybe a built-in BASIC interpreter (also written in assembler). Almost nothing for micros was written in C until the mid-80s. Microsoft C, Turbo C, Watcom, Lattice, Aztec, CodeWarrior... none were available in 1980. C was pretty much limited to UNIX installations.

    93. Re:Cry Me A River by scamper_22 · · Score: 2

      There's a few themes going on.

      I think he just doesn't see the world of 'regular' programmers. Has he heard of things like SAP or People Soft or SharePoint.

      All of these offer pretty regular people to write applications and web applications.

      Next comes the point you make that I will just reiterate. Programming is a skilled job. I taught high school computer science. I don't know how long its been since you were in high school, but most students can't even understand assigning a variable properly. If they can't get it in algebra, they don't get it in cs. That's for even basic programming. For anything more complex, it really takes another level.

      The point about the web is valid to a certain extent. You can't just 'learn' it and be happy. It's a process of constant learning and research and working with the community. I can't think of a field that changes so much. I doubt AngularJS is crazy complicated, but darn it, I haven't even touched it and I'd have to learn it a new in all its complexities and idioms if I want to work on it.

      You learn a trade like construction, you will learn what a 2x4 is and how to frame and that is eternal knowledge. Not so with writing software.

      Lastly is programming culture. He doesn't spend enough on this point, but its a big thing that is affecting even good programmers.
      The constant desire to learn the same thing in a different way is something that you probably need to be a bit autistic as he says. I can't explain what happened. I used to get so involved in a game like Baldur's Gate, I'd spend weeks so focussed on it. I'd to the same with programming. I have no desire to do that anymore. But, I know some people who still have that. Good on them. I'm hardly normal, but if I'm feeling the edge, imagine an actual normal person :P

      To top it off, getting involved in software development used to be easier when more people were hired. Today, I'm finding developers need to write documentation of all sorts, figure out the requirements, code it up, write up the test cases, figure out the environment issues, do the database work...

      Basically do everything. Some companies even have teams dedicated to these tasks, but they don't have enough skilled people to not have the developer do it with the speed at which companies have to operate.

      In previous times, you could indeed have a skilled engineer design the system. Write a proper document. Then hand off some UI work to some application developer or even a junior developer. They would take the time to explain the system to the test team, who would then know how to use it and thus craft a test plan. All these people would be able to be involved.

      But that's no the world we live in today. Everyone wants speed and moving fast, without building the long term technical base. This reduces the number of people capable of entering the field in a useful way.

    94. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Got a silver and slept with some one from category 4 and 5 does that count, can I be a programmer now?

      Naw I think I prefer Groucho's response.

    95. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Having some construction experience, I can authoratatively say that your analogy sucks. Nailguns are used where they make sense, and they don't replace hammers, the augment hammers where a hammer would have done a similar job in a greater amount of time. Where a hammer would have taken less time, nobody strings out the air lines and compressor to fire up a nail gun. The GP is complaining that it's a lot of work to fire up a (using your analogy) a nail gun to hang a single picture frame (and he would be right).

    96. Re:Cry Me A River by Calibax · · Score: 1

      I agree. Most of the time it's trivially easy to adapt to new procedural languages. And the more often you do it, the easier it becomes.

      However, a primary problem is that although the syntactical differences are comparatively minor, the libraries may be structured very differently. You may well spend a great deal more time adapting to the gross differences in philosophy as well as the discovering the idiomatic nuances of the libraries.

    97. Re:Cry Me A River by tepples · · Score: 1

      One stupidity is global variables by default unless you use var every single time. Another is the lack of integers bigger than 52 bits, after which double precision floating point starts dropping integral bits. If your data is full of 64-bit integers, tough.

    98. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Building a house is only simple in the USA because we have a unified building code that basically allows little to no interpertation of the basic stuff with enough of a safety factor that people won't die in the houses they build. Go to a slum in another country, where the shanty town literally has to deal with house collapse. That's where loosely constrained learn-it-quick languages have your construction analogy. And from observing those, he's right. Nobody says that building a house is unskilled, that's why you have to get a habitation permit in the USA, to have an inspector verify that you didn't balance your roof on a broomhandle.

    99. Re:Cry Me A River by Anonymous Coward · · Score: 0

      If only I had mod points, or bothered to log in non-anon anymore. Still accept some web kudos. Software development is not a birthright or a product to be paid for cheaply. It is a skill, like many other, and average people who put in enough time to develop expertise become experts. For some it is easier than others, but there's no sign at the entrance to the path stating "you must be this smart" to ride.

    100. Re:Cry Me A River by Ziggitz · · Score: 1

      That's like comparing the postal service to penmanship. Utterly pointless.

      --
      There is no memory shortage. yes I have heard of XFCE. Go away.
    101. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Yes, it is, compared to running an interpreter. The whole edit/build/test paradigm is complex for a neophyte compared to using a dynamic language such as Python/Ruby/Perl/Basic. But producing a desktop application with a decent GUI is harder in those languages.

      People learning programming need the ability to achieve nearly instant feedback to show they understand basic concepts or they become discouraged.

    102. Re:Cry Me A River by Anonymous Coward · · Score: 0

      You forgot the $10,000 us military hammer it not only drives nails , it helps the CIA run the drug trade.

    103. Re:Cry Me A River by Anonymous Coward · · Score: 0

      In the "old days" application software was often written by the scientists and engineers who needed to use it. It wasn't necessarily pretty or user friendly to the uninitiated, but it worked and usually gave accurate results. These days much application software is written by "professional" programmers who are adept at creating pleasing and useful interfaces, not so much at making software that accomplishes the needed task. Lots of application software is just too generalized to be the best choice for everyone. Both groups ignored security (and continue to do so) Modern programmers who claim to be highly trained and skilled practitioners are consistently unable to produce bug free software and whine a lot when called on it. Ya'll want to be given respect, learn to write the software the customer needs, without security holes and bugs. Maybe it'll happen.

       

    104. Re:Cry Me A River by Anonymous Coward · · Score: 0

      If you were working on the same problems today as you were working on 20 years ago, you probably would be using many of the same tools.

      Which is why scientists still write Fortran, and insurance companies still have a COBOL programmers. And there's nothing wrong with that (except maybe that COBOL completely stagnates, while Fortran gets sensible updates).

    105. Re:Cry Me A River by jemmyw · · Score: 2

      I'm working with some web software at the moment. It's the kludgiest amalgomation of crap that I've seen in quite some time.

      It sounds like some poor decisions have led to that situation for you. Ruby and Node both have fairly flexible package management solutions that let you pin dependencies and provide private repos for your specific dependency versions when for some reason you can't use official ones.

      However, one thing that has always bothered me is when we say "well we're using ruby xx.xx (or node xx.xx or php xx.xx or whatever) on our development machines, so we must install that version on production" and then the hoops taken to do that. It should be "production can run ruby xx.xx so that's what you have to develop against".

    106. Re:Cry Me A River by chis101 · · Score: 1

      ... use frameworks the new guy is likely unfamiliar with because there are so many. Time for a new web GUI standard; the existing attempts keep falling on their face and try to turn JavaScript into a GUI OS language, which it wasn't meant for. We need fresh standards, dammit!

      This sounds familiar.

      http://xkcd.com/927/

    107. Re:Cry Me A River by thetoadwarrior · · Score: 1

      As someone who does web development, no they're not. Some languages do things quite well but the flavour of the months like Ruby and JS / Node are a mess. Especially JavaScript, it's an awful language.

    108. Re:Cry Me A River by thetoadwarrior · · Score: 2

      JQuery isn't a language. It's a framework that attempts to fix a shitty language. If you're only using jQuery to make a webpage it's going to suck.

    109. Re:Cry Me A River by Anonymous Coward · · Score: 0

      But vim will not distract the programmer, an IDE might. So many shiny buttons to press...
      Although there is always the temptation of :h. Learning vim is a lifelong passion.

    110. Re:Cry Me A River by Archangel+Michael · · Score: 1

      How is this a strawman? This is exactly the point. Here is a guy, who views exceptionalism, as "injustice" and "exclusion". Being really good at something is not an "injustice" period. It is exclusive, but that is kind of the point, as being really good at something does make your talent and skill exclusive. But that is the problem with LeftWingers, who want equal outcome, regardless of ability.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    111. Re:Cry Me A River by TemporalBeing · · Score: 4, Interesting

      Somebody didn't read the article:

      "In the old days there was a respected profession of application programming. There was a minority of elite system programmers who built infrastructure and tools that empowered the majority of application programmers.

      I think this is more of deluded statement than anything. In the old days you typically had to have an Electrical Engineering degree to do programming - at a time when having a college degree was not the norm. This only filtered out of that circle as geeks took interest before college and tools became easier and costs were greatly reduced. The point: programming has always been done by a small group - the "elite" - at any time in the history of computer systems.

      Our goal was to allow regular people without extensive training to easily and quickly build useful software. This was the spirit of languages like COBOL, Visual Basic, and HyperCard. Elegant tools for a more civilized age. Before the dark times before the web."

      Again, progress has certainly occurred towards this, but the fact of the matter is that most people are not interested in being creative the way programming requires you to be. They'll be happy to play around with HyperCard or Excel long enough to get some basic thing done, but they'll be atleast equally happy to pass it on to some one so they can focus on what their actual job in stead of trying to figure out how to make a fancy little graph.

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors is no place for the application programmers of old: it takes a skilled programmer with years of experience just to build simple applications on today’s web. What a waste. Twenty years of expediency has led the web into a technical debt crisis."

      Many of those things are because of people not skilled enough making the decisions - not understanding what's there and trying to fix it, only to realize later when they do understand it better that they royally screwed it up.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    112. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I'm a developer at Google sitting in a meeting at the moment. I don't think any of the folks in this meeting have an IQ less than 135. I can't imagine having to work with a developer with a 110 IQ. I'm not sure I ever have. I'm not conceited, just realistic. Great minds do great things. I don't think Linus Torvalds is taking Linux kernel patches from folks with 110 IQs. I don't think someone with a 110 IQ is working on the mechanical, electrical, hardware, or software design of the next IPhone.

    113. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Leaning to work is a privilege that you should pay for by being taxed to poverty. So you can support those who were never taught to work hard.

      As there are diminishing marginal returns as you earn more wealth and by the structure of progressive taxation it's those marginal returns that are taxed at a higher rate, nothing about a progressive tax system is designed to tax anyone into poverty. It is at best designed to limit the scope of the super rich and wealth inequality which more often than not has much less to do with working harder or longer--as much as that is intrinsically likely to only see a wage increase that's less than an order of magnitude--and more to do with inherent wage inequality--which may or may not have to do with working harder or longer but is inherently much more limited in scope to the monopoly or oligarchy of a limited job pool.

      I mean, honestly, if what you believed were at all true, we'd have a system that'd actually strive to measure how hard people work and we'd see some garbage collectors paid better than elite NBA stars. Instead, supply and demand are the prevalent factors and the taxation system strives to in some ways deal with the inherent imbalance in any system where there's rivalry of resources.

    114. Re:Cry Me A River by TemporalBeing · · Score: 1

      There's a different between learning to build a basic house and a skysraper. Only the best civil engineers are ever going to do the latter.

      I'd be amazed if a Civil Engineer could design a skyscraper, and I'd be more amazed at the firm and its insurance backer that allowed them to, and the construction company that did it.

      Why? A Civic Engineer doesn't design skyscapers. They decide only where the skyscapers can go and make sure the location can support it.

      It's the structural engineer that designs the skyscaper based on the concepts from the architectural engineer that the client wanted to put in the space that the civic engineer told them they had on the land they own.

      Of course, all of this was done in software designed by people without any engineering experience at all...go figure.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    115. Re: Cry Me A River by cyber-vandal · · Score: 1

      Speaking as a former COBOL programmer who did Y2K work you really don't know that you've got it good. Some of that code was a vile mess of hacks, commented code , blocks of code that couldn't be touched on case they broke so had to be coded around. Shit code can be written without frameworks and in my experience more often is, due to the wheel being reinvented repeatedly and badly. The good old days never existed and personally I'm far happier writing C# in Visual Studio for SMEs than I ever was trying to debug some horrendous code written by a moron 30 years ago that some bank utterly depends on and which is probably still in use now 10 years after I escaped.

    116. Re:Cry Me A River by Archangel+Michael · · Score: 1

      You get a better job, by becoming better at your job, and either you move up, or on. This is especially true in IT, where if you stay in your job, you don't get any raises or improvements in benefits. The proven method is to change your job, work somewhere else where they will pay you more, a lot more. I just read where people who change jobs do get raises, because they leave places that do not offer wages, but offer new employees more money than the people who have been there a while.

      Which is something I never considered before, and now, I'm actively seeking new employment, and will continue to do so for the rest of my career. If people don't value what they have, they will lose it. Pay me what I am worth, or the marketplace will take me away from you.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    117. Re:Cry Me A River by eulernet · · Score: 1

      In the 80s and 90s, the changes were mostly hardware. There were a lot of different processors to master and the compilers were not very good, so we had 2 or 3 languages to master.

      Nowadays, the Intel architecture won and hardware has stabilized a lot.
      So now, the agitation is all about software, or more exactly new "paradigms".

    118. Re:Cry Me A River by LordMyren · · Score: 1

      I don't want to agree or disagree about web or web apps being kludgetastic or not, but I do want to point out- there were a lot less people doing programming and they'd built themselves a lot less tooling. What had to be understood was far less, and what it could be done was yet far less still.

      A diverse technical ecosystem springing up is, in my view, a healthy thing: a natural awakening and striving for new potentials. That the many technical societies and practices don't all form themselves towards the same careful deliberate ends, one free of subcultures and instead pushing towards one unified culture, is natural.

      This claim of elegant understandable tools of old is more likely to be the unavailability of other signals out there cluttering up the programming spectrum. Thrown into the mess of programming, it's hard to discern relevance of the many things one is being exposed to.

      -LM

    119. Re:Cry Me A River by Nethemas+the+Great · · Score: 1

      Mundanes don't get to join all the clubs, but then in a similar fashion most geeks would make a piss poor brick layer. I'm sorry but that's reality. His whining rant however, doesn't understand the reality that even within software development there actually is a broad spectrum of ability. You have a range of people from the Donald Knuths to the lowly monkey bashing on the keyboard producing bottom tier web sites and Excel spreadsheets.

      The requirements of front end development for sophisticated web applications I will agree is completely unnecessary bullsh*t. The ironic part of that however is that the cause much of it stems from the original goals of making it easier for mundanes to put together web sites. Regardless that's not the only game in town, and there are plenty of areas for the not so "elite" to develop for.

      --
      Two of my imaginary friends reproduced once ... with negative results.
    120. Re:Cry Me A River by narcc · · Score: 1

      One stupidity is global variables by default unless you use var every single time.

      Fail! That's not entirely true for reasons that are obvious if you understand the language. Nice repeated meme though.

      If your data is full of 64-bit integers, tough.

      Or just use a bigint library, like users of other languages have done for years.

      Really, if that's the best you manage, I'd love to see what language you think is well-designed. I guarantee that I can offer a criticism far more convincing that the one you've offered here.

      Try learning the language first. You'll find that forming your own informed opinions is far more rewarding than the cheap up-mod you get for repeating nonsense.

    121. Re:Cry Me A River by Anonymous Coward · · Score: 0

      The ones that aid web literacy
      Real programmers use Rust anyway.

    122. Re:Cry Me A River by josquin9 · · Score: 1

      There are a lot of comments here that are not very charitable, but, then, it IS Slashdot (Where the elite come to snark.)

      Many people know that they would like to be able to use a computer to do something for which there are currently no apps available. They also know that the subject matter knowledge that they have would take years for a programmer to learn, and more investment of effort than most people would be willing to make. Their knowledge is every bit as critical as that of the programmer, and every bit as difficult to fully understand. They may not need a marketable app with all manner of multimedia extensions, don't foresee a sufficient market to cover the cost of a professional programmer, or else they do not believe that a programmer can get up to speed on the particulars of their problem to see all of the potential pitfalls any faster than they can get up to speed on the programming side of the problem. Coding expertise is valuable, but it is not the only valuable aspect of a program.

      The great mass of non-programmers only hear the marketing news that makes it to the mainstream media, which usually consists of statements about how much easier programming is with product X. They, not unjustifiably, assume that after 25 years of such announcements, programming languages must be much easier and more powerful than they were when they took Basic in high school, 20 years ago.

      Combine that with the archetypal image many people have in the back of their minds about computing, the Enterprise computer from Star Trek, and futurists promising computers with natural language interfaces (bolstered by commercials featuring Siri) and it's not unreasonable for them to believe that it may be possible for them to attempt a more complex problem than they are able to with current tools. They aren't meaning to be insulting when they think it should be easier. They are just going on the information they have and trying to figure out what their most efficient option is, between the frustration of learning to code, and the frustration of working with a coder on a project where they will have to teach a coder about all of the ins and outs of their discipline. All of the time that you spent learning to code, of which you are justifiably proud, an architect or engineer spent learning about structure, a doctor spent learning about medicine, a linguist spent learning about language.

      To a coder, the app is the solution to a problem. To the user, the app is just a tool that may help them find a solution. To them, the coder only sees a small part of the big picture, and may have no commitment to what they understand as the real issue.

      The suggestion that you as a professional coder could master their expertise sufficiently to solve their problem over the course of a project may be every bit as insulting to them as their belief that programming may be something they could learn over the course of a project is to you.

    123. Re:Cry Me A River by phaggood · · Score: 1

      > Any game developer will currently be using basically the same toolset as they used in 2000.

      Well, 2005 maybe

    124. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Because you can't use Turbo Pascal to make web pages

      Really?

      Now not that I would. But you *could* do it. Everything you need would be there it had a fairly robust string manipulation library and a decent inheritance mechanism.

      The point is there are too many libraries. There are not very many good ones. People are using google as a crutch to tinker something together and hope its good enough to get their boss off their backs.

      The best projects out there go thru a purge period. Where they decide what to toss out and what to keep. You should not need 40 different libraries to do something. Most of the things people do are not that complex.

      I worked on a project that was meant for embedded controllers. The we got 'the new guy'. He was 'so productive' because he dragged in all these different libraries for 1 function call out of each. Binary size went from 50k to 750k plus the libraries of 3 meg. Woops no longer fit in our flash. Then he got mad at me for pointing it out repeatedly in code reviews. Then he got political and had me removed from the team by a series of bcc emails. It took him 2 years to unwide the mess he had and ended up doing exactly what I told him to do in the first place. Woops missed product window and sr level vp's are mega pissed about the 'millions down the toilet'. All because some dingleberry decided hey those external libraries let me do something in a couple of hours instead of a day or two.

      External libraries should be added to many projects with caution. You create a dependency of dll hell. Questions like 'what happens if a new version comes out?' 'what happens if they release a patch for a security hole'? 'how do I update and more importantly get my customers updated and not break them?'

      I am not saying re-write the CRT or anything like that. But use the thing holding your ears apart and say 'do I reallllly need that library' or do I just need a function?

    125. Re:Cry Me A River by ruir · · Score: 1

      Unix for 80286 please.

    126. Re:Cry Me A River by Anonymous Coward · · Score: 0

      that just shows that there are more "normal people" programmers involved in creating that stuff not the "elite super programmers" that the article says are required.

    127. Re:Cry Me A River by BlackHawk-666 · · Score: 2

      Is now a good time to admit that I learnt BASIC programming from a book titled "Teach Yourself BASIC in 8 Hours" or something very much like that? To be fair, it was sometime around 1980 and you really could learn BASIC in that amount of time, with change left over to learn fun memory locations to PEEK and POKE. I was writing my own games before I made it to the end of the book.

      You can learn Lua in under 8 hours, but really, that's just the syntax - the hard part of learning any language is learning it's libraries and good programming standards for that language. Lua is generally embedded, so you'd need to learn how to call into the host system and what calls it provides.

      You can't learn how to build a highly optimised, always available, secure e-commerce trading platform in 8 hours.

      I guess the underlying issue is that you can learn how to program and achieve modest things in a short period of time, but some people expect to be able to engineer vastly complex software with just a few hours of effort into the craft, and that's just insane.

      People's expectations exceed their abilities to deal with complexity; therefore, they need to either scale back their expectations and learn to deal with and reduce complexity.

      --
      All those moments will be lost in time, like tears in rain.
    128. Re:Cry Me A River by devphaeton · · Score: 1

      I love that. Thanks for sharing!

      --


      do() || do_not(); // try();
    129. Re:Cry Me A River by TWX · · Score: 1

      The thing that bugs me the most is having to use node.js and ruby packages when there are Debian or Ubuntu packages for the same thing. I don't like it when there could be a situation with multiple, competing package managers writing the floor out from under each other.

      It also doesn't help that this solution was chosen because it's free, but the vendor that wrote it doesn't even offer paid support, they want you to use their cloud-based solution and this is the hook to get you addicted so that when it breaks, since there's no documentation worth referring to, one basically has to throw them money.

      --
      Do not look into laser with remaining eye.
    130. Re:Cry Me A River by BlackHawk-666 · · Score: 1

      "Many people including some "idiots off the street" seems to have wound up capable of bodging something really nasty together with exel and possibly powerpoint. Like it or not, that is programming."

      The worst crimes I've seen were committed with MS Access. One of the accountants decided he suddenly had programming chops and took it on himself to slap together the most god awful mess of half assed end of month reporting procedures. Once the mainframes had done their work we used to have to get in at 7AM and start the EOM processing on the PCs, consisting of dozens of different MS Access databases, dragging in tables, crunching numbers, often failing at various points, and hopefully pushing out more tables to be handled by some other broke ass bitch Access database.

      MS Access basically lowered the bar enough for an unskilled worker with no sense of perspective on his abilities to churn out a liability to the company that is probably still in operation today.

      They should have just used a few professionals to turn out a well designed system instead.

      --
      All those moments will be lost in time, like tears in rain.
    131. Re:Cry Me A River by BlackHawk-666 · · Score: 1

      "Of course, all of this was done in software designed by people without any engineering experience at all...go figure."

      You don't need to have an engineering degree to write a price of software that implements calculations and algorithms that are needed for an engineering project. Programmers turn math, algorithms, business methods, ideas and the like into code. That's our skill, understanding your needs and expressing it in a way a computer can understand.

      --
      All those moments will be lost in time, like tears in rain.
    132. Re:Cry Me A River by HiThere · · Score: 3, Interesting

      Bad example. The $10,000 hammer was because of the paperwork required to buy a single hammer for a high security project. Yes, it was extreme idiocy, but it WAS following the rules as specified, and the CIA wasn't involved.

      If they'd been buying 100,000 hammers it would have made a lot more sense, and the increment in the cost wouldn't have been so absurd.

      What's really sickening is that there was a project that carefully specified the particular alloys and heat treatment that the nuts and bolts were to have, paid for them, and the contractor supplied off-the-shelf nuts and bolts from a hardware store. This was determined after the cause of failure was found to be a split nut. The spec'd one wouldn't have failed. The cheap nut ended up costing a lot more than $10,000.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    133. Re:Cry Me A River by DuckDodgers · · Score: 1

      I think anti-intellectualism is a problem, but I think the bigger problem is teaching people persistence in the face of discomfort and frustration when learning.

      I lucked out into the perfect learning environment through my own incompetence and laziness. Early in my career I was laid off, and I wasn't skilled enough to land a good job. I took the best job available as the lone developer at a company too poor to hire anyone better. In that environment, when problems appeared and features needed to built if I couldn't figure out the work it did not get done. In school and in previous jobs I would give up after an hour without progress and hand the problem to someone else. That wasn't an option, I had to keep trying different approaches until I got it right or quit and lose my income. Sometimes it took weeks for me to puzzle out features that required a five line code change. It was the most frustrating and stressful three or four years of my career - and I emerged from the other side somewhere near competent or at least three times more skilled than when I started. Now I seek out that kind of challenge, because every bit of mental anguish is just a small sign I'm broadening my horizons.

      It's clear most people in this field - most people in general - don't share this attitude. But I'm at a loss as to how to foster it.

    134. Re:Cry Me A River by HiThere · · Score: 1

      Personally I usually prefer geany or Kate. Vim is ok if you're already in a terminal environment, or if you're in a tight RAM situation, but that is a rare condition.

      Note, though, if I'm working on Java, I prefer NetBeans, because I don't know Java all that well. So it's nice to have a tool that says "you need to include this particular library", or "that syntax is invalid". If I were to really learn Java, however, I'd probably prefer geany or Kate.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    135. Re:Cry Me A River by Xyrus · · Score: 1

      No, it isn't.

      Tools are simpler and easier to use than ever, and this guy is mistaking nostalgia and innocence for actual difference.

      Developing anything other than a trivial web application requires in depth knowledge of several different technologies, along with a couple different languages, knowledge of browser quirks (no those big libraries don't always get them all), etc. Compared to traditional application development, web development is a bloated and complex mess, or as the original author wrote:

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs".

      This statement is absolutely true. The web was never intended for "applications". That happened later. And instead of going back and making the web more conducive for applications, we basically got the equivalent of bad case of technological diarrhea smeared across the web hoping that somehow it would just make everything stick together and work.

      Well, it works somewhat. But it certainly isn't pretty.

      --
      ~X~
    136. Re:Cry Me A River by phaggood · · Score: 3, Insightful

      So, what you're saying in effect is that you might put in a large investment on the tool (nailgun=$, framework=$time) from which you're hoping to get a long useful life, and perhaps buying those tools from a reputable company (nailgun=Dewalt,Craftsman, framework=Google,Adobe) with the expectation that the tool won't be discontinued/EOL'd and parts/repo's will remain available. The reality is that the nailgun/shiny IDE might not last as long as the older simpler stuff (hammers are older than neaderthals/VI is >30yrs old, Eclipse is 10, Webstorm is 2? 3?). And company reputation is no guarantor of longevity.

      However, if the Dewalt Model XJ-9 nailgun lasts 5yrs you can finish a helluva lot more roofs in that time than you could with a hammer. Perhaps then we should look at Angular, PhoneGap, nodeJS as specific models of nailguns from which we should extract as much 'juice' as we can in the 2-5yrs they might be useful and presume that we'll be using something else after that.

      Unfortunately, the roof/nailgun analogy completely falls apart when you realize that if some of the shingles fall off after the XJ-9 has been discontinued you can still use a regular hammer to fix it; whereas if Angular 3 is EOL'd in 2017 then your PhoneGap app built on it might be left with some vulnerability (all geolocation requests are hacked to only report your current location as the nearest strip club) that Google is not going to fix (having sold off their money-losing software biz in 2016 to focus on crowd pacification robots).

      And perhaps, instead of waking up every day wondering if today is the day the Yosemite super volcano or a planet killer comet wipes us all out, we should just dance (and code) while the sun shines and not worry so much about the future.

    137. Re:Cry Me A River by DuckDodgers · · Score: 1

      I am of course only speaking anecdotally, and I have no sense for the correct threshold.

      Inventing a quicksort requires a lot of luck and a high intelligence. Learning to apply a quicksort instead of a linear insertion sort is within reach of someone of average intelligence. Inventing a build automation tool, continuous integration servers, a unit testing framework, etc... all requires a great deal of intelligence. Learning how to use them is just patience. I probably wouldn't invite someone with average intelligence to a Google design meeting while you discussed some radical new way of manipulating large data sets. Or I would invite them, but not expect them to provide much input. But for implementation? Why not?

      I wouldn't expect an average guy to write a new scheduler for the Linux kernel and get it accepted. But modify some network driver to work with a new piece of hardware very similar to something that already exists? Why not?

    138. Re:Cry Me A River by Obfuscant · · Score: 1

      All you really need is Perl and PHP!

      What's PHP? If you have Perl you don't need it, whatever it is.

    139. Re:Cry Me A River by DickBreath · · Score: 2

      I learned BASIC in 1977, about the same way, and about as quickly.

      And I was writing a few BASIC programs shortly thereafter. But they are today what I would call TRIVIAL. Things that I would do in a single method of a modern language. With much better style, correctness, comprehensibility and maintainability.

      Having just learned programming myself doesn't mean I was by any means an expert ready to work on big commercial problems worth lots of money. It took years more to learn a lot of important things. Structured Programming (aka giving up GOTO). Encapsulation. Information hiding. Data structures and dynamic memory. Algorithms. Understanding performance classification of algorithms. Understanding how the machine works at the low level. Writing toy or elementary compilers. Learning a LISP language (pick any one, they will teach you the same important and valuable lessons). Learning databases. How they work as well as how to use them. Read a few good books on human interface design before building a complex GUI program. I could go on and on.


      > You can't learn how to build a highly optimised, always available, secure e-commerce trading platform in 8 hours.

      Correct. The point here I think is that to have all of the valuable skills that makes you good at something, and fast at it, and apparently able to recognize the solutions to problems very quickly is -- lots and lots of study and practice. Years of learning. Failures (hopefully on some of your own toy problems first rather than commercial ones). Figuring out how to debug complex systems -- without or prior to the existence of source level debuggers.

      I don't have a lot of sympathy for those who cry because employers want skilled programmers. Well, professional sports teams want skilled players. And modelling agencies want beautiful people. These things come with some combination of luck of the draw and effort to take advantage of it. (Those models don't eat donuts, for example.) I also think computer geeks should be able to cry and whine that humanities studies are unfair.

      --

      I'll see your senator, and I'll raise you two judges.
    140. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Normal humans are excluded from a lot of things.
      1. Olympic Gold Medal
      2. 5x Jeopardy Champion
      3. Professional Concert Pianist
      4. Bolshoi Ballet
      5. Supermodel
      etc.
      The idea is to find your niche in life and exploit it. Not call the whaaambulance.

      Don't be stupid. None of those 5 things you list are of any use to society if more people can do them. Whereas with software, if everyone could do it, the world would be a better place, with lots more ideas and cool apps.

    141. Re: Cry Me A River by Anonymous Coward · · Score: 0

      This is actually interesting.
      I've seen framework after framework. Extensions after extension. App monitoring software after...you get the jist. I don't know who these people are and there seems to be an abundance of them all suggesting I use their bits with numerous github repos.

      I say no. Reimplement their bits my own way (without looking at their code) in half the time along with ACTUALLY DOING THE WEB APP THAT ACTUALLY MATTERS.

      So no. These aren't making anything easier for me. Making all the these (done in a weekend - so I'm done - thankyou and good night) extensions to frameworks is easy. Building a custom designed application after years of R&D, mockups, and actual real world problem solving and creative ideas is the hard part - and really shows ones merit.

    142. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Macs come with Python and Ruby preinstalled not to mention XCode (with LLVM) is a free download from the app store. If people wanted to program, they would program. There is almost no barrier to entry other than to find a computer somewhere.

    143. Re:Cry Me A River by Anonymous Coward · · Score: 0

      It wasn't an artical. It was a rant. It was a bunch of confused buzz words mixed in with opinion and bias.

    144. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Text editor, web framework and the f5 key.

      Get a clue newb. Way ahead of ya.

    145. Re:Cry Me A River by neonKow · · Score: 2

      Your problem appears to be the vendor, rather than the entirety of the web.

      Don't get me wrong: the web is definitely kludgy. It's just not quite as kludgy as this.

    146. Re:Cry Me A River by CronoCloud · · Score: 1

      In 1980, a kernel or driver developer was entering data into a mainframe using punchcards in binary

      http://en.wikipedia.org/wiki/3...
      http://en.wikipedia.org/wiki/V...
      http://en.wikipedia.org/wiki/V...

      They most certainly weren't using vim/emacs

      http://en.wikipedia.org/wiki/V... 1976
      http://en.wikipedia.org/wiki/E... also 1976

    147. Re:Cry Me A River by jemmyw · · Score: 1

      I agree but it's a difficult situation. A lot of the interpreted languages (ruby, php, perl, python, node) offer a standalone packager of some kind. Then the linux distros offer *some* integration so that you can install those packages their way, or get access to precompiled versions of ones that require it. In my experience that integration has always been the pain point.

    148. Re:Cry Me A River by Tablizer · · Score: 1

      I realize that there is an overlap between "document layout" issues and GUI issues, but believe that perhaps we have to separate these issues in order to focus on doing each well.

      My draft GUI markup suggestion(s) uses HTML as a base because it's established and does initial layout "good enough". (Although I'd like an MDI option added: true sub-windows.) It's mostly the interaction between parts and pages that is lacking, such as drag-and-drop, scrolling tables, and value or element refreshing without re-rendering the entire page (AJAX-like without AJAX).

      You can see some of these suggestions at: http://c2.com/cgi/wiki?GuiMark...

    149. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I also spend way more time thinking about (and documenting) my designs and approaches beforehand.
      I am quite lazy and I found this to be a way of saving my time for anything non-trivial.

      Typing out the designs and their justifications helps me to internalize them for future projects.
      Some prototyping also goes on of course, especially when there's something new in the mix like a new API or whatever.

      When it becomes time to code it is all over in a blur of typing, copy&paste and invocation of IDE shortcuts.
      I do find that the IDE's ability to quickly and easily transform code (refactoring renaming etc.) is extremely useful during the prototyping phase.

    150. Re: Cry Me A River by Anonymous Coward · · Score: 0

      From where i am sitting ARM won. They designed the CPU i am typing this on, and that most of my projects target. And the tools run on .net bytecode on various platforms. Sure intel is ok for running eeprom burners on though.

    151. Re:Cry Me A River by Dishevel · · Score: 1

      If you have perl you have the world.

      --
      Why is it so hard to only have politicians for a few years, then have them go away?
    152. Re:Cry Me A River by AK+Marc · · Score: 1

      but "the internet" is emphatically not close to error free.

      Yes, it is. They had a few problems because it was designed as a private network, then expanded to a network of private networks. I was on the Internet before DHCP was "invented". The Internet was very static, and any logs did a good job of identifying a specific person. There was the perception of anonymity, but there was no actual anonymity, and that was known at the time.

      Fast forward to today. Security is such an issue because there was no security built into the network. That isn't an "error", that's by design. It was just considered easier to use bad security than design it for private access from mostly dynamic clients.

      That and the people building it on 9600 LAN speeds never considered 10 Gbps WAN links, so many of the speed and QoS options are not optimized for today's networks.

      There are a lot of things I'd have done differently, if we were building it new today, but what "errors" do you see in the Internet, besides the lack of a crystal ball by those building it?

    153. Re:Cry Me A River by retchdog · · Score: 1

      A culture without loyalty is doomed. Now we will see what happens when loyalty is not only worthless, but actively detrimental.

      --
      "They were pure niggers." – Noam Chomsky
    154. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Part of that persistence is to spend time retrospecting in order to gain insights.
      Without this step you can spend as long as you like without improving much beyond beginner level.

    155. Re:Cry Me A River by gbjbaanb · · Score: 1

      I guess the old days we ignored the "cool new stuff" until it had proven itself capable. I don't know why that has changed - probably the web hyping crap at us from some corporate marketing department.

      In particular I find Microsoft the worst offender. I mean, once upon a time we used ODBC to connect to databases. Then they came up with DAO, or Jet, or RDO, or ADO, OLEDB, or ADO.NET, or Linq2SQL, or EF or Native Client, or now they're preferred standard ... ODBC.

      Or just ask any Silverlight developer what they think.

      What we used to do years ago was basically stick to the tooling we knew and what would now be a new tool or framework was described in terms of documentation - a kind of "this is how you do it" article.

      I know we have to have some development in technologies - but we don't have that, we have churn instead.

      For web development, was old CGI perl that bad? Not really. Was PHP better? possibly. Was Perl scripts so bad that we had to change it all to PHP., then Java, then Python, then Ruby, then Node.js and now... I'm not sure what's flavour-of-the-month now. Probably ASP.NET MVC 5 with the MVVMMVM patttern.

      You see, the difference is not that we have the tools that allow you to spend 20 hours throwing something together, you have a totally different stack that takes just as long as it used to.

    156. Re:Cry Me A River by Pinhedd · · Score: 1

      I think that you may be off by a few decades

    157. Re:Cry Me A River by strikethree · · Score: 1

      How inappropriate to call this planet Earth, when clearly it is Ocean.

      And what does that Ocean sit on top of? (sorry, had to.)

      You have fallen victim to judging things by their shallow surface appearance. How many miles deep does the ocean go? I guarantee you it is less than 10 miles. Compared to how many miles of Earth? ;)

      --
      "Someone needs to talk to the tree of liberty about its ghoulish drinking problem." by ohnocitizen
    158. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Bullshit. In 1980 there was the UCSD P-System and Apple Pascal. Heck, my High School even had a Western Digital Pascal Microengine!

    159. Re:Cry Me A River by Anonymous Coward · · Score: 0

      If you first learned Unix shell script programming, then Powershell is the hot girl you took home from the bar only to find out that she's really a man.

    160. Re:Cry Me A River by Anonymous Coward · · Score: 0

      And yet the people that needs to hire professional programmers seems to be constantly obsessed with making the field accessible to everybody and her sister, as if programming should be something any idiot off the street can do easily.

      FTFY. You're welcome.

    161. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Javascript is turing complete and jquery doesn't fix anything about it. Jquery is a framework that attempts to correct the fact that different browser implement the language spec differently. It's a framework mainly for handling Dom manipulation and has some interesting functions that make things go a bit quicker. I still have yet to even see a piece of code done with Jquery that wasn't a fragile unmanageable piece of garbage once it is trying to solve non trivial functionality.That's why there are mvvm frameworks.

    162. Re:Cry Me A River by wisnoskij · · Score: 1

      OK, but it does not matter how advanced your tools are programming is about ADVANCED algorithmic knowledge. to build programs worth having you NEED years and years and years of training and a vast store of knowledge. Yes, it is worth creating VB and similar language for amateurs to have a little fun with but Microsoft is never going to hire minimum wage people just out of highschool to program Windows 20 with some drag and drop shit programming language.

      --
      Troll is not a replacement for I disagree.
    163. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Your post is a perfect example of why engineers and architects don't always get along.

    164. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Many of the hacks and kludges are written by programmers who are either A-never had a formal education in the real nuts and bolts of computer science or B-too lazy to do things the right way.
      Others are dictated by a pointy-haired-boss against the reccomendation of the programmer.
      And then of course there are the business requirements that are written by people who have no clue how to write a legible sentence.

      Oh and dont let me forget the basic tools that people use for way more than they are designed for.
      *Excel is NOT a database and should NOT be used for multi-user data entry!*

      I've seen all the above.
      I remember about 10 years ago i found a bug in our HL7 interface. The interface rejected any message that was a certain length (or multiple of that length).
      The programmer simply added a line that stated if the message was that length, add a charater to the end of it.

      Anyway, I could go on and on about examples. But the reality is that any good programmer can make their own tools that do 90% of the work, but must be able to do the hard work that pushes them over that last 10%.

    165. Re:Cry Me A River by Archangel+Michael · · Score: 1

      You're right. But the problem is, loyalty is a two way street. If an employer doesn't value existing employees to pay them what the market rate is, or even reasonably close, deserve to lose them to people willing to pay for it all. If my boss hired someone to do what I do, with less skill and experience than me, for more than I make, while being unwilling to even negotiate with me on a raise .... see ya boos!

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    166. Re: Cry Me A River by shutdown+-p+now · · Score: 1

      How can they even whet their childhood apetite with simple code if Windows no longer includes the QBASIC exe?

      It does include csc.exe and vbc.exe, however.

      An extremely complex barrier to entry needs to be overcome if they want Windows native code

      Why would regular people care specifically about having "Windows native code"?

    167. Re:Cry Me A River by complete+loony · · Score: 1

      "Nobody really buys hammers anymore. ... Everyone is using a general-purpose tool-building factory factory factory".

      http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12&

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    168. Re:Cry Me A River by JMJimmy · · Score: 1

      Angular.js/ng-grid are not exactly coded by "normal" people.

    169. Re:Cry Me A River by Rakarra · · Score: 1

      I remember when I first started using email and the Internet in 1993, people thought the idea that you could get a virus just from opening an email (any email) was a joke. An urban legend. It didn't take long for times to radically change.

    170. Re:Cry Me A River by Rakarra · · Score: 1

      On one hand...

      No, he has a point. Back in the day, we had few tools and we learned how to use them.

      And every web page looked like Geocities. There was no interactivity, there was no visual polish, there was no load-on-demand. These days we just expect more from our experiences.

      And on the other hand...

      now, we have a tool for every hour of the week, and as soon as you've mastered one, someone comes along and says "your skills are sooo obsolete, you must learn now or fall behind", so you get to grips with it and start top master it, and then realise its a pile of poop and hunt around for a new, cooler tech to use instead.

      Possibly due to the decline of standards. Remember when HTML, NNTP, SMTP all how strict operating standards? As long as your client spoke the language properly, you could choose your frontend interface. Now every web site has their own private code for how to handle comments. Some sites like Disqus are trying to make a unified interface/login, but we're still at just a fraction of the usability that we had 15 years ago.

    171. Re:Cry Me A River by donscarletti · · Score: 2

      However, one thing that has always bothered me is when we say "well we're using ruby xx.xx (or node xx.xx or php xx.xx or whatever) on our development machines, so we must install that version on production" and then the hoops taken to do that. It should be "production can run ruby xx.xx so that's what you have to develop against".

      I doubt that will ever be the case.

      The main issue is, developers usually have a work backlog and those in charge have very little interest in what version everyone is running. If it already works on _a_ platform version, then chances are that the users will get better value for the developers time through adding another feature to the web app itself, than whatever benefits the upgrade or downgrade in platform version will bring.

      You can try negotiating with the development team before the work commences though, or putting it in the initial delivery requirements if it is outsourced. It's just you would have to take initiative here, since nobody in your average business would consider operations to be a stakeholder until the system is live, so nobody is going to go out of their way ask you.

      --
      When Argumentum ad Hominem falls short, try Argumentum ad Matrem
    172. Re:Cry Me A River by mysidia · · Score: 1

      6. Mathematician
      7. Physicist
      8. Doctor
      9. Electrical Engineering

    173. Re: Cry Me A River by Anonymous Coward · · Score: 0

      My department has a mix of people doing java in Eclipse/IntelliJ vs emacs/vim. It takes a much more skilled user to deal with that particular language in a text editor, and they seem to have much shorter dev/build/test cycles. I'd argue the language is too broken for proper development - an IDE is essentially a necessity unless you're willing to extend the hell out of your editor.

    174. Re:Cry Me A River by mysidia · · Score: 1

      the contractor supplied off-the-shelf nuts and bolts from a hardware store.

      Sounds like criminal fraud.... I hope those responsible or the contractors' management are spending a long time in jail after paying for all losses incurred due to the failure plus the costs of paying another contractor to fix it and bring everything up to the spec promised.

    175. Re:Cry Me A River by mattack2 · · Score: 1

      Nowadays, the Intel architecture won...

      I think ARM Holdings (https://en.wikipedia.org/wiki/ARM_Holdings) and its licensees would like a word with you.

    176. Re:Cry Me A River by retchdog · · Score: 1

      i wasn't blaming you, and yes, 'they' drew first blood on this. it's just a shame that it goes this way.

      it's another piece of capital that never ends up on the balance sheets and is thus disposable: trained workers who aren't backstabbing betrayers out of necessity. pfft! gone.

      --
      "They were pure niggers." – Noam Chomsky
    177. Re:Cry Me A River by PJ6 · · Score: 1

      "The web is just an enormous stack of kluges upon hacks upon misbegotten designs

      Actually, the web is an enormous stack of kluges piled on top of a standard applied at an entirely inappropriate level of abstraction.

      The problem isn't with programming or its tools, it's that HTML desperately needs to be replaced with something lower-level.

    178. Re:Cry Me A River by TWX · · Score: 1

      Heh. I expect that the 'normal people' as referred to in the original article would find their use for the hammer in this analogy to be more on-par with their needs. They need to occasionally program something so that creation will do something for them.

      To your other point, I had to do some maintenance on some 10+ year old perl today on a legacy system. I used vim, and while I'd never worked in perl before it was enough like C that I was able to make do. The script just does some network monitoring and presents an up/down list on equipment and is only about 150 lines long and reads from a 1500-entry flat-file, but that I was able to just jump-in and work on it without experience and that it needs little more than mod_perl says a lot for basic, normal-people languages and development environments.

      --
      Do not look into laser with remaining eye.
    179. Re:Cry Me A River by jrumney · · Score: 1

      In 1980, Xenix did not exist yet.

    180. Re:Cry Me A River by jrumney · · Score: 1

      I said vim, not vi. I'm well aware that vi goes back further, but nobody in their right mind would consider using the original vi as their primary development tool these days. And Emacs goes back to 1985, not 1972. Sure, it can trace its roots back to ed, from 1972, but it is even less like ed than vim is like vi.

    181. Re:Cry Me A River by jrumney · · Score: 1

      One decade maybe. But the primary development environment for kernel and driver work today still looks very different than in 1980.

    182. Re:Cry Me A River by oursland · · Score: 1

      There is no IDE or language that can help with that part of the problem.

      And that's not fair! What we need is a Handicapper General.

    183. Re:Cry Me A River by plover · · Score: 1

      What I think a lot of the utopian visions miss, as well as a lot of the posters here, is that the problems with programming are not problems with the tools, but with the code that these amateurs produce. Writing clean, clear, correct, modular, maintainable, tested, and reusable code is still a skill that takes time to learn.

      Generally, most people understand following a sequence of steps to achieve a goal. They can follow a recipe's steps to bake a cake. Some can even write down the steps they took to accomplish a task, which is the beginning of automating it; but recording and playing back steps is certainly not all there is to programming. Almost anyone who can write steps down can then learn enough of a language to string together a dozen or even a hundred individual steps to then achieve a goal: StepA(foo); bar = StepB(foo); StepC(foo,bar); ... another 97 steps here...; return(). The problem is that because writing down all those steps is possible, people who manage to do it once think they're programming. But all they're really doing is scripting.

      Once someone tries to add logic to their scripts, the resultant code is generally buggy, slow, difficult to maintain, impossible to test, and probably should not be put into production, let alone reused. What a professional software developer does is recognizes the difference. He or she uses his or her experience, skills, and knowledge to organize those instructions into small groups of functionality, and wraps them into readable, testable, reusable, methods. He or she recognizes dependencies in the code, follows design principles to ensure they are properly organized, groups related methods into classes or modules, knows when to follow design patterns and when to break from them, groups related areas of modules into architectural layers, and wraps the layers with clean, testable, usable interfaces. He or she knows how to secure the code against various types of attack or misuse, and to properly protect the data it's been entrusted with. He or she understands validation, authorization, authentication, roles, sanitization, whitelisting, and blacklisting. And he or she understands the many forms of testing needed, including unit testing, system testing, integration testing, fuzz testing, pen testing, performance testing, as well as tools to evaluate the code, such as static code analysis and metrics.

      On the other end of the developer's life are the inputs to the processes: requirements, stories, use cases, usability, scalability, performance. They know that following certain development methodologies can make a great deal of difference to the software's quality. And then there are the realities of all the non software development issues: equipment, firewall rules, IDPs, networking, vendor contracts, software licensing, hosting, distribution, installation, support, bug tracking, and even sales.

      Tools can help with all of these steps, but as you pointed out, having a word processor does not make one a poet.

      --
      John
    184. Re:Cry Me A River by LordLimecat · · Score: 1

      Powershell is object-oriented, and unlike bash scripting, its command names have some semblance of order and discoverability. No, man is not comparable to "get-help"

    185. Re:Cry Me A River by tepples · · Score: 1

      global variables by default unless you use var every single time

      Fail! That's not entirely true for reasons that are obvious if you understand the language. Nice repeated meme though.

      Please state the points that I should learn about the language in order for the reasons to become obvious to me. I do know that not all JavaScript interpreters in use support the semantics of "use strict".

      Or just use a bigint library, like users of other languages have done for years.

      Is there one bigint library on which programmers have standardized, or will three different libraries that I include each bring in their own separate bigint library dependency?

      Try learning the language first.

      Once I do start to learn the language, how should I go about determining whether the extent to which I have learned the language is enough to allow me not to make a fool of myself here on Slashdot?

    186. Re:Cry Me A River by Pinhedd · · Score: 1

      I'm certain that it's different, but it is not fundamentally different. The person that you responded to did not claim that it is the same environment but rather one that has more or less the same toolset. All of them will still be built around a C-compiler, build tools, and a debugger.

    187. Re:Cry Me A River by gbjbaanb · · Score: 1

      And every web page looked like Geocities

      And today every web page looks like Facebook.

      I blame the developers.

    188. Re:Cry Me A River by Anonymous Coward · · Score: 0

      No, they aren't. I programmed in ye olde days of yore, and I still program, so I can say with some experience: the web really is just an enormous stack of kludges upon hacks upon misbegotten designs when compared to ye olden times.

    189. Re:Cry Me A River by Anonymous Coward · · Score: 0

      BINGO! You hit the nail on the head. I don't understand the hostility some people have on here to other people learning to code. This sort of attitude turns people off from even trying. Some on here believe you have to be some sort of genius in order to code even the most simplest of programs. If the level of hostility towards programming newbies on Slashdot is anything to go by I would hate to be a newbie asking them for any help or encouragement. The message to newbies by many on here seems to be "YOUR TOO STUPID TO CODE! GET LOST! NEWCOMERS NOT WELCOME!"

      It seems like they want to keep the programming field a small exclusive club in order to stroke their egos making them think they are some rare precious snowflake who deserves to earn big bucks for putting out buggy code with more security holes than the Alamo. If some of you Programmers are so smart then how come many of you turn out buggy code with all kinds of security holes? I have yet to come across bug free software that didn't need a security patch at some point in time.

    190. Re: Cry Me A River by nedlohs · · Score: 1

      Because there's this thing called the internet. Which makes it surprisingly easy to install software that didn't come by default with the computer.

      If they want Windows native code they are doing it wrong anyway. Why would somebody wanting to do something simple add such a ridiculous and unnecessary technical requirement before they even start?

      What advantage do you see in microsoft qbasic over microsoft small basic anyway?

    191. Re:Cry Me A River by narcc · · Score: 1

      I do know that not all JavaScript interpreters in use support the semantics of "use strict".

      That's not what I was referring.

      how should I go about determining whether the extent to which I have learned the language is enough to allow me not to make a fool of myself here on Slashdot?

      When you stop getting abused on c.l.j? The easiest way to not say silly things is to check to make sure that what you're saying is accurate.

    192. Re:Cry Me A River by josquin9 · · Score: 1

      Back in the days before SCO was sold to dark side patent trolls. SCO was my father's OS of choice.

    193. Re:Cry Me A River by Archangel+Michael · · Score: 1

      It is short sighted indeed. It is way more expensive to replace good workers than it is to retain them. But they don't teach this in Business school any longer.

      --
      Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
    194. Re:Cry Me A River by micahraleigh · · Score: 0

      Kernel developer + driver developer + game developer = 3% of job postings

    195. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Normal humans are excluded from a lot of things.

      1. Olympic Gold Medal
      2. 5x Jeopardy Champion
      3. Professional Concert Pianist
      4. Bolshoi Ballet
      5. Supermodel

      etc.

      The idea is to find your niche in life and exploit it. Not call the whaaambulance.

      I almost cried out Ahmen while reading this. That was until I read your comment and concluded you were absolutely right on point.

    196. Re:Cry Me A River by Marxist+Hacker+42 · · Score: 1

      I wish I could mod this up.

      I recently learned Microsoft MVC, being an old application programmer. Once I grasped the concept, I ended up with three competing database models to the same bloody schema in SQL Server, because some controls use AJAX/Entity Framework, others JSON/SQLDataObject, still others a SQLClient loaded on page load.

      I got it to work, but what a rube goldberg machine it is, complete with the maintenance headache that implies.

      --
      SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
    197. Re:Cry Me A River by glowend · · Score: 1

      Normal humans are excluded from a lot of things.

      1. Olympic Gold Medal 2. 5x Jeopardy Champion 3. Professional Concert Pianist 4. Bolshoi Ballet 5. Supermodel

      etc.

      The idea is to find your niche in life and exploit it. Not call the whaaambulance.

      This is a bogus comparison. We need a lot more programmers than all of the aforementioned categories put together.

    198. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Normal humans are excluded from a lot of things.

      1. Olympic Gold Medal
      2. 5x Jeopardy Champion
      3. Professional Concert Pianist
      4. Bolshoi Ballet
      5. Supermodel

      etc.

      The idea is to find your niche in life and exploit it. Not call the whaaambulance.

      Medicine

    199. Re:Cry Me A River by Grishnakh · · Score: 1

      We already have what you're asking for: it's called "QML", which is part of the Qt toolkit.

    200. Re:Cry Me A River by bhiestand · · Score: 1

      Hell, take things "programmed" in Excel for that matter. I've seen people use 3 columns to do things which could've been written in 1 operation especially when it comes to adding percentages to a value (they'll calculate 4%, then add it's outcome to the source value to get a +4% and then hide the other 2 columns instead of just doing 104%). That will take them 2 hours to complete.

      I agree with your point. But to be fair, I have seen 'geniuses' use one formula to do things which could have been written in 50 columns. There are advantages to breaking up the formula and "showing your work" in hidden columns. I hate trying to debug or change formulas with a thousand parentheses. Now if we can only get people to make their excel formulas readable and then start documenting...

      --
      SWM seeks new sig for a brief fling
    201. Re:Cry Me A River by kailasnatha · · Score: 1

      He's way out of touch. e.g. mentions Hypercard, but is clueless that this xTalk lives on... big time as LiveCode. (the only language I know. and I am not a "programmer" but I can deploy apps to iOS, android, linux, windows and use the same code on our web server). Mozilla is breaking new ground with a web based IDE that even your little sister can use to do apps. I'm sure others could add to the list here. And he's also blinkered to the whole development process where "normal people" are involved in the front end of usage based design. Creating a really good functional specification (at least initially even if you do Agile,and ongoing feed back if you do use Agile) requires "normal" people be involved. Creating software is more than just about coding a function to fetch some JSON from Googles API. I actually could use some "normal people" to help me diagram apps for edu. They don't need to know how to code anything. Programmers who build without collaboration with "Normal people" may be doing great deep system stuff, but nothing really useful for public consumption. The very idea that because you don't know how to program, you can't be involved in developing software is flawed. It's like saying you can't plan a party because you don't know how to cook.

    202. Re:Cry Me A River by Desler · · Score: 1

      It was released in 1980. So, yes, it did.

    203. Re:Cry Me A River by HiThere · · Score: 1

      I simplified. The actual contractor subcontracted to a foreign subcontractor (with the appropriate requirements). Their actual failing was that they didn't test that the supplied parts met the specs. (This would have been difficult to do without disassembling the subcomponent.)

      So, yes, I agree that it was criminal fraud. But I don't think it was ever prosecuted.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    204. Re:Cry Me A River by TemporalBeing · · Score: 1

      "Of course, all of this was done in software designed by people without any engineering experience at all...go figure."

      You don't need to have an engineering degree to write a price of software that implements calculations and algorithms that are needed for an engineering project. Programmers turn math, algorithms, business methods, ideas and the like into code. That's our skill, understanding your needs and expressing it in a way a computer can understand.

      I was just noting the irony. That said, I would personally put forward that people doing programming in the real world need a software engineering degree, not a computer science degree as you don't do computer science when writing real-world applications - you apply the principles of Computer Science in an disciplined/engineering methodology.

      But then, software engineering as a discipline is in such poor shape that it is not really helpful to anyone but NASA and DOD as currently defined, and that needs to change.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    205. Re:Cry Me A River by jwhitener · · Score: 1

      Completely depends what environment you are working in, and what systems you need to interface with. A web app can become extremely complex, with a huge number of dependencies, very quickly.

      http://nodejs.org
      https://www.npmjs.org
      https://angularjs.org
      http://bower.io
      http://karma-runner.github.io/0.8/index.html
      http://yeoman.io

      All that stuff works together. Kinda. Then add in all the front end support like SASS (Using Compass of course), etc.. etc.. etc..

      OK, now you've got your 8-9 different software pieces and are ready to start making your webapp. And it needs to talk to Amazon, Google, and Facebook. You so dive into all those API's, etc.. but it still needs to interface with your local databases and user directories, so you aren't just dealing with REST API's, Google OAuth, etc.., but local drivers and SQL and LDAP calls.

      And this is just on the developer side of things. I haven't even started on the web server / administration side of things.

      Granted, very few people have to specialize in all the stuff at once (front end, middle ware, api/rest developer coding, servers) but to say that "making a web site" is easier than ever before, really depends on what your web site is doing and how you are required to build it.

      I mean, sure, I can set up a word press site using a host like Dreamhost in 10 minutes. But I suspect that statements like "The web is just an enormous stack of kluges upon hacks upon misbegotten designs" is really referring to sets of interdependent software like I listed above. Ruby/Rails has its own universe, Groovy/Grails, Spring, Django, etc.. there are a million ways of doing things, and it can be very overwhelming sometimes.

    206. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Except the article isn't about being an elite programmer. It's just about being an ordinary programmer. Normal humans are not excluded from being professional athletes, they just need to put in the hours required to become good at it, and they don't have to be 'Olympic Gold Medal' winners, which would be considered an elite standing.

      5x Jeopardy Champ ... well, once again that's the elite end. Nothing stops a normal human from going on Wheel of Fortune or other game/quiz shows.

      Professional Concert Pianist ... once again the elite end of the spectrum. Normal people can make a living as a pianist without needing to be an elite pianist.

      Bolshoi Ballet ... lots of normal people can be dancers without needing to be int he Bolshoi.

      Supermodel ... lots of normal people can make living being models without having to make it to the 'super' elite end of the spectrum.

      Funnily enough, this is the exact point Edwards is trying to make. Businesses don't need to have a John Carmack or Linus Torvalds when all they need is someone to write up simple VBA macros, or program a website, or a relatively simple web app. It's a matter of horses for courses. When only rudimentary programming is needed, you can use a normal person and get a product that doesn't fall over and is easy to use.

    207. Re:Cry Me A River by BlackHawk-666 · · Score: 1

      Software engineering has a tendency to enshrine ivory tower principles, that - although sound and logical, can end up making your project large, slow bloated and excessively encapsulated. I'm happy that NASA and the DoD both use it, those things need to be rock solid, but it just doesn't make sense for a lot of businesses where being first to market is more important than any code refactoring issues you might have 2 years down the track. Being slow to market might mean you don't even have a business 12 months from now.

      Good programmers know when to lay on the engineering and when to pull out the stops and slap something together that does the job "just good enough". That's part of what makes it an art, not a science.

      --
      All those moments will be lost in time, like tears in rain.
    208. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Java was around in 1994, but the toolsets are basically single-pass source-to-object and (if you consider a jar file as being just a java archive) an iterative single-pass object-to-library, making them indistinguishable from toolsets that are far earlier. When all that is changed is some syntactical sugar, it is very hard to justify calling it a new toolset. Especially as most of the modern sugar goes back to Smalltalk. Really, Java's just a C/Smalltalk hybrid without pointers, which means everything existed in its modern form (from a developer's standpoint) circa 1980. The same goes with C#, D, etc.

      Modern 2D libraries aren't much more than a cleaned-up version of the Graphics Kernel System with sprites. Late 1970s, early 1980s technology at best. The Commodore 64 and Amiga boasted as rich a core feature set.

      3D is where it marginally starts to get interesting. The 3D "virtual reality" toolsets available circa 1989-1991 all worked on triangles, gave you the basic transforms and provided the concepts of shading. Distinguishing the graphics from the main program (a-la modern graphics cards) was mainstream in Unix thinking (think Tcl/Tk, but also think RPC where lightweight interfaces ran distinctly and even on different machines than the core program). It was also absolutely standard in software engineering/software architecture courses, where students were hammered with the idea that the logic should be distinct from I/O. However, no universal toolsets, per-se, actually existed for much of the time. There were attempts (PHIGS, for example) but no serious contenders. This could, maybe, marginally break the 2000 era for an accepted toolset. Marginally. The process is still suspiciously similar to PVM and MPI mechanisms of distributing the code, remotely starting it and then messaging it. Although MPI is definitely not a GUI toolkit, the processes involved and the coding used in any kind of distributed system are all suspiciously similar to it. In that case, CUDA, etc, are just syntactic sugar on a pre-existing framework that was already widely in use.

      Now, I don't seriously expect people who muck around in Unity or other gaming frameworks to be parallel programming wizards or to be able to fathom BCPL code. That's for those of us who are actually good. However, nothing they do is any different. The coding styles aren't, the toolchains are almost interchangeable (and, with source-to-source compilers around, they actually ARE interchangeable), the concepts haven't altered, optimization is still optimization, synchronization is still synchronization, you can almost reproduce C# through C and #defines, I'm not seeing this huge shocking difference in toolsets.

      The single-biggest set of jumps I've seen is from K&R C to ANSI C to C0x??. And what a big difference that was. Yawn.

      The low-level libraries are now either in hardware or as part of a standard kit, but the internals won't have changed and the APIs for all the routine stuff (rotating a shape, playing a soundfile, etc) are constrained by the internals. It's not until you get to much higher level logic that things have halfway changed, but even there an object is just a collection of data points with specific relationships. And if everything is triangle-based with no overlapping triangles in a plane, the relationships are limited. You're giving a reference to the start of a logical or physical data block, and maybe the end, end-of-story.

      The difference between now and then is that back then, it was hard to obtain standard libraries. Core mathematical libraries were restricted to those in University or who could smuggle them out in a format more useful than mag tape. People tended to write their own. But a stack's a stack, a queue's a queue, an FFT is an FFT, a 4x4 normalized matrix is a 4x4 normalized matrix and colour mixing was colour mixing. The actual, meaningful differences came down to where state was stored, not in the logic or even really in the API as such.

      Back in the 1980s, 3D isometric games were the rage for a w

    209. Re:Cry Me A River by romons · · Score: 1

      And perhaps, instead of waking up every day wondering if today is the day the Yellowstone super volcano or a planet killer comet wipes us all out, we should just dance (and code) while the sun shines and not worry so much about the future.

      FTFY

      --
      Go to Heaven for the climate, Hell for the company -- Mark Twain
    210. Re:Cry Me A River by DuckDodgers · · Score: 1

      Agreed.

    211. Re:Cry Me A River by just_a_monkey · · Score: 1

      Let's compromise. This planet is secretly Ocean-of-Molten-Rock-and-Metal.

      --
      How inappropriate to call this planet Earth, when clearly it is Ocean.
    212. Re:Cry Me A River by beelsebob · · Score: 1

      Right, they announced a product that no one had done any work on at all... That sounds likely.

    213. Re:Cry Me A River by beelsebob · · Score: 1

      But notably, the 3% that actually pay worth a damn ;)

    214. Re:Cry Me A River by mcswell · · Score: 1

      What? You mean HTML isn't good enough?

    215. Re:Cry Me A River by Anonymous Coward · · Score: 0

      I didn't say they weren't working on it. He very clearly said it was released in 1980, implying you could buy it then. You couldn't, ergo nobody was developing for it. You need to work on your reading skills.

    216. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Tools are easier to use than ever and people aren't using them.

      You have a lot of options when you sit in front of a computer. Most people want to browse Facebook and Twitter, not read documentation for a scripting or programming language. People are lazy and refuse to take the seemingly hard steps required in order to learn something.

    217. Re: Cry Me A River by Anonymous Coward · · Score: 0

      Who knows? Aptana Studio 3? Sublime Text (not a IDE but popular).

      I don't think many people are using DW, though.

    218. Re:Cry Me A River by Anonymous Coward · · Score: 0

      frequently software versions that are in production have a limited support life because they are many years old

      Developing on the current version of software can give the work that you are doing now a longer lifetime under support a provide definite benefits

    219. Re:Cry Me A River by TemporalBeing · · Score: 1

      Software engineering has a tendency to enshrine ivory tower principles, that - although sound and logical, can end up making your project large, slow bloated and excessively encapsulated. I'm happy that NASA and the DoD both use it, those things need to be rock solid, but it just doesn't make sense for a lot of businesses where being first to market is more important than any code refactoring issues you might have 2 years down the track. Being slow to market might mean you don't even have a business 12 months from now.

      Good programmers know when to lay on the engineering and when to pull out the stops and slap something together that does the job "just good enough". That's part of what makes it an art, not a science.

      NASA/DoD does a form of Software Engineering based on Engineering principles from other disciplines, namely mechanical and electrical engineering. Much of what they do there doesn't really apply to Software.

      What we need to do is define Software Engineering in a manner that is practical for everyone to do it such that no one has any kind of excuse not to do it. To me, it's a matter of doing software in a very discipined manner and has nothing to do with whether you've documented every function at 30 different layers for 10 different stake holders across 5 different organizations.

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    220. Re:Cry Me A River by micahraleigh · · Score: 1

      I probably sound like a M$ sellout (may be a fair assessment), but this hasn't been my experience.

      I used to do Linux C++ (some kernel, driver stuff, also released an open source Qt game) for 7 years. When I tried moving to another city, I discovered the demand for these skills was thin and paid 20% less than propped up military-subsidized salary I was making.

      While I was interviewing for C++ jobs I worked aggressively on my C#/.NET skills and have discovered they pay FAR more than the Linux side of things. It's not hard to land $90-110k in a rural state on .NET after 3-4 years.

      I'm not trying to persuade you that one tech stack is better than the other. I'm trying to spare you from some pain I faced back in the day.

    221. Re:Cry Me A River by Anonymous Coward · · Score: 0

      A lot of my time is spend writing code because my IDE (changes based on language) keeps me from jumping to different contexts. I create computer vision based prototypes to test some ideas and show them off as things we could potentially develop further. I glue together a lot of different 3rd party libraries. Their function documentation is poor and sometimes completely wrong or non-existent. However, the IDE's intellisense will show me the proper types and lets me keep typing away without having to stop and dig into a random 3rd party's code to see what they meant to say. I don't need to learn this library that I'll likely never use again because the IDE tells me how to use it.

      The IDE build systems are also better in practice (though not in theory). The libraries that say "we developed using IDE XXXX. Install the IDE, double click on the project file, and click build." feel like a god-send. Everything was packaged together. IDEs have polished installers and the builds almost always work. When they don't, it's normally a hard-coded absolute path that's the issue. For the non-IDE other libraries, their build systems are crap. They say you need "libX v2, libY, libZ v5" and tell you to install a specific package manager. Well, those libraries are now outdated and aren't available anymore. You've got to hunting all over the net trying to find them. Then they have their own build issues and you have to look up an even more obscure set of libraries and try to get them working.

      Sure IDEs are more bloated than text editors, but their polish makes everything flow more smoothly. Having to hack things is a sign of failure, not pride as many people want you to believe.

    222. Re:Cry Me A River by Anonymous Coward · · Score: 0

      Let me guess, you work at Healthcare.gov !

    223. Re:Cry Me A River by Psycho_Bunny · · Score: 1

      we don't realize how inefficient, poorly designed/coded, and horrible it really is because the speed of the hardware masks it..

      The old saw "What Intel giveth, Microsoft taketh away" is still true. It's just the numbers of Movers and Leeches have changed....There's a few more "Intels" and a ton more "Microsofts".

      It's a house of cards that's becomes more and more annoying every week.

    224. Re:Cry Me A River by mccabem · · Score: 1

      The web, by definition, is the sum of its parts....so it's EXACTLY this kludgy....and worse.

    225. Re:Cry Me A River by mccabem · · Score: 1

      If the mid-1980's is "the old days"...

      ...then all you had to do to program was own a personal computer and be able to flick an ON switch...

      Bam: you're in a BASIC interpreter.

      Source code for whole programs to copy or steal from were never further away than a magazine at the corner store.

      As with any true art, the way I (and probably most) learned starting out was copying the work of others....programs were printed line-by-line for the express purpose of copying in most of the popular computer magazines of the day down at the corner drugstore. Compute! was my favorite, but there were a lot. You simply cannot get an experience of learning programming today that's this easy....there aren't any computers set up that way! First you have to set up your development enviro....wha??? Bye, bye amateurs! You have to become somewhat expert just to choose what language to begin with!

      I coded plenty of my own apps for household use back then and probably would have continued if the amateur-programmer meme had not been swept up and lost in the zeitgeist. There was brief hope at the beginning of the Web Age that HTML could be a sort of second-BASIC or Hypercard, but the "pros" took over HTML in short order and HTML coding-tools were never integrated into any OS the way BASIC was a part of those old computers in the 1980's.

      Web applications like TikiWiki.org are about the only hope now, but are still orders of magnitude more complex than getting into BASIC.

      It's also remarkable how "us vs them" many of the commentators on this thread seem to be about a class of "amateur programmers" that hasn't existed in any real form since the late 80's/early 90's.

      It's like a slightly comical form of gloating or something.

    226. Re:Cry Me A River by mccabem · · Score: 1

      The entire universe of "development tools" has been catering to your (the "pro") every whim for decades and continues to do so....can you get over yourself for the span of one article on /.?

      Just because you don't want to be an amateur programmer, doesn't mean nobody wants to. And just because you lack the imagination to see a use-case for amateur programming doesn't mean there are none.

      LOL

    227. Re:Cry Me A River by mccabem · · Score: 1

      If you happen to be that "very annoyed power user" then how about "the world doesn't have to revolve around you 365 days a year, you already have tons of tools to choose from, so shut your pie hole and wait for the next hundred programming articles that are just for you!" ;) I'm also sorry, if that's you, because that was a little harsh. ;) ;)

      Specifically, BASIC was perfect for what it was....neither nerfed nor limited in scope. In addition to other features it had like instant-on, my "BASIC development environment" - an Atari 800 - was far more capable than my needs dictated and performed as expected (crash free). Something I can't say about any modern platforms....development or otherwise.

      Of course there really are no modern parallels to built-in BASIC running on a bullet-proof old 8-bit computer like the Atari or Commodore.

    228. Re:Cry Me A River by mccabem · · Score: 1

      You've got it backwards and upside down.

      The point is that you shouldn't have to be able to design an engine just to be able to drive a car. If you design your tool to be used only by an elite, then you've failed in the mission we're talking about.

      And your example of the spreadsheet is actually a good one! Visicalc was created in the same spirit as BASIC. Not as a tool for a professional - there were already accounting packages and such for them - but one that would be easy enough for people to use even just to balance their checkbook. Which many did!

    229. Re:Cry Me A River by TemporalBeing · · Score: 1

      If the mid-1980's is "the old days"...

      No. Try the 1930's through the 1970/1980's. It wasn't until the 1960's that things started to filter down enough that you didn't need as much background in to the computer systems, and some where in the 1970's/early-1980's it became what you knew, namely as the micro-computer (aka PC, Macintosh inclusive) took over.

      However, prior that - and even during the 1980's in corporate environments - most every programmer had to know a lot about the Electric Engineering of the computer. Most all of them had EE degrees; some had math degrees; a fewer had the new CS degree (started in the 1970's, but not really popular until the 1990's; I think the first CS program was late 1960's, circa 1968).

      --
      Truth is like the sun. You can shut it out for a time, but it ain't goin' away. - Elvis Presley (source: imdb.com)
    230. Re:Cry Me A River by mccabem · · Score: 1

      The author didn't call out a specific period as the old days, but I'm not sure how you got the 1930's out of it. (I was still talking about the article.)

      The author refers to COBOL which casts a wide net of possible timeframes. But he also mentions VisualBasic in the same breath. Plus, I have to think he's conflating Visual Basic with BASIC. (I'm pretty sure this is even the specific era he's referring to.)

      FWIW, they are not the same - the former ruined the latter so far as its intended purpose goes. A pure - and early - example of MSFT's embrace and extend (extinguish) strategy. Which is actually somewhat ironic since they had one of the best implementations of BASIC around back then: Microsoft BASIC.

      The reason I'm pretty sure he's conflating is that VB is much later and only a footnote, and doesn't really overlap timelines with COBOL as BASIC did.

      So based on the evidence, I'm sticking with 1980's until the author clarifies. ;)

  3. Not unfair by Anonymous Coward · · Score: 1

    Would you say that music excludes those who cant sing well, stunt acting excludes those with delicate bodies\fear of death?

  4. Apparently dedication = autism by rebelwarlock · · Score: 4, Insightful

    You heard it here first, folks: if you're going to try to not suck at your job, you're autistic. Normal people don't give a fuck about trying.

    1. Re:Apparently dedication = autism by oh_my_080980980 · · Score: 0

      Or apparently reading comprehension. Look up the term autism and understand why the author used that term.

    2. Re:Apparently dedication = autism by emagery · · Score: 1

      Actually, yeah... I'm not sure if there's a STRONG link to being on the spectrum (not my area of experience, though I might even find myself on some mild end of it myself), BUT, these kind of things do require a very unusual amount of dedication to learning a thing... most good developers I know have been hacking away since they were between 5 and 10 years old, dedicating their entire lives to it. That is not normal, as defined by numerical analysis of the larger population. The part I have difficulty with, in this statement, is that it is the result of culture, rather than an emergent pattern centered around the depth of education it takes to be a genuinely good developer. Still, I would support a movement to introduce algorithmic (problem solving) thinking classes (as expressed through programming or perhaps interactive models (lego mindstorm or equivalent stuff)) much earlier in schooling...

    3. Re:Apparently dedication = autism by canadian_right · · Score: 5, Insightful

      Generally when people say autistic, they don't mean a mildly afflicted, high functioning person, but someone who never speaks, rocks in a corner, and screams if their normal routine is changed. You DON'T have to be autistic, or be anywhere on the autistic spectrum to be a great programmer.

      Like becoming good, even excellent, at anything it requires hard work, dedication, and practice. Any normal person can do it. Programming, and I've been doing it since an assembler was a real cool tool, can be mastered by normal people. Sure, I've seen a few odd balls in the field, but no more so than in other fields.

      As far as making programming easy for the masses: that is fine for little toy systems, but if you want a large system built, you want properly trained professionals working on it.

      --
      Anarchists never rule
    4. Re:Apparently dedication = autism by pla · · Score: 4, Insightful

      Look up the term autism and understand why the author used that term.

      Because it has become a meaningless buzzword used to describe every introverted snowflake on the planet?

      The GP responded more-or-less appropriately to the TFA's nonsense. You have simply said "nuh-uh!". Substantiate, please.

    5. Re:Apparently dedication = autism by Anonymous Coward · · Score: 0

      You heard it here first, folks: if you're going to try to not suck at your job, you're autistic. Normal people don't give a fuck about trying.

      You know for being blindingly brilliant developers, they sure are good at pushing a half-baked concept with absolutely zero examples. Hypercard for the Internet? That's kind of a high level view that, like most development projects, comes down to the devil being in the details. We're all on board with your message but your idea is sort of out of reach. So why doesn't Johnny Autism help us out here and put ones and zeros to registers to fulfill his vision?

      Worthless and ineffective lament by a self described tortured autistic genius ... waste of my time reading it.

    6. Re:Apparently dedication = autism by Anonymous Coward · · Score: 0

      Yeah, I found that comment pretty stupid too. Pretty much all of the really good programmers I've ever worked with were not autistic or on the spectrum and were perfectly socially adjusted. In fact, almost all the ones who claimed to be on the spectrum were among the worst programmers I ever worked with.

      Not all of us who are programmers are socially-awkward creeps who self-diagnosis themselves as having Asperger's or on the autism spectrum.

    7. Re:Apparently dedication = autism by Anonymous Coward · · Score: 1

      Most musicians I know have been playing music since they were 5 years old. Most businessmen have had friends, acquaintances, social skills, and experience with money since they were 3. Most artists have been drawing since they were 2. Most athletes of all kinds got started before age 10, and they've certainly been physically active much longer. A great number of social workers have been honing their nurturing skills since they were children. And so on.

      This guy needs to get a grip. Web and app development and scripting do not require arcane knowledge and intense training since childhood. Anyone can do it. It's true that most of the people who are really into it and really good did get started young and that best have devoted their lives to it and can do things "normal people" can't. That's like just about every other field of study in existence.

      Writing and tuning efficient compilers and interpreters, core operating systems development, intense graphics programming, etc are just the equivalent of Olympic athletes. And pretty damn good versions of the "tools" he's talking about exist. The only reason this article exists is to get eyeballs. It makes no sense if you put any thought into it.

    8. Re:Apparently dedication = autism by Anonymous Coward · · Score: 0

      Anyone can do it.

      Merely doing something is usually a very low bar. Doing it well is something else entirely.

    9. Re:Apparently dedication = autism by phantomfive · · Score: 1
      Earlier in his blog you can find this gem:

      "I have always been slightly amazed by the people who seem so happy and satisfied with programming."

      Why does he even program? For the money?

      --
      "First they came for the slanderers and i said nothing."
    10. Re:Apparently dedication = autism by phantomfive · · Score: 1

      BUT, these kind of things do require a very unusual amount of dedication to learning a thing

      If only we had a system where people could go for four years, and focus primarily on learning something. Maybe that's too much focus? We could add these things called 'dorms' where you can stay and have fun with other people.

      --
      "First they came for the slanderers and i said nothing."
    11. Re:Apparently dedication = autism by Desler · · Score: 2

      He used the term because he's just one many losers who self-diagnose themselves with autism spectrum and then wrongly extrapolate that ever one else who programs must be the same way.

    12. Re:Apparently dedication = autism by Anonymous Coward · · Score: 0

      This is so fucking true - I wish I had a dime for every fucking mental case who assumed they were Great Programmers simply because they were fucking mental cases.

    13. Re:Apparently dedication = autism by Anonymous Coward · · Score: 0

      Actually, yeah... I'm not sure if there's a STRONG link to being on the spectrum (not my area of experience, though I might even find myself on some mild end of it myself), BUT, these kind of things do require a very unusual amount of dedication to learning a thing... most good soccer players I know have been playing since they were between 5 and 10 years old, dedicating their entire lives to it. That is not normal, as defined by numerical analysis of the larger population. The part I have difficulty with, in this statement, is that it is the result of culture, rather than an emergent pattern centered around the depth of commitment it takes to be a genuinely good athlete. Still, I would support a movement to introduce physical (mostly areobic) sport classes (as expressed through soccer or perhaps simpler activities (track or equivalent stuff)) much earlier in schooling...

    14. Re:Apparently dedication = autism by phorm · · Score: 1

      someone who never speaks, rocks in a corner, and screams if their normal routine is changed

      So, middle-management then? Except for the never speaking part, they tend to speak at length *after* things go south. :-)

    15. Re:Apparently dedication = autism by Polarised+Bear · · Score: 1

      Agreed, it used to be Aspergers and before that ADHD and before that ADD. Why are people not satisfied with simply being introverted?

      --
      Or, you know, that's just like my opinion.
  5. just like EE, ME, CE, finance...... by Lawrence_Bird · · Score: 5, Insightful

    just about every field above burger flipping requires specialization. Are you going to ask Joe Blow about your corporate tax accounting needs? Or are you just going to drop by Intel and see if you can lend a hand with some microcode? Work is becoming increasingly specialized across all fronts, time to get used to it.

    1. Re:just like EE, ME, CE, finance...... by Anonymous Coward · · Score: 0

      Yes, I belive it is called the division of labour.

      Instead of 5 farmers all cobbling shoes, and farming and treating sick animals it turns out to be more effecient if they each specialize.

      Perhaps it is the same with code. Perhaps not everyone needs to understand when to use what sorting algorithm and what the difference between a 16-bit integer and a 16-bit word really is when to someone else can solve that problem. Enough people can build webapps and mobile apps today as is evident from the number of apps developed. Who cares what percentage of the population writes the code? Isn't it enough to know that all the code we need is produced and that no one is stopped from coding in thier spare time?

    2. Re:just like EE, ME, CE, finance...... by Anonymous Coward · · Score: 0

      Work is becoming increasingly specialized across all fronts, time to get used to it.

      No change, just more whining due to more free time.

      Let's go back to the days when family farming was the main occupation. You learned to farm well enough, or you found a way to get really good at one of the rare trades, or you starved.
      Much earlier than that, you either learned to hunt, learned which plants were edible, or convinced others that you were worth keeping around despite not adding anything directly to the food supply.

      The whole rant is nonsense, every job requires some dedication to the essential skills. I know a lot of moderately intelligent people like to think that construction workers and farmers are complete unskilled idiots and that their services could be replaced by any other population at random, but you really don't want the crops from unskilled farmers and I dare you to live in a two-story house built by illiterate amateurs.

    3. Re:just like EE, ME, CE, finance...... by makq · · Score: 1

      Minor correction. Burger flipping in a modern fast food establishment is the epitome of specialization. The difference is that it does not take a high level of skill. This is by design.

    4. Re:just like EE, ME, CE, finance...... by guruevi · · Score: 1

      I've worked for a company that made the machines that makes the burgers for McD. The reason burger flipping is so 'easy' (even though it still requires training to do it consistently and correct) is because some really smart engineers made it possible for them to do so.

      The same is true with programming. It's really easy for a burger flipper to make a website (go to a hosting company and select the "Wordpress" option, 5 clicks and $15/mo later you have a really nice looking website). If you want to make adjustments to the size of the burger, you're back to the engineer.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
  6. Or Some People are Finally Employable by glennrrr · · Score: 5, Insightful

    So there is finally a job that focused, socially clueless people can excel at, and some want to take that away from them because it isn't fair for people who could do other jobs anyway.

    1. Re:Or Some People are Finally Employable by visualight · · Score: 2

      After 15 years at this I have met exactly ONE person who is both good at developing AND is socially clueless. Every other socially clueless person I've met sucks at this. So sick of this stereotype...does anyone else look at bigbang-theory and think "wtf, WHEN are we gonna be done with this shit?"

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    2. Re:Or Some People are Finally Employable by glennrrr · · Score: 3

      So you both think that I'm a negative stereotype and deny my existence.

    3. Re:Or Some People are Finally Employable by qbast · · Score: 4, Funny

      Yes.
      You don't exist. Go away.

    4. Re:Or Some People are Finally Employable by Anonymous Coward · · Score: 0

      +1

      Even more ridiculous is people they actually equate "socially skilled" with, the idiot church-wife that spends her days folding clothes with opera and evenings with desperate housewives, and her southern tough-guy or northern guido tough guy husband. On the other end of the "socially diverse" spectrum is the smug liberal activist, because hey who doesn't like being condescended and looked down upon as a "bigoted subhumans" (there's an oxymoron for you), nobody right?!

    5. Re:Or Some People are Finally Employable by gbjbaanb · · Score: 1

      but that statement suggests a reasonable ability to communicate your thoughts, so therefore you are not socially clueless and thus disprove yourself.

    6. Re:Or Some People are Finally Employable by FuzzNugget · · Score: 3, Interesting

      And thank the almighty FSM for it!

      I can't even imagine getting up at 7:00am every day, spending an hour putting myself together, running some shit through my hair, putting on a stuffy and uncomfortable suit and tie... only to walk in to some godawful nothing of a job where I'm expected to spend all day not only performing menial, make-work, soul-crushing bullshit work that could be done by robots, but navigate the minefield of social nuance. After all that, I'd be expected to piss away my evening on some social gathering to talk about some meaningless shit? Fuck all that noise.

      I figured out a while ago that "normal" people manage to fulfill themselves in soul-sucking non-jobs by feeding their social needs throughout the day. I have little-to-no social needs and such work would leave me completely empty to the point of contemplating self-harm.

      I love that I can roll out of bed at 9:00am, make my coffee and jump straight into work in my pyjamas, do my shit-shave-shower routine an hour later, grab another cup 'o joe and code till noon, have lunch, have my workout, then take my laptop out to the deck if it's a nice day and hack away until supper ... all while not interacting with a single person, save for email and the occasional phone call. Maybe I'll the energy for some light social interaction in the evening, but that's all I need for a week.

      Thank the almighty FSM for programming!

    7. Re:Or Some People are Finally Employable by HornWumpus · · Score: 1

      Read again. Assuming you are truly socially clueless how do you even know you are 'good at programming'?

      Remember when replying that 'programming' is fucking easy, understanding the problem is the hard part of 'software engineering', which requires talking to people.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    8. Re:Or Some People are Finally Employable by Anonymous Coward · · Score: 0

      You don't exist. Go away.

      Ah, yes! One of the best System 5 (or earlier) error messages....

    9. Re:Or Some People are Finally Employable by david_thornley · · Score: 1

      If you aren't a negative stereotype and are in fact typical, then you're probably dealing with people with bad social skills, so what's your surprise?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    10. Re:Or Some People are Finally Employable by Anonymous Coward · · Score: 0

      Conversely, you think everyone in your profession is a carbon copy of yourself.

    11. Re:Or Some People are Finally Employable by BlackHawk-666 · · Score: 1

      "...does anyone else look at bigbang-theory and think "wtf, WHEN are we gonna be done with this shit?"

      Definitely.Those guys are a horrible parody of a decades old caricature of people with in depth technical and scientific skills (geeks). They are nerds, rather than geeks; socially inept (a creep, a social mute, a loser and a robot), and well into the autism spectrum. It's pretty insulting stuff.

      All the geeks I know are very sociable, articulate and generally interesting / fun people.

      But then again, what can you expect from the guy who gave us Two and a Half Men?

      --
      All those moments will be lost in time, like tears in rain.
    12. Re:Or Some People are Finally Employable by konaya · · Score: 1

      There couldn't possibly exist a rational train of thought parsing "I've only once met a person with these two traits you happen to claim to share" as "I deny your existence".

  7. bah by Anonymous Coward · · Score: 0

    yes, people should learn basic coding, reasoning, critical thinking. we do not need them making more useless web or mobile apps.

  8. What a load of crap by Anonymous Coward · · Score: 0

    The last thing I heard 'everyone can code'.
    Now an old man rants about learning curves, and how he used to be better in the old days.

  9. Well duh by Russ1642 · · Score: 4, Insightful

    There's a good reason I'm not a brain surgeon or a professional hockey player. Have you ever tried explaining even a 'hello world' example to someone who can't handle strict logic and math?

    1. Re:Well duh by Anonymous Coward · · Score: 0

      Have you ever tried explaining even a 'hello world' example to someone who can't handle strict logic and math?

      Yes, for ... 30 years now. To children even below 12 years of age, which did not develop their abstraction skills yet.

      Also, which language ? C(++/#) has got a rather large step-in. A console-based version of BASIC, not so much.

      Hint: try to translate stuff from your world into theirs*, instead of (forcibly) trying to pull them into yours.

      *Examples: A variable ? A box with a name on it that contains something. An array ? A vertical chest of drawers where the chest has got a name, and the drawers numbers. A two-dimensional array ? Drawers both vertical as well as horizontal.

      Been there, done that. It works.

    2. Re:Well duh by Ryanrule · · Score: 1

      i figured out abstraction in elementary school.

      Hell, we had a form of algebra, it just used shapes or blank spaces instead of alphanumeric variables.

  10. ridiculous by slashmydots · · Score: 3

    You have to be REALLY smart and good at pattern recognition and logic to be a programmer. And I mean extremely, unnaturally good. I completely disagree with the years of dedication and research, as I wrote an entire software suite that was pretty much flawless right out of college. Experience and training is not very important as long as you know how to write good code that's efficient and makes sense to others. The biggest determining factor is how smart you are. That's just how it is. I'm not a famous singer because I suck at singing and I'm not a famous artist because I suck at all forms of art. You don't see me writing a whiny article about it.

    1. Re:ridiculous by Jeremi · · Score: 2

      Experience and training is not very important as long as you know how to write good code that's efficient and makes sense to others.

      And how did you learn to write good code that's efficient and make sense to others? Maybe you're the rare case of a person that can just intuit what is good code and what isn't, but I think most developers (including myself) learn how to write good code by first writing lots of bad code, and then suffering the consequences until they learn from experience what works and what doesn't.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    2. Re:ridiculous by slashmydots · · Score: 1

      Oh, that's easy. I have an IQ of 134. I'm very slightly autistic and have a moderate obsession with shapes and patterns but not enough to interfere with my daily life. I absolutely cannot look at a tile bathroom wall without finding shapes and patterns and triangles and angles and symmetry between them though. So when I sit down to design the logical flow of a program, my subconscious already completed the work, I just type it. Like when I wrote a car rental program in college, I read the requirements and immediately drew out exactly what the flow of information between the modules would have to look like to meet the needs. Everyone asked how I solved it that quickly and I had no idea why they didn't because it seemed obvious to me.

      My college and high school programming teachers did a good job telling me how programming and variables and memory and instructions ACTUALLY worked and that's what makes me a good programmer. My brain's natural abilities filled in the rest. Like do this but don't do that because garbage collection won't reach it and that's double the size of memory you'd need anyway for that data. That's not a learned ability, it's common sense if you know how programming actually works. So you don't need to "learn" how to not write crappy code in most cases.

    3. Re:ridiculous by Anonymous Coward · · Score: 0

      Experience and training is not very important as long as you know how to write good code that's efficient and makes sense to others.

      Experience and training is how you learn how to write good code.

    4. Re:ridiculous by Anonymous Coward · · Score: 0

      I wrote an entire software suite that was pretty much flawless right out of college.

      Hello World is not a software suite.

    5. Re:ridiculous by WuphonsReach · · Score: 1

      And how did you learn to write good code that's efficient and make sense to others? Maybe you're the rare case of a person that can just intuit what is good code and what isn't, but I think most developers (including myself) learn how to write good code by first writing lots of bad code, and then suffering the consequences until they learn from experience what works and what doesn't.

      We learned by reading tomes like Code Complete which forced us to examine why we coded in a particular style and whether what we were doing was efficient or made sense. In short, we took it upon ourselves to improve.

      Or you can do it the hard way as you stated and just write bad code until it bites you in the arse.

      --
      Wolde you bothe eate your cake, and have your cake?
    6. Re:ridiculous by Anonymous Coward · · Score: 0

      If you didn't start by writing lots of bad code before learning how to write good code, that means you're still writing bad code.

      You obviously didn't learn anything from those books, which is why you're so far behind the developers who learned from their experience. Because THEY are the ones who took it upon themselves to improve.

  11. I don't understand by Taco+Cowboy · · Score: 1

    Having read his rant I gotta admit that I do not understand what that guy is trying to say

    I mean, ever since Ada Lovelace and Charles Babbage labor over the first software / software combination, each and every follow-up of similar devices had been utilized by a very limited group of people who --

    1. Have the interest to learn how the device works

    2. Have the intelligence to understand

    3. Have the time to do it

    Of course, there is another type of 'computer' - the Abacus invented by the Chinese - but that device, unlike the Babbage machine and whatever followup devices it had inspired, - was kinda self-limiting

    --
    Muchas Gracias, Señor Edward Snowden !
  12. normal people by ubersoldat2k7 · · Score: 3, Insightful

    Have this guy seen "normal people" use a computer? There are some people so uninterested in the thing (even when is their primary work tool) that they can't be bothered to learn so simple stuff as mouse dragging or keyboard shortcuts.

    Hell, I've seen people using Spreadsheet software for 10 years without learning how to use formulas. Don't even try to show them what all that HTML gibberish is.

    And Spreadsheet software is a pretty good introduction tool for programming.

    1. Re:normal people by Anonymous Coward · · Score: 0

      this. One time I asked someone how they calculated up a gross profit margin for a product. they went into this long winded speech explaining the different variables and such, until I was able to figure out the process flow and make a function. I jammed it into excel, and they looked at me like I was a wizard, because I figured out how to turn a task that normally took 8 hours, and turned it into a 10 minute affair of data entry.

      any putz who knows math and knows excel could do that.

    2. Re:normal people by Anonymous Coward · · Score: 0

      Exactly! Giving these mouth breathing people (who can't even double click or click-drag consistently) the tools necessary to develop the fundamental software of our future is the most brilliant idea ever. Even better, we should get them to design our government and economic systems, I bet it would be the BEST government and economy EVER! Watch out China we just solved all our problems right here!

    3. Re:normal people by HornWumpus · · Score: 1

      You ruined their once a week, all day slack fest with your stupid excel sheet. They weren't looking at you 'like a wizard'.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  13. Bullshit by l0ungeb0y · · Score: 5, Funny

    I present Exhibit A: The army of skinny-jean, unshaven "Brogrammers" who use end to end, non-scalable, non-portable, all-in-one blackbox frameworks like AngularJS and a handful of selected NPMs or Gems commonly used amongst 90% or more of the existent Rails or NodeJS based sites, while writing flat MongoDB collections because they totally don't get NoSQL but love to use it because it's the new hotness and refer to themselves as "elite hackers" while fist-bumping and drinking beer at their SOMA office in SF.

    1. Re:Bullshit by visualight · · Score: 5, Interesting

      I flew to SF and interviewed at one of those companies. I interviewed with about 7 people. All of them were idiots, all of them were under 25, and all of them thought they were masters of the universe (well, the ruby-on-rails universe anyway). It was an eerie bizarro world experience I will never forget.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
  14. Slashvertisement by Anonymous Coward · · Score: 0

    But I didn't just stay mad. It's why I took it upon myself to create the "programming environment for the rest of us", which you can log onto for free from any leading PC, tablet or smartphone and create applications that will amaze and delight thousands or even millions of folks around the world....

  15. Crazy rant full of BS except for one thing by pooh666 · · Score: 4, Insightful

    "New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."

    I will mod that one way up.

    1. Re:Crazy rant full of BS except for one thing by Anonymous Coward · · Score: 5, Insightful

      This phenomenon is otherwise known as "getting old".

    2. Re:Crazy rant full of BS except for one thing by HeckRuler · · Score: 4, Insightful

      Yeah, I was going to say that. He's just facing burnout and age.

      But "New technologies, once exciting for the sake of newness"? That phenomenon is known as being young and stupid. The new technologies are exciting because of the additional capabilities they give us. If you thought the technology was exciting just because it was new, then you've been misguided the entire time, and marketers must have loved you. They could slap "NEW" onto an old product and generate some more sales. A fresh coat of paint and it's a top seller again.

      Ignore the paint. Cut through the bullshit. Does the new thing work better? If so, it's worth learning.

      Or hey, you can stick to the stable and clear COBOL platform that you know so well. Since all your peers are dying off you can charge an arm and a leg for being a master at it. Hopefully you didn't gamble your decades on something like RPGII.

    3. Re:Crazy rant full of BS except for one thing by Anonymous Coward · · Score: 0

      Hokey marketing and new technologies are no match for a good blaster at your side.

    4. Re:Crazy rant full of BS except for one thing by Anonymous Coward · · Score: 1

      Old programmers seem to be learning what young other engineers have been taught in school forever - Keep It Simple, Stupid!

    5. Re:Crazy rant full of BS except for one thing by Anonymous Coward · · Score: 0

      Define "better".

  16. Maybe because normal humans can't code by bluefoxlucid · · Score: 5, Insightful

    Seriously, does everyone think programming is a spatial relationships problem or something?

    Let's put this on the table right now: Normal humans can build houses. Oh, you might not have any construction knowledge, and you'll build a horrendous little shitheap that falls over when the wind blows, but that's not the point. I can put construction knowledge in your head and, in a few months, you'll be able to properly select foundation for a site, properly frame a house, and properly build out the sheathing and siding and insulation and walls. You won't be a master craftsman, but you'll be able to do it right.

    Humans are good with spatial things. Humans can look at a two-by-four and understand what a two-by-four is. The engineering concepts behind building a workable shed are a little different, but easily transferred. Given a little time and guidance, a human can learn to relate building materials spatially, measuring and cutting and nailing or screwing or gluing as needed, planning and building a proper structure.

    Humans are terrible at numbers and algorithms.

    Humans are so terrible at numbers and algorithms that they become *extremely* proficient at math if you teach them with a soroban--a machine that converts numerical problems into spatial procedures--and can't be taught algorithms without visual diagrams of trees and boxes and other shit to show sorting and transformation algorithms. Have you ever looked at textbooks or Wikipedia pages for stuff like PKI, red-black trees, or AES encryption? There's pictures of the simplest shit! Why? Because HUMANS CAN'T PROCESS ALGORITHMS!

    The easiest process for a human programmer implementing an algorithm like a quick sort is to associate variables with objects in the visual diagram, associate their state changes with the movements in the visual diagram, and write code that carries out the analogous behavior. By comparison, BUBBLE SORT IS FUCKING HARD TO IMPLEMENT when your only guidance is: "iterate through each list element. Compare each element to the previous. If the previous element is larger, swap them." You actually have to think about how to do the comparison (greater than, less than? Wait, which am I comparing to which?), and how to swap them--usually with a temporary variable, although "A ^= B; B ^= A; A ^= B;" works. Most people visualize some kind of diagram while trying to understand the algorithm.

    The real world requires interaction with space, mainly to avoid hungry tigers, kill tasty deer, and avoid driving your car into trees like you're fucking drunk. It doesn't involve shift accumulator left and XOR with memory at address $FC. It doesn't involve explicit semaphore locking and deadlocks if you fail to unlock the semaphore in a loop with multiple function calls and thread branching during the loop. It requires things you can put your fist through if they don't work right, and then continue with successfully.

    We can't all be rocket surgeons.

    1. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      Best comment yet. We used to call this a block diagram, back when discrete logic ruled. To quote Albert, “If you can't explain it to a six year old, you don't understand it yourself.” If you can't explain it to a PhD, you're useless as a programmer.

    2. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 1

      Men are good with spatial things.

      There, fixed that for you. Reference: compare the success of the NBA against the success of the WNBA. Nuff said. Women have their talents but this isn't one of them.

    3. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      >>>>>>> "iterate through each list element. Compare each element to the previous. If the previous element is larger, swap them." You actually have to think about how to do the comparison (greater than, less than? Wait, which am I comparing to which?), and how to swap them--usually with a temporary variable, although "A ^= B; B ^= A; A ^= B;" works. Most people visualize some kind of diagram while trying to understand the algorithm. "

      No, most people don't. Most people stop at the first quote because that verbal explanation IS that AB crap just in a different form. It's the same exact thing, you just transcribed it with arbitrary placeholders for spelled out words so it takes less space and can be understood by a computer. Anyone can understand and create the verbal explanation with little training (just understanding, really) and without looking at a computer or code at all.

      You're just stroking your own ego, when someone invents a machine that takes your 1st part and turns it into an equation and code you'd be out of a job. Your manager would be doing your job after about a month of training.

    4. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      BUBBLE SORT IS FUCKING HARD TO IMPLEMENT when your only guidance is: "iterate through each list element. Compare each element to the previous. If the previous element is larger, swap them."

      Of course it is hard to implement bubble sort from this description, because this description is simply wrong.

    5. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 2, Interesting

      Yeah, this is basically what I've been wanting to scream to a lot of these people.

      "Hey geniuses, has it occurred to you that maybe the reason more people don't code is because it's hard". It's like the most obvious answer to why people don't do something is just to obscure. Why don't more people keep themselves in shape, because it's hard. Why don't smokers typically quit, because it's hard. Why isn't everybody in med school, because it's hard. Why do people typically focus in on one thing that's hard and try to excel at that one thing, because it takes a long time to get good at something that's hard to do, and you've only got a limited amount of time/energy. Find something that's hard that you enjoy and become good at it. I'm never going to be an amazing musician to a level of producing anything that anyone, myself included, would want to listen to because though I like music, it's hard to be good at writing it and playing it, and I don't care enough to expend the effort to become good at it. Likewise, my cooking is good enough that I like it, but I'd be shocked if anybody would be willing to pay me to cook for them, unless they lacked taste buds I guess.

    6. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      You overestimate his manager. His manager likely can't put that first quote together in his mind, which was exactly his point. "Normal" people can't describe what they want done beyond the final result. "Sort this" is how they would describe it, not "iterate through and compare each element to the previous one and swap them if the previous element is larger". They do that because it should be "obvious" how to sort it. Brains are good at abstracting away the process from the result. And most people are too lazy to dig deeper than the result.

      The words "can't you just" are the bane of every programmer's existence. The answer is universally "no".

      And when someone "invents a machine" that programs other machines, then they've just invented a compiler. Oh, wait, we already have those, and we're not all out of jobs. You're making "The COBOL Mistake".

    7. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      Don't explain too much to these amateurs. All they will do is to compete with your already depressed wage in two years.

    8. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      right, some numbers state a full 40% of college graduates never read a book again. http://www.mobileread.com/forums/archive/index.php/t-129394.html You can extrapolate from that and the Flynn Effect that most people are capable of an intellect that is a psychological priviledge beyond them. Some say anyone can run a six minute mile, anyone can eat right, quit smoking, get enough sleep, and stay out of debt, but life doesn't always pan out that way. Now add in the fact that programming is applied literacy AND applied numeracy and it becomes very clear that there is no managerial panacea in our future, at least not until a computer can write a program from "I want a tasty and nutritional recipe app".

    9. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      You describe how great humans are at learning the step-by-step procedure for building a house, but then complain that

      "Humans are terrible at numbers and algorithms."

      The algorithm is a "step-by-step procedure for calculations," and it can be represented many ways -- as source code, as a textual description, as a diagram, as a video, etc.

      When you say that people can easily learn to build a house when you teach them the algorithm for doing so, you are teaching them an algorithm. Humans are great at algorithms if taught to them in a way they can understand.

      There's pictures of the simplest shit! Why? Because HUMANS CAN'T PROCESS ALGORITHMS!

      The pictures *are* the algorithm, just as much as a textual description or the source code is the algorithm. And humans are insanely good at processing visual information. Even if the text version makes perfect sense, an image can be processed faster.

      BUBBLE SORT IS FUCKING HARD TO IMPLEMENT when your only guidance is: "iterate through each list element. Compare each element to the previous. If the previous element is larger, swap them."

      Yes, it's hard to implement when your only guidance is a poorly written, incorrect textual description of the algorithm. You've described some O(n) thing that definitely isn't Bubble Sort.

      It doesn't involve explicit semaphore locking and deadlocks if you fail to unlock the semaphore in a loop with multiple function calls and thread branching during the loop.

      These things sort of break down the analogy to building a simple house. If you want to build a simple web app or something, you'll probably never run into semaphores, deadlocks, or threading issues that aren't handled automatically.

      I think the problem is in how we teach these things, and that we aren't using enough "pictures of the simplest shit" to help people understand what's going on. Seriously, if someone doesn't get bubble sort based on some textual description, get some differently sized cups and show them how to do it.

    10. Re:Maybe because normal humans can't code by Drethon · · Score: 1

      I've seen model based development try to replace coders. SCADE is becoming more widely used but still needs software developers to work with it. Seems to be more about the mindset of a developer being able to turn an input into an output without forgetting any possible conditions (which even developers often fail at).

    11. Re:Maybe because normal humans can't code by BlackHawk-666 · · Score: 1

      I don't know where you learnt to program, but at my uni the first thing they taught us was dealing with algorithms, writing algorithms, and how to break an algorithm down and turn it into code. They taught us this before even teaching us any code, because if you can't write the problem down as an algorithm, you simply don't understand the problem.

      Flow charting was introduced shortly after as another means of envisioning the algorithm / designing an implementation.

      As for bubble sort - could you have picked a worse example?

      for each item in the list
          compare current item to the previous item
              swap items if current previous
      repeat until no swaps have occurred on a run

      That's it as a pseudocode algorithm. If you're having trouble understanding that or implementing it in any language, well - you might be in the wrong business.

      --
      All those moments will be lost in time, like tears in rain.
    12. Re:Maybe because normal humans can't code by konaya · · Score: 1

      Women have their talents but this isn't one of them.

      That's odd. Last time I checked, the gender ratio in the fields of visual art—yes, even the ones working in three dimensions—was skewed womenward. Doesn't this contradict your admittedly sketchy statement?

    13. Re:Maybe because normal humans can't code by lgw · · Score: 1

      He's claiming women are poor at spatial relationships as measured by some (pretty arbitrary) objective standard. You're claiming they're just find in fields where success is a matter of fashion. Was that really the argument you wanted to make?

      I don't think basketball has much to do with spatial relationships myself - I'd think athletic ability and hand-eye coordination would be the dominant factors (well, and height can't hurt). But then, what do I know about it?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    14. Re:Maybe because normal humans can't code by oursland · · Score: 1

      We can't all be rocket surgeons.

      And that isn't fair. For some, this is an injustice to be eliminated until everyone is equal in every way.

      It would seem that in the 60s and 70s kids were told "you can be anything you want when you grow up, if you work hard enough". Somewhere in the 80s and 90s it got reduced to "you can be anything you want when you grow up" and now people want something without investing all the time and effort into it.

      Programming is hard and is the result of hard work and many hours of focused effort. If people want to succeed at it they need to stay in, put down the video games, and work for it.

      You can have anything you want if you want it badly enough. You can be anything you want to be, do anything you set out to accomplish if you hold to that desire with singleness of purpose.
      -Abraham Lincoln

    15. Re:Maybe because normal humans can't code by oursland · · Score: 1

      I believe you may have understood bluefoxlucid as you're actually agreeing with them.

      The point was that: "Algorithms do not necessarily have an intuitive relationship with real world, but are abstract in nature. This means people do not have an intuitive mental model as they do with real world objects. Developing a working mental model of the abstract takes time, effort, and practice. Some people are uninterested, unwilling, or incapable of developing a useful abstract mental model to work as programmers."

      This abstract nature of thinking is certainly not restricted to programming and is necessary to develop for any math influenced field such as Mathematics (Abstract and Applied), Physics, Chemistry, and the rest of the Sciences. Heck, even the various humanities require other forms of abstract mental models to be effective in, but because majoring in Literature doesn't make it rain for the average practitioner, there's not a lot of clamoring for making these forms of complex thought more accessible to the layman so they may be employed.

    16. Re:Maybe because normal humans can't code by bluefoxlucid · · Score: 1

      Okay seriously, some people are retarded. They can't manipulate numbers because their brains are broken. Low-functioning sociopaths can't understand social interactions, and don't connect the pattern behavior together to fake it; high-functioning sociopaths recognize it as an academic subject, and fake it.

      How is it hard to believe that some--perhaps many--tasks require an uncanny ability to do a certain thing, which nobody has? Maybe any idiot can learn to make a shitty program in Visual Basic; but, for the vast majority of people, no investment of time and effort is going to make them John Carmack. Similarly, some investment of time will teach you to sculpt; no investment of time will make you Michelangelo. Your creative writing courses won't make you Brandon Sanderson, Stephen R. Donaldson, or J.K. Rowling; the best you can hope for is being the next no-talent hack like Tolkien.

    17. Re:Maybe because normal humans can't code by Anonymous Coward · · Score: 0

      It's worse than that... we not only told kids that they could be anything that they wanted; we told them they are just as good as an electrical engineer or concert pianist or Olympic athlete even if they never accomplish a damn thing! Self-esteem became the mantra.

      So now we have a generation of kids who think they don't have to put any effort in, because hey, they already have enormous self-worth just as they are!

    18. Re:Maybe because normal humans can't code by frd1963 · · Score: 1

      Humans are good with spatial things. ... Humans are terrible at numbers and algorithms.

      Now, this guys gets it, but fails to connect it with the original article.

      Programming is all about algorithms and numbers, meaning that good programmers will be those who can think in term of algorithms and numbers. And that's the problem.
      The examples of pictures and objects to relate algorithms to a spatial model is spot-on. For programming to be accessible by the 'normal' human, it must be made spatial; and not just in explanations, but in practice.
      I am sure that many will argue that the nature of programming is numbers and algorithms, so that's just how it is. Not true though. Programming is a layer on top of the physical world (material, time, electrical potential) that maps it to something that can be dealt with logically. Of course the people who did the mapping were those who were smart and thought in terms of numbers and algorithms. This is the first generation of computing though, and though it may last until the end of the human race, I hope not. I would like to see the next generation be a format that is more widely accessible, even if I don't live to actually 'see' it.

    19. Re:Maybe because normal humans can't code by oursland · · Score: 1

      Thanks for participating! Here have a ribbon.

    20. Re:Maybe because normal humans can't code by bluefoxlucid · · Score: 1

      What? This is bullshit, dude. Programming isn't a layer on top the physical world of spatial relationships; it's a layer on top the physical world of discrete, numeric algorithms.

      In the real world, you have analogue power levels--voltage, current. Then, we build digital circuitry, such that being about 2.8-3.8V from ground state is "3.3V" or "ON", and being below that is "OFF"; being above that is "HALT, CATCH FIRE". This is a purely numerical behavior: the variations in the real world do not apply to digital circuitry.

      On top of that, you build a set of operational codes to manipulate states, i.e. assembly. You also build programming languages such as C, Python, and so on, which turn complex algorithms into a static analysis tree, optimize the tree, and then convert that into optimal procedural operational codes.

      The best we have for programming is object orientation, which takes a lot of procedural stuff for repeated modules away; but then you need to build the procedural framework to use those objects, as well as the discrete procedural behavior of the object. You're reducing complex procedural code down to a limited interface so that you can write other complex procedural code to handle that, thus reducing the amount of complex procedural shit you have to think about interacting with other complex procedural shit.

      You can't program a computer by putting a ball on top a stick. Computers need programming in terms of what is absolutely understood and non-ambiguous.

  17. And your point? by pla · · Score: 5, Interesting

    Normal humans are effectively excluded from developing software.

    I've said that for years. You, however, seem to hold that against those with the rare gift and dedication to code. Kinda missing the point, dude.


    a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a programmer you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge â" and enjoys it

    Yes, yes, yes, kinda, yes, and yes. Again - Your point? You've described exactly why normal humans will never succeed as devs, and to a degree, why many devs tend to look down on those who can't even figure out Excel.

    And you call that "injustice"? I have a rare combination of qualities that let me do seemingly amazing things with computers, and in return, I make a decent (but by no means incredible) salary. You want injustice? Some of those same morons who can't even figure out Excel (much less writing their own override CSS) make millions of dollars per year telling me they want my latest app to use a differerent font color. Another group of those morons make millions of dollars per year because they can whack a ball with a stick better than I can. Yet another group of morons make millions of dollars per year doing absolutely nothing because Granddad worked a town of white trash (sometimes literally) to death.

    And yet you would call me out for busting my ass to turn my one natural skill into a modestly decent living?

    Go fuck yourself, Mr. Edwards. Hard.

    1. Re:And your point? by visualight · · Score: 2

      I think the difference between this and other professions is we are constantly stacking up abstractions and making development more accessible to less skilled people. I didn't read the whole article (it seemed pointless) , but I'm going to guess he's advocating a drag-and-drop IDE for web sites or something equally stupid.

      --
      Samsung took back my unlocked bootloader because Google wants me to rent movies. They're both evil.
    2. Re:And your point? by Anonymous Coward · · Score: 0

      Exactly as it should be. If every nutter can develop software, we will finally earn a McSalary. SHUT UP. Or would your lawyer give free law courses to amateurs ? No, they would "consult" them for six times the hourly rate you get for C++ development.

    3. Re:And your point? by Anonymous Coward · · Score: 0

      Close! It's another "Whatever happened to HyperCard?" whine.

  18. Normal humans exlcuded from practicing law/medicin by i.r.id10t · · Score: 5, Insightful

    "The bigger injustice," Edwards writes, "is that being a doctor or lawyer has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a lawyer or doctor you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge â" and enjoys it. Normal humans are effectively excluded from performing surgery or arguing cases before a judge. The real injustice of legal or medical inequality is that it doesn't have to be this way." Edwards concludes with a call to action, "The web triumphalists love to talk about changing the world. Well if you really want to change the world, empower regular people to perform open heart surgery and argue cases before the supreme court. Disrupt specialist knowledge and training! Who's with me?"

    --
    Don't blame me, I voted for Kodos
  19. Developpers effectively excluded from getting laid by Anonymous Coward · · Score: 0

    This is just so full of stereotype, I thought I might as well post with a stereotyped title ...

    Now, what makes him believe that all developpers are almost on the autistic side of the spectrum ?

  20. That's all well and good... by Anonymous Coward · · Score: 1

    ... however, isn't software development akin to just about any other specialized field? With few exceptions, you do not find the average individual delving into the depths of fields outside of their daily focus. Usually when that does happen it is because it has become sort of a side-hobby of the individual. Granted, development work could be useful in day-to-day life, but it is by far not a requirement.

    I myself am a software developer. I have spent years teaching myself new languages, practices, etc... I have a few hobbies that can make my life easier in other aspects, but they are just that... nice-to-have hobbies. I can change my vehicles oil, breaks, belts, etc... but you wouldn't catch me taking the whole engine apart. I take it to a mechanic. I also like tinkering with electronics, but I probably wouldn't wan't to waste my time fixing a television. Just the same as if I found myself in legal trouble, I like to keep informed on some legal procedings, and I try to know my rights, but I wouldn't ever represent myself in court. And I cerntainly wouldn't remove my own appendix or do my own dental work...

    While the notion of opening the field up to more people is a nice one, I don't see it as practical...

    1. Re:That's all well and good... by Anonymous Coward · · Score: 0

      Yeah, would it not be nice to completely dumb down the medical profession so that everybody could read medical literature and could treat everybody else ? Would it not be nice if we could eliminate the jobs of real medical professionals by means of that ?

    2. Re:That's all well and good... by Anonymous Coward · · Score: 0

      Dime a dozen for your startup for when the jobs go away for them

  21. Normal humans are effectively excluded by Anonymous Coward · · Score: 0

    Re: "Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way."

    I've seen the effects of allowing 'normal people' to develop software and have made quite a lot of money from this. I don't like these project, however, as they're usually a mess and can't be fixed without enormous effort. And you can bet the bad decisions don't stop at who management decides to hire.

    Tom

  22. No one is excluded by other people by Alain+Williams · · Score: 4, Interesting

    Things are wrong if a group of people are excluded from something by others for no particular reason or a frivolous one such as: sex, religion, skin colour, ... However: we are not equal in achievement, I will never be a swimming great -- the young lads at the pool power past me, but I could prob write a better C program or shell script than they could. However if they were willing to put many years work they might manage that as well.

    Life is not fair, different people have different abilities & achievements. What is important is that society provides equality of opportunity; it is up to the individual to exercise that opportunity based on the time that they are willing to put in and their innate abilities.

    1. Re:No one is excluded by other people by PPH · · Score: 1

      the young lads at the pool power past me, but I could prob write a better C program or shell script than they could.

      Don't let my management hear that. Or they'll throw everyone in the pool and the ones that sink will get put at a developer's workstation.

      --
      Have gnu, will travel.
    2. Re:No one is excluded by other people by konaya · · Score: 1

      Is it, though? The formative years are critical for developing the relevant traits, and you can hardly expect children to figure this out on their own, even though perhaps you—and, for that matter, I—just happened to unlock the programmer storyline during the great Brownian motion that constitutes the formative years of most children. We really ought to make programming a mainstream subject, preferably from as young an age as possible.

  23. Why make it easier? by uneek · · Score: 1

    This is simple economics. If the demand for programmers can not be met then there is more opportunity and money for me. Why should I reduce my personal money making capability?

    1. Re:Why make it easier? by ale2011 · · Score: 1

      This is simple economics. If the demand for programmers can not be met then there is more opportunity and money for me. Why should I reduce my personal money making capability?

      That's true for mathematics as well. Why do kids have to learn long division algorithms which are useless for them as well as for they future employers? The hourglass-shaped division of labor is nicely recounted in Calling a spade a spade: Mathematics in the new pattern of division of labour. Unlike programming, mathematics education can be compared with how it was in 1897, when Post Office entrance tests included exctracting the square root of 331930385956.

  24. Who cares about the normals by Suiggy · · Score: 1

    Normal people are mediocre. Why don't we just oppress and grind the normals into oblivion. Let us autists inherit the Earth.

  25. Lovely by undulato · · Score: 1

    Great to hear the rantings of other human beings *also* getting older and *also* temporarily unable to cope with the realities of it.

    1. Re:Lovely by Anonymous Coward · · Score: 0

      Great to hear the rantings of other human beings *also* getting older and *also* temporarily unable to cope with the realities of it.

      If it makes you feel any better, we younger adults are struggling to shoulder the crippling burdens (financial and social) of the aging Baby Boomers. If the Boomers as a group would drop the haughty entitlement mentality it would make our honoring of an agreement in which we did not participate go more smoothly but I digress. So anyway you definitely ARE significant. Maybe not the way you wanted to be, but there you go.

  26. I wrote about this in 1996 in BYTE by bfwebster · · Score: 5, Interesting

    The article was called "The Real Software Crisis" (BYTE, January, 1996); you can read the original text here. (BYTE's archives are no longer online). I wrote a more extended discussion on the subject back in 2008; you can read it here. One might was well write that "normal humans are effectively excluded from composing and performing music"; if you've ever known a music major in college, you'll know just how true that is (I believe Music to be a harder major than Computer Science, having dated a Music major while getting my own degree in CS). ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
    1. Re:I wrote about this in 1996 in BYTE by fuzzyfuzzyfungus · · Score: 1

      While I strongly suspect that anyone who thinks that good developers can be made without also being correctly born is either terminally optimistic or a biologist who should quit talking and get his work into wider availability, there is a case to be made for the issue of building tools that allow seriously mediocre not-really-developers to solve the (effectively endless) supply of theoretically uninteresting, but too large to be manually tractable, problems that come up in all kinds of business and other situations. Ideally without setting them loose to produce brutally unmaintainable and incomprehensible messes.

      It arguably fails the 'brutally unmaintainable and incomprehensible messes' criterion; but that's basically the function that has allowed either a dubiously sensible pile of Excel hacks, or a shambling Access monstrosity(often several of both) to become a vital part of offices everywhere. They are pretty dreadful; but they allow people with very, very, limited programming knowledge (and essentially zero computer science skill) to bodge through the assorted business-process data schlepping tasks that are too small or mundane to get an actual developer involved with. Not glamorous; but extremely useful and widely used. Even the humble mail merge, commonly treated as an invaluable tool by secretarial workers who explicitly claim to 'not know computers' is valued because it allows somebody without programming knowledge to perform the oh-so-frequently-useful "Iterate through this file and do something sensible with each line" function.

      Making more good programmers is hard; but building tools that allow bad programmers to get some of the benefits of programming, ideally with features to keep them from hurting themselves or puking up unmaintainable messes, is a more tractable problem, and a valuable one to solve.

      To go with your music analogy, normal humans are effectively excluded from composing and performing music at anything resembling a serious level; but hobby/amateur level musical activity is extremely widespread(and contemporary societies with recorded music and mass media might actually be atypically low, by historical standards, in mass participation in musical culture). Doesn't mean that kiddo's high school rock band doesn't suck, or that kiddo would know 'music theory' if it bit him in the ear; but music-making for recreational and social purposes is very accessible without much specialist knowledge.

    2. Re:I wrote about this in 1996 in BYTE by Anonymous Coward · · Score: 0

      Its in THE ARCHIVE.

  27. Depends on what you mean by "develop" by stove · · Score: 1

    Program a widget for a smartphone using a already existing framework and pictures that'll display and whatever... Sure, sounds like something "we" should simplify. I'l get on it.

    Building said framework? Cool, so you're going to need to know a programming language or two, how those interact with the phone hardware, what the phone hardware's limitations, perhaps some UI design and... hey, where are you going? I've got months more reading for you to do!

    --
    Ack!
  28. In the old days . . . by DickBreath · · Score: 1

    From TFA (the friendly article, or whatever other F-word you prefer) . . .
    > In the old days there was a respected profession of application programming.
    > There was a minority of elite system programmers who built infrastructure and tools
    > that empowered the majority of application programmers.


    I think it is still that way. But now there is a third class who think that breaking into the application programming is some kind of godlike elite skill because it requires you to actually know more than the mere syntax of a language. Programming is racist and sexist because it requires you to even learn the syntax of a programming language. Why can't the computer just do what they say? Why do they need a special language? Why should it be necessary to learn to design complex databases, and understand in memory data structures and algorithms? Why focus on gaining lots of insight in order to come up with vastly superior algorithms?

    In short, from what I see on some programming boards, what some people seem to want is a high paying position where an untrained monkey could get a computer to do what the boss wants, and then collect a paycheck -- um, no. Direct deposit.

    --

    I'll see your senator, and I'll raise you two judges.
  29. Normal human beings can not do many things. by 140Mandak262Jamuna · · Score: 2
    Yeah, why can't we empower most human beings to be programmers? Hey, why not empower them to be hedge fund managers or rocket scientists? If Joe sixpack wakes up one day and feels like picking up a scalpel and perform a simple appendectomy why shouldn't he be able to do it? Why are we stopping him?

    Even with training most people could not paint a simple landscape or compose new music or even come up with an original joke. So why should everyone be "empowered" to be programmers? Who is stopping them anyway? Heck we don't even have the equivalent of AMA that can sue people for programming without a license. In fact that rant would have more validity against the legally chartered professional organizations that have the monopoly in issuing credentials and stopping people from practicing law, medicine, accounting etc without license.

    --
    sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
  30. Weird definition of "normal". by mwvdlee · · Score: 1

    A normal person is a person who's good at some things and bad at others.
    99.99% of programmers, including myself, are normal people who are good at the things required to be a programmer and bad at others (like social things, perhaps?).

    TFA is some self-righteous bullshit. Imagine if a garbage collector wrote a blog about "the insufferable unequality in his profession because it takes somebody with rare talents such as muscle-power and the ability to withstand excruciating smells, excluding all the normal people". We'd call that guy an arrogant prick. What is the difference?

    Get of your high horse, mr. Edwards. Unless you are one of these Jonathan Edwards's, you're just a normal person like pretty much the entire rest of humanity.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    1. Re:Weird definition of "normal". by Anonymous Coward · · Score: 0

      What kind of garbage collector?

  31. Today, I would never have learned programming by jw3 · · Score: 5, Insightful

    I got my first computer in 1986; I was 13, and it was a ZX Spectrum with a build-in BASIC interpreter. When you switched on, you could start away programming. In fact, the computer came with a little book with programming examples and little games. I spend countless hours typing in listings that I found in newspapers. To even load a simple game you had to enter a command.

    Since then, I learned C, tcsh, C++, bash, Perl, much later also Python and R. It was a step by step process, and I would never have started it (and became what I am now, that is, computational biologist) if not for this one computer with the BASIC interpreter.

    I have kids now, and they have Android tablets. The sheer power, their parameters and their capabilities are overwhelming. I don't know how many instances of a ZX Spectrum emulator I could run on one of these, a thousand?

    But even though they run on a system that is related to the system I am using every day, I would not know how to write a program for them to save my life. In theory, I know how I would approach it, I even set up once an Eclipse environment once, but I never got to even start a Hello world program. If I were 13, I would not even know that I can write a program myself.

    It is amazing, but I think that actually, my kids will have a much harder time to learn programming than I had, and they will get much less fun in return...

    1. Re:Today, I would never have learned programming by phantomfive · · Score: 1

      It is amazing, but I think that actually, my kids will have a much harder time to learn programming than I had, and they will get much less fun in return...

      This is a sad truth. The only thing even close to that now is building a web page

      --
      "First they came for the slanderers and i said nothing."
    2. Re:Today, I would never have learned programming by Anonymous Coward · · Score: 0

      There's nothing sad about it at all. I've taught kids for years and found that far more of them enjoy making a web page than ever did back when BASIC was their teaching tool. The bar is much lower than ever, even if a lot of insecure people like to dump on web technologies.

      In fact I think the "problem" is nonexistent. We're just getting old, and finally realizing how few of us there were back in the day capable of dealing with this, and trying to shoehorn our thinking into things. There are still the same number of kids like us, they're just using Python instead of BASIC. The bar is just low enough for less "autistically-inclined" kids (to go with TFA's cliched label for "kids who obsess about an intellectual hobby rather than physical or artistic one").

      Speaking of TFA, if he's using words like "injustice" then I think he's in need of a good long vacation. It sounds like he hasn't actually been to schools around the world to see how mainstream these skills have become, and just wants to feel special.

    3. Re:Today, I would never have learned programming by Gramie2 · · Score: 1

      If you really are interested, you could check out Basic4Android. No, it's not free, but it is very reasonably priced (starting at $60, and you can usually find coupons online to lower the price even more). It makes Android apps possible for the average programmer. There is a superb community growing around it, too, and the main developer of B4A answers many of the questions himself.

    4. Re:Today, I would never have learned programming by Anonymous Coward · · Score: 0

      Nobody forces their parents to deny their kids a proper education. Which is much more than properly learning to develop software. Think of just explaining how a combustion engine works, how plants transform light into food, how sugar is made and the like.

      And of course, nobody stops parents from buying a surplus 386 PC and installing Turbo Pascal on it. And then telling the young fucker that this machine is about 100times faster than requried to write, test, debug useful* software. Which probably the most important lesson: No need for shiny tools. A 50 DM (fuck the Euro) microscope is probably a much better toy than a $500 tablet crapola.

      *Just think of checking some math homework, drawing a hyperbolic curve, calculating the amounts of different stuff for a cookie recipe and the like. REAL computer work.

    5. Re:Today, I would never have learned programming by Anonymous Coward · · Score: 0

      All you said is true, and I often wish that more modern hardware came with a programming language or as someone earlier pointed out even a good spread sheet with some useful extra UI interface could help. HyperCard on the Apple computer shows that programming can be done by more than just people interested in programming computers.

      BUT, But, but look at how many people had HyperCard on their Apple computers, what percentage when on to become real programmers.

      Even when you look at all the Atari, Spectrum, C64, Amiga, ST and PCjr computers, a huge percentage played around with programming their machines but look how few went on to be programmers.

      You just can't make computers easier to program, people still need to care to spend the time to write programs no matter how easy it is to do.

      In my Amiga days there was a rip-off of HyperCard where you click on a picture and the selected region would take you to another picture, where you clicked in a region to go to still another picture. I started a World Map, click on a country and the map of the country would come up, click on a city and a map or pictures of the city would come up. Coding was just a few mouse clicks, finding the maps/pictures was hard work. I only got it 50% done.

      And there is the problem, it does not matter how easy the coding can be made- there is still hard work in delivering a polished and finished product ALWAYS.

    6. Re:Today, I would never have learned programming by __aaclcg7560 · · Score: 2

      I would gladly learned how to build web pages back in the 1980's when I went to school. Back then, it was the Apple ][ computer and Logo programming. Since I didn't have an Apple ][ computer at home (I came from "poor" family because we didn't have Cable TV to watch MTV), and there was no open lab hours at school, I flunked that programming class. Despite everyone telling me to get into computers, I wanted nothing to do with computers after that incident. Building web pages was what got me interested in programming, cutting my teeth on HTML, CSS, PHP, SQL, XML and LAMP. I went back to community college to earn an associate degree in computer programming and made the president's list for maintain a 4.00 GPA in my major.

    7. Re:Today, I would never have learned programming by jpellino · · Score: 1

      Hypercard included the code, which, once you got anything significant done, you would likely either need to or want to tweak. As nice as Stagecast is for introducing kids to creating things, they never did the part where you see the code behind it. We used Hypercard for a good dozen years and got a lot of kids (in a STEM school setting) hooked on being able to make things. Same thing happened with LOGO ten years earlier. MYST and Voyager Expanded Books were both built from HyperCard - so yes, it could make useful commercial things.

      --
      "Win treats sysadmins better than users. Mac treats users better than sysadmins. Linux treats everyone like sysadmins."
    8. Re:Today, I would never have learned programming by kwikrick · · Score: 1

      Amen!

      My first computer was an IBM 8068 clone. It came with GWBasic and a programming manual. There wasn't much else you could do with it, but it was fun, and I have been programming for hobby and professionally ever since.

      Programming has not gotten easier over the years. That's mostly because I set more and more difficult challanges for myself. But getting started on a new device or platform (Android, iOS, Windows8, The Web, etc), even a simple "hello world", is also much more difficult than it was back in the early 90s.

      One reason is that, by default, computers do not come with a programming environment anymore. There are many tools and programming lanuguages too choose from, but that doesn't make it easier, because many of those are aimed at a particular kind of application, while not so handy for other tasks.There are of course very powerful general purpose languages languages, tools, frameworks and libraries, but they are also much harder to learn and master. And there are lots of educational languages too, intended for learning to program, but they aren't used much for serious work. So which one too choose? How many languages, frameworks, tools, API's, will you need to learn?

      More importantly, the kind of applications and games that kids are now used to, are way more complex than what I played with when I was a kid. Expectations are higher: fancy graphics, slick UI's, networking, multi-tasking, etc. Yes, more powerful tools and languages are available, and they can hide some of the complexity, but it's still there, and you will need to master that complexity, or you'll be limited in what you can build.

      Finally, you can download a ton of apps, games, for free! Why bother writing your own?

      I think in principle, learning to program is not that much more difficult than it was, but kids will need more guidance, someone to help them get started, pick the right tools, exercies, examples, and keep them motivated. Or perhaps some thing? An killer app, or a cool new device, that requires you to learn programming? But programmable robots never became very popular, even Lego Mindstorms is pretty rare. Maybe because of the price tag.

      --
      assignment != equality != identity
    9. Re:Today, I would never have learned programming by Anonymous Coward · · Score: 0

      If I were 13, I would not even know that I can write a program myself.

      It is amazing, but I think that actually, my kids will have a much harder time to learn programming than I had, and they will get much less fun in return...

      Yeah because there isn't a single YouTube video or tutorial showing you how to start programming.
      What it shows is how clueless you are about the vast number and availability of learning resources that are out there.

    10. Re:Today, I would never have learned programming by Anonymous Coward · · Score: 0

      Well when I grew I up it was the gold rush ya know the actual gold rush and there was just gold all over the ground because it was like woah man nobody has been here and wanted this stuff before so it's east to just pick it up off the ground but nowadays people have done all the easy stuff so my kids are gonna have a hard time thinking of new ways to get gold out of the ground and by god I bet they get less of it.

    11. Re:Today, I would never have learned programming by kanda · · Score: 1

      Checkout Kivy/Python, you can be up and running in an hour or two. Also check blog for your kids.
      Believe me, I started out like you.

  32. Professional athletes and "unfair advantage" by Dareth · · Score: 5, Insightful

    Some people in life find an "unfair advantage". This is very evident in professional athletes. They must start with natural athletic ability and then hone that through practice and training. And then a select few get paid huge dollars to essentially play a game.

    People with natural problem solving and logic skills also have an "unfair advantage". It doesn't generate the quick wealth of the professional athlete but can lead to a promising professional career path. It still takes practice and learning to really take advantage of these skills much like the professional athlete learning their sport.

    I will not apologize for taking advantage of my abilities any more than a professional athlete will give back the money they earned playing a game.

    --

    I only look human.
    My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
    1. Re:Professional athletes and "unfair advantage" by DuckDodgers · · Score: 3, Informative

      I say the professional athlete is luckier than you are. There are hundreds of thousands of kids every year working as hard as they can to become professional athletes, and that hard work combines with two big patches of luck - good genetics and the fortune to avoid a career-ending injury - to make success. The ones who get hurt can't do it, no amount of hard work offsets poor genetics, and the pool of available paid athlete positions is relatively small.

      In our field, average talent or at most slightly above average talent and a lot of hard work is all you need to succeed. You don't need to be born a genius, average intelligence and a willingness to learn is sufficient. And there are a huge pool of open positions plus the possibility of creating your own niche. The only thing "elite" about most of us is that we learned not to be lazy and in the modern world that appears to less common than it was a century earlier.

    2. Re:Professional athletes and "unfair advantage" by Drethon · · Score: 1

      Well the sports industry seems to be more than happy to support those in denial about their abilities. While those in denial about their abilities can often squeak by in the software industry, those truly in denial often get soundly squashed.

    3. Re:Professional athletes and "unfair advantage" by Anonymous Coward · · Score: 0

      > no amount of hard work offsets poor genetics

      Rudy

    4. Re:Professional athletes and "unfair advantage" by DuckDodgers · · Score: 1

      Rudy didn't make it to the New York Giants, did he?

    5. Re:Professional athletes and "unfair advantage" by Anonymous Coward · · Score: 0

      >The only thing "elite" about most of us is that we learned not to be lazy

      You're kidding? Laziness is like a force, you learn to set sail with it. It might seem to be a headwind but a Smart And Lazy programmer finds a way...a more efficient way.

    6. Re:Professional athletes and "unfair advantage" by micahraleigh · · Score: 0

      If Mugsey Bogues could slam dunk and play in the NBA, 95% of advantages are fair.

    7. Re:Professional athletes and "unfair advantage" by DuckDodgers · · Score: 1

      I'm familiar with Larry Wall and his virtue of Lazines. That kind of laziness I admire. I'm speaking of the less intelligent form of laziness: doing a half-hearted job because you don't care if it will need to be rewritten later.

    8. Re:Professional athletes and "unfair advantage" by Dareth · · Score: 1

      I might as well mention that I am a Systems Administrator and not a programmer despite my computer science education. I am a "lazy work-a-holic" in that I will work like hell to make sure I do not have to do a repetitive task more than once. Scripting and automation are wonderful things. I believe this sums it up nicely.

      Necessity is the mother of invention. Laziness is its father.

      --

      I only look human.
      My mother is a halfling and my dad is an ogre, so that makes me an Ogreling
  33. "Rare talents"?! by ZeroPly · · Score: 3, Insightful

    Those are jobs that involve a vanishingly small percentage of the general population. Programming is not. I couldn't stop laughing after reading this gem - "programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication."

    Does this egotistical idiot actually believe that?

    Programming is not something that requires grueling training or rare talents. Algebraic topology, cardiothoracic surgery, and competitive chess require those. If you're writing code that requires elite skills, you're doing it wrong - no one is going to be able to understand it, and you will never be able to troubleshoot it. Someone with an IQ of 100 can become a perfectly competent Java or C++ programmer with two years of intensive training. Programming is more akin to a trade skill like plumbing or electrical work, than it is to engineering. And before everyone gets on my case that being a top 1% programmer is incredibly difficult, the same holds for a top 1% electrician.

    --
    Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    1. Re:"Rare talents"?! by rioki · · Score: 1

      The novice developer writes code he does not understand.

      The mediocre developer writes code that only he understands.

      The great developer writes code that everybody understands.

      I would say yes, it takes some skill and experience to create simple to understand program. This does not mean that your average programmer can not hack together a functional program. But even your requirements of 2 years worth of training and experience is way more than the TFA would like, it falls more along the lines of "learn programming in 8 hours" type of requirement.

    2. Re:"Rare talents"?! by ZeroPly · · Score: 0

      My two year requirement would be for someone who is intending to become a professional programmer. That mirrors other trade skills such as plumbing and carpentry. It is simply unnecessary for a computer programmer to have a 4 year degree like a computer scientist has. As far as amateurs, the barrier to entry for programming is far less than for working with electricity. Which requires more training - writing an Apple Store app, or safely changing out the breaker box in your basement?

      Programmers point to a handful of elite systems programmers to aggrandize their field. Programming is a trade skill, it is not engineering. And we don't need everyone on the planet to be able to write code, any more than we need everyone to be able to replace the toilet in their bathroom.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    3. Re:"Rare talents"?! by eric4209 · · Score: 1

      My business turns people into junior developers with ~700 hours of training. Of course, we have a logic and reasoning assessment that filters out more than half of the applicants.

    4. Re:"Rare talents"?! by Desler · · Score: 1

      I laughed even more at a comment he made near the bottom:

      Yes programming is far worse than any field of engineering. I think we can quantify this, though I haven’t actually done the experiment yet. Stack up all the textbooks and reference manuals that a proficient web programmer needs to know. Include estimates for things like Rails that don’t even bother to have docs anymore. Compare the height to that for engineers in other fields like electrical or mechanical engineering. I believe our stack will be 10 times as high.

      What a fucking joke!

    5. Re:"Rare talents"?! by Bob9113 · · Score: 1

      Programming is not something that requires grueling training or rare talents. Algebraic topology, cardiothoracic surgery, and competitive chess require those. If you're writing code that requires elite skills, you're doing it wrong - no one is going to be able to understand it, and you will never be able to troubleshoot it. Someone with an IQ of 100 can become a perfectly competent Java or C++ programmer with two years of intensive training.

      You said "competitive chess" which implies a high skill level and "cardiothoracic surgery" which implies doing it well enough to have zero fatal errors most of the time. Those don't correlate to "competent programmer", nor to a programmer who can perform well in a job that requires code that works, has a long service life, and can be maintained. Writing a PGP key manager that can traverse the web of trust without granting privs to an attacker, for example, really does require elite skills -- just like your elite electrician and elite body mechanic.

      Anyone can write Hello World, many can write an address book. It takes a lot of study to be able to write a cluster management system.

    6. Re:"Rare talents"?! by Seraphim_72 · · Score: 2

      As far as amateurs, the barrier to entry for programming is far less than for working with electricity. Which requires more training - writing an Apple Store app, or safely changing out the breaker box in your basement?

      Changing out your breaker box. Hands down. There is no arcana, English as a language, no IDE, no security, no graphics to work out, no logic. You almost can't buy the wrong materials, and if you actually ask the guy at the store you won't and after that it is pretty much tab A, slot B, kind of work. It is so easy that most munis don't require that a licensed electrician do the work. Oh, and for the small fee to the city you have to pay for the permit theey have a guy come out to inspect the work to make sure you didn't screw up.

      I am a programmer and I have a vague idea where to start with making an app for iOS, but specifics? It would take me longer to dig them up than driving down to the local hardware store to buy a breaker box and some fuses. In short, you posted as if electrical work was "a vocation requiring rare talents, grueling training, and total dedication" while trying to down play programming. I agree that programming really isn't that hard, but there is a reason programmers get paid what they do.

      --
      Slashdot, where armchair scientists get shouted down and armchair theologians get modded up.
    7. Re:"Rare talents"?! by Anonymous Coward · · Score: 0

      My Bachelor's is in Mechanical Engineering and my Master's is in Computer Science. The paragraph you quoted above proves that this guy is a complete tool.

    8. Re:"Rare talents"?! by Anonymous Coward · · Score: 0

      Someone mod this troll down please? Programming is as hard as the problems you're trying to solve. What if you're writing code to solve algebraic topology problems?

    9. Re:"Rare talents"?! by HornWumpus · · Score: 1

      Top 1% electricians get stuff done faster. There really isn't that much to it (or any of the building trades).

      If you consider a lineman to be a top 1% electrician, maybe.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    10. Re:"Rare talents"?! by HornWumpus · · Score: 1

      I was installing/repairing breaker boxes at 16. But I was also writing assembler at 16.

      An adult checked my electrical work, but no lives depended on my 6502 code.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    11. Re:"Rare talents"?! by Anonymous Coward · · Score: 0

      Some areas of web development definitely fall into the trade skill category. But go anywhere else in the field and you'll see that a lot of programming is a lot more like engineering, or even science. To me, your post reads like this:

      "Being a painter is nothing more than a trade skill. How hard can it be to slap some white on the walls? Picasso shouldn't be so full of himself."

      The fact is, that a lot of programmers spend day after day thinking hard and puzzling to solve brand new problems that no one in the world has ever seen before. It's very taxing in terms of intelligence, creativity and people skills. (Note to those who dare to try to deny that: you'll only give yourself away as someone who has never done any professional programming.) Just the fact that you *can't* just hire someone who has done an intensive two year programming course and expect decent results proves that. In fact, we have found that even many CompSci university graduates simply aren't good enough.

      The programming as a trade skill mentality is one that has been touted a lot by politicians over the past few years. We need more programmers for our economy to fill the shortage and remain competitive in this new age, they said, so we'll just dumb it down from a university course to a trade school one. And now we're starting to discover that almost everyone who has done trade school level software development has essentially been educated for the dole, because they simply don't have what it takes. And that's the real danger of your mentality.

    12. Re:"Rare talents"?! by Anonymous Coward · · Score: 0

      > Someone with an IQ of 100 can become a perfectly competent Java or C++ programmer with two years of intensive training. Programming is more akin to a trade skill like plumbing or electrical work, than it is to engineering.

      It does take skill to develop the right thing, to provide vision, and to understand enough of the theory and likely extensions that you don't build a white elephant.

      But with cunts like you around, IT departments end up full of your intensively trained monkeys who throw shit at walls when told to paint it, and who wank themselves off when it sticks.

    13. Re:"Rare talents"?! by Seraphim_72 · · Score: 1

      but no lives depended on my 6502 code.

      I am sure the guy(s) who came up with apple maps said the same thing. If I remember correctly they were *almost* wrong.

      --
      Slashdot, where armchair scientists get shouted down and armchair theologians get modded up.
    14. Re:"Rare talents"?! by Millennium · · Score: 1

      You seem to imply that programming is, at its core, a relatively small set of simple and easily-grasped concepts, but I can't say I've ever found compelling evidence that this is actually the case. Could you please list these basic skills that are so easy to master? I'm afraid I have to ask for a thorough list.

    15. Re:"Rare talents"?! by ZeroPly · · Score: 1

      Here's your thorough list:

      1. Take a 101 class to learn how to use a computer and the web.
      2. Download a beginner's guide on how to program in Python.

      That's it. I started programming with Pascal and C in the 80's. We didn't spend 90% of our time worshipping the goddess of great readable self-maintaining agile code, we just wrote code. I used C++ in the 90's. Nowadays I use Python for scripting, and program in Haskell for fun. On a complexity scale, if understanding the Hodge Conjecture is a 10/10, Haskell might be a 2/10, and every other language is a 1/10. We literally have a class for 12 year olds to show them how to build Android apps.

      Now, programmers are about the most predictable people on the planet, so your next step will be to claim that my list is not sufficient to be a GREAT programmer. But I'd like to remind you about your phrase "at its core". Resist the temptation to move the goalposts.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    16. Re:"Rare talents"?! by Anonymous Coward · · Score: 0

      You seem to imply that programming is, at its core, a relatively small set of simple and easily-grasped concepts, but I can't say I've ever found compelling evidence that this is actually the case.

      At its core, it IS small and simple. I guess it depends how you define 'core'.

      1. Data storage - variables, constants, types, arrays, structures
      2. Flow of control - sequential, conditionals, loops, errors
      3. Subroutines - functions, subprograms, procedures, methods
      4. Objects - data structures with associated functions/methods
      5. System calls - using I/O, IPC, audio, video, controllers

      You can learn the 'core' of programming while standing on one foot. The devil is in the details!

    17. Re:"Rare talents"?! by Millennium · · Score: 1

      Actually, my next step is to claim that your two steps are already too complex. Not because people are stupid, but because these two steps require a greater investment of time and energy than most people can realistically be expected to make. The moment you mentioned taking a class, you had already failed.

    18. Re:"Rare talents"?! by ZeroPly · · Score: 1

      I'm sorry - am I missing a huge demographic of people who have never touched a computer, but still want to learn how to program? If you seriously think that learning how to use a keyboard and mouse, open and close windows, download programs, and type, is "too complex", then I pity the incredibly low bar that you have set for yourself in life.

      You need to expect more out of people. It took me 4 days to learn how to program in BASIC on a Sinclair ZX Spectrum in 1985. That was the first computer that I touched. If there's anything standing in the way of people devoting the time and energy, it's people like you who continually reassure them that it's way too difficult to do.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    19. Re:"Rare talents"?! by Millennium · · Score: 1

      If you seriously think that learning how to use a keyboard and mouse, open and close windows, download programs, and type, is "too complex", then I pity the incredibly low bar that you have set for yourself in life.

      I don't. But if you seriously think that that's all there is to even rudimentary programming, then either you've forgotten far too much about your own learning experiences, or you're a prodigy (in which case you shouldn't be generalizing your experiences at all).

      I don't have to reassure people that it takes too much time and energy. They convince themselves of that easily enough, and frankly, the widely-available evidence favors them quite strongly. If you want to convince them otherwise, you're going to have to prove to them that this is easy to pick up. Good luck with that. I certainly haven't managed, and I've come to a conclusion as to why I can't prove it: it's simply not true. Your arguments aren't very compelling either.

    20. Re:"Rare talents"?! by ZeroPly · · Score: 1

      No, it's not complicated, and I'm not a prodigy. Back in the 80's, we didn't fool ourselves into thinking it was too complex. You wrote a Hello world program, and then you wrote a simple loop, and then you played around, until one day you woke up and... wait for it... you knew how to program...

      What exactly do you think is so complicated about "rudimentary" programming? Are you one of the new breed who tries to glorify the field by introducing seven layers of methodology? Like I said earlier, we have young teenagers who learn how to program in Android. Thankfully there are no people like yourself around to convince them that it's a monumental undertaking.

      --
      Support microSD: in a post 9/11 world, it is unwise to carry your data on media that you cannot comfortably swallow.
    21. Re:"Rare talents"?! by mccabem · · Score: 1

      [...]Someone with an IQ of 100 can become a perfectly competent Java or C++ programmer with two years of intensive training.[...]

      Every personal computer owner could be a computer programmer with from 2 hours to 2 weeks of training. Sometimes less!

      I get what you are saying, but you're looking at the wrong paradigm and imagining the wrong use-cases.

      I don't need to be a trained plumber to unclog the wife's bathroom sink drain once a month, or even to replace some of the basic plumbing fixtures in the house. If plumbing were like software developing, I would need to be - but not for safety, or any "good reason"...just because the tools themselves were so complicated to use!

  34. Programmer maturity by Anonymous Coward · · Score: 1

    > "My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."

    Congratulations. You've stopped following fashion and started to become a good programmer.

  35. This just in... hard things require skills by FuzzNugget · · Score: 2

    And different people have wildly varying abilities by nature. To say that this is a crisis is officially today's biggest crock of shit.

    1. Re:This just in... hard things require skills by Anonymous Coward · · Score: 0

      yeah, but when the guys with skills are geeks and nerds it's suddenly a problem. people like to talk about the triumph of geeks and all that in the 21st century but when it comes down to it everyone is fucking pissed that some nerdy son of a bitch can make a good living. there is still rampant anti-geek hate out there from bozos in suits to high school cool guys to haight street hippy leftovers. haters gonna hate, of course, but that doesn't mean we have to get stockholm syndrome and start identifying with the morons.

  36. What an injustice! by Anonymous Coward · · Score: 0

    The world would be much better off if we just encouraged stupid, lazy people to program.

  37. Totally bogus by mysidia · · Score: 1

    "The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication.

    LESS TODAY THAN EVER BEFORE

    Remember what Programming the PDP11 was like?

    1. Re:Totally bogus by mjwalshe · · Score: 1

      which I did leaving straight from school with no a levels :-) and my IQ's only around the 126-130 level

    2. Re:Totally bogus by mccabem · · Score: 1

      "The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication.

      LESS TODAY THAN EVER BEFORE

      Remember what Programming the PDP11 was like?

      The perspective is supposed to be from that of the microcomputer revolution, which was to have ended that elitism of mainframe and minicomputer "once and forever".

      Programming, as a field, is still (apparently) in lock-step with that elitism....evidenced all over this thread! LOL.

      It must be very easy to imagine oneself as "An Elite Programmer" and one's programming problems as "the sum of Programming".

      I'm a little surprised that it's so hard for so many folks - even if you ARE "elite" - to imagine the layman and his possible computing problems.

    3. Re:Totally bogus by mysidia · · Score: 1

      The perspective is supposed to be from that of the microcomputer revolution, which was to have ended that elitism of mainframe and minicomputer "once and forever".

      You're just continuing the same idiocy of the article. The point is programming is not hard because language designers are elitists.

      Programming is hard because it is solving a fundamentally hard problem of converting human language into extremely detailed formal procedure which can be executed by a machine, and you have to know how the machine works to do it effectively -- this is a fundamental knowledge barrier.

      This is nothing discriminative or exclusionary, but fundamental. It's like saying Calculus is hard to grasp, therefore the culture of mathematics unfairly excludes some groups.

  38. Funnily by Greyfox · · Score: 3
    In most of my jobs, HR hires normal humans. The vast majority of them don't particularly enjoy programming. Most of them got into it because they heard it was a good salary. Some of them are pretty good at it, some of them aren't. Maybe 5% of the programmers I've met will go home and write more code because they enjoy it and have their own projects they want to do. Seems to me that with a small bit of training, a normal human CAN do programming and do it reasonably well if they put their mind to it.

    They also seem to have an above-average chance to push management to jump on some new framework bandwagon because they think that will solve all their problems. To be a really good programmer, you have to know how to program, understand the processes that you're automating with your code and realize that no silver bullet will allow you to NOT understand the processes that you're automating. If you don't understand what you're trying to do, you're not going to do it very well.

    --

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

  39. Regular People by Spazmania · · Score: 4, Funny

    Regular people can build web apps. It's called "Microsoft Sharepoint."

    --
    Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    1. Re:Regular People by shutdown+-p+now · · Score: 1

      Well, if your definition of "build" is "cobble together using spit for glue, and some duck tape if you're lucky"...

    2. Re:Regular People by Spazmania · · Score: 1

      We are talking about something "regular" people can do.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    3. Re:Regular People by toddestan · · Score: 1

      In many ways SharePoint is like how he describes. Sure, you can take the built-in tools and build yourself a website that can do quite a bit on its own. But want to go outside of what the canned stuff can do and create something custom? Ever look at the code that create those SharePoint pages? Yeah, that's not accessible to normal humans in any way.

    4. Re:Regular People by Spazmania · · Score: 1

      No approach to "programming" for normal people ever has allowed normal people to go beyond the canned capabilities. Excel macros are as far out of reach.

      But why would this be surprising or unreasonable? Most people can't change the oil in their car either, or replace the stereo. And most of those who can can't make engine repairs. It'd be absurd to suggest this reflects faulty thinking on the part of car manufacturers.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
  40. Brings a tear to this sysadmin's eye... by Anonymous Coward · · Score: 2, Insightful

    "I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."

    That's what we've been telling the Dev side for decades now. .

    1. Re:Brings a tear to this sysadmin's eye... by Anonymous Coward · · Score: 0

      oh God...too much truth and funny in one statement

  41. specialization by deodiaus2 · · Score: 1

    I had a back flow device inspected. This stupid thing requires a $500 tester and $200 annual calibrations and additional certifications. While as I agree that these things are needed to prevent contaminating the water supply, I think paying some Joe $75 for 5 min of work is way too much. I would be willing to have the city send someone out to do it. I am sure that the economy of scale is such that if we could have someone do this for $5, but then, the local city council has family who depends on my over priced fees.

  42. WTF are they talking about? by MikeRT · · Score: 1

    We live in the golden age of low barrier to entry programming. I'm 31 (upper bounds of millennial). When I started, JavaEE in its earlier stages or .NET were the only choices outside of C/C++ that a typical graduate could get. Now you have Node, Python, Ruby, PHP, Groovy and all sorts of easy to use languages. FFS, JavaScript is now a serious career choice where it was considered a skill that no serious developer needed when I was in college (2001-2005).

    I swear, some people won't be happy until the machine becomes sentient, writes the code they really meant to write (originally express in plain English, probably at a 6th grade level) and then gives them all of the credit at review time.

    1. Re:WTF are they talking about? by AaronLS · · Score: 1

      Indeed, no matter what language you allow people to use, from C++ to English, it comes down to communicating intent clearly and unambiguously. In just about every programming language, you have bugs resulting from a gap in what someone actually wrote, versus what they intended to write. If you don't think analytically and logically, then you are going to make this mistake alot.

      On the other hand, I certainly agree that sometimes learning curves and programming hassles are steeper and more common than necessary. Poor documentation, and lack of cookbooks/guides for common scenarios, poorly communicated errors, shoddy development tooling, unintuitive tooling, etc. I hate getting pulled off onto a tangent because something isn't working as it should and having to delve into something I shouldn't have to.

  43. This guy is a complete idiot. by ogdenk · · Score: 1

    "Normal humans are effectively excluded from developing software. The real injustice of developer inequality is that it doesn't have to be this way."

    Yeah, it kinda does. Face it, computers are the most complex machines ever designed and implemented by mankind. There is no way to make them much simpler without losing functionality and breaking a lot of things we take for granted.

    I'm excluded from practicing law and medicine.... OH THE INJUSTICE. I should be able to take a 2 week course and read some picture books and perform surgery, right? IT and development are professional fields that require extensive training. Get over it.

    We tried making programming accessible to the common man. These efforts were called things like BASIC, HyperCard and Applescript. And you know what? Common people couldn't even hack it with those. And they were braindead easy to develop in. They were fairly slow but novices could go from blank slate to working program quickly. And still..... most "normal humans" were confused.

    "Normal humans" don't see how complex even basic tasks are to the computer itself. They think programmers just punch keys and click all day and it all comes "naturally". They think the job is easy. Computers are insanely complex. GUI's have just made the problem worse because the common misconception is that computers are "simpler" now.

    The "normal human" computing skillset consists of opening Word or double clicking the blue E to get to facebook. Sorry, I don't want these people writing software. Most of them have no interest in writing software, either.

    The biggest "injustice" is that IT/development folks are generally excluded from any other field after dealing with IT/development for a few years unless we can pull an MBA out of our ass. We are "excluded" far more than most others. And the common line of thought is "this stuff should be simpler so we don't need those weird IT people". The reality is "simpler for end users" means insane complexity under the hood.

  44. spectra by Anonymous Coward · · Score: 0

    "... someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans..."

    One does wonder what those "normal humans" end up doing with themselves? It can't be a big problem, since there sure aren't very many of them.

    There's a reason it's called a *spectrum*; and, there's lots of other spectra.

  45. oh i agree... by Kookus · · Score: 1

    ...with the Finkler part at the end. I've gotten to the same point where I'm coming across "frameworks" that are supposed to be the be all end all of everything you could possible want to develop on to make your enterprise applications. They are designed so generically, and configurably, that they become useless and waste much more time trying to find the right combination of configuration to make things actually work, since they had to duct tape 30 different other kinds of frameworks together into their framework. Not to mention, the documentation falls apart in the end, and the amount of untested combinations leads you to just working your own hacks in.

    I walk into a store to buy a hammer and I can find a sub-selection of the ones listed here:
    http://en.wikipedia.org/wiki/H...
    There's a reason why there's variations, because each one makes a particular job easier. Is this really a bad thing to have so many variations? I don't think there's anything wrong with it, and I certainly don't want to try to make a 1 hammer fits all when it results in a Swiss army knife in which people only use 2 or 3 parts of it.

    So yeah, I really like the idea of stability, clarity, and I'd add purpose. Make the frameworks do 1 thing right 99.999% of the time and shoot for 100% before tacking on 29 other things to the side of it to make your Swiss army knife.

    1. Re:oh i agree... by mccabem · · Score: 1

      To make your analogy complete, all or most of those hammers would have to be so esoteric in design that a layman couldn't even tell where to put his hand!

      When in fact, every one of those hammers is meant to be used by the layman! It takes experience (10,000 hours, some say) to become expert with any one of them!
      Or to look at it another way, I can pick up a peening hammer and whack a nail in with it just fine. Wrong tool, wrong job, but I can make it work with almost zero instruction.

      By contrast, I can't even tell you how to install modern programming environment, let alone how to program even BAD software with one! BASIC on the 8-bit computers was the opposite. Doing nothing more After hours (maybe minutes) of dicking with someone else's program in a magazine, after doing nothing more than turning on the device, you were able to create some interesting programs of your own!

  46. what? by a2wflc · · Score: 1

    I know quite a few "normal" people who have developed software. I've worked with a doctor (MD) and CPA who learned programming on their own and decided to switch careers. No to mention a lot of people with non-technical backgrounds who got into designing web sites, then javascript, then backend work.

    If anything it's getting too easy to get a "software development" job. Lot's of "programmers" work their way up to all levels of "software development" without expanding their understanding of software systems. Lots of others do learn along the way and belong where they rise to. But there is a lot of learning that needs to be done and many colleges don't even give a broad base to start with so even that's not always a good start. My guess is that healthcare.gov had too many people who knew how to program (i.e. "programmers") and not enough who understood systems/engineering ("software engineers" though that term is misused often since people don't understand the "engineering" aspect which takes a lot of learning )

    If you want to see "exclusion" from a job try to help a sheetrocker, electrician, or plumber be allowed to be the lead architect for the next 70-story skyscraper. Or see if they can work their way up to that responsibility over the next 20 years without "requiring rare talents, grueling training, and total dedication".

  47. I'm torn by Bengie · · Score: 1

    "Normal" people are why we have security issues in the first place. So many bad design out there. Back in the "glory days" anyone could program, yeah, because few systems had databases full of all kinds of information about many different people with public network access.

    In more modern times, systems are hooked up to the Internet and need to be properly designed to not have security holes that can be easily probed by bot nets. Security is now more important than functionality. Better to have something not work than to have a few million names, SSNs, and addresses leaked on the Internet.

    On the other hand, I don't want to be stuck doing boring things, so we need normal people who are good enough, and we can't scare them away.

  48. Let's try this on for size... by Rob+Riggs · · Score: 1

    The bigger injustice is that mathematics has become an elite: a vocation requiring rare talents, grueling training, and total dedication. The way things are today if you want to be a mathematician you had best be someone like me on the autism spectrum who has spent their entire life mastering vast realms of arcane knowledge — and enjoys it. Normal humans are effectively excluded from contributing to the field of mathematics. The real injustice of mathematics inequality is that it doesn’t have to be this way.

    Yeah... that feels about right.

    --
    the growth in cynicism and rebellion has not been without cause
    1. Re:Let's try this on for size... by twistedcubic · · Score: 1

      Actually, this is what people have always felt about mathematics. In community colleges around the US, intermediate algebra is being removed as a requirement for getting a degree. The topics in intermediate algebra are what you'd get in 9th or 10th grade algebra 2, so in the near future most Americans won't be expected to know any high school level math at all.

    2. Re:Let's try this on for size... by Anonymous Coward · · Score: 0

      I've been working in the English department of a CC over the summer and I can tell you American kids can't read or write at a college level either. I mean there are people they let graduate who probably function around the 6th-8th grade range. Most of these guys are destined to be home health care aids or some kind of "hospitality worker" whatever the fuck that is so I guess it doesn't matter but it seems like a bit of a farce to call their diploma any kind of college degree. The professors think they're doing the kids a favor by passing them and "letting them get on with their life" but having a bunch of guys out there with so-called college degree who would struggle to write a 150 word Slashdot comment is not doing anybody any favors.

  49. Not True by Anonymous Coward · · Score: 0

    This may be true from an elitist standpoint, but take the guy that built that Flappy Bird game for example. He's just some Joe Schmoe who not only is not an elitist, but ran away from the public once the slightest hint of controversy came up regarding his game. I think plenty of people can develop software from mobile apps to web apps to business applications, you just have to want to, that's all.

  50. Some are slow on the uptake. by Stumbles · · Score: 1

    New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives.

    Really? What to you so long? I reached that point long ago, like the last part of the last century.

    --
    My karma is not a Chameleon.
  51. Learning Doing by src1138 · · Score: 1

    Eventually your priority shifts from learning new things to actually utilizing your knowledge to do and make things.

    Coming up with 20 good ways to build a bridge is not as productive as coming up with one good way and doing it.

    Oh, and check your incredible arrogance at the door - normal people are doing much more complex things than coding, and with today's dev tools the entry barrier is significantly lower (and initial learning curve shallower) than it was 20-30 years ago. You are not "special" because you "get" algorithms.

    It seems that "regular people" are those that have more than one facet to their life. I wonder if brain surgeons or mechanical engineers ever think like this.

    And of course the best answer is to dumb down the subject matter rather than educate the masses...

    Douchebags!

  52. anti-intellectualism by Eravnrekaree · · Score: 0

    The normal humans he talk about are "normal" only if you consider low IQ to be normal, which may be the case. Most of the world has an IQ average well below what the average 100-110 IQ among some populations.

    What he is saying is absurd as well in that programming does require special skills so its sort of an oxymoron to say that people who do not have special skills should get involved in something that requires it. Its sort of like saying that we should whine about a heart surgery only being done by heart surgeons and how these heart surgeons should be reviled for having special skills and how we need to open up heart surgery so that any joe off the street can do it. Obviously absurd. With the disasterous affects of the say the OpenSSL bug, the UPNP bugs in 80 million routers at one point, these are cases in point of why you must have conscientous, aware, meticulous people who really know the ins and outs of what they are doing to develop software.

    We should encourage people to have any interest, anyone who wants the knowledge, to be able to study heart surgery if they want to, and even become one.

    The parent article displays sort of an anti-intellectualist as well. if people want to become a software developer, please do, its not an off limits thing that where only people pre-selected at birth can do it. Anyone can, you just need to learn the skill sets to do it. But he seems to suggest people who don't have a clue should meddle in something they dont understand and that we should almost promote such ignorance, that we have to dumb things down for people who are too clueless to understand things.

    1. Re:anti-intellectualism by Anonymous Coward · · Score: 0

      How does any of this equate to anti-physical sciences (anti-intellectualism)?

  53. um by Charliemopps · · Score: 2, Insightful

    Hate to break it to you but the Autistic ARE normal humans. It's just another way of thinking that's slightly different that what a lot of people are used to.

    Also, where the hell are you working? I know plenty of programmers that are just as stupid as everyone else. Vast reams of arcane knowledge? Are you using the Forgotten realms addition of C#?

    1. Re:um by Anonymous Coward · · Score: 1

      No, as a group they are abnormal. They use, sense, and think in a way that is NOT NORMAL, making them abnormal. Hence having a name for them.

      Are they still human? Yes. Do they deserve to be treated differently? Yes, because you don't touch my nephew unless you want to get hit.

      So in summary, no, 0.1% of the population does not normal make.

  54. C-x M-put-in-nail? by just_a_monkey · · Score: 2

    How do you put a nail in somewhere the hammer doesn't fit?

    --
    How inappropriate to call this planet Earth, when clearly it is Ocean.
    1. Re:C-x M-put-in-nail? by ArhcAngel · · Score: 3, Informative

      With an auto hammer of course.

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    2. Re:C-x M-put-in-nail? by Anonymous Coward · · Score: 0

      That only works for places you cannot swing a hammer, not where a hammer won't fit.

    3. Re:C-x M-put-in-nail? by ArcadeMan · · Score: 1

      With a nail gun.

    4. Re:C-x M-put-in-nail? by gzuckier · · Score: 1

      How do you put a nail in somewhere the hammer doesn't fit?

      http://en.wikipedia.org/wiki/K...

      --
      Star Trek transporters are just 3d printers.
    5. Re:C-x M-put-in-nail? by Anonymous Coward · · Score: 0

      With an auto hammer of course.

      Thank you for teaching us that those exist!

  55. Airplanes/cars/whatever by Enry · · Score: 1

    Remember when you could build your own airplane, or build your own car, or maybe your own radio set? Well I don't, but you could. Heck, people built their own computers for the longest time (some still do).

    But the nature of just about everything is it gets more and more complicated until it's much easier to just get something prebuilt than it is to do it yourself and those who choose to do it themselves are doing it either as a hobby or because of their employer.

    I've been writing code for 20 years though I've primarily been a sys admin. There are things that are much more difficult but many of the tools I used in the early 90s (bash for example, or C) are still around and follow much of the same rules as now.

  56. Geocities were fun by Anonymous Coward · · Score: 0

    Insert Pepperidge Farm Remembers meme.

  57. Like from anything else by YoungManKlaus · · Score: 1

    a) there are no "normal" humans
    b) there are also tons of other places where this applies, and applies even to a higher degree - like professional sports (both mental like chess or physical), or math, or philosophy, or research, or art, or teaching (unbelievable how many "teachers" suck at what they do), or ...

  58. I've Tried. by anolisporcatus · · Score: 1

    "Normal" people will just stare at you blankly when trying to explain things like if/else, (do)while, for(each), switch etc.. This isn't a career you can just walk into obliviously .. There was a lady in my intro to C++ class that sat with us for a week before finally asking "Is this BCIS?" .. How is that for normal? I really don't know of many people that are going along through their lives as say, a welder, or a truck driver that go "You know? It's time to start programming." So normal? Probably not, depends on what your definition of normal is. Is normal the median behavior of all humans? Is normal someone without mental "disability?" Is normal someone who has a certain set of moral views.. The question is broad. Bottom line is -- like many others have said -- people should follow their passion, programming, like any other specialty (niche) skill is not something you just pick up, it is something you have a desire to learn. The entire personality required to be good at it dictates the pursuit of the individuals knowledge and a desire to always know more.

  59. It's not the programming, it's the expections by Anonymous Coward · · Score: 0

    It's not the languages and skill that make programming difficult... it's the demand required to fulfill the jobs!
    Back in the day, you could learn BASIC, or COBOL and work your way into FORTRAN as a "normal" person. Or later in the 80's, you could get a ton of real work done learning Lotus/Excel macros, and dBase, and Turbo Pascal.
    You could accomplish some really useful things as a "normal person"

    YOU STILL CAN DO ALL THAT. The issue is that no one gives a crap about that one complex macro anymore... businesses want more complex, solutions, they want to process data and accomplish real things. The bar for what is required to be deliver is what has moved.

    If you want to have the same level of usefulness now as there was in the 80's, learn Mathematica, MatLab, or Learn Perl,Python, or Ruby
    As a "normal" person, this will get you much farther.

    1. Re:It's not the programming, it's the expections by bored · · Score: 1

      If you want to have the same level of usefulness now as there was in the 80's, learn Mathematica, MatLab, or Learn Perl,Python, or Ruby

      If you want a career in programming maybe, but most of the people writing spreadsheet macros and dbase forms in the 80/90 weren't professional programmers either. Excel and Access are still around, and can solve the same basic problems that they solved back in the 90's without the huge learning curve of ruby, rails, html, javascript, css, datastructures and algorithms, etc just to perform a couple fairly simple computations or graph some data, or create a couple basic input forms.

      Sure the solutions created may not be professional programmer quality, or scale to millions of users, but they are often simple solutions created in a matter of hours for real problems being faced by real people.

      Frankly, the web is the absolute worst platform for many of these kinds of applications because its takes a problem solvable by a non programmer in a few hours and turns it into a problem that can take a team months. I suspect that a lot of web developers would really have their eyes opened if they spent a few dozen hours slapping together a couple little applications in Access VBA.

  60. Today, I would never have learned programming by Anonymous Coward · · Score: 0

    I started on a BBC micro a few years before you. I understand what you are saying but I don't agree. I think kids who are inclined to program find a way. My son is 12 and plays Minecraft; he built a 7 segment display with red-stone, then lots of mad things that I didn't even understand.

    Now he goes to a computer club and writes games and stuff in Python and JavaScript.

  61. Re:Normal humans exlcuded from practicing law/medi by timrod · · Score: 2

    The real injustice is that I'll never be able to fill that spot on my bucket list under "Perform open heart surgery in front of a judge while vigorously arguing a case on behalf of the guy who is having his heart operated on."

  62. The tools ARE there by The+Other+White+Meat · · Score: 1

    Microsoft Lightswitch is a great example of just such a tool. Visual Basic is still around, and the Express versions available for free today are better than Visual Basic 1-6 ever were. Mac has been stuck with Objective-C for years, but it looks like Apple is finally addressing that.

    Web Programming? Yes, its the spawn of Satan. But if you want to point the blame for that look to Brendan Eich for the monstrosity that is JavaScript, and the idiots that decided that CSS needed to be so alien and broken compared to HTML.

    --

    --- Generation X: The first generation to have SIG lines inferior to their parents... ---
  63. Re:Normal humans exlcuded from practicing law/medi by swb · · Score: 1

    How much of the grueling training is done simply to be grueling and exclude people based on their lack of stamina? Think of law school assignments where they throw a 100 page brief at you Friday to be handed in Monday that requires analyzing dozens of circuit, appeals and Supreme Court decisions, maybe a few hundred pages of congressional record to determine intent and then some history for context? Or the marathon race of medical residency where 100 hours is a normal week and 36 hours straight is a standard shift?

    I think in some sense these kinds of things are done not because they make the profession any better but because they are exclusionary and keep the pool of competitors smaller. If you look at less exclusive jobs that need to be done right in organizations that depend on them being done right you see training done for results in a saner fashion vs. some kind of weird torture test.

  64. Sort of by Anonymous Coward · · Score: 0

    I don't agree with the article but...

    Just programming requires a couple of years, like you said. The much derided coding monkey, if you will.

    Competent application development requires both great design skills and great domain/business knowledge; this takes years to build up. Competent system development requires in-depth knowledge of the system, which also takes years to learn build up.

    The gap between a programmer and the latter type of coders designer is quite large.

  65. Stay out of Computing ! by Anonymous Coward · · Score: 0

    Too many people in this business already. Wages are depressed. Don't make this niche even more crowded !

    1. Re:Stay out of Computing ! by gnupun · · Score: 1

      That's exactly what "these" people want. First they want to force more women into programming, then they want to force more children. Now they want to force Normal Humans into the trade. Newsflash author: learning programming is a low-cost barrier field so anyone with any interest in programming already knows how to program. If someone does not know how to program, they are not interested in learning programming.

    2. Re:Stay out of Computing ! by __aaclcg7560 · · Score: 1

      I'm still waiting for the baby boomers to die off. Alas, since the Great Recession, they're fighting to stay on the job longer because they can't afford to retire. Bad enough I'm fighting off the whippersnappers biting at my heels for my job.

  66. Huh? by Kazoo+the+Clown · · Score: 1

    The old dumb tools still work, if all you want is a couple of dumb web pages you're fine. If you want to hook it to dynamic content from an SQL database, fancy behaviors that require Java or Javascript or Ajax or whatever, you're going to have to learn the technology. TNSTAAFL.

  67. Wait, I'm surrounded by aspies? by Anonymous Coward · · Score: 0

    No wonder I can't get laid. Sigh...

    (Captcha: losers. Sure, rub it in /., rub it in...)

  68. Morloks and Eloy by Anonymous Coward · · Score: 0

    the more I watch the 'general public' become dumber and the technical elite get more self-serving, I think H.G.Wells had it right (The Time Machine).

  69. Web programmers aren't the only kind!!! by EMG+at+MU · · Score: 1

    He is speaking pretty specifically about web/app programmers and how there are a glut of convoluted and overlapping frameworks that seem to pop into existence overnight can discourage and confuse the average rube.

    Just because thats where all the cool start up money is right now (see facebook, whatsApp, etc...) doesn't mean thats the only kind of programming. What about the people building this "internet of things", what about the people actually evolving the internet architecture, what about the people building the appliances to make sense of "big data"? None of those people should be "average". Joe Schmoe doesn't want to work on those things in his spare time.

    Car analogy: out of all the makes and models of cars, this guy is talking about wanting Joe Schmoe to be able to build a backyard go kart. Fine, great, whatever. I suppose it would be cool if he could do that without goofy tools and processes.

    There is nothing wrong with the "elites" building the BMWs though.

  70. Is he really that knowledgeable? by Ateocinico · · Score: 1

    Quoting Finkler: "I don’t feel like I really grok the module system. I definitely don’t understand the class system. What the hell is a generator and how does it work the way it does? I am so lost."
    It seems that the gentleman lacks some background IMHO.

  71. What we need... by kenh · · Score: 1
    --
    Ken
    1. Re:What we need... by Anonymous Coward · · Score: 0

      Yeah, we don't have already depressed wages in IT and we need more amateurs who are to dumb to understand Fortran. Let's help them to flood this profession so that wages come down.

      FUCK. NOT.

  72. No tit for tat by Tablizer · · Score: 1

    That's fair, geeks are excluded from touching girls.

  73. Couple of dissenting points by quietwalker · · Score: 1

    - There's no framework or language that does everything, and we end up seeing variations of the 80/20 split even in the best case, where 80% of functionality is easy or built in, and the remaining 20% is either horrendously complex or impossible. Advocating for one and claiming "Hey, watch me pull a rabbit out of a hat!" can only be answered, "That trick never works." Besides, you'll probably just end up with "Visual ColdFusion," and then I will have to apply a murderous thrashing to the individual responsible.

    - We think about software and programs in many different ways; data flow, decision trees, objects, messages, functions, and so on. We've tried both large and simple instruction sets to model these ideas, and while the former tends to require a great depth of knowledge and fosters complexity that way, the latter guarantees complexity when we attempt to model naturally complex systems - see Scheme for a good example. It's very hard to make something only as complex as it needs to be and no more - especially when the goal of 'acceptable complexity' is subjective and moving. A new hypercard will only meet the goal for some subset, not everyone.

    - We as developers are most effective - writing code faster, with less bugs or security flaws - when we're using languages, frameworks, and development methodology that we're experienced with. This is a serious flaw of the current framework of the week trend, and should be considered when operating within a SDLC process. However, the only ones who have the personal experience to understand this are the curmudgeonly, stuck-in-their-ways devs who will be ignored when they bring it up. The problem is simple; we love our toy languages and frameworks, until the next one comes out or we grow up and stop playing with toys. The solution is also simple; You have a good, experienced (not just capable) developer acting as architect, who guides everything from framework changes, to IDEs, to coding styles at a measured pace, and provides for training and familiarization. Otherwise you get yahoos wanting to rewrite key pages in a 12 year old legacy J2EE app in Ruby and running noSQL for absolutely no reason at all, and the increased upkeep cost.

    - "Effectively excluded," is a poor way to phrase this, as many others have noted. There's no exclusion other than the requirement someone posses the skills, and prior to that, the necessary attention and desire to learn those skills, and that's just a choice. This is the same for any other trade, and programming's requirements are not especially weighty. Most people chose not to learn how to set the time on their VCRs, they were not "effectively excluded" from doing so.

    In my personal opinion, the allegorical great unwashed masses that are not programmers are held back less by the amount of knowledge required, and more by their own lack of desire. Just like getting women into computer science degrees and jobs, this is not something you fix by introducing a new development tool, be it language or framework. You want more people making webpages? Get the government to pay everyone $25 per page, and I'm sure you'll see lots of folks choosing to no longer be 'effectively excluded'.

  74. Re:Normal humans exlcuded from practicing law/medi by VGPowerlord · · Score: 1

    The real injustice is that I'll never be able to fill that spot on my bucket list under "Perform open heart surgery in front of a judge while vigorously arguing a case on behalf of the guy who is having his heart operated on."

    No, but you could probably work that into an app!

    --
    GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
  75. Hey, Rocky! by Anonymous Coward · · Score: 0

    "Watch me pull a peer group out of my hat!! Nothi' up my sleeves....."

    "Ahh, Bullwinkle, that trick never works.

  76. Programming requires... by Anonymous Coward · · Score: 0

    1. Some math skills... rudimentary at best. It's odd math though, full of discrete concepts, sets, probability,
    2. Some analytic skills, "Look what happens when I do this!"
    3. Patience.

    Most humans don't work to develop these skills. The web itself has facilitated our lack of patience. If a person clicks on a link and does not have an answer in 2.6 seconds then many get visibly frustrated. How can the same person sit and think about a data structure, algorithm, or DB schema without going crazy? How can they sit in front of debugger output for 3 hours and attempt to rewrite the same 4 lines of code in different ways to get it to work with no errors? Normal humans all have the capability to do this... most normal humans just CHOOSE not to. Again it is a CHOICE on their part. Well enough. Those people need me. I am the technical master that solves their problems, and I get paid well for it. Am I smug? Probably, but for those that won't go and put in the effort to develop a skill set, I will always be in demand.

  77. Re:Normal humans exlcuded from practicing law/medi by Dr_Barnowl · · Score: 1

    Or the marathon race of medical residency where 100 hours is a normal week and 36 hours straight is a standard shift?

    That's because people are cheap bastards. They'd rather have medical residents who are tired to the point where they make decisions like they are three times over the legal alcohol limit, than pay to have more doctors. Hilariously, the USA spends nearly double what we do in the UK, but a lot of it goes on administration staff because of the whole insurance and billing thing. This is why you guys have such a hard-on for electronic health records ; automate all that shit and things get a lot cheaper. In the UK we just avoided most of it by having a single-payer system.

    I used to work those marathon weeks (here in the UK, where they are similarly cheap), but I quit due to stress. So the vast sums spent on training me went largely to waste ; although I do still make use of my medical background in my day job which is writing software for medical purposes.

  78. Handbook of Model Rocketry by the Stines by tepples · · Score: 1

    * Learn Rocket Science in 24 Hours!

    I'm not so sure that's such a good example. Books like that exist.

    1. Re:Handbook of Model Rocketry by the Stines by Anonymous Coward · · Score: 0

      Rocket Surgery takes a bit longer.

  79. flying planes is for pilots by Anonymous Coward · · Score: 0

    Flying planes is for highly-trained and naturally-skilled pilots, but the rest of us want to do it too. If someone ever makes one that's affordable, safe, and operable by the average person, they're going to make a fortune. Attempting to do this doesn't ignore the skill or training required of current pilots, it just plays to the desires of those who want to be able to do it without pilot training. At least to date, this is apparently beyond the abilities of our best engineers, and the same may be true for programming and app dev. But perhaps not; perhaps whoever pushes this beyond the current levels of intent would make it big. Personally, when I'm dreaming big, I think what I'd really like is to tell my computer in natural language, Hey, I want a program that does this and this and this, and it fires something up for me real quick.

    In some ways it really doesn't stretch the imagination too much. Consider, "Hal: make me a program for my iphone that when I run it, it just says to me, 'Hello Willy'." Okay, so fine, perhaps a little too simple. Let's try something harder: "Hal: make me an app that lets me blog about crap and then lets random people talk about what I've said." Oh yeah, that's pretty much done, see wordpress and all the other blogger platforms. Okay, so it can get more complicated from there, but whoever takes this to the next level is going to make bank.

  80. You Insensitive Clod by Crashmarik · · Score: 1

    You're like an old man whining about nail guns(because what are those new kids going to do when they can't use a nail gun for a particular job).

    I am old and you don't see me complaining about nail guns.

    Even though, I am pretty sure 3D printers are just toys for spoiled youngsters that never saw the inside of a machine shop or know which end of a saw to hold.

    1. Re:You Insensitive Clod by Anonymous Coward · · Score: 3, Insightful

      3D printers are a fundamental game-changing technology. What you're seeing now is basically proof-of-concept stuff, but the technology is developing rapidly and it won't be long before pretty much anything can be built from scratch on demand. 3D printing and associated CNC mills have the potential to revive American manufacturing in a localized, small-batch paradigm rather than wasteful mass production and national/internation distribution chains.

      3D printing is as disruptive a technology as the printing press -- that's no hyperbole, I really mean it. If you can't see it, I pity your lack of vision.

    2. Re:You Insensitive Clod by HornWumpus · · Score: 2

      3d printing is fairly mature and in daily use.

      Plastic extrusion/cold welding 3d printers on the other are toys and will always remain toys. There is no fixing a basically broken approach. Cold welds suck.

      Among the many people playing with ripraps today their are two groups: One is just fucking around and doesn't care, the others leaning and will go on to do useful things.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    3. Re:You Insensitive Clod by josquin9 · · Score: 1

      I'm pretty sure Crashmark was being sarcastic. I doubt anybody reading slashdot is questioning the inevitability of such a fundamental automating technology any more than they are lamenting the demise of the buggy whip industry.

    4. Re:You Insensitive Clod by Anonymous Coward · · Score: 0

      Plenty of people here question the utility of 3D printing, and make fun of the "tchotchkies" produced with them.

      If he was being sarcastic, it's far from obvious. More likely he was trolling (which is a form of sarcasm).

    5. Re:You Insensitive Clod by Anonymous Coward · · Score: 0

      "3D printers are a fundamental game-changing technology. "

      What game? What fundamentals? What's changing? "3D printing" has been around for 25+ years, the "game change" occurred 20 years ago. We're living in the change now already.

      "3D printing is as disruptive a technology as the printing press"

      Um, no it isn't.

    6. Re:You Insensitive Clod by Anonymous Coward · · Score: 0

      > What game? What fundamentals? What's changing?

      The manufacturing game. The democratization of the process that moves from hand-made goods through mass production to automation in small batches.

      > "3D printing" has been around for 25+ years, the "game change" occurred 20 years ago. We're living in the change now already.

      It's true, but just because it started 20 years ago doesn't change the fact that it's a relatively new technology that is about to reach critical mass. Think about the laser printer. It was first marketed in 1976, but it wasn't until 1985 or so when the computer technology caught up to it that it reached its potential. It changed the publishing business radically.

      Likewise, 3D printing combined with CNC cutting, etching, sintering, mold-making etc. will eventually make it possible to cheaply manufacture almost all consumer goods locally at a scale to meet demand exactly.

      >> "3D printing is as disruptive a technology as the printing press"
      > Um, no it isn't.

      We'll see. To quote Al Jolson, "you ain't seen nothin' yet!" :)

    7. Re:You Insensitive Clod by Bengie · · Score: 1

      NASA is using 3D printers to create monoframe parts that are lighter and stronger than anything they can build with any other tools at their disposal. There are things that literally cannot be created using any other current tech than 3D printers.

    8. Re:You Insensitive Clod by mcswell · · Score: 1

      ...spoiled youngsters that never... know which end of a saw to hold

      Well _that_ explains something!

    9. Re:You Insensitive Clod by Anonymous Coward · · Score: 0

      > Cold welds suck.

      Oh well, seeing as how you've totallly generallized the technology and come to an absolute conclusion, I'd better give up on all the applications where they don't suck enough to be a problem. Everything sucks if you use it wrongly: carbon nanotubes make lousy tear-off perforations for loo-roll. I just printed a fixture for my friends' shower - it didn't fit the holder, but now it does. How does cold welding make that suck?

      Any fabrication technology has its limits, and therefore sucks for some application. If I put "making a space elevator" at the top of my project list, I guess everything will look like crap.

  81. He sounds burnt out by Anonymous Coward · · Score: 0

    "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity"

    This is just just classic burnout.

    Note to all of you out there who code to live and live to code - yes, you live breath and eat programming, it occupies your mind body and soul, the vistas open to you are endless and yes your natural curiosity will carry you and sustain you through environments you otherwise would have weltered through.

    But it doesnt last forever. When it starts to fade, when you find yourself no longer looking forward to logging on and busting it out, start to think about getting away from it for a bit. If you want to preserve your sense of joy and exploration and excitement from writing code, there will come a time when to do so, you need to back off and recharge for a while. I'm old enough I've had to do this twice now, for roughly 6 months or so at a stretch - when you catch yourself idly wondering again how you would code such and such a thing, thats when you know its coming back.

    It seems to me the author is nothing so much as a victim of burnout - it happens. Youre so into it for years, then one day you come up for air and everyone changed all the other code around you. Just step away, avoid code/computers/logic - do whatever you need to do for however long you need to do it so long as you avoid a feeling of anxiety when thinking about programming. Because if you go too long feeling anxious about doing what you love, youre going to twist yourself into knots.

    1. Re:He sounds burnt out by HornWumpus · · Score: 1

      It's two things, burn out and coming to your senses regarding shiny.

      You don't need yet another way to write hello world. Not even if it's a web or mobile application.

      Besides which, much 'new stuff' is just reinvented same old same old. The fact that some kid didn't know something was a solved problem and restarted development on a track (e.g. MySQL) is no reason for you to go back to DBase 3+ type technology. Let the kids fight with weekly preventive re-indexes. We already did it in the 80s.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  82. Bullshit by Anonymous Coward · · Score: 0

    Isn't angular open source? I'm not sure i get the correlation between open source and black box as they are fairly diametrically opposed. The code for it is right there in the open maybe you just aren't smart enough to understand how it works.

  83. Yeah, like there isn't enough duffers programming. by Anonymous Coward · · Score: 0

    The industry is already full of talentless programmers who read a book and barely grasped the concept of writing anything more than Hello World.

    How do they survive? Easy,

    a) post some half-arses question on Stack Overflow and wait for the people to write it for you.
    b) Copy and paste from RoseIndia.com.
    c) Steal code from your colleagues, remembering of course to change of the author.

    It is tiring to read articles like this. Yes there is a lot of elitism in the industry, but rightly so, people work hard and invest a lot of energy into writing good code.

  84. oblig Dilbert: by Anonymous Coward · · Score: 0

    http://dilbert.com/strips/comic/1999-10-27/

    as others have noted "normal" humans are excluded from performing vascular surgery, etc for a reason...

  85. It is called growing up by halsathome · · Score: 1

    " I value stability and clarity." .That's called growing up. Next, before you know it, Jonathan Edwards is a grumpy old man ..., Hey, wait, he's already there :-)

  86. Normal Humans Effectively Excluded From... by Tanuki64 · · Score: 2

    .... Brain Surgery.

    And that is even worse. While I can learn software development on my own. Make good money if I find someone who believes I am good enough.... I cannot become an autodidact brain surgeon. Heck, I am not even allowed to pull a simple tooth without a proper license. If that is not a real scandal....

    1. Re:Normal Humans Effectively Excluded From... by bored · · Score: 1

      Heck, I am not even allowed to pull a simple tooth without a proper license. If that is not a real scandal....

      Maybe the real scandal is that any idiot can convince themselves they are the next Dijkstra, blow some smoke up a midlevel MBA's backside and get hired to write the front-end for the bank you use, or the local software contractor building some part of the control system for the car you drive.

      As a society we have decided that we actually want people to have some level of licensing before they design a building, pull a tooth, or even fix your toilet. Yet we allow people without any formal licensing, or competency to design/write critical software.

    2. Re:Normal Humans Effectively Excluded From... by Tanuki64 · · Score: 1

      The problem is, designing a building, pulling a tooth, or fixing a toilet is relatively easy. There are not so many different ways to do it. The problems are perfectly understood. There are long tested procedures. Testing knowledge in areas like this has some worth. Software development above a certain level is research. There are a few ready made building blocks, but they carry only so far. Programming in itself is not so difficult. What is difficult is to understand the problem domain. If you only want to have licensed programmers, you would need to test the coding skills, and you need to test the skills in a certain problem domain. A programmer, who is licensed to code software for car computers would not be allowed to code for a plane. A programmer for bank software would not be allowed to work on a medical survey software. I don't think it can or should work this way.

    3. Re:Normal Humans Effectively Excluded From... by bored · · Score: 1

      The problem is, designing a building, pulling a tooth, or fixing a toilet is relatively easy. There are not so many different ways to do it.

      There are actually a lot of different ways to do what you describe, you only think its straightforward because the industry has standardized on methods/tools/etc. Pumbing would be a lot harder if pipe sizes weren't standardized and every plumber around designed a toilet from scratch using tools designed by the guy down the street.

      The problem with the computer industry is that lots of times people without a lot of formal training/experience are allowed to create a computer languages, application framework/etc. Those kinds of things are limited to the higher levels of licensing and standardization bodies in most industries. Its this very limit that results in the standardization, not the other way around. You can't even get a Journeyman plumbers license in TX without 4 years work experience as an apprentice.

      Frankly, the basics of computer operations tend to be standardized by natural selection, the problems are the fact that there are a million different toolkits (often designed by people without a clue) with a million different bugs/edge cases to bite developers. Plus, a person certified with some level of "web development" wouldn't necessarily be tied to an industry like banking or medical software, especially if there was a higher level industry specific "master" license or some such that would sign off on the work. Its similar to the "architecture" positions in these organizations that are responsible for the design of the system, while the lower level coders do a lot of the grunt work.

      In fact the PE licenses for civil/etc work much the same way. Getting a civil PE allows you to work in lots of different industries, but usually there is a senior person with a specialty that signs off on a given project. Freshly minted PE's don't get jobs signing off on large bridges, buildings, etc. Plus, a Civil PE usually will enlist the services of a Electrical PE or Mechanical PE for parts of any given project larger than a tool shed.

      So, the problem you describe is a symptom of the lack of licensing not the other way around. Frankly, its only the ease of creation of software that allows this to propagate, any other industry would be hamstrung if it couldn't even depend on something as simple as bolt thread patterns and heads being somewhat standard. Sure programming might not be as exciting if everyone had to learn and prove some level of mastery of Ada but I'm betting there would be fewer stupid mistakes being made by bright people writing an application in languages they have never used before because its the "cool" language du jour.

  87. Normal people who code, India - H1B by netsavior · · Score: 1

    Normal humans can become programmers if they go to a technical high school, and attend a science program in college. Typically on slashdot we call them "H1B Visa holders." That is literally the entire philosophy behind the "Bachelor of Engineering" college system in India.

    As a peer interviewer:
    about 5% of the people I interview seem like "Obsessive programmers" - like TFA suggests (I recommend hiring most of the obsessive programmers).
    about 10% of people I interview are competent programmers who are probably normal humans who write code because they have to pay the bills somehow..
    about 85% of people I interview have 7 years experience as a "programmer" and definitely could not write code if their life depended on it.

    I have found no discernible patterns in resumes to predict these outcomes, but in interviews it is fairly easy.
    Question 1 - "So, what was the last program you wrote for yourself at home? What did you write it in, and why did you write it?" - If they have literally any example of programming they did "for fun" or to solve a real life problem, (and they aren't otherwise unhireable) they are hired.

    Question 2 - "Describe the last class/module/function you wrote for work, why you wrote it that way, and what was hard about it." - If they have any reasonable answer, we will drill down into competencies... otherwise, they are almost certainly in the 85% category of people who somehow make a living pretending to code.

    Almost all of the 10%ers who are "competent" but not "obsessive" have computer science degrees and are very serious about work, but not in to the "hobby" these are normal humans writing code, and doing fine at it. Lots and lots of them were educated in India.

    The 5% obsessives were born into it. They (and I am including myself here) would be writing code even if it wasn't their job. Frankly. I have seen all kinds of educational backgrounds in the obsessives, usually computer science, but sometimes music or English, or Math or Geology or no college at all.

    I guess what I am saying is that India already realized this, and has a population more willing to stick to a difficult degree plan "just for a job"

    1. Re:Normal people who code, India - H1B by Tanuki64 · · Score: 1

      Interesting. Are Question 1 and 2 exclusive? I have several programs in sourceforge. A few in the Google play store. Mostly happy customers. But I suppose I could fail miserably on question 2. I do... apparently I do good... but when it comes to explain... you would not believe that I know what a loop is.

    2. Re:Normal people who code, India - H1B by netsavior · · Score: 1

      well... generally if you can explain your personal project the rest of the interview is pretty much immaterial. Someone who thinks "hey I could write a program to solve this... then does it, pretty much embodies what I am looking for as a co-worker."

      What I am looking for is someone who can code, and people who write code do it to solve problems... If you can't give me an example of solving a problem for yourself, you have to give me an example of solving a problem for your employer.

      Compare it to an Auto-mechanic. - If you were a muscle car shop, one of the questions you would ask is "What do you drive, and what's under the hood?" And if they say "Well I take the bus" you would need to ask "So what's the coolest car you rebuilt for your last boss and what were the challenges?" But if they said "I drive a yenko chevelle" it wouldn't really matter what they did for their boss.

  88. "Rare talent" my ass. by Max+Threshold · · Score: 1

    Judging from the projects I maintain and the third-party libraries I've had to deal with, being a programmer doesn't even require knowing how to program.

    That said, the author does make some good points. I cut my teeth on Java, and my standards were set by Sun's (mostly) well-thought-out APIs and comprehensive documentation. Now I'm an Android developer, constantly infuriated by Google's shitty APIs and half-assed documentation. Google's terrible design decisions have made Android is an incredibly challenging platform, and the industry's response to surging demand for Android apps has been to simply lower its standards for software quality. The author is right, it doesn't need to be this way.

  89. Wrong Attitude by pubwvj · · Score: 1

    He's exhibiting exactly the wrong attitude.

    Everyone's excluded from something.
    Different people have different inherent talents.

    Some people, like me, are never going to go into politics - I'm excluded from it because I don't empathize with you and I'm not going to lie about it and try and make you feel good. Politicians are very good at that. That's their thing.

    Some people are excluded from higher order math but they may have empathy. They may make good politicians or social workers. I won't but I am very, very good at things mathematical, engineering, programming, etc.

    The trick is to know your talents and then hone them. That is how you become very good. I'm very, very good at what I do. But I don't bother doing things I inherently am not good at. It's not interesting or pleasurable. That is the natural order of things.

    We don't all need to be equal. My wife and I are different. She has empathy. I have math. We each have some other talents too and some overlap plus common core beliefs and goals. Together we're a great team. That's how it works.

    Celebrate the individual differences that let the group be greater than the sum of the parts.

  90. Remember Cobol? by Anonymous Coward · · Score: 0

    And some people still code Cobol. Cobol was designed so that average person could program for business. Ruby, Python, or JavaScript might be up for the task to enable the average person to program for their own needs and pleasure. There is always Basic.

    As long a real people can get things done with their computer/tablet/phone/etc then everything is OK. Everyone doesn't have to be a professional programmer. Machines must serve their masters (users) completely.

  91. Timing isn't technologifical by Anonymous Coward · · Score: 0

    A lot of the special "knowledge" comes from less that its complicated but in that market forces and ADD (yes I'm over generalizing and using as a buzzword) driven consumers want new features constantly. The 24/7 blog press constantly whines about "lack of innovation" this pushes companies to push stuff out and the ability to work at these speeds does require increased skills and work. There are still people in various professions (particularly scientific) using even GASP Fortran to write their own code and not on the internet speeds needed in the general marketplace.

    Yes the whole amateur thing came about in the mid to late 90's when everyone was trying to cash in on the "dot.com" boom and anyone who could spell HTML was getting hired as a "developer".

    Hey everyone and their cousin can write Excel spreadsheet with Macros and business and there is a lot of Crap out there from people who haven't taken the time to actually learn the tool.

  92. Abnormal humans by istartedi · · Score: 1

    Normal humans are excluded from writing good software. Abnormal humans are excluded by HR. Hence the complaint, "We have a shortage of programmers".

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    1. Re:Abnormal humans by Tanuki64 · · Score: 1

      There are as many bad HR people as there are bad programmers. The problem.. bad programmer write only bad programs. But bad HR people are doubly bad: They hire bad programmers. And they don't hire good ones.

  93. eyeroll by Anonymous Coward · · Score: 0

    truly in the history of mankind, there have never been insanely complicated topics that one had to work hard, and abandon other pursuits to master.
    exactly zero of those before the internet.

    ROFL.
    programma please.

  94. Not everyone is destined for greatness. by Friday10 · · Score: 1

    "Well, the world needs ditch diggers, too" Judge Smails

  95. Elites in any field must have some OCD by Theovon · · Score: 1

    Those people really far out on the cutting edge of new sciences are successful only because they have some major obsessive qualities. They are driven to learn, understand, and create. They understand things so abstract and esoteric that it would be all but impossible to explain some of these ideas to the lay person. And each of us has some secret weapon too. Mine, for instance is that I can code rings around most other CS professors. I’m not actually smarter than them. Indeed, most of them seem to be better at coming up with better ideas on the first shot. My advantage is that I can filter out more bad ideas faster.

    A key important aspect of the areas that we are experts in is that there are underlying and unifying principles. Subatomic particles fit into categories and have expected behaviors that fit a well-tested model. CPU architectures, even exotic ones, share fundamentals of data flow and computation. CS is one of those fields that in invented more than it’s discovered, and as we go along, scientists develop progressively more coherent approaches to solving problems. Out-of-order instruction scheduling algorithms of the past (Tomasulo’s and CCD6600, for instance) have given way to more elegant approaches that solve multiple problems using common mechanisms (e.g. register renaming and reorder buffers). You may think the x86 ISA is a mess, but that’s just a façade over a RISC-like back-end that is finely tuned based on the latest breakthroughs in computer architecture.

    Then there’s web programming. Web programming is nothing short of a disaster. There’s a million and one incompatible Javascript toolkits. HTML, CSS, and Javascript are designed by committee so they have gaps and inconsistencies. To write the simplest web site (with any kind of interactivity) requires that one work with 5 different languages at one time (HTML, CSS, Javascript, SQL, and at least one back-end language like PHP), and they’re not even separable; one type of code gets embedded in the other. People develop toolkits to try to hide some of these complexities, but few approach feature-completeness, and it’s basically impossible to combine some of them. Then there’s security. In web programming, the straightforward, intuitive approach is always the wrong approach because it’s full of holes. This is because these tools were not originally developed with security in mind, so you have to jump through hoops to make sure to manually plug them all with a ton of extraneous code. In terms of lines of code, your actual business logic will be small in comparison to all the other cruft you need to make things work properly.

    When I work on a hard problem, I strip away the side issues and focus on the core fundamental problem that needs to be solved. With most software, it is possible to break systems down into core components that solve coherent problems well and then combine them into a bigger system. This is not the case with web programming. And this is what makes it inaccessible to “normal people.” The elites in software engineering are the sorts of people who extra grand unifying theories behind problems, solve the esoteric problems, and provide the solutions as tools to other people. Then “normal people” use those tools to get work done. With the current state of the web, this is basically impossible.

  96. I wrote about this in 1996 in BYTE by gymell · · Score: 2

    I was a music major, worked my way through from undergrad to the PhD level in music theory (my favorite topic.) Fortunately those same logical and analytical skills, appreciation of patterns and attention to detail, transfers quite well into becoming a programmer. After my first year in the PhD program, I suddenly came to the realization that being a professional music theorist wasn't going to pay a lot, and made the switch to software engineering, which I have been doing for the last 15 years. Best decision I ever made.

    But I disagree with several points in the article (which I did read.) First I don't think that programming is particularly grueling or requires some elite level of dedication. That's not my experience, and my success as a consultant programmer (clients hire me purely for my skillset) is evidence of that. I think the most important thing is to have a predilection for logical thinking and problem solving. Other fields require different skillsets which might attract people with other strengths and personality types. I see nothing wrong with this. I don't understand why the author thinks that someone spending years to master a skill is a bad thing, or that doing so consumes a person's entire life. When I go leave the office, I pursue other interests that have nothing to do with programming. I don't think one must have a brain disorder to be a programmer.

    The author shouldn't assume his personality and experience mirrors as a programmer everyone else's. He says "The real injustice of developer inequality is that it doesn't have to be this way." I say, it ISN'T this way.

  97. Specialization is for insects. by fallen1 · · Score: 1

    While specialization for humans is becoming more and more of the "norm," I think Heinlein said it best:

    "A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects."
    -- Robert Heinlein, Time Enough for Love

    So, in that context, yes -- every normal human should, in some fashion, be able to program a computer or a web app or what have you. I believe you should always seek to bring the knowledge and abilities of those around you UP to your level and if they exceed you, great, hopefully they will return the favor. Idealist, aren't I?

    --

    Dream as if you'll live forever.
    Live as if you'll die tomorrow.
    ~Anonymous~

  98. Normal Humans effectively excluded from Cosmology by Martin+S. · · Score: 1

    Now how stupid is the title of this article.

    Programming is difficult, doing it well is very difficult, doing it well in the modern world exceptional difficult.

    Now making it easy is all but impossible.

  99. Umm...no by Anonymous Coward · · Score: 0

    From the article:

    "it takes a skilled programmer with years of experience just to build simple applications on today’s web"

    Counter point:

    Wordpress
    Drupal
    Any number of other CMS'es

    I believe it's now easier then ever for people to build powerful, feature rich, dynamic websites and they can even do with without programming.

  100. It happens to us all... by Anonymous Coward · · Score: 0

    "I think about how I used to fill my time with coding," Finkler writes. "So much coding. I was willing to dive so deep into a library or framework or technology to learn it. My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity."

    Yes, it's called getting older.

    Get used to it - it's preferable to the alternative.

  101. Programming is not about writing code by jlowery · · Score: 1

    A good programmer
    1) recognizes patterns that have occurred before
    2) tries to hone his craft by following best practice
    3) avoids novelty
    4) looks for code online to apply to the problem at hand, rather than write it from scratch
    5) values simplicity over cleverness
    6) optimizes last
    7) knows how to see past stated requirements to find the real business need
    8) says "no" rarely, but when he/she does, they mean it
    9) pays attention to words such as "always", "unique", "never", "required", "only one", "many" during analysis
    10) doesn't grab a hammer, then start looking at every problem like it's a nail.
    11) respects others! Not everybody may be the hotshot you are, but almost everybody in one situation or another can contribute insight or grind away on problems you'd find dull.

    --
    If you post it, they will read.
  102. Lockout chip is a big part of the problem by tepples · · Score: 1

    I think part of the problem is that lockout policies enforced by code signing, as used by Apple on iOS and by Sony, Microsoft, and Nintendo on their respective consoles, are designed specifically to prevent this sort of "casual programming".

    1. Re:Lockout chip is a big part of the problem by LDAPMAN · · Score: 1

      BS! I can't speak for all the others but code signing is not a significant barrier to anyone who wants to do iOS programming. You can run your own apps on your own devices easily and $99 is all that's required to get a cert to distribute your app. Thats not a more serious barrier than any other field of endeavor. Right....no one has ever had to buy tools, musical instruments, or sports equipment.

    2. Re:Lockout chip is a big part of the problem by CronoCloud · · Score: 1

      I think part of the problem is that lockout policies enforced by code signing, as used by Apple on iOS and by Sony, Microsoft, and Nintendo on their respective consoles, are designed specifically to prevent this sort of "casual programming".

      They're not there to stop casual programming, they're there to slow down every "wannabe" with a puzzle game clone who thinks he's the next Shigeru Miyamoto from publishing his tetris clone.

      You can program all you want, what your'e talking about is actually "publishing for sale" not programing.

    3. Re:Lockout chip is a big part of the problem by tepples · · Score: 1

      The policies disallow programming for consoles as a hobby at the same time that they disallow publishing the programs for sale.

    4. Re:Lockout chip is a big part of the problem by tepples · · Score: 1

      You can run your own apps on your own devices easily

      Only with the $99 certificate, and only if it hasn't expired. Otherwise, you're stuck with the simulator.

  103. Interview communication != job communication by tepples · · Score: 1

    I can communicate technical thoughts effectively, just not necessarily the "softer" thoughts that will get me past corporate HR.

  104. "Should" programming really be easy? by Millennium · · Score: 1

    I'm not interested in excluding people from programming. However, there seems to be an underlying assumption from many of the coding-for-all types that programming "should" be much easier than it currently is. I'm putting "should" in quotes here because when many people see that word, they start thinking in ideological or moral terms. That's not my intended meaning. I'm talking about the logistics of programming: specifically, the idea that we have unnecessarily heaped huge amounts of complexity on top of something that is actually quite simple.

    In order to open up programming to the masses, it must necessarily be simple and easily-grasped at its core. This is not because most people are stupid, but because most people cannot afford to spend a great deal of time and energy learning the concepts behind it. As currently understood, programming requires a large investment of these things, and most programmers today, by far, are people who have made that investment.

    Can that time investment be reduced? To some degree, it probably can. But there are limits to how far something can be reduced, and I'm not convinced that programming can be reduced to a degree that would bring it to the masses. My reasoning for this is that I'm not convinced that the core concepts are as simple and easily-grasped as they're often made out to be. They seem simple to me nowadays -almost second nature, in fact- but I've been programming for years, I studied for years before that, and things didn't really start to click until I was a few years into my studies. Even nowadays, I still get moments where something suddenly clicks and my skills take a noticeable leap forward. This is not a hallmark of a simple field.

    I believe that most of the people who set out to "simplify programming" are not too different from me. They might have learned certain concepts at different rates, but the things that seem simple to them now did not seem so simple when they first began. This is, I propose, because they aren't simple.

    I am not "elite." All I did was allocate my time a little differently, and in ways that not everyone realistically can. I don't begrudge them this, because a lot of them allocated their time in ways that I couldn't, especially not after I made my choice. I respect and appreciate the skills they have that I don't, and I don't think I'm out of line in asking for the reverse. What makes this state of affairs unacceptable?

    1. Re:"Should" programming really be easy? by Tanuki64 · · Score: 1

      I don't think it makes much sense to ask where programming should be made easier....Because it can't. Yes, you can get better tools, which give you more programming power. The result? Harder problems come in reach, which would hardly be feasible without those tools. When I started to code in the early 80th I needed a deep understanding of data structures and all kinds of algorithms. In memory relational databases? You are kidding. As an example, in the 80th I needed to know how to code a quick sort, or merge sort, or whatever sort. Getting all this together to even start to solve the actual problem was quite a task. Today? At best I need to know their best, worse, average behavior and when to use which. Implementing a sort algorithms myself? Am I crazy? I don't make fire with two stones either. So is coding easier today? Hardly. Today I might write my own video encoder, or play with voice of IP... things that were totally unthinkable ~30 years ago... at least for me. The 'brain investment' is roughly the same.

  105. Experience as a proxy by tepples · · Score: 1

    Experience and training is not very important as long as you know how to write good code that's efficient and makes sense to others.

    Except hiring managers trend to use the former as a proxy for the latter. They want to call previous employers to verify that a candidate's code works and makes sense.

  106. Natural Language Programming by Anonymous Coward · · Score: 0

    Anyone can use it to build Web mashups http://design.inf.usi.ch/publications/2014/phd/saeed.aghaee

  107. Platforms with policies against amateurism by tepples · · Score: 1

    The problem comes when computing platforms have policies against programming at an amateur level. Platforms like iOS require purchase and renewal of a certificate before you can even run software you wrote on a machine you own. Video game consoles are even worse; even professionals new to the field may have trouble getting a devkit.

    1. Re:Platforms with policies against amateurism by Ardyvee · · Score: 1

      There is one thing. I own a computer. I can download Python. Python has tutorials and documentation that can allow me how to do stuff in python. The thing is, unless I want to do anything beyond Read File, do some regex magic, write file, I'm going to have to spend some time learning. Doing what I just described is the equivalent of composing music at an amateur level: I can put together some chords, add a "simple" melody and be done with it. I probably don't need to learn much to do it. Of course, in the case of music, you are expected to know how to use the instrument (tool). In the case of programming, I'm learning Python (the tool itself) and what I can do with it (the chord) at the same time.

      I think we can all agree that knowing Python (both the tool and what I can do with it) is about as hard as knowing how to play the guitar very well, which is in both cases beyond the scope of an amateur and tends towards the professional side.

      Perhaps, the biggest issue is one of perception: writing a simple piece of software that reads a file, does something, and writes the result is usually not considered programming, but that's probably one of the most basic tasks you can do. And, given instructions/documentation/tutorials, you can pick it up really fast.

      Disclaimer: I say this as somebody who can't do programming beyond what's specified, nor compose anything worth listening, and whose ability with musical instruments is not worth of mention.

      --
      I don't care if I'm wrong. I only care about everyone obtaining something from the discussion.
  108. DMCA for programming without a license by tepples · · Score: 1

    Heck we don't even have the equivalent of AMA that can sue people for programming without a license

    Yes we do, as seen in Sony v. Hotz.

  109. crymeariver.sid by tepples · · Score: 1

    Then explain the "KERNAL" of the Commodore 64.

    1. Re:crymeariver.sid by Anonymous Coward · · Score: 0

      A bunch of BASIC and I/O routines? Hardly a "kernel" in the sense it's usually used. More like a BIOS or Mac ROM. I highly doubt it was written in C.

    2. Re:crymeariver.sid by beelsebob · · Score: 1

      On the contrary, it means almost exactly the same thing. It means the centre of the OS, which manages the hardware. The fact that it was relatively naïve doesn't change the fact that it was a kernel.

  110. Proper Language by twistedcubic · · Score: 1


    I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity.

    That's easy. Just program in C.

    1. Re:Proper Language by RockDoctor · · Score: 1

      I'm less and less tolerant of hokey marketing filled with superlatives. I value stability and clarity.

      That's easy. Just program in C.^H^H assembler. 8086 real mode assembler.

      FTFY.

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    2. Re:Proper Language by badkarmadayaccount · · Score: 1

      Mod parent +1 Language War Flamebait. C is not type safe, especially its pointers, and has no standard mechanism for managing memory in a multithreaded environment. And its macro system sucks donkey balls. And it has no standard cross-platform build system that doesn't suck (note all the make clones). Flame on!

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  111. iOS developer program is NC-17 by tepples · · Score: 1

    You can't even start on iOS coding until you turn 18.

    1. Re:iOS developer program is NC-17 by CODiNE · · Score: 1

      Then what were all those kids doing at WWDC 2014?

      --
      Cwm, fjord-bank glyphs vext quiz
    2. Re:iOS developer program is NC-17 by tepples · · Score: 1

      I don't know; I didn't attend, and the videos on Apple's page require the purchase of a Mac or iOS device to view. "System Requirements: To watch the streaming version of this video, use the latest version of Safari on a Mac running OS X Lion or later. Alternatively, you can watch this video in the WWDC app". Without any other information, my guess is that kids are programming applications for OS X, as unlike iOS application development, OS X application development doesn't require an ongoing subscription. Other results that Google dug up deal with parental control for in-app purchases. Could you explain further?

    3. Re:iOS developer program is NC-17 by CODiNE · · Score: 1

      Xcode allows Mac OS X and iOS development for free. It's a public download on the App store.

      To distribute apps through the Mac App store, or the iTunes App Store there is a $99 a year developer fee which includes the certificates needed to run your app on other people's computers or iOS devices.

      So on a Mac yes, completely free to make apps for your own desktop. (Because you're bypassing binary signing, which is optional on a Mac) On iOS you will only be able to use the simulator until you pay for a dev certificate. This is because of no "side loading".

      Now there is a free developer account which gives access to documentation and sample code (and old WWDC videos?), much of which is google accessible but some of which is not. Kids can get the free developer accounts, practice on a simulator and apply to go to WWDC for free (https://developer.apple.com/wwdc/students/).

      So long story short. Things are not that simple, it's a nuanced situation, but YES you can start coding iOS apps before you're 18.

      The WWDC app requires a dev account because that's pre-release info that requires signing an NDA. That would normally exclude minors, but it works the same way as kids going to WWDC, via sharing a dev account with their parent or guardian. So a grown up gets a dev account, puts in info that it's for their minor child... pays for a dev certificate and a kid can make their own iPhone apps with parent's permission.

      --
      Cwm, fjord-bank glyphs vext quiz
    4. Re:iOS developer program is NC-17 by tepples · · Score: 1

      For one thing, how would the child go about convincing the parent to buy the certificate? For another, once the child turns 18, how does the parent transfer his or her interest in the developer account to the child? Or is the parent supposed to take the apps down from the App Store, forfeit the remaining months of iOS Developer Program membership, and have the child buy a new certificate and put it up as a brand new app?

  112. just like EE, ME, CE, finance...... by Anonymous Coward · · Score: 0

    Actually even burger flipping requires specialization; but, there's a huge cut-rate market that's willing to sacrifice price for lesser quality. What most forget is that it's not just lesser quality of materials, it's also lesser quality of the workers.

  113. yeah, every linux user reaches that point... by Anonymous Coward · · Score: 0

    and switches to OSX. Life is too short to waste it editing config files and compiling libraries just so you can play an mp3.

    1. Re:yeah, every linux user reaches that point... by NotInHere · · Score: 1

      Thats what ubuntu is for.

  114. Less tolerance? by Kylon99 · · Score: 1

    Finkler writes. "... My tolerance for learning curves grows smaller every day. New technologies, once exciting for the sake of newness, now seem like hassles. I'm less and less tolerant of hokey marketing filled with superlatives."

    I feel much the same way, but I thought this was the result of me turning old, bitter and cynical...

  115. The problem is non-essential complexity by carps · · Score: 1

    The problem isn't that dumb people can't be programmers. The problem is the extent to which smart people can't be programmers if they want to have time for anything else. Really, how much of the complexity of the average coding task today is essential to the problem being solved, and how much is essentially having to know trivia about one platform or language (or version of either) versus another?

    --
    Well I'm making *two* Low Budget HDV Filipino Horror Movies in NYC.
  116. Web programming sucks. by Animats · · Score: 1

    Ignoring the racist whining, he has a point. Web programming really sucks. Even web design sucks.

    HTML started as a straightforward declarative layout language. Remember Dreamweaver? Macromedia's WYSIWYG editor for web pages. It was like using a word processor. You laid out a page, and it generated the page in HTML. It understood HTML, and you could read the page back in and edit it. Very straightforward. You didn't even have to look at the HTML. Back then, Netscape Navigator came with an HTML editor, too.

    Then came CSS. DIV with float and clear as a primary formatting tool (a 1D concept and a huge step backwards from 2D tables), Javascript to patch the formatting problems of CSS, absolute positioning, Javascript to manage absolute positioning... The reaction to this mess was to layer "content management systems" on top of HTML, introducing another level of complexity and security holes. (Wordpress template attacks...)

    It's as bad, if not worse, on the back end. No need to go into the details.

    All this is being dumped on programmers, with the demand for "full-stack developers" who understand all the layers. Cheap full-stack developers. Usually for rather banal web sites.

    Not only is this stuff unreasonably hard, it's boring. It's a turn-off for anyone with a life.

  117. COBOL, VB, and HyperCard is NOT programming by Anonymous Coward · · Score: 0

    ... and never was.

    Real programmers never touch those code walloper languages. A COBOL or Visual Basic 'programmer' is no more a real programmer than a PS3 Guitar Hero player is a real guitarist.

  118. De river, she is deep by fyngyrz · · Score: 2

    "Complex" is not for laymen. There is only so much that you can do with any "appliance". Beyond that, you actually have to know what you are doing. This "problem" has nothing to do with programming.

    This. Thinking about the web apps I've written, most of them required fairly deep knowledge in the area of the app -- auroras, photography, specialized group management, history, genealogy, measuring instruments, Chinese, retail procedure -- all areas an interested party could potentially bring to the table.

    But the tools to instantiate, manipulate and present those ideas? Those simply don't exist in "amateur" form -- I had to create them. And in doing so, I used knowledge starting with HTML and CGI and CSS, but which extended well into Python, (replaced Perl), C, SQL, a fair bit about the underlying structure of the host OS(s), knowledge of how to structure an application in the first place, and to wrap it all together, a fairly deep knowledge of what's efficient and what isn't.

    Now I will admit that I am particularly resistant to Other People's Code, partially because I am unwilling to be subject to other people's bug fix schedules (or lack thereof), and permissions (or lack thereof) and functinonal choices (or lack thereof); and partially because the more stuff I write, the more handy tools of my own I have to bring to bear on the next problem that depend on no one but myself and the host language(s) -- which frankly is quite enough dependency for me anyway. Plus it's been writing all this stuff that's made me a decent programmer in the first place. So even if there *were* a library out there to generate general purpose readout dials, I wouldn't have used it; the result would have been the same. All my own code. Not the least bit reluctant to reinvent the wheel.

    Still, the idea of making all that stuff both available and trivially usable (and that's what we're talking about here, because a non-programmer will have to hit this at a trivial level) seems to me to have been tried multiple times in multiple venues, and to have failed every time. Personally, I think it's because as programmers, we underestimate the complexity because we've internalized so much; we can't see the actual level of difficulty very well, because it starts out relative to our own skills. This has resulted in quite a few attempts to "make it easy", and none of them have hit any serious stride. The best any of these can boast is a small following making very limited applications, if you really want to stretch what "application" means.

    I don't think the idea is ready to fly. The only context I can visualize this actually working is where you have some *very* smart software that can take an abstract description and write code *for* you. That software would have to be (a) very damned smart and (b) conversant with an enormous range of general human knowledge. Right now, as far as I know, that's the precise description of a competent applications programmer. And nothing else.

    --
    I've fallen off your lawn, and I can't get up.
  119. javascript but what are the alternatives by Anonymous Coward · · Score: 0

    Late to this thread but here's my flamebait:

    I get it, javascript sucks. But what are the alternatives for a client side web app? I agree that Angular is a convoluted Java-fication of Javascript, Backbone is a buzzword compliant mess and Ember is sadomasochism. But vanilla javascript and JQuery for database front ends on the web ... what else? Actionscript? Call the server to recut pages every time?

    I encounter a lot of hatred for Node - for instance php does everything so why bother - and while php feels yucky it seems to work, but Drupal makes easy things hard and Wordpress, once learned, is the only hammer ever needed ever, until I end up having to fix a broken site or, more likely, tell a new client that all they really needed all along was a few static pages and a JQuery calendar. The only issues I've encountered with node - mongo so far is php/mysql hosting is so much cheaper. But maybe I'm just a lowend web app guy and I'm missing the greater issues here.

  120. Information Glut by LordMyren · · Score: 1

    Yes, but the proliferation of tools makes it harder to make sensible decisions about which one's are directly applicable. Copy pasting random stack overflow answers in and hoping they work is a regular practice, and it's the very embodiment of what's happened in the technical realms: information glut.

    Worse: a lot of information, very little sense. Very few projects out there bother spending the time to trace their genetic roots, to find historical context where sense-making of information can even begin.

  121. Move on, nothing to see here! by DanielOom · · Score: 1

    Application programming hasn't changed that much, nor has systems programming. OK, so the web was broken from the start. The answer is to stay away from the web and build something that actually works.

  122. Petty petty hole pokings by LordMyren · · Score: 1

    These are such tiny little warts. A) don't use global variables, perhaps 'use strict' if you want to be good. B) most languages have arbitrary bit limits. Holding up the floating point limit of 52 bits and making mock of that, but not holding up the 64-bit limit of integers? That's weak sauce accusations from sore fucking whiney babies. Oh you want to insist on arbitrarily deep numerical precision? Have fun crossing off a huge section of people that need moderately performant math.

    Languages are all basically the same shit, with slight flourishes that everyone gets zealous and overblown about. Get serious. Go find something real to fight about, like how vim is so much better than emacs.

  123. Today, I would never have learned programming by david_thornley · · Score: 1

    One thing to consider is the nature of the programs they use. Back when I bought my first home computer, the applications took keyboard input in well-defined ways and displayed characters and some very primitive graphics on a 16x64 screen. If you could program, and had a decent idea, you could write a program that looked about as good as anything out there. Alternately, you could change an existing program without breaking it (that's how my wife got into programming). A talented adolescent could produce something worthwhile, and get a feeling of accomplishment.

    Nowadays, look at what's on my phone. Touch-sensitive, with high-quality graphics. The typical programmer simply can't do those graphics, and event-driven programming is harder to dive into than the old program-based control flow. The fact that these don't usually come with source code, and it's some work to build a development environment doesn't help, but I think these are secondary.

    I've thought about simple programming environments (probably Python-based), but there's no way the average talented teenager is going to be able to produce decent graphics and sound, so they simply won't be able to make anything like what they can get for 99 cents or even free. What we really need is

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  124. Oh great terminal, on-the-line! by LordMyren · · Score: 1

    Yes, well, the terminal was a much more sensible sane client that could take care of itself. We should _definitely_ go back to that on-the-line paradigm.

    1. Re:Oh great terminal, on-the-line! by lgw · · Score: 1

      It sure would be nice to have some standards there!

      Because there were some firm standards for terminals, vendors could make clever ones, PCs had emulators, and you could make simplifying assumptions. And I guess if you stick to some basic HTML (which you would for non-AJAX anyhow), maybe we're already there with HTML5 (or XHTML, if you go that way).

      Hmm, a modern server-side framework that sticks to the basic, non-AJAX world - does it exist? It would sure make all the geeks who use noscript religiously happy!

      --
      Socialism: a lie told by totalitarians and believed by fools.
  125. In other news by Anonymous Coward · · Score: 0

    Those nasty jerks at the auto body shop wouldn't let me into their stupid club for losers because I don't know what a manifold is or how to change my own oil. Buncha motherfuckers! Excluding me from working on cars! Don't they know I'm a god damn software developer?! I'm IN that top echelon or some shit! I demand to be included in a field I have no fucking experience in, EVEN despite my lack of interest in it! Because RABBLE!

    (And don't even get me started on those stuck up bitches at the knitting supplies store. Gertrude, Meredith and Susan can go fuck themselves.)

  126. The web is not a runtime environment. by tlambert · · Score: 0

    You are right of course it is similar to the 80's and 90's in that companies that wanted to steal the sales of other companies simply created new fangled languages and marketed the hell out of them instead of embracing what works and adapting it to the new paradigms. The only reason you can't use Turbo Pascal to make web pages is the compiler was never updated for the functionality but it very well could have been. In fact its progeny Delphi is alive and well and building apps for almost every popular platform out there today including the web. As long as there is competition there will be someone who chooses to create from scratch rather than use someone else's tool.

    The web is not a runtime environment.

    The reason you can't use TurboPascal is because web pages run in the browser virtual machine, and TurboPascal code runs in the TurboPascal runtime environment linked into the native code TurboPascal application.

    You could target TurboPascal to NACL/PiNACL in Chrome as a target runtime environment, but effectively to run it, you'd be doing a JavaScript call into a JavaScript extension that then ran as native code in a sandbox within Chome. You'd, as a result, lose most of the TurboPascal runtime libraries supplied by the compiler vendor, and you'd lose all third party libraries and components, if the third parties weren't willing to port them (I assume you realize that you don't have all the Photoshop plugins on Windows that are available on Mac, right?).

    Web languages, n the other hand, are predominantly for programming code on a server to generate markup, which is then interpreted by the browser to render output, or they are intended to run in a really limited environment in the browser itself, usually as unextended JavaScript (and, in the case of things like iPad/iPhone/etc., they are *definitely* NOT extended, since a UIView extension is not allowed under the terms and conditions for interpreting web content, since it's a huge security hole that's easily exploited with a DNS hijack).

    Basically, if you are thinking your browser is a "platform", or you are thinking "the web" is "a platform" in the traditional programming sense, as the OP obvious is, then you are an idiot.

    1. Re:The web is not a runtime environment. by Obfuscant · · Score: 3, Informative

      The only reason you can't use Turbo Pascal to make web pages is the compiler was never updated for the functionality but it very well could have been.

      The web is not a runtime environment.

      But web servers are.

      The reason you can't use TurboPascal is because web pages run in the browser virtual machine,

      Web pages are served by a web server, and the OP is exactly correct: TP was not updated to function well in a web server environment, unlike things like Perl that have modules to deal with CGI.

      Of course TP doesn't execute on a browser like the javascript that is common, and web browsers will never see a pascalscript. but that wasn't the claim you responded to. "Make web pages" isn't just "run scripts on a browser".

      Web languages, n the other hand, are predominantly for programming code on a server to generate markup, which is then interpreted by the browser to render output,

      Right. And there is no reason that TP couldn't generate that output, except that it didn't get updated to to deal with CGI and you'd have to write your own library to do that. Or maybe someone has written one, I don't know. I don't care enough to look. I never programmed in it, I used TurboC.

      Basically, if you are thinking your browser is a "platform", or you are thinking "the web" is "a platform" in the traditional programming sense, as the OP obvious is, then you are an idiot.

      No, actually, he's quite right. It's a different method of programming, a different paradigm altogether. He didn't talk about programming the browser so that part of your statement is irrelevant, but as a design platform the web truly is different. At least before people tried to change a markup language into a full page layout and presentation language.

    2. Re:The web is not a runtime environment. by ArhcAngel · · Score: 1

      then you are an idiot.

      You had a nice semi-informative argument but couldn't help but show your true color in the end.

      The reason you can't use TurboPascal is because web pages run in the browser virtual machine, and TurboPascal code runs in the TurboPascal runtime environment linked into the native code TurboPascal application.

      Which does not preclude an interpreter being written to convert the code into the browser VM readable code. Just because a language was originally designed to be compiled doesn't mean it can't be redesigned. Whether it's the best use of resources not withstanding.

      All of your arguments are irrelevant to my comment. They might very well be valid but only because the people designing the newer systems made decisions that precluded the use of existing technologies. Which in fact validates my claim more than nullifies it.

      --
      "A person is smart. People are dumb, panicky dangerous animals and you know it." - K
    3. Re:The web is not a runtime environment. by Relfos · · Score: 1

      Not him, but I think you are the one that is not really informed about this.

      First you keep mixing server and client side code. Client side is exclusively javascript, the other side does not matter, you can make a web app backend in any language.
      And the web is indeed a runtime enviroment, as long as you are only talking about the client side,
      You can consider web/browser just another compiler target/platform. And use Delphi or C++ or other "traditional" languages to develop to the web, using a compiler that targets JS as output.
      There's nothing stopping you from seeing the browser as just another "platform". Indeed, with things like asm.js, you can treat it as just another cpu architecture. And with HTML5, most features that you need to make almost any kind of app are exposed (AFAIK, the main feature missing is proper sockets support)

      No one forces you to use javascript, that's why things like Coffeescript exist. And for example with LLVM you can target browsers with any language that has LLVM support.
      Note that I'm not advocating that it is the best solution, but in some special cases, like when you want to port an existing desktop game to the browsers, it is the best solution, like the guys from Unreal did with their engine, and the guys from Unity have already working on letting you use C# to develop browser games.

      Also, no one stops you from using frameworks that abstract the UI stuff, so that you could perfectly make an app that runs on desktop and on the browsers, and works and looks the same, using any language (in theory of course, as long as tools exist). That's exactly what I'm doing now, I'm developing a 3d modelling app, using Delphi, and in future I plan to offer a demo version in the browser, so that people can try it without installing. And I'll just treat it as another platform to compile to, nothing in my app code will change.

      So he is right, as long as Turbo Pascal was updated in 2014, you could probably use it to make web apps.
      Targeting browsers with traditional languages that have small runtimes it is really not that difficult. Maybe you would find some framework or library that would not be compatible, but even in the web, I've found many frameworks that have trouble supporting all browsers, as some times they have features that don't behave the same or not exist in some browsers (this was worse in the past though, even IE is starting to behave way better in the latest versions).

      And again, I'm not saying which approach is best or whatever, that really depends on the kind of app someone intends to develop, proficiency with different languages/tools, etc.

    4. Re:The web is not a runtime environment. by tlambert · · Score: 1

      Basically, if you are thinking your browser is a "platform", or you are thinking "the web" is "a platform" in the traditional programming sense, as the OP obvious is, then you are an idiot.

      No, actually, he's quite right. It's a different method of programming, a different paradigm altogether. He didn't talk about programming the browser so that part of your statement is irrelevant, but as a design platform the web truly is different. At least before people tried to change a markup language into a full page layout and presentation language.

      The problem with web applications - and the intrinsic problem of abstraction of the complexity that's solved by historical runtime environments that the OP likes, is that the render is independent. The whole article the other day about the Google device lab:

      http://mobile.slashdot.org/sto...

      Completely and totally underscores the fact that markup and rendering are separate from each other, and that the system doing the markup has to understand, and either have variant code that it outputs so that it renders the same in as many browsers as possible -- or you need an entire device lab, because you've given up on solving the problem, and are willing to employ someone other than a "Normal Human" (per the current article) in order to chip away on a per device basis, until you exhaustively cover all possibilities.

      The separation on the render is the problem with the web, as a platform, and it's why it's * not* "a platform", it's "N back ends * M browsers" number of platforms.

      This separation is the same mistake that was made when window management was separated from X windows, such that you didn't get the same look and feel on all applications based on having a particular X Terminal/X Server on which the render took place. In other words, the primitives were too primitive, and you ended up drawing boxes and lines and patterns, instead of "pop up menus" and "menu bards" and "dialog boxes".

      What the OP in this article is bemoaning as being missing is a self-enforcing emergent property of the design decision to separate rendering from markup, and to separate markup from UI logic, and separate business logic from everything else. It's why web services are so complicated, and why they are so fragile.

      The only thing that ever came close to dealing with the issue overall, at a high level, was WebObjects, and even then, it didn't try to do it in a way that was renderer/backend/middleware/security model/web server agnostic.

      So again, I'm going to say that web services isn't a *platform* in the traditional sense of a computer running one of half a dozen 80x24 block mode terminals to front end a COBOL program was a platform, and that anyone who thinks it is ... is an idiot. At best, they are engaging in wishful thinking, if they think Microsoft, Oracle, IBM, and other vendors of these things are going to settle on a common programming paradigm, and turn themselves into commodities, which would result in about 1/6th the revenue they're getting today.

  127. It's in what you do with it. by Average · · Score: 3, Interesting

    Follow any one stack of learning, "the Ruby way" or "the Drupal way" or "the JSP way", and you can create wonderful small-scale things that, while they might get mocked by the tech-weenie chorus, serve their function and make people happy.

    Every hip language/framework/DB/deployment tool/bundler/markup language/food processor is designed to make your day better. Virtually all of them actually do just that (okay, a few will piss you off, but most are not intentionally evil).

    The problem is supporting a world with 65 different technologies. It is indeed superhuman to expect someone to be a Groovy/Perl/Node.js/SASS/Hadoop/Puppet/XSLT/AWS/PCI-DSS/Postgres-tweaking/network-routing/desktop-supporting "web guy". (My current job wants that and much more, and, sorry, they don't actually have it in me. I hate faking it. I fake it.)

    And, yet, much of the suit-wearing world doesn't understand that, and willfully doesn't want to figure that out. In 1998, they hired "a web guy". If they got successful, they hired five "web guys". Or 20. Those business-people are still looking for "web guys". People who are extreme generalists in "the web" in 2014 are either savants or on the hardcore burnout track.

  128. Huh? by david_thornley · · Score: 1

    If you've got a computer and net access, you can set up a good and well-documented development environment for free. You can access a vast array of knowledge in the field. You can get people to answer your questions. This is exclusionary only in that it requires a computer and net access, and while those are generally inexpensive and very common they aren't universal.

    Once you actually get into the field, you'll find that you're in a fairly meritocratic community (it does have its prejudices, but TFS doesn't seem to focus on them). If you can code, you can be accepted socially. It can be more difficult to get a job, but that's true in every field.

    Nor does it require being on the autism spectrum, or total dedication. The developers I know have strong outside interests and other priorities, and most don't seem to be on the autism spectrum. I'm successful in the field, and have been working and studying in the field for decades, but I don't remember any grueling training.

    Edwards is, very simply, writing about a fictional situation. He may have a legitimate complaint, but I'd like to see how it relates to the real world before I address it.

    --
    "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  129. I call BS on EMACS... by tlambert · · Score: 1

    I call BS on EMACS...

    ...and Emacs traces its roots back to something like 1972.

    You can't "And Constantly Swapping" unless it's running on a machine with virtual memory and swapping implemented.

    1. Re:I call BS on EMACS... by Anonymous Coward · · Score: 0

      Here's a clue: the "ACS" in Emacs doesn't really stand for "And Constantly Swapping," that was a joke that came later.

  130. Re:Learning Doing by Anonymous Coward · · Score: 0

    It seems that "regular people" are those that have more than one facet to their life. I wonder if brain surgeons or mechanical engineers ever think like this.

    This tard actually thinks web programming is harder than mechanical engineering:

    Yes programming is far worse than any field of engineering. I think we can quantify this, though I haven’t actually done the experiment yet. Stack up all the textbooks and reference manuals that a proficient web programmer needs to know. Include estimates for things like Rails that don’t even bother to have docs anymore. Compare the height to that for engineers in other fields like electrical or mechanical engineering. I believe our stack will be 10 times as high.

  131. it's a technical field, get used to it by Anonymous Coward · · Score: 0

    I'm a physicist. Before we get to the autistic thing, let's discuss this issue of wanting stability in tools. If you work in ANY highly technical field, you're going to see constant churn in tools and nomenclature. Some of it advances the field, some of it doesn't, but people will always be trying new stuff just to see if maybe it works better somewhere. That's the nature of a technical field. It will not stop just because you're tired. It may not be important to keep up.

    You could say that "normal" people are excluded from physics because... all the same (incorrect) reasons in TFA. If you want to excel at anything, you'd better throw yourself into it. My brother is a contract lawyer, he loves reading and parsing contracts. My business partner loves networking, he is constantly looking for new ways to meet people and convince them to give us money. They each throw themselves into the details of their work to an extreme degree. They are also "normal."

    It is beyond arrogant to assume that programmers have some special work ethic. YOU DO NOT. You're doing what everyone else does who loves their job.

  132. This is why we can't have nice things! by Yevoc · · Score: 1

    Setting up environments and frameworks has never been more annoying and irritating in history. Even if I code something to be readable, I can't get anyone in my research group or circle of friends (all of whom HAD coding experience before 2005) who wants to take the time to get their entire environment setup just so that the code runs and things start making sense. I can't say I blame them, as they've all heard my screaming for days on end whenever I have to use a new language/environment/IDE/framework. The shit is brittle as fuck and is horribly unintuitive. Face it, the reason this problem is getting worse is because you "true" codemonkeys refuse to acknowledge that the barrier to getting anything worthwhile running IS getting higher on average!

    The only thing I can still get noncoders to look at is LabVIEW. Because code is pictorial, even non-coders can understand what I'm doing. You are right that SOME people are not of the programming mindset, because even when the vast algorithm is shown pictorially (and of course is still nested with functions and libraries that you have to click through to understand), they can't (or refuse to) wrap their heads around what the algorithm is doing. HOWEVER, I'd say only 50% of the non-programmers I work with, friends and family included, show absolutely no interest in how the algorithm works, how to change/improve it, etc.

    In my extensive experience in working with rusty/newbie coders, the algorithmic barrier of programming weeds out about 50% of the population. Maybe 80% if the algorithm gets ugly/big/bloated. But if you require setting up a kludgy/brittle environment, mountains of text, and bad documentation? Virtually NO ONE I've worked with who isn't already steeped in this shit wants to deal with it. At all. Ever. Most of the time I don't want to either.

    Everyone here is already set in their ways though, so I'm not even sure why I'm posting this. My point is that once my PhD is done, I'm going to be building my own visual/pictorial/graphical language (no, not a "Visual" Studio, that is 5% visual) in small pieces so that 1) I can drastically improve my overall workflow and 2) make it so that the inevitable non-coders I work with can actually see what's going on and maybe even work on it themselves at some point. I've really been waiting for the community to step up and solve this in the past 6 years that I've been waiting, but things are instead moving in the wrong direction entirely and making the problem worse.

    I've never been able to convince anyone to take action on anything, so the only alternative is to do the whole damned thing by yourself. Story of my life. At least I'll have something for my daughters to work with that isn't as ancient as I am.

    --
    AccountKiller
  133. Programming is hard. by Anonymous Coward · · Score: 0

    Deal with it.
    If you don't put in the effort or time to learn it, you wont be able to program. Plain and simple.

  134. Lolwat? by kuzb · · Score: 1

    Regular people are excluded **all the time** from various professions because they're unwilling to dedicate enough time to learn it. Are we supposed to just assume that programming is different?

    I'm so tired of this sense of entitlement where everyone they are entitled to everything with no effort. My guitar skills aren't that great - certainly not good enough to perform live acts to a roaring crowd - does this mean all musicians are elitist assholes and that music is simply unattainable because of it? No! It means I haven't dedicated enough effort to perfecting that skill.

    --
    BeauHD. Worst editor since kdawson.
  135. Lack of standardization and licensing by bored · · Score: 1

    Of lot of the problems in the computer industry stem from lack of proper well thought out standards. As well as the lack of licensing individuals and tool implementations. Diversity of implementations is good if the products adhere to standards. Everybody and their brother creating their own tool chains and proprietary (but open!) widgets that all solve the same basic problem has become the problem itself. We would still be in the preindustrial age if we were unable to standardize even basic things like thread patterns on bolts.

    The software industry is the equivalent of recent HS grad noticing that his neighbor built a house using haybales (http://en.wikipedia.org/wiki/Straw-bale_construction) showing up at the city council and convincing them he can build a bridge over the local creek with haybales faster and cheaper than the local engineering firm. They proceed to hire, him and he in fact manages to build a bridge over the creek in an afternoon. Gets a lot of money, fame and further jobs. Its only 6 months later when the creek floods and washes the bridge away are the design tradeoffs apparent. By then, the kid has spent the money, moved out of state and is building cars out of cow manure for a large company.

    1. Re:Lack of standardization and licensing by Tanuki64 · · Score: 1

      I don't think it can work this way. At best you can get standardization and license requirements for extremely small and extremely well defined problem domains. A bridge is a bridge. The physic is the same for all bridges, the materials are the same, you know their properties. When you learned to build bridges, you probably can also apply this knowledge to build houses. Software is different. You cannot apply 'real world' solutions to bits and bytes. Software is extremely more flexible. And additionally many of today's software projects are still 'first of their kind'. The 'best practices' are far weaker then those for sticks and stones. Licensing requirements can never be flexible enough in the software world. When you can code the controlling software for an x-ray device, you might not be able to program a car computer. You would get an unrealistic explosion of standards or licenses. Software just does not work this way. What you want has been tried. The classical waterfall model tried to apply typical engineering methods to software development. Except for rate cases it failed miserably. And even in those rare cases the results were not always bug free.

  136. Kludge Me A River by globaljustin · · Score: 1

    Tools are simpler and easier to use than ever

    No, they aren't.

    *some* are...like HTML5 & CSS3, but those standards had to be developed *in opposition* to what the W3C wanted...which was, as GP pointed out...more of the same

    "The web is just an enormous stack of kluges upon hacks upon misbegotten designs. This Archaeology of Errors...

    GP's only problem is that they assume that the "enormous stack of kluges" was not done with intention.

    Take the HTML standard and the fight between the W3C & the WHATWG....the W3C wanted to the new standard to include bits that make it easier to track what users do and use DRM, and they stalled any attempt to change the standard

    Only b/c of the WHATWG do we have HTML5/CSS3, and a functioning internet to even discuss this issue.

    My point? GP is right...why?

    **many coding problems are by design to make artificial scarcity**

    http://en.wikipedia.org/wiki/W...

    --
    Thank you Dave Raggett
  137. Re:Normal humans exlcuded from practicing law/medi by konaya · · Score: 1

    "Perform open heart surgery in front of a judge while vigorously arguing a case on behalf of the guy who is having his heart operated on."

    A Phoenix Wright/Trauma Centre crossover would make for an awesome DS game, though.

  138. Re:DMCA for programming without a license by CronoCloud · · Score: 1

    That's a misstatement. Sony isn't the equivalent of the AMA and they didn't sue him for programming without a license but for DMCA and copyright violations.

    Sony had a simple rule "If you follow these rules you can play in our sandbox" He broke the rules.

  139. English Major by Anonymous Coward · · Score: 0

    What was Rob Limo's degree in? This PoS site was written in Perl. PERL?!?!?!

    This whole idea that you have to be someone special to write a web app HAS to be a joke, because if you've ever tried to fix real web apps out here, you know the kind of "special" the vast majority of web developers are.

    They are abnormal in the wrong direction.

  140. You think THAT's an injustice? by wonkey_monkey · · Score: 1

    "The bigger injustice," Edwards writes, "is that programming has become an elite: a vocation requiring rare talents, grueling training, and total dedication.

    All the horrible shit going on in the world and you think the fact that people who are better and more dedicated to a thing get better jobs doing said thing than people who aren't very good or dedicated is an injustice?

    Normal humans are effectively excluded from developing software.

    If you're going to define "normal humans" as "people who aren't that into programming," what do you expect?

    it doesn't have to be this way.

    Why shouldn't it be?

    --
    systemd is Roko's Basilisk.
  141. normal niggers excluded from being president! by Anonymous Coward · · Score: 0

    let's dumb down the job requirements!

  142. Programming is more accessible to masses by VikingNation · · Score: 1

    The notion that common ordinary folks can't pick up programming today is ludicrous. The free software is available to anyone with a connection to the Internet. I taught myself Basic and assembly language at the age of 8 on an ATARI computer back in the mid-80s. Microsoft offers a free product called SMALL Basic that can be used to teach anyone to program.

    1. Re:Programming is more accessible to masses by Tanuki64 · · Score: 1

      The notion that common ordinary folks can't pick up programming today is ludicrous.

      True, true, but it can't be picked up by common ordinary and lazy folks.

    2. Re:Programming is more accessible to masses by VikingNation · · Score: 1

      Well said. If folks want to learn to program they are going to have to work at it.

  143. inflexibility feeds bitter rant by greglarious · · Score: 1
    1. i have been a happy, geeky, non-autistic developer for 2.5 decades
    2. love the fresh new concepts entering my work world every year
    3. proud of the way this profession has matured

    the author's notion of "normal human" sounds like someone unwilling or unable to work to develop their talent. that might be common but it is not admirable.

    computer science is young and will remain a fast-evolving frontier for many decades. as it is slowly tamed, less adventurous souls may participate. until then, anyone needing a profession where they can safely apply a set of unchanging, formulaic solutions learned in school would be advised to look elsewhere or be born far into the future.

  144. Re:Normal humans exlcuded from practicing law/medi by Anonymous Coward · · Score: 0

    I think we need ordinary people to write robotics programs to do open heart surgery.

  145. Ummmm by wisnoskij · · Score: 1

    So Programming is ripe with injustice because there are only jobs for people really good at programming, and a good attitude, kiss assing, and some charisma is not a substitute?

    --
    Troll is not a replacement for I disagree.
  146. Programming != Coding by Anonymous Coward · · Score: 0

    I'm saddened that someone who claims to have been programming since 1969 still doesn't get what it's all about. Programming isn't just sitting down at a keyboard and churning out reams of code. The whole process is incremental and involves good design, prototyping, testing (whether that's test driven development, unit testing, regression testing for existing projects, usually a combination of all), coding, acceptance testing. There was no mention of any of this, nor of source code control, nor build environments, nor continuous integration, nor release packaging and management.

    And this is why "programming" on the web sucks so much: just like this article's author, management (and the general public) still thinks that programming is just sitting down and churning out a bunch of Javascript and Python code on top of MySQL and there's your "Internet Scale" application or game all done. Whaddya mean you can't do that today?

    Q+A sites like StackOverflow are both a blessing and curse in this regard: often you'll find awesome answers to specific questions on StackOverflow, but those examples are rarely suitable for production systems since they contain outright errors and/or don't consider even basic things like security, multi-threading or scaling. The curse part of it is because so often you see people just copy-paste StackOverflow snippets into their project without any consideration for these sorts of issues. It works fine in development and testing environments but then fails in "interesting" and sometimes very dangerous ways in your production environment. The number of examples that allow for code injection and other vulnerabilities are staggering.

    All people who consider themselves to be programmers, especially on the web, should read and understand the OWASP guidelines.

  147. This kind of complain... by Anonymous Coward · · Score: 0

    I hope it's not one of those complain about "my 'privilege' is not like yours so it's unfair"

  148. Wisdom of the Patriarch by TechNeilogy · · Score: 1

    "A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren't flexible. Neither is a violin, or a typewriter, until you learn how to use it." Marvin Minsky, ``Why Programming Is a Good Medium for Expressing Poorly-Understood and Sloppily-Formulated Ideas''

    --
    "The wisdom of the Patriarchs was that they *knew* they were fools." --Master Foo
  149. Poor Computer Illiterate. by trollboy · · Score: 1

    How dare we not bow down to the expertise of those who know nothing of the topic. We should all start valuing the medical advice of common lay people & celebrities over elitist doctors as well. Why just the other day Jenny McCarthy was telling us about vaccinations...

    --
    That which is not dead may eternal lie,and in strange aeons even death may die
  150. How would you prefer to represent MySQL BIGINT? by tepples · · Score: 1

    Several other languages have a 64-bit integer type. C++ does. Java does. SQL does. JavaScript doesn't. What's the best practice for a program written in JavaScript to represent the BIGINT type of MySQL?

  151. One does not sue for GPL violation by tepples · · Score: 1

    they didn't sue him for programming without a license but for DMCA and copyright violations.

    That's true in the same technical sense that Denys Vlasenko sues violators of the BusyBox license not for "GPL violation" but instead for copyright infringement. If the only way to program without a license is to violate Title 17, then in practice that's the same thing as banning "programming without a license".

    Sony had a simple rule "If you follow these rules you can play in our sandbox"

    One of the rules at the time was not to use hardware that was still being produced. The fat PS3 had been discontinued in favor of a new model without Other OS support. Assuming hypothetically that George Hotz had not exposed PS3 flaws to give Sony cause to disable Other OS in 3.21, where would one find a replacement for a fat PS3 console whose hardware had failed?

  152. Cry Me A River by Darinbob · · Score: 1

    Normal Humans Excluded From String Theory Research!
    Why should the slackers be prohibited from gainful employment in the String Theory field? (or is that supposed to be string field theory, I don't know I'm just a normal person)

    Actually a more realistic comparison would be mathematician. Restricted to only those people who take the time to learn the minutiae, and yet there used to be openings for more normal people doing grunt mathematical stuff, compiling tables, working on a chunk of a larger calculations, etc.

    People didn't complain about this stuff back before being a nerd became cool.

  153. It may be viewed as elitist... by Anonymous Coward · · Score: 0

    ... but there is, unfortunately I should add, a difference between being able to program, and being able to program well.

    The web *is* kludge built upon kludge. But when I see how younger programmers navigate this, they almost invariably fail at problems that have nothing at all to do with good tooling, or the web being a collection of kludges.

    For example, people misapply cryptography, because irrespective of how many libraries you have that take away the hard coding problems, you need to understand the basic concepts to apply it well. Similarly, parallelism is hard - not because of a lack of tools, but because you have to think fundamentally different about algorithms. Now it's arguable that this is due to failures in CS education... on the other hand, most attempts at making these kinds of problems easier with tools have not met with huge success.

    IMHO the article, while making some great points, also commits the common fallacy of assuming that just because simple programming tasks can be simplified greatly, that must mean that complex programming tasks must be similarly easy to simplify. Unfortunately, history has taught us so far that that's not true.

    [Mind you, some things like composable concurrency are good starting points - let's have more of them!]

  154. Normal humans excluded... by Anonymous Coward · · Score: 0

    That may be true, but the real injustice is that 50% of normal people are excluded from having babies. It's a travesty, I tell you!

  155. Re:Learning Doing by src1138 · · Score: 1

    Typical AC - misinterpret what's there and add nothing.

    Fuck you.

  156. Re:Learning Doing by src1138 · · Score: 1

    Or not if you were referring to the OP and not me :D

  157. oh thank goodness by Anonymous Coward · · Score: 0

    I don't like normal people.

  158. Now you know why they're hiring 12 year olds by Anonymous Coward · · Score: 0

    The young'uns don't know any better (yet) and will go along with any latest fad put before them. If they get paid for it too, hey, bonus! And never mind the brain damage. Apparently all that counts is "shiny!" where TFA's author is growing out of that. He's getting old.

    Personally I had to learn without a GUI because it was Just Too Heavy for my poor old 286, using it only for the occasional debugging session, when bearing the pain of debugging became worse than bearing the pain of the thing chugging along. Now, of course, just talking available computing resources I could well use an IDE, but though I tried several over time, the captive environment uniformly feels constraining and limiting rather than empowering. This perhaps isn't surprising given my programming style: Build from primitives, and moreover build my own primitives out of what underlying systems and libraries may offer, as appropriate for the program. This for a variety of reasons, like somewhat decoupling the program from its dependencies, but also, and not least, clarity of program and uncluttering my own mind. If you find yourself using foreign calls sprinkled all over your program you're not doing a good job of abstracting your program, and to unclutter that, yes, you may well need an IDE with all sorts of prettifiers, highlighters, indexers, correlators, support structure, perhaps even an AI someday. In contrast, to me emacs or even vim is overpowered and not what I want in a programmer's editor.

  159. You don't exist. Go away by phorm · · Score: 1

    I've actually had servers say that to me.

    Usual cause: trying to execute certain commands while logged in as a user that no longer exists in /etc/passwd.

    Also known as "oops I overwrite /etc/password!".

    Bonus points if you get this while logged in a root. An associate of mine discovered that it's bad to use system variable names when he had this one in a script he ran (as root):
        deluser $USER

  160. arduino by ecloud · · Score: 1

    But on the flip side, it amazes me that some not-so-geeky people manage to make use of Arduinos. The whole package is a not-so-thick veneer over plain Atmel C programming, and yet it opened up the chance for many times more people than would have ever managed with the Atmel-provided IDE. And then there's Processing for an even less-geeky approach.

    Web technology is just stupid... all the usual languages are bad ones, and even if you manage to find a cool language to develop in, you still have to use it to translate everything to XML and Javascript at the end. Web 3.0 will hopefully happen eventually. The language of the future should be declarative and imperative at the same time, extensible at the metalanguage level so that it can be adapted for every task on both client and server, and with elegant syntax too. I don't enjoy web programming as much as writing applications and frameworks, not because I couldn't learn enough about the technology but because it's kindof disgusting. And now it's hard to switch away from "the browser" to something else, because the replacement would have to be more compelling on so many levels that people would actually use it, and avoid getting corrupted too early with commercials and spying and malware and crap. It should be clean and elegant and there should be some kind of self-enforcing social contract that keeps it that way. I suppose that part is impossible though...

  161. The problem he's talking about is made clear here by ToddInSF · · Score: 1

    Yeah, you're so smart because you can code in 16 different languages, and do the same thing in 42 different ways. That's awesome. You're real special.

    Except that this level of ever increasing and mostly proprietary complexity is neither efficient or functional. Much less modular, intuitive, particularly interesting, or enlightening.

    Some people here say, well, he's just burned-out. Yeah, he's burned-out on the fallacy of being a rat on a wheel that goes nowhere.

  162. Programming is NOT an elite! by Anonymous Coward · · Score: 0

    You are delusion if you think you are elite as a programmer - you've sold a lie and you've swallowed it hook, line and sinker. You are as much a slave as any other drudge job. Of course, many ditch diggers really do like what they are doing; so too programmers. And this alone is why not everyone is cut out for programming and self-select themselves out of the profession.

    The "exclusion" is no different than excluding people with bad eyes from flying planes, excluding people with who are blind from driveling car or excluding people with room temperature IQ from Mensa. It's utter moronic to say everybody gets to participate in all professions or activities even when they don't have the skills or predilections for it.

    Do you really want substandard or non-self-selected talent creating mission critical software to healthcare, economics or manufacturing just so you can say everyone "participated"? Fairness for its own sake is bullshit if it results in suboptimal and cost or risk to everyone else. "Equality" of this sort isn't worth the price.

  163. Clean new approach is needed by lucien86 · · Score: 1

    I totally agree with the article. For the application I am designing (admittedly a pretty special one) this problem means that it turns out to be easier to cut everything out and build a complete new system from first principles.
    At the top level there just isn't quite the level of control there and delving deeper on how to do things at a system-API level reveals a nightmare world of complexity and still insufficient control. At the next level Microsoft is totally out because everything is proprietary and hidden and the licence basically forbids it anyway. Even Linux isn't much better once you dig down deep enough (though the documentation is there) - most practical installations depend on proprietary code - but even when that barrier isn't there this is a system (ie effectively a big program) that has evolved organically for decades. It gets immensely complex if you have to rewrite an underlying part of that system. But all of this is only getting to the real punch-line, that thicket of evolution doesn't end at the OS and goes right through the driver and into the hardware ... and that makes it an almost impossible job to reverse engineer to build a new clean OS for even the most basic operation. The OS layer is the real reason that everything above has become so complex.

    If you really want a clean system for programming then its simplest to go with embedded microcontrollers like Arduino, or machines like the Raspberry Pi that is complex but is designed to hide it. Or if a little braver you can use Verilog or VHDL and use FPGA to literally build the whole thing up from the ground level. That way you can control everything. Of course doing it this way is why my dev timeline is 5 to 10 years rather than 2 or 3 years - but then my project is at the frontiers of research ... (cackles manically and runs off)

    --
    Below the speed of light Special Relativity is one of the most accurate theories in physics - above the speed of light..
  164. Complicated place by cwsumner · · Score: 1

    The world is a complicated place. Everyone's job is complicated, it's just that after doing it for a while you get used to it, and it starts to seem easy.

    Then when you encounter a new place, it seems unusually complicated. But it's not, any more that any other, it just new to you.

    The reason that programming is hard, is that the world is hard. Better tools will help, but they woun't change the world.

    If you think other jobs are easier, then try running the big single-disk floor polisher that the cleaning crew use. If you don't injure yourself, it will still provide much entertainment for the bystanders... 8-)

  165. In 1980 by Anonymous Coward · · Score: 0

    In 1980 I programmed operating systems by typing card images on a CRT through a primitive editor. Version control was a program which stored programs on a disk ( which has been renamed a hard drive).

    The scenario you describe is how I worked in 1970.

    I have never worked on an architecture which did not have an assembler. A primitive architecture was one which did not have a compiler for some high level language or other.

    ---------------
    Steve Stites

  166. Normal People Can't write code, thank God! by Anonymous Coward · · Score: 0

    I've been in the industry since 1981. In that time, I've been a programmer, a configuration manager, a systems engineer, and a computer science instructor.

    It really does take a "special" person to be a computer programmer (or, if you prefer, software developer). I can usually spot the glint in these special people across the room. Are they autistic? Maybe, but I'm not a psychologist. They do have a special SOMETHING that drives them, whether it means they must learn the intricacies of JCL, Assembler Language, COBOL, or Ruby on Rails, to learn how to make a computer do their bidding.

    It takes native intelligence (I've NEVER met someone with an IQ of only 100 who could program), organization ability, and attention to detail to be able to write programs successfully, whether the "programs" are in BASIC, VB, Java, or XML. I would say less than 1% of the population at large has the mental ability to learn to do it! Then, they must also have the drive and desire to get through all the hurdles to learn how to do it. Vive' le difference'!

  167. Missing the point. by bbsalem · · Score: 1

    I think that most comments in their thread miss the real story, and the issue of the OP does too. The real story here is that the economy has come to be reliant of an elite of engineers and developers who not only have discouraged other groups of people, but are by their very efforts making is harder for a majority of people to find rewarding roles in society by which they can support themselves according to the expectation that the job a person is paid to do or can create is valued. The digital revolution has erased many more jobs that it promised would be replaced by more creative and rewarding ones. This hasn't really happened. Instead more and more people have been marginalized, under-employed and just pushed off into poverty. Business people don't notice this because they see the efficiency gains as a short-term benefit while they don't have to deal with the longer-term effects. The income gap and the lopsided income distribution is a direct result of the application of computers to economics, whether to make a tiny group account for all the productivity in the economy or to allow for new forms of speculation and fraud in the financial sector. The other shoe has not dropped, but I think it will, and the population as a whole will begin to see the dark side of engineering and programming, not the rosy predictions made of technology boosters. It is not that we should put a stop to technology, no, only that we need to get much smarter about defining and measuring the side-effect and not listening to engineers who are very bad at predicting the future.

    Much of this problem is due to old-fashioned political economics and economic theory that is like the blind man and the elephant. We let the people who see the short-term gain dictate our thinking rather than asking them to plan for five years or a decade. That is the fault of computers driving the emphasis on short-term ROI and of the tendency of people to be selfish. When the shine is off, these people with be made to pay in having a far less secure world. I would outlaw HFT and put a latency of all equities trades. I would discourage venture capital and other investment in areas where infrastructure is already stressed. I wouldn't let plutocrats move in and pressure the whole regional economy to meet the desires of elites. To simply argue that greed is OK is to invite the historical remedy which is not nice, it is what we are seeing in Central America right now, so heed the warning signs.

  168. Software complexity also follows Moore's law by descubes · · Score: 1

    Software complexity follows Moore's law, an exponential law. So with a fixed set of tools, you are bound to reach a point where you can't code effectively. That's why we need either new sets of tools on a regular basis (e.g. C -> C++ -> Java -> ...) or tools that evolve over time (e.g. Lisp).

    See http://xlr.sourceforge.net/Con... for another take at tools that evolve over time.

    --
    -- Did you try Tao3D? http://tao3d.sourceforge.net
  169. Wait a minute by Anonymous Coward · · Score: 0

    Did I just wake up in a world where the only programmers are an army of autistic geniuses a la minority report precogs?

    This is one of the dumbest things I've ever read gg.

  170. Normal humans by choke · · Score: 1

    This article feels a little egoistic. The author is saying "Only special people.. like me."

    Are also excluded from professional basketball, being CEOs and astronauts. Anywhere that there is competition, there will be emergence of traits that are dominant for that domain. It's not little league. Not everyone is a winner.

    I've seen code produced by non-programmers.

    --
    "No good deed goes unpunished"
  171. True of every profession by Anonymous Coward · · Score: 0

    Every high paying profession, and some low paying "callings", restrict acceptance and success to the peculiar people who fit a hexagonal peg into a hexagonal hole. Athletes to sports, good students with self discipline to medicine, outgoing good looking sexy people to entertainment and sales, semi-badasses to law, and Asberger spectrum folks to computing. I'm grateful to live in a time when My People can have the opportunities for social respect and high pay. (Think about it: the internet was built by guys in the MIT Model Railroad Club!)

  172. A bad day coding beats a good day fishing! by Josh-Levin · · Score: 1

    Enuf said

  173. Normal humans by Anonymous Coward · · Score: 0

    Normal humans are dumb-asses who can't wipe their asses properly.

    Who gives a shit if they can't code.

    Besides, PHP has inflicted enough damage and made too many amateurs think they can be professional programmers.

  174. I wonder if the author of TFA had Comp Sci... by Anonymous Coward · · Score: 0

    Orthononality vs. Power of a language/toolset has ALWAYS been an inverse trade off. He wants very orthogonal (think "easy") stuff to be powerful, sorry, but that's not going to happen. Please go back for your degree if you want to really understand why.

    Your modern bank still uses COBOL, but they don't develop all their front end apps in it, sorry. He's complaining about the web, but if he was right there would be something like Apple's dev environement for iOS (just to pick an example) that was just the bees knees and "anyone could do it!" Except there isn't and there never will be.

    So, as crappy as platforms like AngularJS and jQuery are, all the other powerful platforms that actually don't suck as badly have the same exclusivity, even though they're less insanely kludgy.

  175. isn't this a good thing? by JustNiz · · Score: 1

    What I got from the article is that the flood of people that call themselves Software Engineers when all they actually know how to do is configure 3rd party tools and at best write a few scripts to run stuff on the internet are finally being called out.

    I think thats actually a good thing for restoring some value to the job description and to the currently low perceived value of skilled Engineers that actually can/do develop software from scratch.

  176. Ah, but by Anonymous Coward · · Score: 0

    when you said: "the Dewalt Model XJ-9 nailgun lasts 5yrs you can finish a helluva lot more roofs in that time than you could with a hammer" you missed a three critical points:

    1. Those roofs do not require the continued function of that nailgun. If the tool is a piece of junk that will enable rapid productivity but then fall apart, those rapidly-buit roofs will none-the-less stand on their own and be perfectly good - while the tool can be treated like the first stage of a rocket: discarded having done its very productive job in a practical and economic way. This is not true for many software tools. Much of what passes for "good" code today is being used to build a very buggy web and often it either includes parts of itself into the result (as though parts of the nailgun your example cited embedded into those roofs and needed to keep working) OR it's used to build huge pieces of infrastructure for corporations, NGOs, Governments etc that are so wedded to those tools that re-doing them using different tools later will be a nightmare.

    2. Even the worst nailguns do not typically have lots of random bugs their designers were not interested in fixing (because they'd moved-on to more exciting things, or fixated on the "look and feel") and which caused them to do things like randomly launch nails through the hands and foreheads of their users.

    3. Nailguns do not come with a hundred dependencies (each of which has a list of dependencies of its own, each of which also has dependencies...) and they are typically designed by people who have designed the whole machine. Nailgun dependencies: [a] nails [b] power [3] a user. Far too many of today's so-called programmers have not written large parts of "their" code - they've included piles of libraries and tools (often coded in various different languages) which they often have not taken the time to fully-understand. The resulting codebase is more like a Jenga game (shortly before the end) than a Frank Lloyd Wright Building, architecturally-speaking. Will ANYBODY be able to re-build and use thes tools in a decade when all those thousands of dependencies are changed and many are abandoned projects? How about in 20 years? I still use FORTRAN "apps" from the 1970s... that's FORTY YEARS later. (I LOVE referring to FORTRAN programs as "apps" in the presence of younger coders...)

    One great thing about the old piles of FORTRAN and COBOL code that used to underpin things was that it was robust, maintainable, fully-understood, and dependent upon very little... which is why so much of THAT code is still in use while people are already moving-on from things like Ruby or Rails (just examples, not an attack on Ruby or Rails or Ruby-on-Rails...)

  177. Best post!! by mccabem · · Score: 1

    Best post! LOL