Slashdot Mirror


Ready CEO: Coding Snobs Are Not Helping Our Children Prepare For The Future (qz.com)

jader3rd writes: Quartz has an article written by the CEO of Ready, David S. Bennahum, about how public education should be embracing computer science, and how existing programmers don't like these efforts because they feel that doing so will result in kids being exposed to programming in a manner different then how they were introduced to it. Bennahum writes: "Writing software today is eerily similar to what it was like in the late 1950s, when people sat at terminals and wrote COBOL programs. And like the late 1950s, the stereotype of the coder is largely unchanged: mostly white guys with deep math skills, and minimal extroversion. Back in the Sputnik-era, people thought of programmers as a priesthood in lab coats: the sole keepers of knowledge that ran these exotic, and mysterious room-sized machines. Today the priesthood is a little hipper -- lab coats have long given way to a countercultural vibe -- but it's still a priesthood, perhaps more druidic than Jesuitic, but a priesthood nonetheless, largely comprised of white men." "Instead of attempting to lure code-literate teachers away from Silicon Valley, we need to revolutionize the way coding is done. Rather than fit the person to the tool, let's fit the tool to the person. Pop computing can help us get there, offering a gloriously diverse array of tools to match our gloriously diverse species. It's only a matter of time before the process of making software itself is transformed, from one that requires a mastery of syntax -- the precise stringing of sentences needed to command a computer -- to the mastery of logic. Logic is the essence of software creation, and the second step after mastering syntax.'

54 of 342 comments (clear)

  1. Just don't do it by Anonymous Coward · · Score: 3, Funny

    Exposing kids to computers will turn too many of them into sad losers who will become so engrossed with machines as to forget life is about human interaction. By the time they will have realized them, it will be too late. Teach them sports, it stimulates competitivity and teamwork. You don't want to be code monkey.

  2. Terminals in the 1950s? by ClickOnThis · · Score: 4, Insightful

    Writing software today is eerily similar to what it was like in the late 1950s, when people sat at keypunch machines and wrote COBOL programs.

    Not to mention that the person doing the keypunching was not necessarily the person who wrote the code.

    --
    If it weren't for deadlines, nothing would be late.
    1. Re:Terminals in the 1950s? by jmcharry · · Score: 2

      Yes. This is a glaring anachronism. Terminals didn't take over until some time in the 70s. Even in the late 60s multi terminal computers weren't really stable. The predominant model was batch processing. Programs were written by hand, often onto specially ruled coding sheets, and carefully reviewed before being punched into cards, which were ultimately fed into computers. The results would be printed out to be reviewed hours later.

  3. I want to physically wound "the CEO of Ready". by Anonymous Coward · · Score: 2, Insightful

    Whenever I hear antiwhites spouting their retarded PC BS, I want to physically wound them. This is the only healthy reaction to all these buzzwords and this revolting idea that "everyone is the same". No. They're not. People of different races and the two genders are very different. This is not something bad. This is, ironically, *diversity*. Each race has its pros and cons. Females and males excel at different things. There will naturally always be a few exceptions. Having to point these obvious facts over and over (usually to deaf ears) is really tiresome.

    Now fuck off, David S. Bennahum, and the rest of you psychopaths who are trying to bend biology to fit your retarded misconceptions of the world.

    1. Re:I want to physically wound "the CEO of Ready". by Anonymous Coward · · Score: 4, Insightful

      "When I see high school freshman creating their own apps, and they absolutely love doing it, I see the future of cheap and exploitable labor for the corporation."- David S. Bennahum

  4. Tab users are subhuman by imgod2u · · Score: 5, Funny

    I will not apologize for, rightfully belittling to the point of tears, child-people who decide to uses tabs in their code instead of spaces. That's not snobbery; that's a moral imperative.

    1. Re:Tab users are subhuman by OrangeTide · · Score: 3, Insightful

      spaces for indent is bloat!

      --
      “Common sense is not so common.” — Voltaire
    2. Re:Tab users are subhuman by MrKaos · · Score: 2

      That's three words, and if you are going to get a sex change, you would want an expert changing it.

      --
      My ism, it's full of beliefs.
    3. Re:Tab users are subhuman by wonkey_monkey · · Score: 2

      Rubbish!

      Space: 0x20 = b00100000
      Tab: 0x09 = b00001001

      Spaces use half as many 1s as tabs.

      --
      systemd is Roko's Basilisk.
    4. Re:Tab users are subhuman by serviscope_minor · · Score: 2

      I know not what path all others may take, but as for me give me tabs or give me death!

      --
      SJW n. One who posts facts.
  5. Sorry, but you will still need to work for it. by OrangeTide · · Score: 3, Informative

    You still need the math background necessary to evaluate algorithms. Intuition is nice and all but when programmers work together as a team, there is need for formal methods because not everyone's intuition leads them to the same place.

    As you can see from my writing style, English language is optional. Minimal communication skills necessary would be to grunt and gesture at a whiteboard. (half-kidding)

    --
    “Common sense is not so common.” — Voltaire
    1. Re:Sorry, but you will still need to work for it. by PmanAce · · Score: 2

      You know what, this whole math thing for evaluating algorithms is bunk. I have both a computer science bachelors degree and a mathematics bachelors degree (stats, calculus, complex and real analysis, differential equations, vector calculus and other topics) and none of it helps me evaluate and analyse algorithms. Maybe my brain is already predisposed for it, I'm as rational as they come but would you care to explain your point?

      --
      Tired of my customary (Score:1)
    2. Re:Sorry, but you will still need to work for it. by Darinbob · · Score: 3, Insightful

      Intuition is not logic. Logic is necessary, but as the original author seems to not understand, logic is a part of mathematics.
      Analyzing an algorithm is mathematics. Proving that the sort algorithm has a minimum of n*log(n) is mathematics. Math is everywhere in computer science.

      Vector calculus is everywhere in computers. You need it to graphics, so even the kiddies who only want to write games need to know that. You need it to solve equations. You need it to know how to multiply matrices (no fair using a library, because you are the one assigned to write the library, in assembler).

      Statistics is everywhere in computers too. You think people do stats long form on paper? Big data crunching needs stats, little data crunching needs stats, scientific computing needs stats, even social media web apps need stats. Forget computers, that's a red herring here, you need statistics for every day life as well!

    3. Re:Sorry, but you will still need to work for it. by OrangeTide · · Score: 3, Informative

      So you are doing it intuitively? Congratulations, but I already covered that in my post.

      Most of what one needs to know is that big Sigma is a for loop and some simple examples of O(n), O(n^2), O(log n), and maybe O(n log n). Most people I interview can at least intuitively work their way through simple Big O problems, which is usually sufficient to do their day to day job. Maybe it's not sufficient for an architecture to write a whitepaper that will be released to customers, but not everyone is an architect I guess. There is a nice table of informal and formal definitions on wikipedia that might let one compress the most relevant parts of a year or two in CS prerequisite cours into a few minutes.

      --
      “Common sense is not so common.” — Voltaire
    4. Re:Sorry, but you will still need to work for it. by Bengie · · Score: 2

      Ignoring the subset or problems that actually need formal proofs of correctness, much of the issues I work with are performance and general quality of life problems. The specialists with more formal training use best practice and empirical evidence. Which is great, except it doesn't always work, especially in complicated issues like thread scaling. They show me all kinds of benchmarks proving their design is "correct", but once the rubber hits the road, the system has really strange performance issues. An example might be two O(1) algorithms that suddenly have issues when lots of random access hits them. Individually they work fine, but together they have issues. Turns out to be cache-trashing, garbage collection, memory fragmentation, and general random IO issues. After much arguing, they finally take my original suggestion to use an O(log n) and the system runs faster on average for the case under load, and the observed worse-case is magnitudes better.

      Most of the issues have to do with nuanced interactions among many systems. I can't explain how I can notice these issues before they occur, but I can look at a design and find issues that no one else sees. I guess I'd call in intuition. Of course none of my systems have these issues, yet almost no one takes me seriously because I don't have the formal training. Most don't understand the reasoning for my architectural designs, but that's because I see the issues differently. The one saving grace is I'm not the one getting called in at 2am, my crap works.

      The commonality that I see is everyone treats these systems as blackboxes. They don't think about how some datastructures require memory allocations to insert, so their O(1) algorithm with bursts of heavy write screws over data locality and forces high garbage-collection rates. I make a lot of quick assumptions with nothing to back them up other than reasoning, my own form of reasoning that only few seem to follow or appreciate. If I can spend 30 seconds figuring out something that will take hours or days to prove with empirical testing, I see that as a net win. But I'm not always correct, only most of the time, and more often than the people who want proper evidence.

    5. Re:Sorry, but you will still need to work for it. by MrKaos · · Score: 2

      A lot of the time, math looks like a bunch of greek to me.

      --
      My ism, it's full of beliefs.
    6. Re:Sorry, but you will still need to work for it. by jader3rd · · Score: 2

      I make a lot of quick assumptions with nothing to back them up other than reasoning, my own form of reasoning that only few seem to follow or appreciate.

      That's also known as experience.

  6. Misanthropy by OrangeTide · · Score: 2

    Having dealt with human beings occationally throughout my career, my professional advice is to avoid interacting with them when possible, and bear it as best as you can when there is no other option.

    --
    “Common sense is not so common.” — Voltaire
    1. Re:Misanthropy by Anonymous Coward · · Score: 3, Insightful

      Having dealt with human beings occationally throughout my career, my professional advice is to avoid interacting with them when possible, and bear it as best as you can when there is no other option.

      I would have loved to be a "people person". At a young age I saw how self-centered, narrow-minded and generally stupid (not people who are genuinely retarded, but worse - they refuse to think) most people really are. They can't even comprehend that it's rude as hell to needlessly block doorways, let alone understand the finer points of etiquette. Whatever they want, they feel entitled to it. When someone else wants the same, they're "wrong" somehow. They lie to themselves and each other at an astonishing rate, without realizing (or caring) how transparent they really are.

      They pour tremendous energy into TV and shallow social media, treating these things as if the drama and minutia of people they don't know and probably haven't met are really important, while the mystery and wonder of life happens right in front of them, unnoticed. They take things like tech for granted, never gaining any skill over time, never having the slightest curiosity about how something might work. They call tech support and wait on hold for 30-45 minutes to ask questions that are in the first pages of the FAQ, the help file, the README, the web site, etc. They ask the store clerk where something is when they're standing in front of it and they do it routinely - ask anyone who owns a store. They just generally hate lifting a finger to do anything on their own. Nothing is ever their fault including their poor lifestyle choices.

      They like vague reasoning when it supports what they already do, and get upset anytime it doesn't. Yes, interaction with these people is generally to your own detriment. Avoiding them is best. You're not going to successfully change them. I would love to be a "people person" but not in such an unenlightened culture. Not in a culture that thinks being a self-centered douchebag (ironically, in the same manner as many others) is the same thing as being an individual.

      I wasn't always a misanthrope, but contact with these people has made me into one. The best you can do is find a good man/woman to settle down with, and carefully select a few friends who don't fit the general social pattern. Carve out your own little niche of people who aren't like this, be grateful that you could, and enjoy what you have.

  7. Mastery of logic? by TimTucker · · Score: 2, Insightful

    Seems quite odd that he says that coding shouldbts require deep math skills, but then goes on to say that it requires mastery of logic. Did someone not enough math classes to realize that logic is a branch of math?

  8. "White Men" by Anonymous Coward · · Score: 5, Insightful

    Hate the way race and gender keep getting snuck into articles like this, just stop it already, it's not important.

  9. Yes, time for another revolution by mi · · Score: 2

    we need to revolutionize the way coding is done

    Ah, yes, sure. After Pascal and Lisp, then C++, then Java, then Ruby — all promising "a revolution" — we are due for another. The revolution to end all revolutions, perhaps?

    Meanwhile, I spill my heart out admitting to having started with FORTRAN, and get downmodded to zilch by the snobs... Sigh.

    --
    In Soviet Washington the swamp drains you.
  10. Re:Coding by Desler · · Score: 2

    We've had that for years and they mostly just make shitty and inefficient software. This is just an ad from a guy selling Visual Programming IDE #76353nn

  11. The priesthood is benevolent by jdavidb · · Score: 3, Insightful

    existing programmers don't like these efforts because they feel that doing so will result in kids being exposed to programming in a manner different then how they were introduced to it

    Right, we don't like it when you do it in a way that is unlikely to be effective in helping more people learn to program and learn to enjoy programming. Because most of us like nothing more than the joy of spreading the love of programming.

    white guys ... largely comprised of white men

    Oh, baloney. My university UTA was nicknamed the "University of TenThousand Asians." I'd go to the computer lab and come out with an accent. I once commented that a coworker who was flying back to Boston didn't sound like he was from Boston because he had a "normal midwestern accent" and a startled colleague said "jdavidb - he has a thick Indian accent! What are you talking about?" I didn't even notice because that was just normal to me.

    Most programmers I know at least online have a leftist or multicultural bent, and nearly all of them love to help new programmers who show an aptitude.

    My kids are homeschooled and are learning to program, and we're quite multicultural with weekly attendance at a bilingual church. I don't think more institutionalized schooling is the solution here, and it's not that I want to reserve programming to a priesthood of white men.

  12. Uh, no. by Anonymous Coward · · Score: 2, Insightful

    While we're at it, let's revolutionize medicine, too. I'm sure the doctors will appreciate not having to know how the human body works, because someone built a fancy tool that's supposed to do it all for them while they still call themselves Doctors.

    Meanwhile, I like being alive, so I'll keep my current well-trained doctor, thanks.

  13. Why is this stereotype constantly perpetuated by cyber-vandal · · Score: 5, Informative

    Neither I or my colleagues are in any way anti-social or socially awkward. Being a developer is a job the same as any other.

  14. Re:IQ 135+ by Darinbob · · Score: 5, Insightful

    The idea that the old style was bad because it required "deep math skills" is wrong headed. Computer science *requires* deep math skills; computer science is a branch of mathematics essentially. The writer wants us to focus on logic, but logic is mathematics!

    If we lower the bar and say that we just talking about 9-to-5 programming for a basic salary with no leadership or design expectations, then maybe you don't need any math or engineering or domain knowledge. But that's not aiming high, that's aiming for an entry level job that lasts 40 years.

    We're not trying to keep people out by being snobs, instead we're trying to stop the long slow decline of computer science and computing. There are applications of computers that require absolutely top notch people, especially as the uses of computers become more common you want computers to be designed, built, and programmed by very smart people. Do you really want to fly on a plane programmed by someone who skipped college because it was too time consuming?

    Look at the math this way..
    Student: I don't need to learn boring calculus because computers can do that for us. I'm a cool programmer dammit, not a math nerd.
    Teacher: Ok, write a program to take the derivative of this equation.
    Student, one week later: This is too hard... Don't they have experts for this sort of thing?
    Teacher: Never mind. Just give me the burger and small fries.

  15. CEO should spend time shadowing a programmer by Anonymous Coward · · Score: 5, Insightful

    Hey CEO Asshat;

    Please go follow around a programmer for a week, a la "dirty jobs".

    Why is it this guy seems to think that "programming" is going to become building blocks that you slap together?

    Someone still needs to build those blocks. A brickmaker isn't a Mason, but a programmer needs to be both.

    It scares me that these Executive types think making software can be reduced to the simplicity of making Big Macs on an assembly line.

  16. diaf by phantomfive · · Score: 3, Insightful

    "Writing software today is eerily similar to what it was like in the late 1950s, when people sat at terminals and wrote COBOL programs. And like the late 1950s, the stereotype of the coder is largely unchanged: mostly white guys with deep math skills, and minimal extroversion

    The guy who wants to change the world, can't keep from relying on stereotypes to understand the world.

    Also programmers don't tend to have 'deep math skills' (including myself). It's just that compared to this CEO, understanding basic algebra counts as deep math skills.

    --
    "First they came for the slanderers and i said nothing."
  17. Terminals? In the 1950s? by saccade.com · · Score: 2

    Terminals (as we think of them with keyboards and a display screen) didn't exist at all until the mid to late 1960s. A 1950's programmer would be sitting at a keypunch, creating a deck of cards. These would be submitted as a batch process, and you'd get your compiler & run results hours (or maybe a day) later, printed in smudged type on a stack of large fan-fold tractor-feed paper. With few exceptions, the sort of interactive programming you can do "sitting at a terminal" wasn't commonplace until the 1970's.

  18. I get it, but by xfizik · · Score: 2

    mostly white guys with deep math skills, and minimal extroversion

    OK, I get it - being a while guy is bad. But why is it bad to be competent and good at your job, which is what deep math skills means? Aren't they advocating for training more good programmers?

  19. What the hell? by CaseCrash · · Score: 4, Insightful

    We're not opposed to all this bullshit "everyone should code" crap because we're anti-social curmudgeons; it's because we all understand that it's just meant to try to flood the job market with cheap labor.

    --
    No, that link you posted to a web comic we've all seen a hundred times is not "obligatory."
  20. More like writing vs being a writer by UnderCoverPenguin · · Score: 5, Insightful

    Most people have enough writing skill to write messages and/or email (or even letter via postal mail), but very very few have the aptitude needed to be a professional writer.

    Similarly, you can teach programming to a lot of people, but very very few will have the aptitude to become real software developers.

    I'm all for teaching kids programming. Probably will find a few more who do have the aptitude than would come forward on their own.

    Just don't expect a new "army" of software developers. We already teach kids writing, but very very few ever become real writers. No different for software developers.

    --
    Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
    1. Re:More like writing vs being a writer by Bengie · · Score: 3, Insightful

      I would extend 'Just don't expect a new "army" of software developers' to also include to not push kids into programming or give them a false hope by dumbing it down then telling them how much money they can make.

  21. Whatta dope by Anonymous Coward · · Score: 5, Insightful

    I'd like to force guys who think like this to fly in a jet plane designed by a generation of aviation engineers who didn't need to do all that dopey math and science stuff the the current priesthood forces on its members, or drive across big bridges designed by civil engineers who didn't fall for the idea that they needed to learn about the minutia of stresses and strains and building materials and soil types.

  22. Standards all over again by sgrover · · Score: 2

    I remember a parable story about how a dev team lamented about the 20 standards there were for XXXXX. So they decided to merge all the standards into one comprehensive standard. They worked long and hard and finally completed the mammoth task and released it to the public. Now there were 21 standards.

    This story about "pop computing" seems similar for some reason.

  23. 1990 wants its 4 GL back by avandesande · · Score: 3, Insightful

    Seriously? Programming is the trivial part. The further I have gotten in my career the less coding I do- figuring out requirements and how to make business workflows work is the hard part and don't require coding.

    --
    love is just extroverted narcissism
  24. hilarious by Gravis+Zero · · Score: 2

    public education should embrace computer science but they should not force children to learn any particular programming languages because it's a niche skill and programming is not for everyone. however, generic logic and problem solving/deconstruction is something that every child should learn.

    --
    Anons need not reply. Questions end with a question mark.
  25. "largely comprised of white men." by TheGratefulNet · · Score: 5, Informative

    BULLSHIT!

    stop lying. this does not help ANYONE when you keep saying the same incorrect bull over and over and over (and over and over).

    go to silicon valley. walk the hallways of a cisco or similar. breakdown is roughly 90% indian, 8% various asian and the rest is western-born.

    white men? you gotta be kidding me. are you writing this from kansas or something? because where I sit, in the bay area, whites are the smallest minority. walk down cupertino and its almost all chinese. walk most places in the bay area, its all indian. you hear hindi and mandarin and some cantonese along with korean and vietnamese - but english - not much english anymore.

    sick of this lock-out culture. if you are not one of the imports, you are not a first choice for a job in this area.

    I wonder who keeps paying the liars to lie to everyone? is this swj gone full-retard? or is this just someone from outside tech areas who write from their ivory tower, totally disconnected from reality?

    or maybe everyone who writes this drivel KNOWS its a lie but has the agenda to keep pushing MORE imports into comp-sci and asking for more h1b's to enter the US.

    or, finally, its just a ploy to get clicks. they know it will get many of us angry and (like me) it caused me to write this and hit 'submit', which gets them clicks.

    no matter what the reason is, I'm sick and tired of this crap.

    --

    --
    "It is now safe to switch off your computer."
    1. Re:"largely comprised of white men." by Anonymous Coward · · Score: 2

      The article was a hit piece on white males, or those of western European heritage.

      It's why Donald Trump is so popular.

  26. White men by use_compress · · Score: 3, Interesting

    FTA: ..a priesthood nonetheless, largely comprised of white men.

    Some of us are Asian, you insensitive clod.

  27. I will punch him in his SPLEEN BONE by TiggertheMad · · Score: 4, Informative

    Agreed, this guy needs to be stabbed in the face with a rusty crab.

    If you read past the first paragraph or two of TFA, you can see what is really up, he is shilling his company in this puff piece, talking about how whatever shitty software Ready is making will solve all education's woes by teaching kids to code in a completely new and different way.

    "Our efforts at Ready, a platform that enables kids to make games, apps, whatever they want, without knowing a computer language, are designed to offer a new approach to broadening access to code literacy."

    As a senior coder who has written a lot of code, this guy sounds like a complete tool that I would not trust with two burned out matches and a short piece of string, let alone the education of the next generation of computer scientists.

    --

    HA! I just wasted some of your bandwidth with a frivolous sig!
    1. Re:I will punch him in his SPLEEN BONE by ogdenk · · Score: 4, Interesting

      Apple tried his approach once, it was called HyperCard. It was neat but ultimately slow and ill-suited to doing anything remotely hardware related. Nice for quickie databases, silly games, contact lists, etc but ultimately useless for more advanced problems without a lot of effort, external libraries and actual coding. At that point you might as well had just written your code in Pascal or C, it'd be faster and less of a clusterfuck.

      It was a cute introduction to slapping together GUI apps though and a good 2nd step from traditional BASIC.

      Personally I think traditional boring line-numbered BASIC on an 8-bit is a good introduction to see if kids will want to go further with programming. A simple introduction to 6502 or Z80 ASM afterwards will let them write more advanced programs by embedding machine code routines in their BASIC programs and will give them more of an idea of how the computer actually works. If they get bored or don't feel like doing it anymore you'll know that computer science is not for them.

  28. Syntax? by Tablizer · · Score: 2

    It's only a matter of time before the process of making software itself is transformed, from one that requires a mastery of syntax

    If one is spending most of their time on syntax issues after gaining some experience, they are probably either doing something wrong, or shouldn't be coders.

    One big time-waster "problem" I do see is that the "web stack" is overly complicated per UI issues. The client is too damned fat and the web has unnecessarily turned UI's into rocket science.

    As I've ranted about many times on slashdot, re-formatting and UI placement issues should be handled on the server side instead of the client (browser). This gives one more layout engine choices (project fit) and reduces bugs and testing related to client version/brand differences. The client should merely be a dumb vector processor that simply plots given exacting screen coordinates rather than be a UI "flow and style manager".

  29. Re:IQ 135+ by dgatwood · · Score: 5, Insightful

    The idea that the old style was bad because it required "deep math skills" is wrong headed. Computer science *requires* deep math skills; computer science is a branch of mathematics essentially. The writer wants us to focus on logic, but logic is mathematics!

    You're both wrong. I started writing software before I knew what multiplication meant. Computer science, with the sole exception of the statistics-heavy research that you do at grad school level, doesn't require even the most basic math skills. They're completely and totally orthogonal. The fact that the computer is doing lots of math under the hood doesn't mean the programmer needs to know or care. In fact, the fallacious belief that CS uses lots of math and thus must be hard is the primary reason that so few people take an interest in CS, even though far more people are capable of understanding CS than, for example, trig.

    The reality is that writing software is nothing more than telling computers what to do, then figuring out why your instructions didn't have the desired effect. To write software, you have to be able to understand the syntax, and you have to be able to simultaneously look at small details (e.g. the code in a particular function) while putting them in the context of a larger whole (the program). You have to be able to understand how small changes in one place can have huge effects on the opposite side of the app by being able to visualize data flow from point A to point B. None of these things involve math; it's all spatial relationships and abstract thinking.

    Incidentally, the student in your example is right. 99.999% of programmers won't ever need calculus. In seventeen years in the industry, I haven't used calculus even once. The highest math I've dealt with was a bit of matrix math and various transforms (e.g. DCT, FFT) between time domain and frequency domain. And even then, I can count the number of times that I did that on one hand. And not once did I ever have to actually implement the transform, because there are already implementations for such things that you can bring in as libraries. Most of the hard math is already done for you. This does, of course, mean that there must always be a few math nerds involved in writing computer software, because somebody has to create and maintain those libraries, but the vast majority of programmers just need to understand what it does at a very high level.

    By contrast, every programmer needs to get good at architecting software properly. Of course, you can somewhat learn that as you go along, so long as you're exposed to good code and can use it as an example (or bad code, and can use it as a cautionary tale).

    We're not trying to keep people out by being snobs, instead we're trying to stop the long slow decline of computer science and computing. There are applications of computers that require absolutely top notch people, especially as the uses of computers become more common you want computers to be designed, built, and programmed by very smart people. Do you really want to fly on a plane programmed by someone who skipped college because it was too time consuming?

    Now let me turn that around. Do you really want apps on your phone written by people who are used to writing software for the avionics systems on aircraft? Those folks churn out code at a rate that is orders of magnitude too slow. Different types of software require different types of programmers. There will always be a few people who need to do mission-critical, low-level coding. The rest of the software world can then import their framework and design apps to use it, and there's nothing wrong with that.

    If we lower the bar and say that we just talking about 9-to-5 programming for a basic salary with no leadership or design expectations, then maybe you don't need any math or engineering or domain knowledge. But that's not aiming high, that's aiming for an entry level job th

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  30. Since when was syntax considered the hard part? by istartedi · · Score: 4, Insightful

    Since when was syntax considered the hard part? Most people in introductory courses grasp it quickly, except for maybe a few tricky things like * in C being overloaded for pointers and multiplication. Otherwise, the logic has always been the hard part.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  31. Re:IQ 135+ by chipschap · · Score: 2

    Computer science, with the sole exception of the statistics-heavy research that you do at grad school level, doesn't require even the most basic math skills. They're completely and totally orthogonal. The fact that the computer is doing lots of math under the hood doesn't mean the programmer needs to know or care.

    If I'm reading this correctly, you're saying that computer science and programming are the same thing, and that's very far from the truth.

  32. Isn't it interesting? by Opportunist · · Score: 2

    We need more kids, women, whatever in STEM fields. But not in management. Why not? If anything, there clearly is a shortage of managers. It must be that way, considering the workload the average manager has compared to what these people are paid, the only logical conclusion in a capitalist world is that managers must be in VERY short supply to command such outrageous prices for the mediocre benefit.

    Same, btw, for anyone in finance.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  33. You weren't even alive in the 50s. by Mondragon · · Score: 2

    In pre-Trump world I would have found this amusing, but now there is a strong aspect of troubling to it (not belonging wholly to the subject to be fair, as an artifact of our times). David Bennahum is at best in his mid-40s (from his LinkedIn page), and thus has NO FUCKING CLUE what coding was like in the 50s. People did not sit at their terminals and write COBOL programs. In the 50s we sat at our terminals and ground out punch cards (not in COBOL...that would have been way too easy - COBOL didn't even appear until 1959, and even for people with ridiculous amount of money, 1961-62 as a practical matter), which were then fed to the "minicomputer" (at best) by a legion of "priests" who were in control of the machine.

    The "Priests" in this system were less than even the difference between car designers and auto mechanics - they didn't know how to write code or make the computer work, they were just the gatekeepers to the input to a SUPER VALUABLE system. They existed because the system was in fact unbelievably expensive, and was meted out to users according to the needs of the corporation (owner). Hard pressed, a good auto mechanic could almost certainly build a functional automobile - a "priest" could not build a computer, or even explain how it worked (nor should they - that was not a requirement of the job, nor should it have been).

    I would believe that there are some strong feelings about CS teaching to our youth, and many of them are probably well founded. (I'm sure plenty are not, but this is how life works). However, the quoted piece is marketing schlock, and is clearly a way to push a product, not even an agenda (the agenda would advocate for many products, but clearly theirs is the only option here).

  34. Re:IQ 135+ by dgatwood · · Score: 3, Insightful

    Unless you want to spend your life doing academic research, if you're learning CS, you're learning it with the intent to use it writing software. So in practical terms, yes, computer science and programming are basically the same thing the moment you step off that platform with your degree in hand.

    With that said, computer science includes a number of related fields. Programming is just one aspect of CS as a whole. Many of the others fields use even less math, and a few of them use more. For example:

    • Computational complexity involves math, but it barely even resembles traditional math.
    • Design methodologies (OO versus procedural versus data flow versus...) has minimal math.
    • Software engineering methodologies (waterfall versus scrum versus....) has minimal math (though you might want to know statistics).
    • Computer graphics may or may not involve lots of math, depending on what layer you're working at.
    • Computer security has very little math, with the exception of the crypto subspecialty, which is math-heavy.
    • Networking has very little math unless you're working in certain subspecialties such as routing, where you might need to know graph theory.
    • Databases involve very little math.

    And so on.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.

  35. Re:IQ 135+ by Darinbob · · Score: 2

    You *learned* the math though. That's part of what you get from a college education - you learn things that you don't necessarily use later in life, but the process of learning it has molded your brain. You learn how to learn, you learn to think abstractly, you can look at an equation and see that there are relationships going on even though you may not remember the details of it all.

    So I have run across programmers who were clueless about floating point. They just didn't understand very basic concepts, like that just because the computer prints out 10 digits after the decimal point does not meant that the 10th decimal point has any sort of reasonable accuracy, or that 1/10 is not expressible exactly in binary, and as such they would make really bad errors and then get stuck wondering why their computer wasn't given them good answers. Or they'd use double instead of float to try and improve their accuracy rather than just fix their broken formula. Which indicates that they're treating the computer as a mystical black box in a way without knowing how things really work under the hood. But then, I've seen physicists get some basic math principles wrong because they were treating the computer as a black box.

  36. O(nlogn) vs O(n^2) by hsthompson69 · · Score: 4, Insightful

    Understanding the difference between finding duplicate records by walking through a million record database and comparing each record against all other records, and doing a quicksort and just looking for duplicates as you step through the list in order, is real math. It ain't calculus, but if you don't understand the deep math behind efficient algorithms, you can't be a great programmer.

  37. Scratch doesn't help by Goonie · · Score: 2
    ...or, more to the point, Scratch and its ilk help certain very specific skills.

    Scratch largely removes the barrier of remembering syntax and dealing with syntax errors. This gets people who might have otherwise been put off over a significant hump.

    However, there are two other barriers to becoming an effective programmer that Scratch doesn't help with at all.

    • Coming up with a correct and moderately efficient algorithm to solve a nontrivial problem - even when that problem is just implementing business rules correctly - is a difficult, multifaceted skill.
    • putting bite-size pieces of code together into a larger system that works is hard. Putting it together into a larger system that keeps on working, can be debugged when it's not working, and can be extended when needs change is even harder.

    Scratch doesn't help one iota with any of the above.

    --

    Any sufficiently advanced technology is indistinguishable from a rigged demo
    --Andy Finkel (J. Klass?)
  38. Re: IQ 135+ by dgatwood · · Score: 2

    Let me rephrase that. Probably 99% of people doing work in those fields do not have to use math directly. You can do some amazing 3D modeling and rendering without fully understanding how the computer does interpolation of spline models under the hood. You can compute netmasks using a JavaScript calculator. You'll never have to do network path optimization or other such math unless you're writing kernel code or designing some replacement for TCP/IP, which is maybe 1/1000th of one percent of networking people. And so on.

    --

    Check out my sci-fi/humor trilogy at PatriotsBooks.