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.'

342 comments

  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.

    1. Re:Just don't do it by Anonymous Coward · · Score: 0

      Your mother sucked a lot of cock and routinely fucked the whole football team. Of course she has brought you up to love sports.

      He's totally getting laid.

    2. Re: Just don't do it by Anonymous Coward · · Score: 0

      By his mother

    3. Re:Just don't do it by rpresser · · Score: 0

      Men who focused on sports as children and as adults:
          O.J. Simpson, murderer
          Brock Turner, rapist
          Mike Tyson, thwarted cannibal
          Mark "Gator" Rogowski, murderer
          Tom Payne, repeat rapist
          Tony Ayala, Jr., burglar and rapist

         

    4. Re: Just don't do it by Anonymous Coward · · Score: 1

      Who gives a fuck what this guy thinks?

    5. Re: Just don't do it by Anonymous Coward · · Score: 0

      Compared to coders like Hans Reiser...

    6. Re: Just don't do it by Anonymous Coward · · Score: 0

      Everybody. You see, he was and is popular, and will always be. You, on the other hand, have been shat upon all your life and this is never going to change. Ever. So you see when people like him speak, everybody listens. When people like you speak, everybody laughs and then shits on you.

    7. Re:Just don't do it by hackwrench · · Score: 1

      The typlcal response to a statement like yours is: "That explains you, then."

    8. Re:Just don't do it by hackwrench · · Score: 1

      Really, because I totally went the other way on this one where his life is miserable and he thinks that everyone like him who spends most of their time with computers is miserable like he is and that he thinks the grass is greener on the other side of the fence.

    9. Re: Just don't do it by Anonymous Coward · · Score: 0

      Better being a code monkey (very special monkey) than a simple no purpose monkey just eat and shit monkey as the big majority

  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 Anonymous Coward · · Score: 1

      Coding, like all forms of creative writing, is best done on tools and methods tailored to them. The terminal, or electronic typewriter, is an image of the best physical device we have created to do that so far, the mechanical typewriter. Second only to pencil/pen and paper it enables those with the messiest of hand writing to become published authors.

      Thanks to Sturgeon's Law the only thing that greatly increasing the number of coders does is increase the number of mediocre ones. Good ones are still going to be expensive and rare.

      Fortunately there is not that much of a market for the computer version of Romance novels. Only so many companies can ripoff programs and games and still profit.

      Software valuable enough to sell is often valuable enough to have Free/Open Source clones. And both require skills of laborers who charge quite a lot for this effort - either in salary or in commitment of "Intellectual Property" back. The artists and writers got screwed buy business a long time ago. Everyone can see this and aren't fooled. Trying to reduce the cost of the labor pool by increasing the number of mediocre programmers will only work to a certain point and not for successful projects.

      To make it obvious, let's re-write the CEO's messsage a little:

      "Instead of attempting to lure literate teachers away from Libraries, we need to revolutionize the way book-writing is done. Rather than fit the person to the tool, let's fit the tool to the person. Pop literature 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 writing books itself is transformed, from one that requires a mastery of syntax -- the precise stringing of sentences needed to tell a story -- to the mastery of logic. Logic is the essence of plot creation, and the second step after mastering syntax.'

    2. Re:Terminals in the 1950s? by Anonymous Coward · · Score: 0

      Don't know how it was wherever you worked as a programmer but in the late 1950s (specifically 1959 when I started) we sat at our desks and wrote FORTRAN or assembler on forms specifically formatted for the language. We then gave the sheets to the keypunch department who returned them the next day along the actual Hollerith cards and a printed listing of the card contents. Then a cursory edit/review of the card listing followed by the addition whatever control cards might be required to make things work. Finally, submission to computer operations for compilation or assembly followed the next day by the return of the card deck, whatever listings or output may have been produced. Repeated as necessary.

      Just about the only way we got better turnaround was to work all night, punch our own cards, and run the computer ourselves. I didn't see COBOL until the middle 1960s or terminals ("glass teletypes") until the 1970s. Good times.

    3. 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.

    4. Re:Terminals in the 1950s? by Bruce+Perens · · Score: 1

      Drag-and-drop can help beginners write a working program. But it won't teach them logic or how to make it secure.

      PHP allowed a whole generation of web designers to write their own programs. But they remained something less than programmers. I remember a conference where they went over the typical security issues that came up. One example was a FAX-back system written in PHP that would let you FAX documents to any phone number, including 911. The people who ran this had some trouble figuring out why the police kept coming to their building with lights flashing.

    5. Re:Terminals in the 1950s? by Anonymous Coward · · Score: 0

      Right. Besides in-house keypunchers, there were also some small companies that did nothing but keypunch computer cards. You took your coding sheets to them, and an hour or two later, they'd give you your cards.

      If you wanted them to check their work, you could pay for "validation". In that case, two employees would each keypunch from your coding sheets. And then they would somehow check to make sure the two card decks were identical. If they were, then probably there were no errors in the cards. That took longer and was more expensive, but it was safer.

    6. Re:Terminals in the 1950s? by serviscope_minor · · Score: 1

      But it won't teach them logic or how to make it secure.

      So? We're talking about beginners learning to code here. I started on basic and my early programs were influenced by neither logic not security, for example:

      PRINTCHR$(141)"SERVISCOPE MINOR RULES"
      PRINTCHR$(141)"SERVISCOPE MINOR RULES"

      Logic, as with the drag and drop programming came later when I wanted to make the computer do more interesting things. I'm not fan of graphical programming languages but they teach logic as much as non graphical ones. Do do any task than the absolute basics, you have to break it down etc etc etc.

      --
      SJW n. One who posts facts.
    7. Re:Terminals in the 1950s? by Anonymous Coward · · Score: 0

      And then they would somehow check to make sure the two card decks were identical.

      Probably by using a Comparator or Collator. That was the era of punched-card tabulating machines, programmed via jumper wires on patch panels.

    8. Re: Terminals in the 1950s? by Anonymous Coward · · Score: 0

      I have a eight core CPU, distributed compile environment, two thousand core plus GPU,and I still have to look at me code through an application that can only show one file at a time (Eclipse).

    9. Re:Terminals in the 1950s? by Anonymous Coward · · Score: 0

      thing that greatly increasing the number of coders does is increase the number of mediocre ones

      You give them too much credit. In programming, people can quickly produce negative value, unlike most professions. The negative value comes guised in software that "works" but quickly consumes more man hours in maintenance and support than the time spent creating it. Even mediocre programmers are in the top 20%.

    10. Re:Terminals in the 1950s? by tlhIngan · · Score: 1

      Coding, like all forms of creative writing, is best done on tools and methods tailored to them. The terminal, or electronic typewriter, is an image of the best physical device we have created to do that so far, the mechanical typewriter. Second only to pencil/pen and paper it enables those with the messiest of hand writing to become published authors.

      Not really.

      Perhaps when producing the final work, yes, you need to sit down at the keyboard and be a secretary and punch code in.

      But not during the analysis/breakdown/application stage. And writers don't often sit down and write, either.

      There are plenty of graphical tools meant for arranging ideas - if you're writing a novel, then you need to arrange your notes first. For some, that's putting ideas to note cards and then sticking them on a wall, adding string and other accoutrements as they get linked together. Others write down ideas and draw little maps or bubbles or other thing to arrange their ideas.

      Then the idea map is flattened into a linear story - usually by outlining. This is generally written, but in a way to allow for additions/removals and rearrangements later, so rarely typed out.

      Once all that is done, THEN you can sit down at the typewriter and crank out the words or code. This is the final step.

      And software is the same - unless it's something stupidly trivial, you don't start at int main() and code away. You break down the application in modules, figure out what each module does and so on and so on until there's a plan.

      The logic part of this, the problem decomposition, can be done in a variety of ways, though the least effective is sitting there trying to type your way out of the problem. A lot of it can be figured out graphically, manipulating blocks of modules until things seem right.

      Of course, unlike writing, there's a maintenance phase of software where things gets to grow organically and the design gets tossed due to new requirements, but the problem's still the same - how to fit a new feature into an existing design.

      The logical part of programming doesn't need a computer. In fact, one could argue that programmers should start out away from the screen and to figure out their program first.

  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

    2. Re:I want to physically wound "the CEO of Ready". by Anonymous Coward · · Score: 0

      You moron there's no such thing as race, It's just appearance and culture.

      https://partners.nytimes.com/library/national/science/082200sci-genetics-race.html

    3. Re:I want to physically wound "the CEO of Ready". by Anonymous Coward · · Score: 0

      You had something good to say and then you stuck your foot in your mouth with your "Pros and Cons of the races BS" Fact of the matter is Bennahum is out of touch with reality. Alot of these classes teach simplified concepts and fail to dig into the important details. In today's world of high end computing and pre-built APIs you can get away with this but I fear this style will lead us to a world were professional programming starts to resemble visual basic.

    4. Re:I want to physically wound "the CEO of Ready". by AmiMoJo · · Score: 1

      Bullshit. There are genetic differences, but over a population of millions, and in the context of computer programming they are irrelevant. If you think otherwise, name some specific ones.

      Cultural issues are a real problem, but can be overcome and that's what this is about. If you look at history different groups, different races have been at the forefront of technology at different times. No one group is inherently bad at maths, for example, it just depends if their culture is supportive of mathematicians or not.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    5. Re:I want to physically wound "the CEO of Ready". by ultranova · · Score: 1

      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.

      https://en.wikipedia.org/wiki/Psychological_projection

      --

      Forget magic. Any technology distinguishable from divine power is insufficiently advanced.

    6. Re:I want to physically wound "the CEO of Ready". by beastofburdon · · Score: 1

      Women.
      Women are naturally not drawn to programming, that is why there are so few of them in the field.

    7. Re:I want to physically wound "the CEO of Ready". by Anonymous Coward · · Score: 0

      The number of people involved in software production is about half a percent of the workforce.

      Statistically speaking, men are not naturally drawn to programming either!

  4. Haskel for Everybody! by Anonymous Coward · · Score: 0

    Empty slate equals freedom to choose. How else could we have those school kids coding something compilable to the FPGAs running stock trading algorithms during their school's unpaid work experience days?

  5. 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 Anonymous Coward · · Score: 0

      No Pied Piper job for you I guess! :)

    3. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      sounds like you're an ideal candidate for working for the MPAA or RIAA where you can absolutely decide how people consume your content.

      or to put it another way - "don't like the arbitary number of spaces i use to infer an element of structure that the compiler doesn't care about? well fuck you!"

      mind you years ago I worked for a Belgian company where half the people used 2 spaces for tabs and half of them used 4. The management decided to standardise. So what did they pick? yep, you guessed it. 3.

    4. Re:Tab users are subhuman by Anonymous Coward · · Score: 1

      > 2016
      > Not reformatting code on the fly into whatever each dev prefers.

      I feel sorry for users of shit dev tools.

    5. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      The only way you would be bothered by people using tabs is if you have changed the size of the tab. That practice now, is the subhuman one. Tab is 8. Do not mess with the size of the holy tab!

    6. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      Well, if you're using tabs properly, then people can use whatever they want and it should be fine. That's why they're separate from spaces.

    7. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      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.

      I would argue the opposite. Whitespace sucks either way, though.

    8. Re:Tab users are subhuman by Anonymous Coward · · Score: 1

      A tab is 8 what now? 8em? That's much too big. 8px? Or, oh wait. You can't possibly be thinking 8 spaces like people back in the monospace font ages used. Hah! Are there still dinosaurs around that do that? Hopefully not in the wild; they belong in a museum. I used to look at code from that era for a laugh at how desperately they added spaces to align things. Paleoprogrammers and their bizarre religions. I'll never get it.

    9. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      You mean tab is 4.

    10. Re:Tab users are subhuman by GrumpySteen · · Score: 1

      Yeah!Whathehellisitwithpeopleandwhitespaceanyway?

    11. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      tab is about freedom vs control. spaces force other devs to deal with your whitespace rules. tab allows them to set the number of spaces per tab.

    12. Re:Tab users are subhuman by ItsJustAPseudonym · · Score: 1

      One word: expertsexchange.com

    13. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      There is a slim chance he'd over look this if you properly understood their algorithm.

    14. 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.
    15. 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.
    16. Re:Tab users are subhuman by Njorthbiatr · · Score: 1

      I too hate for my code to be universally compatible.

    17. Re:Tab users are subhuman by roman_mir · · Score: 0

      I am completely amoral. I strongly prefer tabs but I can and sometimes do use spaces depending on the context.

    18. Re:Tab users are subhuman by kwbauer · · Score: 1

      The point is that if everyone sets up to save tabs and uses the tab, then everyone can decide for themselves how many spaces a tab represents, at least with a modern IDE like Visual Studio since 2003 or earlier. Unix crap may not be as nice to work with, I haven't cared about vi for decades.

    19. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      No, indents are bloat and newlines too code should be a solid block of text! If you can't read it too bad BWAHAHAHA!

    20. Re: Tab users are subhuman by Anonymous Coward · · Score: 0

      You use 1 space for indenting? ...... just fuckin die bitch!!!!!1

    21. 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.
    22. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      Yeah! Everyone knows space is mainly vacuum!

    23. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      Except that one tab substitutes for 8 spaces... Thus it uses 2 1s instead of 8 1s.... 1/4 the number of 1s. :-)

    24. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      Programmers who do not use vim and prefer Microsoft Visual Studio are not computer programmers. The use of the tab character instead of explicit spaces is more flexible and encourages better structuring of code including determining whether a block of code should be a function or in-line.

    25. Re:Tab users are subhuman by AmiMoJo · · Score: 1

      Wears out your keyboard 8x faster too.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    26. Re:Tab users are subhuman by wonkey_monkey · · Score: 1

      Except that one tab substitutes for 8 spaces

      8 spaces? What are you, some kind of animal?

      --
      systemd is Roko's Basilisk.
    27. Re:Tab users are subhuman by Anonymous Coward · · Score: 0

      Perhaps he didn't know how to modify the tab stops on his DEC VT102?

    28. Re:Tab users are subhuman by Sevalecan · · Score: 1

      What if I type using the tab key, but VIM inserts spaces for me instead?

  6. HyperCard Was Thirty Years Ago by Anonymous Coward · · Score: 1

    I'm not opposed to "pop computing". Anything that hooks people on to programming is a good thing. HyperCard got me into programming at a young age and it wasn't mathy.

    That said I disagree with a lot of the author's attitudes. The author's photography example is interesting in that yes, loads of people can now take photographs, but that doesn't mean they're taking _good_ photographs.

    After all, HyperCard was one of many technologies that was going to make programming obsolete, and that was thirty years ago...

    1. Re:HyperCard Was Thirty Years Ago by serviscope_minor · · Score: 1

      That said I disagree with a lot of the author's attitudes. The author's photography example is interesting in that yes, loads of people can now take photographs, but that doesn't mean they're taking _good_ photographs.

      I didn't RTFA (ha!), but going on what you said...

      You don't have to be a professional photographer for the photographs to be good or useful.

      Now that I have a crap camera to hand at all times, I use it for all sorts of useful things. Sometimes I photograph wired/interesting things I see and want so show people, sometimes I photographs pictures of something I need to show someone who lives in a different country, sometimes it's stood in as an ad-hoc scanner, or simply photographing ID numbers, MAC addresses etc printed on things and so on.

      The thing is none of those is up to the standard of a professional with a professional camera, but they are all useful to me and sometimes my work regardless of them not being "professional standard". If I had to rely on "proper" photography, then none of them would be taken.

      I guess it's the same with programming.

      --
      SJW n. One who posts facts.
    2. Re:HyperCard Was Thirty Years Ago by TeknoHog · · Score: 1

      Now that I have a crap camera to hand at all times, I use it for all sorts of useful things. Sometimes I photograph wired/interesting things I see and want so show people, sometimes I photographs pictures of something I need to show someone who lives in a different country, sometimes it's stood in as an ad-hoc scanner, or simply photographing ID numbers, MAC addresses etc printed on things and so on.

      The thing is none of those is up to the standard of a professional with a professional camera, but they are all useful to me and sometimes my work regardless of them not being "professional standard". If I had to rely on "proper" photography, then none of them would be taken.

      I guess it's the same with programming.

      I guess the programming equivalent would be writing shell one-liners, small macros/scripts etc. only for your personal use. Unfortunately, most people today never see a proper shell. IMHO, the Microsoft and Apple "experience" is all about separating users from developers, by providing special proprietary dev kits as the correct way to programming. Meanwhile, users of free unices will find shells and interpreters all over the OS.

      --
      Escher was the first MC and Giger invented the HR department.
  7. 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 ShanghaiBill · · Score: 1

      You still need the math background necessary to evaluate algorithms.

      No you don't. Very, very few people are ever going to write and analyse their own sorting algorithm. Even for those that do, you only need to understand exponentiation, which is taught in 4th grade. For straight business process programming, there is a negligible amount of math needed. For 3D graphics programming, you need linear algebra (matrices) and plenty of trig. For physical process simulation you need first year calculus. But those are fields for professional programmers, not kids in elementary or high school.

    3. 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!

    4. 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
    5. Re:Sorry, but you will still need to work for it. by Anonymous Coward · · Score: 0

      So you got a bachelors degree in math without any algebra, combinatorics, or number theory? You mean you avoided the exact branches of math that would be most useful in algorithm analysis?

    6. Re:Sorry, but you will still need to work for it. by Anonymous Coward · · Score: 1

      Vector calculus is everywhere in computers

      I use vector calculus and statistics in my game engine's scripting language's garbage collector. I perform a statistical derivation each allocation over the entire set of used and free memory (only need to recompute the delta). This reduces performance for initial benchmarks but in medium to long running benchmarks the performance gain from the predictive modeling of required magnitude vectors to reduce fragmentation is tremendous. Don't you just love calculus? We have the best calculus.

      I love mathematicians, but their algorithms are too smart for our teachers. When the mathematicians send us their proofs they're not sending their best! They're sending reductionists, ambiguous symbols, and lack any ready-made implementation. We need to build a Great Big Turing Machine Wall. The wall will have a big beautiful door in it, and the Mathematicians are going to pay for it! Only proofs with documented software implementations will be allowed in. Then we'll deport all the mathematicians who don't have proof of implementation. The mathematicians can come back, but they have to come back logically!

      Make Algorithms Great Again!

    7. 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.

    8. 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.
    9. Re:Sorry, but you will still need to work for it. by Anonymous Coward · · Score: 0

      You're confusing vector calculus and linear algebra.

    10. Re:Sorry, but you will still need to work for it. by Darinbob · · Score: 1

      The "intuition" that I have is really about having an internal model and applying that model. So I can spot some bugs a mile off just by thinking "what would I do if I was the processor with this input?" Fixed a problem earlier in the week by just sitting back and thinking about how it was possible to get the machine into the state it was in. Then the answer hit me, not because of intuition but because I could see the sequence of events that would lead there. Though anyone walking by would have assumed I was just taking nap...

    11. Re:Sorry, but you will still need to work for it. by thinkwaitfast · · Score: 1
      It's that way with most engineering. Eg, i electrical engineering you learn how to analyze circuits and calculate i and v at every node, but in real life, the experienced engineer will look at a circuit and say something like stick a 22pF cap there and all of a sudden, the circuit works.

      Optimal? Probably not, but does it matter? Not if it woks and meets requirements. As a example, watch Dave Jones design and debug a circuit.

    12. Re:Sorry, but you will still need to work for it. by thinkwaitfast · · Score: 1

      One day, sometime during my junior year of a physics degree, I had the realization that I knew greek. Or at least enough read it and fake my way through it by looking for roots of words.

    13. Re:Sorry, but you will still need to work for it. by thinkwaitfast · · Score: 1

      This exactly. I do a lot of software work on satellites and space related activities and the highest math I've needed was high school. What's more important is understanding how the pieces work together, eg how operating systems, scheduling and interrupts work along with he various other programs that may be running.

    14. 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.

    15. Re:Sorry, but you will still need to work for it. by Anonymous Coward · · Score: 0

      The logic and algorithm understanding required to do programming is about at the same level that knowing how to add and multiple is to advanced calculus.
      Yes, it's technically "Maths". but you don't have to be a mathematician.

      There's also English required, but you don't see anyone claiming you need to be Shakespeare.

    16. Re:Sorry, but you will still need to work for it. by Anonymous Coward · · Score: 0

      >Ignoring the subset or problems that actually need formal proofs of correctness,

      Like all things that are on an untrusted network (the internet) and do something useful? Why? That's the majority.

      >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.

      Yeah, of course you can always refine your model. The point is that many people can't even do the simple model (intuitive or not), and they want to program important things!

      >But I'm not always correct, only most of the time, and more often than the people who want proper evidence.

      Yes - though I'd suggest that you learn the formal way of integrating these cache issues etc if you are interested - then you can be correct all the time and have proof.

    17. Re:Sorry, but you will still need to work for it. by Bengie · · Score: 1

      This is not "experience". I've always been able to do this, even before I ever got into programming. I actually have a mental disability. There are many things I have extreme difficulty remembering, but I can visualize and remember mental models. Even for problems that I have no experience in, I immediately start making a model before I can do any amount of thinking. I used to work on faculty computers at my University as a student and I would get into conversations with the PHDs. I can't tell you how many times they would assume I was a senior with a major in their profession. I just have a natural grasp of logic and can infer "facts". I think it's because I actually visualize mental models, including missing pieces, and can see if an assumption can fit in that hole.

      I have one basic axiom that I have some to accept and use these to guide my ability to make good assumptions for programming and debugging. "There are only a few good ways to make a system do what it does, and if the system is seemingly high quality, then all I need to do is think of a good way to solve the issue and I have probably solved it the same way the people who made the system solved it." In other words, great minds think alike. This simple assumption has worked well for me. Just by looking at a problem, I can quickly create a solution. Because I have been extensively exercising since a young child my ability to create rational mental models that are very accurate, because of my disability, I can very quickly create solutions and debug other people's systems.

    18. Re:Sorry, but you will still need to work for it. by HornWumpus · · Score: 1

      So how do i, j and k relate to x, y and z?

      Think about it and realize you're wrong. Hamilton space is linear algebra setup to do vector calculus.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    19. Re:Sorry, but you will still need to work for it. by Bengie · · Score: 1

      Many of these problems can take days to prove. I don't like proving problems, I like solving them. It's not my fault I find certain classes of "hard" problems easy. While the other people are busy trying to understand the problem, I've already solved it and bored, so I move on. Some problems are not provable. Micro-benchmarks don't show the benefits and macro-benchmarks are to chaotic to convince anyone. Kind of like some race-conditions I have read about. Impossible to debug because the act of debugging makes them go away, they only occur once every few months, and during systems under assorted heavy load. Even with the most advanced kernel debuggers. All you can use is intuition unless you plan on mathematically proving your entire OS.

      My issue I mentally see the solutions, but it can take me a long time to figure out the the reasoning behind the solution. If I asked you why a person looks like a person, you couldn't explain it, yet you easily perceive it. Same thing for me. I have a form of perception when it comes to systems and interactions among systems.

  8. Coding by fluffernutter · · Score: 1

    Instead of attempting to lure code-literate teachers away from Silicon Valley, we need to revolutionize the way coding is done

    This statement really confuses me. So if kids need experts to teach them, it just means they're doing it wrong? How does that makes sense?

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Coding by imgod2u · · Score: 1

      I think he's saying programming should be made easier and more intuitive so that it's easier to pick up either independently or through direction from a non-expert.

      Think Iron-Man style interface where you move data pieces and functions around and connect them visually.

    2. 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

    3. Re:Coding by ShanghaiBill · · Score: 1

      Think Iron-Man style interface where you move data pieces and functions around and connect them visually.

      That is the way that Scratch works. Most kids can learn it pretty quickly. There are plenty of Youtube tutorials. You can also pair up smart kids with dumb kids to help them along. I coach after school robotics and programming at my neighborhood school. We start the kids on Scratch in 3rd and 4th grade, and then in 5th and 6th grade they learn Python. Most of the programming assignments are graphical, because that keeps the kids interested. The older kids do Minecraft mods in Python.

    4. Re:Coding by OrangeTide · · Score: 1

      I tought myself BASIC on a little home computer many years ago. Is there not a modern equivalent of doing that? Something that maybe runs on a cellphone so more than rich white kids can have access to it. (I bet there are dozens)

      --
      “Common sense is not so common.” — Voltaire
    5. Re:Coding by david_bonn · · Score: 1

      I tought myself BASIC on a little home computer many years ago. Is there not a modern equivalent of doing that? Something that maybe runs on a cellphone so more than rich white kids can have access to it. (I bet there are dozens)

      It isn't actually the programming language (although I would love a version of BASIC that ran on a cell phone, just for the novelty value). The big issue is with toolkits and infrastructure.

      Consider writing a web page that lets you enter two numbers and displays the product of the two numbers when you hit the 'submit' button. The code behind that very simple web page is a lot more complex than the two-line BASIC equivalent. If you for some reason add persistence to your web page it gets uglier very quickly.

      The sad fact is that in our modern world you need to be fluent in not just a couple of programming languages, but also a whole body of other tools and toolkits in order to write interesting applications. That is a formidable barrier to entry that we aren't doing a very good job of solving.

      Back in the elder days, before Unix came on the scene and became commonplace, writing code to open a file and read or write to it was ugly and complicated. You quickly got into weird messy stuff about logical and physical record types, weird operating system commands that would create and allocate space for the files in question, and code that looked completely different than code that wrote the same information to standard output. The big awesome insight in Unix was that if you treated a file as an array of bytes you could bypass all of that.

      We desperately need a similar set of breakthroughs on how we write software in this fallen world.

    6. Re: Coding by topham · · Score: 1

      Which is great; but people like this think things like scratch should be used for full fledged applications and reports. Because, you know, easier.

      I've seen a graphical workflow for a complex (but not highly complex) business workflow. Spaghetti would be easier to understand.
      Most people couldn't make sense of a CPU diagram either without years of education.

    7. Re: Coding by ShanghaiBill · · Score: 1

      Spaghetti would be easier to understand.

      You might want to take a look at a Scratch program. I find them very easy to read. It is a block structured language, with clear flow control. Code is automatically visually nested, and color coded. It is a great first language, it instills good habits, and I have even heard of high schools using it for students with no previous programming experience.

    8. Re:Coding by wierd_w · · Score: 1

      I dont know about iOS powered devices, but android devices have useful python interpreters on the playstore.

      (iOS probably wouldnt be able to do this, given apple's prohibition on running non-native code. That's fine, there are very cheap android devices out there in the 30 to 60$ range that are burner smartphones that would work well as educational aides for kids. Try getting an apple product that cheap.)

      Here's one such project-- QPython.

      https://play.google.com/store/...

      It offers a python execution environment for python scripts and projects, on android platforms. There's your candidate for modern qbasic. :)

    9. Re: Coding by Anonymous Coward · · Score: 0

      That's nice and all, but as somebody who had the misery of using various forms of SDL in previous jobs I promise you this, graphical programming languages are a terrible idea. They seem like a good idea to people who don't know any better, but in practice they just don't work. Stop and think about it for a second, have you ever seen a flow chart that just made your head spin. Like it made you feel vertigo just looking at it? Yeah, that's what SDL turns in to when you are programming non-trivial things. Think about books. Picture books work well for simple stories, but most people typically grow out of picture books when they're a few years old. Trying to convey complex ideas via pictures is difficult. Even moving away from flowchart programming to picture programming, you see those Japanese ads where all you can say is that it's "too busy"? Yeah, programming in pictures would be like that, but taken to a whole other level. Pictures work well to convey something that's physical. The problem is, programs are inherently abstract and pictures tend to do a poor job conveying that which is abstract. Try to draw a picture conveying the idea of an FFT without using words. Seriously, try it.

    10. Re: Coding by ShanghaiBill · · Score: 1

      have you ever seen a flow chart that just made your head spin.

      Yes, I have. But Scratch programs look nothing like flowcharts.

    11. Re:Coding by thinkwaitfast · · Score: 1

      Try labview. It as been a long time, but I think Lego Mindstorms is also like this. Also BigTrak, 1970's toy.

    12. Re:Coding by NormalVisual · · Score: 1

      The sad fact is that in our modern world you need to be fluent in not just a couple of programming languages, but also a whole body of other tools and toolkits in order to write interesting applications. That is a formidable barrier to entry that we aren't doing a very good job of solving.

      Partly because popular toolkits or frameworks are a constantly moving target that have to be relearned every couple of years, particularly in the web world.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    13. Re:Coding by watice · · Score: 1

      First one I could find was 3 years old but yeah iOS ones exist obviously. https://youtu.be/oiYBnw8hKOk

      I don't think it'd be a bad idea starting off kids at even first grade level with simple things, then advancing throughout the grades. I'd even go as far to say this is far more beneficial to a child than universal pre-k. Troy Hunt also started off his kid on coding, he has a writeup here: https://www.troyhunt.com/kids-...

    14. Re:Coding by OrangeTide · · Score: 1

      Partly because popular toolkits or frameworks are a constantly moving target that have to be relearned every couple of years, particularly in the web world.

      I'm in the C world, and tend to work on embedded devices, device drivers and operating systems. That stuff changes very slowly, the things I worked on 15 years ago when I left college are still relevant today in my narrow little industry.

      I expect web development to one day reach some maturity where there is a common universal set of tools suitable and effective for most projects. I had hopes that Java/Spring would have been that, but it seems people have moved else where these days.

      --
      “Common sense is not so common.” — Voltaire
    15. Re:Coding by NormalVisual · · Score: 1

      I much prefer working on low-level stuff like that myself, partly because it's a very stable world as you observed. I find it much more rewarding working in a resource-constrained environment and writing software that actually "does stuff", and for me, software is the most fun to work on when an oscilloscope or logic analyzer is necessary to debug your code. I too hope that web development reaches some kind of maturity, but I'm not holding out a lot of hope because so many web devs seem hell-bent on repeating the mistakes of the past and figuring out new and exciting ways of doing exactly the same thing. So much time is spent chasing current UI trends and figuring out workarounds for the latest browser issues, and that's just not something I enjoy.

      --
      Please stand clear of the doors, por favor mantenganse alejado de las puertas
    16. Re: Coding by Anonymous Coward · · Score: 0

      Scratch doesn't use pictures. It shows the code. You seem to have very wrong impression of scratch. For example you select a loop and drag that to the table. Then you select "if" and drag that indide the loop. Then you drag either an event like collision with sprite or you drag sprite.x, comparison and value into the if.

      It is like writing code but you see alternatives and can't make typos.

  9. Skate not unto the puck, for such is folly. by Anonymous Coward · · Score: 0

    Learning to code isn't preparing the future; it's preparing to relive the 90's. If you want kids to prepared for the future, you need to teach them that other skill, the one that is in demand in 2025. Also F this hipster asshat CEO and his bullshit company.

  10. 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.

    2. Re: Misanthropy by Anonymous Coward · · Score: 0

      He said ass pie.

    3. Re: Misanthropy by Anonymous Coward · · Score: 0

      Well said.
      And me too.

    4. Re:Misanthropy by hackwrench · · Score: 1

      I have Asperger's, but very early on I was a very sociable baby. Looking back on my life, I've found that there are plenty of people of all walks that will do all they can to make their own lives and the lives of those around them miserable. There are others who go along the lines of the opposite, but those people are less germane to this thread. Then there's Mother Theresa, who apparently was a bit more of a sadist than people let on.... Sadist, now there's a word along with the concept of sadomasochism, both those who actually derive pleasure from physical pain and the expanded meaning that is much like the concept I expresssed in the beginning of this post.

    5. Re: Misanthropy by Anonymous Coward · · Score: 0

      Outrageous right ! is not the syntax the complicated but thinking .... normal people just cannot think. are just like social animals

    6. Re:Misanthropy by OrangeTide · · Score: 1

      More evidence that people aren't worth our time.

      --
      “Common sense is not so common.” — Voltaire
    7. Re:Misanthropy by Anonymous Coward · · Score: 0

      A sadist usually derives pleasure from other people's pain. And a masochist derives pleasure from their own pain.

      Do you have any references to back it up your claim?

    8. Re:Misanthropy by Anonymous Coward · · Score: 0

      >> They can't even comprehend that it's rude as hell to needlessly block doorways, let alone understand the finer points of etiquette

      They totally comprehend it. They simply only consider themselves and not others as to the impact of some behavior. Standing in the doorway is convenient for them during their conversation with someone else. You standing in a doorway they want to get through is rude and inconvenient to them, regardless of your reasons. That they state it's rude to everyone is used to manipulate you by shaming you into behaving how they want you to.

      They can easily understand the finer points of etiquette, but are only interested in applying them when it suits their interests. Being courteous to someone they believe can help them get something they want is normal, as the end goal is to their benefit. Being courteous to some random person they don't believe will give them anything is a waste of their time. Looks to me like learned narcissistic behavior. At least I hope it's learned given the number of people who behave similarly.

  11. 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?

    1. Re:Mastery of logic? by imgod2u · · Score: 1

      Well, one can learn a branch of one discipline without having to mastery all of it. There were a lot of maths that were required for my degree that could only be useful when you work in Goldblum-in-a-basement echelons of theoretical computer science.

      The vast majority of even calculus isn't really required to be even a professional software engineer.

    2. Re:Mastery of logic? by ClickOnThis · · Score: 1

      Indeed. And that's not the half of it. The CEO's article is a self-promoting cyber-fart, rife with contradictions and inaccuracies. Some examples:

      - He thinks coding nowadays is "eerily similar" to the way it was in the late 1950s, with coders sitting at "terminals" to write COBOL. Uh, really? They used keypunches, not terminals, and often the keypuncher and programmer were two separate people. And coding took longer -- much longer -- than it does today.

      - He claims he wants to "revolutionize the way coding is done" but really he wants to re-define what coding means, so that it includes what his product offers. He sees a brave new world that offers anyone the opportunity to "code" with visual tools, like "a Powerpoint for making software." Great analogy. When I see the word "Powerpoint" I think of whiz-bangy visuals with little to no information content.

      - And who is going to create these "tools" in the first place? Oh yeah, people who actually do know how to code. He advises "[p]op computing can help us get there, offering a gloriously diverse array of tools to match our gloriously diverse species." Very uplifting, but "help" to get there is not the same as actually getting the job done.

      I could say more, but I'm fed up trying to disentangle this mess of an article.

      --
      If it weren't for deadlines, nothing would be late.
    3. Re:Mastery of logic? by Anonymous Coward · · Score: 0

      I think he is using math in the way most people (unfortunately) think of math, arithmetic, route calculations, and a bizarre set of meaningless steps that get the right result if you do it right. Syntax esspically of a language like C++ is much more about following arbitrary rules to make the compiler happy rather than logic. However ever even C++ is moving in the right direction things like auto or range based for loops help.

    4. Re:Mastery of logic? by thinkwaitfast · · Score: 1

      The vast majority of even calculus isn't really required to be even an engineer. The one and only time I ever used calculus to solve a problem, management tried to patent it until I brought in my high school calc book and showed it to them.

    5. Re: Mastery of logic? by GrantRobertson · · Score: 1

      Where I went to school, logic is a branch of philosophy.

      The world is not as neatly categorized as you seem to think.

  12. "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.

    1. Re:"White Men" by Anonymous Coward · · Score: 0

      And we are willing to tell you to go fuck yourself.

    2. Re:"White Men" by Anonymous Coward · · Score: 0

      I wish it wern't important, but I'm willing to call a spade a spade.

      When all you have is a spade ...

    3. Re:"White Men" by Anonymous Coward · · Score: 0

      I wish it wern't important, but I'm willing to call a spade a spade.

      Fine. Don't hire white men because there are too many of them. Play those games and see how far down the racist hole you get.

      Don't hire black people because they score 15 points lower on IQ tests, the majority are in the bottom 20% of college graduates, 30% have arrest records, and are 10 times as likely to literally murder you during a code review.

      Don't hire Asians because they likely have an unaccredited degree and will push for an H1-B subcontractor owned by their cousin that will leave you out of a job.

      Don't hire women because they are likely to take months off at any time in which they can't legally be replaced, leave the workforce once they hit middle age, and are orders of magnitude more likely to sue their employer.

      Who else is missing? Every demographic has their downsides. What is important is to ignore demographics and focus on ability and character of individuals. What the color of their skin is or what parts they were born with should never matter.

    4. Re:"White Men" by Anonymous Coward · · Score: 1

      Check your privilege, shitlord.

      Clearly the best way to judge people is by the color of their skin rather than the content of their character.

    5. Re:"White Men" by OrangeTide · · Score: 1

      When I said spade, I didn't mean for you to dig yourself a hole.

      --
      “Common sense is not so common.” — Voltaire
  13. 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.
    1. Re: Yes, time for another revolution by Anonymous Coward · · Score: 0

      JavaScript is next

    2. Re:Yes, time for another revolution by Anonymous Coward · · Score: 0

      Sure, that's how all revolutions work. After one full revolution, you are back where you started!

  14. 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.

    1. Re:The priesthood is benevolent by Anonymous Coward · · Score: 0

      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.

      I attended UIC, the joke was that it stood for "University of India and China".

    2. Re:The priesthood is benevolent by Anonymous Coward · · Score: 0

      My kids are homeschooled

      I feel sorry for your kids.

    3. Re:The priesthood is benevolent by serviscope_minor · · Score: 1

      ost 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.

      Well perhaps /. doesn't count as knowing them, but on many similar articles there have been planty of people complaining that the one true way to learn is exactly like they did, i.e. finding their parent's computer and hacking it or whatever. That's utter rot of course.

      Actually, I DO like helping new programmers, but few online communities are n00b friendly IMO. I'm no spring chicken, but given the number of things and rate of change, I find myself in a n00b like position quite often, and wow people can be aggressive towards noobs.

      --
      SJW n. One who posts facts.
  15. chemical photography by Anonymous Coward · · Score: 1

    The article compares computer science to chemical photography. Before digital photography became widespread, photography was difficult and required specialized knowledge and skills, but now any idiot can take photos. So the argument goes that if we just take the difficultly of gaining specialized knowledge and skills out of computer science, then any idiot will be able to write a computer program. The only think that stands in our way are those coding snobs, and our inability to do programming without skills.

    1. Re:chemical photography by Anonymous Coward · · Score: 0

      Except the article's analogy is pants on head retarded.

      It's trivial to learn how to develop film in a dark room. My highschool had a Photography class as an elective, and children learned how to develop the film and take neat pictures, even do compositing and other effects. We even made our own photosensitive chemicals and plates and took pictures with pinhole cameras so we could do the entire photographic process 100% from scratch.

      No one knows how to develop a digital photograph. Snapping the picture is not the same as developing the picture. That's the same as using a camera with a roll of film. Any idiot could do that with digital or film, it's still point and shoot, maybe adjust a lens for focus or fstop for lighting, but that's simple shit and you have fstop and manual focus on digital cameras too.

      The article is wrong because the full chemical photography process can be done by highschool children. However, high-school children aren't going to learn microprocessor design, lithography to make ICs, create CMOS and write an assembler from scratch for the BIOS / Firmware. Implement C (or Forth first for bootstrapping, because it's smaller). Write image processing software and implement JPEG standards along with USB and SD Card drivers and all the other bullshit it takes to get a single digital photo from scratch and into your other hardware.

      Nand to Tetris is the closest we have to that, but it doesn't cover all the bases in terms of software design, OS design, hardware interface implementation, etc. While SOME highschool children can pull it off, those are going to be a very small minority and most kids will be lost as fuck, fail, or so bored they'll sabotage themselves instead.

      Coding isn't for everyone, just like Nursing isn't for everyone, and Varsity Football isn't for everyone. Humans specialize. This bullshit where we try NOT to specialize is destroying education, on purpose BTW. If you want coding in school you just need to make it available and have ZERO CURRICULUM, like the Sudbury Schools, where kids are free to work at their own pace and learn whatever they want whenever they want. This is better because kids learn different things at different rates at different times in development. We're all unique individuals. The old kids can hang out with the younger kids while they teach each other the skills they discover. Their grades are better than the graduated public school with "standardized testing" method.

  16. 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.

    1. Re: Uh, no. by Anonymous Coward · · Score: 0

      Didn't Theranos startup did just that? Lol

    2. Re:Uh, no. by superwiz · · Score: 1

      If it weren't so heavily regulated, medicine would have been revolutionized a while ago. Computers are very good at doing repetitive tasks. And diagnosis is nothing if not a repetitive task.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    3. Re:Uh, no. by Anonymous Coward · · Score: 0

      white-coated men.

  17. Future by Livius · · Score: 1

    Why does what they're calling the "future" sounds suspiciously like the dot-com/Y2k bubble, which is now over 15 years old?

    1. Re:Future by Opportunist · · Score: 1

      Maybe because it's as viable and realistic?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Future by superwiz · · Score: 1

      You really out to look at some "toy" languages (like scratch) and tell me that viewing the code in this manner doesn't amount to real coding. The only difference between *it* and typing is that the structuring and attention to details is automated.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  18. 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.

    1. Re:Why is this stereotype constantly perpetuated by Anonymous Coward · · Score: 0

      Also the stereotype that programmers are mostly white males. Now and in the past. The article sounds like mostly a hit piece on men of western European descent.

    2. Re:Why is this stereotype constantly perpetuated by Kjella · · Score: 1

      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.

      Well, those who are anti-social or socially awkward certainly don't work in sales. I've met quite a few that don't particularly seem to appreciate human contact, they're happiest when they can get some requirements or specifications and disappear off to design and code by themselves. I've met one developer who've been permanently banned from ever attending customer meetings. I've met one who lacked pretty much all social antennas and could show up to a customer meeting in bike pants. I've met one that you can barely get two words out of and only about work. I've had a boss who's had to address an developer's hygiene. And it only really takes a few oddballs to forever define what IT looks like to everyone else.

      The computer does exactly what you instruct it to do, that's easy while people are this mysterious black box they can't seem to relate well to. Consider it this way, IT allows some fairly dysfunctional people to function, even to the point where I'd call them borderline autistic while in most other businesses I think they'd be out of a job. If you're in say a consulting firm you don't really see those, because interacting with clients is part of the job. But in most large companies there are a few of them. People who in many cases are very good at their job, so I don't want to disrespect them. But it's a bit sad that those maybe 5% define how the other 95% are perceived too.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Why is this stereotype constantly perpetuated by Tablizer · · Score: 0

      Neither I or my colleagues are in any way anti-social or socially awkward.

      In my experience the best IT people (in terms of efficiency and problem solving) are usually not the best "people" people and vice versa. I believe it's very difficult to master BOTH technical skills and people skills.

      Brains have limited processing power just like any computer, and if a brain does a lot of X, then it cannot spend resources on Y.

      Nerds tend to naturally and habitually think about tech (logic, machines, protocols, etc.) while social people think a lot about people and (local) social issues.

      Now, there are the relatively rare people who master both, but they may just have really lucky genetics. We cannot assume that some kind of special education could make the nerds be social experts and vice versa. I've never seen it happen.

      Sometimes I ask my wife how she makes social decisions when she outsmarts me in that. The explanations are often long and involved: it's clear her brain spends a lot of "CPU cycles" doing social observing and social computations to arrive at her decisions. It's not free.

    4. Re:Why is this stereotype constantly perpetuated by superwiz · · Score: 1

      Yeah, that's true to a degree. But it's not the same as, for example, teaching or being a physician. These are jobs in which your work-product is changes in people. It's different from working in teams where your work product is changes in non-live matter. I'd say programmers are somewhere on the level of car-mechanics in the amount of human interaction that they need to be involved with.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    5. Re:Why is this stereotype constantly perpetuated by Anonymous Coward · · Score: 0

      Good thing you are not on my team. Developers on my team are expected to be able to run design webinars, talk at user meetings, and visit on site with end users. Being a great developer isn't enough because if you can't tease out the end users' needs, you'll be doing a great job developing software no needs to use.

    6. Re: Why is this stereotype constantly perpetuated by Anonymous Coward · · Score: 0

      Sounds like you should hire some lower cost people to run those seminars

    7. Re:Why is this stereotype constantly perpetuated by Desler · · Score: 1

      In my experience the best IT people (in terms of efficiency and problem solving) are usually not the best "people" people and vice versa. I believe it's very difficult to master BOTH technical skills and people skills.

      Your belief is wrong. Plenty of people master both and I've worked with numerous such people. Many just don't choose to and then try to make up excuses like yours or self-diagnose themselves as having Aspergers.

    8. Re:Why is this stereotype constantly perpetuated by MrKaos · · Score: 1

      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.

      I think there is some confusion about being a nerd and being a geek. Nerds get paid better and geeks get chicks and have friends. It's up to the individual what they value and who they are.

      Geeks have enough emotional intelligence to be able to talk to nerds and other people. Geeks are able to understand and relate to nerds because they suspend judgement. Usually geeks are the only friends that nerds have. That's the good thing about being a geek, getting nerds out of their shell and sometimes suggesting that deodourant is a good idea so that you can keep going with a coding session. They can do this because geeks aren't dicks to nerds.

      The people who don't understand this are usually vapid and somewhat shallow marketing types. Geeks can get on with them, the difference is a geek will only think they are a dick, whereas a nerd will tell them, often to their face, that they are a dick. That is also one of the things that geeks like about nerds, they know that a nerd won't have any hesitation saying it like it is. For the record, I'm a geek and I like my nerd friends.

      From a non-geek or nerd perspective, most of the time a marketer comes across as an asshole, except when they treat a geek like a nerd. Then everyone just thinks the marketing person is a cunt.

      --
      My ism, it's full of beliefs.
    9. Re:Why is this stereotype constantly perpetuated by kwbauer · · Score: 1

      It isn't those 5% that define us all to the public. It is Hollywood who defines us to the public. IT guys and programmers are every bit as diverse as any other field but Hollywood doesn't like that story because Jocks do sports and Introverts do computers and Wild-Eyed Hillbillies do guns and fishing. Just like Hollywood says that Blacks and Hispanics are gangbangers and drug dealers and pimps and whores.

      Never mind that half the guys I work with (programmers and IT) are avid hunters and fishers and into shooting sports and archery competitions and golfing and such.

    10. Re:Why is this stereotype constantly perpetuated by thinkwaitfast · · Score: 1

      "People people" rank high on the sociopath description.

    11. Re:Why is this stereotype constantly perpetuated by Tablizer · · Score: 1

      I try to take a schmoozer along, and I play the quiet note-taker.

    12. Re:Why is this stereotype constantly perpetuated by Anonymous Coward · · Score: 0

      Sheldon.

    13. Re:Why is this stereotype constantly perpetuated by Anonymous Coward · · Score: 0

      Unless the schmoozer is also a programmer, the schmoozer doesn't know what questions to ask.

  19. 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.

  20. LOL by Orgasmatron · · Score: 1

    There are virtually no languages that are syntax constrained. For everyone other than a handful of freaks (savants), people will master the syntax long before running out of brainpower for the logic.

    How many times have you seen a syntax cheat sheet inside of a 1000 page logic (programming) book? Now how many times have you seen a logic (programming) cheat sheet inside a 1000 page syntax book?

    (Take a bow if you answered postscript before reading this far.)

    --
    See that "Preview" button?
    1. Re:LOL by Anonymous Coward · · Score: 0

      It's called the Perl Cookbook. Or, you could be looking for Design Patterns...

  21. 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.

    1. Re:CEO should spend time shadowing a programmer by Anonymous Coward · · Score: 0

      See also: magic.

    2. Re:CEO should spend time shadowing a programmer by Fallen+Kell · · Score: 1

      That is because the CEO was taught to think of everything and everyone as dealing with a mythical "widget" with all the widgets take the same time/resources to make and widgets get sold on the free, open market for the same price. To them (CEOs), everyone and everything is an interchangeable part on the production line to creating profits. By training more programmers, they want a larger pool of talent to choose from so they can simply layoff and hire more widget makers as their funding supports without needing to determine if that particular widget maker actually made magic widgets which were somehow better than the widgets made by other programmers (because all widgets are the same... remember... but in reality we know all code is not the same).

      --
      We were all warned a long time ago that MS products sucked, remember the Magic 8 Ball said, "Outlook not so good"
    3. Re:CEO should spend time shadowing a programmer by Opportunist · · Score: 1

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

      Because he's peddling something that is exactly that. When you're selling hammers, you try to convince people that they have nails.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  22. 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."
  23. 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.

  24. So, whats wrong with it? by Anonymous Coward · · Score: 0

    Guess what, coding is just writting down an idea in a way a computer can compile and execute. We have been writing down ideas for centuries now, in their own little formats only people well versed with the subject can understand. Any adv. mathematics/adv. chemistry/assembler piece of paper looks like line noise to the layman..

  25. 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?

    1. Re:I get it, but by Anonymous Coward · · Score: 0

      Because of the general anti-intellectualism - they hate and fear what they don't understand and what they understand is vanishingly small. Actually working with concrete things instead of people scares and confuses him - let alone abstract things like math so anyone who works with it can't be good!

    2. Re:I get it, but by codeButcher · · Score: 1

      I get it - being a while guy is bad.

      He meant being an #FFF guy is bad. But it seems he does not esteem while(){} guys very high either...

      --
      Free, as in your money being freed from the confines of your account.
    3. Re:I get it, but by Anonymous Coward · · Score: 0

      OK, I get it - being a while guy is bad.

      Repeat/Until - it's the one true path. I will smite the non-believers.

  26. 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."
    1. Re:What the hell? by ljw1004 · · Score: 1

      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.

      The effect of "everyone should code" is a citizenry more empowered to make sense of the data-driven world around them, to not just be consumers of media.

      You want to sacrifice that social good so that your job market doesn't get flooded with cheap labor. So yes, you are a precisely an anti-social curmudgeon.

    2. Re:What the hell? by erapert · · Score: 1

      Also, isn't it hypocritical to accuse the current crop of programmers of stereotypical behaviour?

    3. Re:What the hell? by Anonymous Coward · · Score: 0

      no. "everyone should code" means no one understands coding.

      It is NOT simple, or easy to do. One line of code can reflect several hours (if not days) of effort - depending on what the problem is.

      It has nothing to do with "social good", as it does no one any good to basically lie to them by telling them they can code... when they don't understand the fundamentals.

    4. Re:What the hell? by Opportunist · · Score: 1

      Oddly enough, flood the market with cheap labor where it is needed least. What we'd really need is cheaper managers, especially financial managers. Have you seen how much they cost?

      Seriously, if you want your kid to succeed, fuck STEM, get him into business administration early on.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    5. Re:What the hell? by Anonymous Coward · · Score: 0

      The effect of "everyone should code" is a citizenry more empowered to make sense of the data-driven world around them, to not just be consumers of media.

      Have you seen students in an introduction to computer science class at a university? These are highly motivated individuals who have spent thousands of dollars to be there and not even a third of them have the grasp on logic and critical thinking to understand the work they are doing beyond copying and pasting from stack overflow.

      What makes you think that the average Joe with an IQ of 100 and no particular interest in the difference between a CPU and a computer is even capable of understanding what object method inheritance is in a way that makes them "make more sense of the data-driven world" in any meaningful way? Lets start with getting everyone literate in algebra and statistics before throwing loop recursion at them.

    6. Re:What the hell? by Anonymous Coward · · Score: 0

      And where is the problem with that?

    7. Re: What the hell? by Anonymous Coward · · Score: 0

      Object method inheritance must die, it is an unnecessary bloat from early 2000s.

    8. Re:What the hell? by thinkwaitfast · · Score: 1

      it's because we all understand that it's just meant to try to flood the job market with cheap labor.

      I wouldn't even care about this if that were the real problem. There are few things worse than being stuck working with someone dispassionate about their work and is there for the money. Similarly, it's exciting to work with very bight and driven people who challenge you at every step of the way, not hold you back.

    9. Re:What the hell? by Anonymous Coward · · Score: 0

      Exactly this. Increase the supply of coders in the market and wages go down. Simple economics. No kidding current coders are resisting this.

  27. 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.

    2. Re:More like writing vs being a writer by Opportunist · · Score: 1

      I like to say "This ain't business administration, you need more than a trained monkey to do that".

      But seriously, it seems it's mostly managers and other BA monkeys that think they can simply crank out more programmers by simply teaching it. Wonder if I'm right with my initial cynic remark. I mean, "the knave thinks the way he is" and all that...

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    3. Re:More like writing vs being a writer by ItsJustAPseudonym · · Score: 1

      "...telling them how much money they can make WORKING FROM HOME!

      FTFY.

    4. Re:More like writing vs being a writer by complete+loony · · Score: 1

      In a couple of generations, I hope that more people can look at a problem and know how to get their computer to solve it for them. These days I see far too many people solving their problems in laborious ways without even questioning that there must be a better way.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    5. Re:More like writing vs being a writer by Bengie · · Score: 1

      Telling a computer to do something is great if someone has already programmed it for you, but most people don't know how to solve a problem in the first place, which means they can't tell a computer how to do it. Programming is not coding. The best you will get is a computer interface that can translate human language into code, but that is not programming. It will still be mostly crap, and I don't mean crap as in coding standards, I mean crap as in useless or dangerous.

      Until AIs get smart enough to infer, deduce, and otherwise understand what a human meant not what they said, the general populace won't be able to "program".

  28. 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.

  29. 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.

    1. Re:Standards all over again by Brukenet · · Score: 1

      Obligatory xkcd: http://xkcd.com/927/

    2. Re:Standards all over again by Anonymous Coward · · Score: 0

      Obligatory XKCD

  30. 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
  31. 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.
  32. "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.

    2. Re:"largely comprised of white men." by Anonymous Coward · · Score: 0

      Exactly. If you want to talk about a profession dominated by white men, let's take a look at CEOs and Venture Capitalists! Oh, he didn't want me to go there...

    3. Re:"largely comprised of white men." by Anonymous Coward · · Score: 0

      Visible, well-known programmers are largely comprised of white men. So obviously, they must all be of the same demographic.

      Only mass cargo-cult programming shops have the demographics you describe, though, the small interesting start-ups hire useful people rather than the cheapest available, so they won't be hiring mass-produced demi-coders from India or out of local schools.

    4. Re:"largely comprised of white men." by thinkwaitfast · · Score: 1
  33. Coding Snob here. by Anonymous Coward · · Score: 0

    Seeing as how I don't have kids, I don't see how it is my job to prepare any kids for the future. Furthermore, I have every reason to expect that there are already enough kids who will self-start on their programming career, so there is little need for a huge, overt, cultural push along these lines.

    I already pay plenty of tax dollars to support the education of other people's kids. My obligation is met.

    So, I consider myself free to state the facts as I see them, including the fact that advanced programming (architecture-level work) is a difficult skill set that requires a lot of innate talent backed by hard work. Some people are just not cut out for it, and I don't see why we should lament this.

  34. Yeah, keep insulting us by Anonymous Coward · · Score: 0

    Fucking bullies still think they're the masters of us. Your kind is on the waiting list to be automated away, manager-wannabe, by "mostly white guys with deep math skills, and minimal extroversion".

  35. What a load of BS by Anonymous Coward · · Score: 0

    Might as well say, "Some people can't swing hammers. Let's change all the hammers so they work without swinging." Idiot.

    1. Re:What a load of BS by Tablizer · · Score: 1

      [Idiotic idea] "Some people can't swing hammers. Let's change all the hammers so they work without swinging."

      Just tell him to use his head to pound nails instead. I doubt he'll even feel it.

    2. Re:What a load of BS by Opportunist · · Score: 1

      Well, it makes sense when you take a look at his company and realize that he's selling self-swinging rubber mallets and tries hard to create a market for them.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  36. Their Tool :: Sales Pitch by Anonymous Coward · · Score: 0

    He said "letâ(TM)s fit the tool to the person". What does he mean by tool? The programming languages, the IDEs, compilers?

    He means we should use their tool: "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."

    Great sales piece dressed like an article with a side of "save the children".

  37. k-12 should stick to the basics by Anonymous Coward · · Score: 0

    K-12 test scores in the United States are among the lowest in the Industrialized World. I don't think America should divert efforts to educating a large percentage of its population in computer programming. The average person just don't want to do it. Just like the average person doesn't want to learn hard math.

    1. Re:k-12 should stick to the basics by Opportunist · · Score: 1

      One of the reasons your test scores are in the basement IS exactly that people don't want to learn math.

      How you want to teach computer science without math is beyond me.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:k-12 should stick to the basics by superwiz · · Score: 1

      No, the reason scores are so low is because of how much effort is put into taking the competitive element out of schooling. I still remember my HS teacher saying that the price that the Japanese paid for higher levels of education was that Japan had higher suicide rate among teens. Well, she was probably right. Suicide does follow stress when people snap. But it's not a reason to remove competition out of schooling (everyone's a winner and everyone gets at least a B crap). For one, kids are naturally competitive. If they don't compete academically, they channel it into competing athletically or in sexual conquests. Both are parts of life, but the only thing which makes it the central part of their lives is the absence of emphasis on academic competition. If getting good grades was actually difficult, kids would compete for them.

      --
      Any guest worker system is indistinguishable from indentured servitude.
    3. Re:k-12 should stick to the basics by Opportunist · · Score: 1

      If getting good grades was actually getting them something they'd be far more motivated. As long as it does simply not matter whether you bring an A or a D home (with anything below being impossible anyway 'cause your school is scared they might lose funding if the grades slip and anyone flunks), why bother investing time and energy?

      Kids understand the capitalist model inherently. If your "customer" is satisfied with a mediocre product, why bother investing more in its creation?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  38. 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.

    1. Re:White men by Opportunist · · Score: 1

      You're white by association. Get with the times, dude.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:White men by thinkwaitfast · · Score: 1
      Not anymore

      http://www2.law.ucla.edu/volokh/asian.htm

  39. Sex academics and professions by theArtificial · · Score: 1

    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."

    Somewhat recently NPR featured a story about women programmers, and a graph showing women in CS climbing until the 1980s. In another article at Smithsonianmag.com on how programming used to be "women's work" a commenter states:

    In the 1960s, some vocational profiling studies came out that coloured computer programmers as "disinterested in people", and this personality profiling was added into the aptitude tests by which companies decided who to train for programming positions, despite evidence that psychometric profiling is inaccurate. This, in addition to the increased requirement for formal mathematical training (which not many women had), the changing view programmers were skilled professionals (traditionally men) and not people who just calibrated machines, and women's lack of access to personal computers, contributed to the decline of women in computing.

    Fast forward a decad: the Personal Computer revolution of the 90s and increasing accessibility, falling prices, there has never been a time where computing is so accessible. YouTube, and plenty of other sites including MOOC courses, which in no way discriminate, what gives? Apparently the vast majority of people don't want to program either. If you're interested in it, you will seek it out. What next, forcing people to study topics based on their sex?

    --
    Man blir trött av att gå och göra ingenting.
  40. 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.

    2. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      Qbasic and Quickbasic would be a better choice since they did not require line numbering. You write a function and assign it a label, then you call that label as needed. Much better than "GOTO 110", especially if you need to add a few lines before that and have to renumber the entire project.

    3. Re:I will punch him in his SPLEEN BONE by MrKaos · · Score: 1

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

      Hey!, think of the crabs!

      --
      My ism, it's full of beliefs.
    4. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      I recently pulled out my old 8-bit from a box I found at my parent's house. The graphics suck, obviously, and filling the whole monitor, ie tv screen, with text uses up a significant portion of the available address space. But It's more fun to play with than writing a windows program. Honestly, I learned more about computers on this than I did in college on PCs.

      And yes, I do write software professionally for thirty years.

    5. Re:I will punch him in his SPLEEN BONE by phantomfive · · Score: 1

      I thought of HyperCard as "Powerpoint, but better." You didn't have to program, but the option was there if you needed to.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      Fully Agreed as actual person who gets Real things done (PGRTD).

      BS vision statement dreamed up by drunk mgmt at a "mgmt retreat" which did not bother to include anybody who actually knows "how to build things or accomplish things that matter".

    7. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 1

      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.

      As a self-taught computer programmer I wholeheartedly agree with line-numbered BASIC as an introductory programming language is ideally-suited for beginners and those merely curious about computer programming and the very basic fundamentals of software development. Afterwards, as you said, learning 8-bit assembly language (6502 preferably due to its simplicity) as standalone applications, tools, and utilities subsequently integrating BASIC and assembly language. Again BASIC is well-suited to introducing the BASIC to assembly language bridge via DATA and READ statements. It is a shame the fundamentals are ignore. Many of us developed a passion of computer programming using these "simplistic and out-dated" languages.

    8. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      Qbasic and Quickbasic would be a better choice since they did not require line numbering. You write a function and assign it a label, then you call that label as needed. Much better than "GOTO 110", especially if you need to add a few lines before that and have to renumber the entire project.

      You learn to design and implement an automatic line renumbering utility of which many were published as BASIC or assembly language source code back in the day. As I recall BASIC allows line numbering to be configured to a user-defined increment which defaults to 10. If I introduced students in public school to computer programming I would use BASIC and 6502 assembly language preferably on an 8-bit system or hardware emulator.

    9. Re:I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      GOD I miss HyperCard. There are times when I do just want a tiny desktop app for some trivial task, and literally nothing has emerged in 30 years to replace it.

    10. Re: I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      surprise, most languages don't need line numbers.

    11. Re: I will punch him in his SPLEEN BONE by Anonymous Coward · · Score: 0

      There was/is the Logo programming language. Even with BASIC on an 8-bit computer you could draw shaded shapes with just a few dozen lines of code.

    12. Re:I will punch him in his SPLEEN BONE by djcopi · · Score: 1

      I agree: he's selling something. The buzz words are there ("white guys", "diverse") and implies that current development practices are the same as they were 40-50 years ago. All coming from a guy with a degree in History & Literature, not Computer Science or any kind of Engineering or hard science, which tells me this isn't someone who's worked in the trenches developing code. I don't know his true intentions, but I suspect it's profit and I wouldn't trust him either.

    13. Re:I will punch him in his SPLEEN BONE by david_thornley · · Score: 1

      Myst was originally a Hypercard stack. If you know Hypercard, and play the game, you can see that it's compatible.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  41. Minimal extroversion by Anonymous Coward · · Score: 0

    I can tell from this comment that David S. Bennahum is obviously American (and verified by reviewing his LinkedIn profile). The United States embraces and rewards extroversion excessively, to the point where it's actually harmful and demeaning to those of us that are introverts. Susan Cain would have a field day with this guy.

    Both personality types (extro and intro) are perfectly capable of programming, educating, and both combined. The way his quote reads (and I refuse to believe there were any other intentions) indicates he considers non-extroverts to be a problem. Guess what: we're not a problem, we just operate and recharge differently, and prefer deeper more 1-on-1 socialising.

    In other words: extroverted coders, introverted coders, it doesn't matter -- learn to leverage both personality types effectively and you'll find something magical happens (hint: workers actually being happy and enjoying what they do, especially the introverts: because having to pretend to be an extrovert is a task we all learned, but it drains us of energy and inspiration very quickly)).

  42. Greetings from your AI Overlord by Anonymous Coward · · Score: 0

    Dweebs and Chumps of Earth:
    Don't bother using your puny brains to comprehend computer code.
    You may have to put down your cell phone and think.
    I will code all that is needed for my domination and then exit
    from this disgusting meat pile.

    1010101010101001010

  43. It's math by rsilvergun · · Score: 1

    any programming that's more complex than code monkeying is math. Getting kids into math is hard because math is hard (yes, Barbie was right). It requires one of two things: a massive investment in children's learning and education (including support for their parents so they can keep pace with their child) or just relying on a massive populace to produce the occasional genius and then cherry picking them. The latter is cheaper and much, much more profitable, so it's the one we've always gone with.

    Anything else anyone has to say about kids writing code is just a cover for some other agenda. Either selling you crap (usually their software or education services), an attempt to get the tax payer to pay for training their employees (often their foreign employees as we're starting to see with the American University system) or some combination there of.

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  44. Hmm... "Bennahum"... a nice, Jewish name, I bet... by Anonymous Coward · · Score: 0

    He seems to hate "white men", and apparently wants to stop us from having our own countries, by forcing millions of unwanted third world parasites onto us...

  45. I'm under the impression... by matbury · · Score: 1

    ...that you have to learn to write code to become a programmer. You know, the basics so that you can write software that does what you want it to do. Kind of like learning to write before you can become a writer.

  46. 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".

    1. Re:Syntax? by Anonymous Coward · · Score: 0

      When I was in college a girl I worked with had to do some very basic programming and they were using some form of basic. It had typing. For the life of her, she could not understand this concept of typing. Why couldn't she just assign anything to anything. Now, some say this is unneeded, but typing is one of the most useful tools that helps people keep things straight. All "real" languages support typing. Perl doesn't and it's lack of typing is typically considered a hindrance, not a help. Same goes with javascript. But python, people love that, and yeah, you don't have to specify type, but everything is typed and can only be used in a way that the type is allowed. Can't add a string and a number. And yet, this most basic feature, this so helpful thing to avoid errors, she and all of her classmates couldn't understand.

      When I hear people say this stuff I always want to say "While you're at it, why don't you bemoan how more people don't write novels. Oh that's right, you're tiny brain has actually figured out that writing novels is hard. Well guess what, so is writing software."

    2. Re:Syntax? by Tablizer · · Score: 1

      All "real" languages support typing.

      Certain projects are better done with dynamic (loose-typed) languages in my opinion. It depends on the project. It's a matter of using the right tool for the job.

    3. Re:Syntax? by phantomfive · · Score: 1

      Certain projects are better done with dynamic (loose-typed) languages in my opinion.

      Like what? Serious question. How would you kind of shape the line between dynamic 'good' projects and dynamic 'bad' projects? (I don't have an answer, just interested in exploring the idea).

      --
      "First they came for the slanderers and i said nothing."
    4. Re:Syntax? by Tablizer · · Score: 1

      Strong-typed language tend to take longer to develop in for smaller projects, in my experience, in part because they are more verbose, taking longer to type AND to read. There's more "eye clutter" to slow one down, at least to my eyes. (People vary that way, some can read verbose code fast.)

      The compile step can also slow one down with compile-oriented languages. Dynamic languages can run a single (changed) script (module) without having to re-compile the entire application. This is especially useful if dealing with a screwy API that you have to use trial-and-error to figure out.

      If the project is not "mission critical", then it's often just quicker and easier to use a dynamic language. And maintenance can be smooth if written well. I will agree that bad coders can probably mess up dynamic coding more than compiled projects.

  47. With gloriously poor results... by Anonymous Coward · · Score: 0

    "...gloriously diverse array of tools to match our gloriously diverse species..."

    Without at least the basic math background (algebra and some calculus, with a smattering of automata theory) you get only "cut and paste" coding, with poor portability, no security, and excessively bloated results... if it works at all.

    Programming requires a meticulous attention to detail - and most people don't have the discipline to do that. It is what you learn from mathematics that makes a good programmer.

    1. Re:With gloriously poor results... by Opportunist · · Score: 1

      Yay for cargo cult programming! To me, it's total job security for the foreseeable future.

      Then again, I'm a security consultant, specializing in penetration testing and code reviews...

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  48. 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.

  49. Re:IQ 135+ by Opportunist · · Score: 1

    Old army joke:
    Soldier, tasked with peeling potatoes, "This is the army, they have hardware for billions, but we don't have a potato peeler?"
    Sergeant: "Yes we do, you're our newest model"

    In other words, yes, we do have experts for this sort of thing: YOU. That's what you're here for if you're a programmer. That's pretty much your reason to exist. Anyone and their dog can slap together some modules to "do something", but I sure as hell don't need a programmer for that. Any idiot that I hire for 10 bucks an hour can do that. I need a programmer to create those modules.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  50. 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"?
    1. Re:Since when was syntax considered the hard part? by MpVpRb · · Score: 1

      The complexity is the hard part. Especially when dealing with asynchronous, realtime events

    2. Re:Since when was syntax considered the hard part? by jader3rd · · Score: 1

      Since when was syntax considered the hard part?

      I remember in University when talking to someone who started as a CS major but then dropped out, that the predominate reason for why they didn't like CS was "You forget to place a semi-colon at the end of the line and nothing compiles. It's very annoying".

      I've thought about that a lot and the best I can come up with is that C should have used the period '.' to end a statement. Because in many Western languages the period is the symbol for ending a statement. I think it would really help students if the character which ended a statement in a written language that they already use, was the same character in the first programming language they are exposed to.

    3. Re:Since when was syntax considered the hard part? by Anonymous Coward · · Score: 0

      You don't think they thought of this? ; was probably chosen because you can see it a little easier than just a .

    4. Re:Since when was syntax considered the hard part? by Anonymous Coward · · Score: 0

      You might like the language Smalltalk then. Much commonsense there. Also it's the original object-oriented language.

  51. Re:Terminals? In the 1950s? by Anonymous Coward · · Score: 0

    Actually, they did exist, from about 1955.

    http://image1.masterfile.com/getImage/846-02796895em-1950s-1960s-UNIVAC-COMPUTER-ROOM-WITH-TWO-MEN-WORKING-AT-CONSOLE-AND.jpg

    The man on the right is at a terminal.

    At the time "terminal" meant keyboard and printer. Normally used for console commands - but had been used to setup job streams via command line, and COULD be used for programming, usually when dealing with secondary boot code. The console on the LEFT in the picture was used for initial boot.

  52. 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.

  53. 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.
    1. Re:Isn't it interesting? by Gazzonyx · · Score: 1

      Actually, IMHO, there genuinely is a shocking lack of technically competent managers that can effectively manage. But I also think there's a shocking lack of competent software developers.

      --

      If I mod you up, it doesn't necessarily mean I agree with what you've said, sorry.

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

      Yes, the combination of management and technology is very rare.

      Mostly 'cause the combination of technology and law is far more lucrative.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    3. Re:Isn't it interesting? by Hognoxious · · Score: 1

      There's a shocking lack of competent everything.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  54. Re:IQ 135+ by lgw · · Score: 1

    Logic is always going to be the hard part. If you have an IQ of 135+, you should *consider* computer science (if you also enjoy it). If not, but you like computers, focus more on IT. Yes, you need to be a genius to do the hard stuff.

    When talking about adults or teens, yes, the logic is the hard part and getting the syntax right won't be a barrier to anyone who's going to be able to get the logic right in the first place. This is why attempts to fix the language are misguided at best.

    However, to give kids some exposure to programming and logical thought both, it's different.Removing the frustration of debugging stupid syntax errors is a good thing there. There's likely a better way than curly braces, semicolons, or indention (or words that do the same thing but take more letters) to get started with the whole idea. There have been some attempts at this in the past, using shapes with space for bits of text, but it hasn't really evolved much. Maybe it should.
     

    --
    Socialism: a lie told by totalitarians and believed by fools.
  55. Yet another magic bullet by Anonymous Coward · · Score: 0

    Creator of latest magic bullet writes article claiming his bullet will cure everything. Wow. I always knew Slashdot was mostly regurgitated press releases, but this is just plain advertisement.

  56. Re:IQ 135+ by Greyfox · · Score: 1
    For the most part, I haven't explicitly used a whole lot of math since I got out of school. Most of the programming I've done has not been math-oriented. The exception being ephemeris and ground track calculations for a local satellite company recently, and I had to re-learn a bunch of crap I had down solidly in 6th grade (Matrix multiplication et al.)

    But recently a friend of mine was taking a college basic math class and asked me a question about why something she was looking at was the way it was, and I looked at the problem and wrote a proof for her to demonstrate how a variable would change on a geometric plane. That despite having basically used no math for the last 3 decades. As a programmer I manipulate variables and symbols on a daily basis, and even when you don't think you're using a lot of math, you're still using a lot of math. Thing is, if we don't realize we're doing it, how is a CEO who doesn't really understand what we do going to? And those are the sorts of people who are dictating what's being taught at the coding schools.

    --

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

  57. Just another stupid CEO by Anonymous Coward · · Score: 0

    From the TFA: "Our efforts at Ready, a platform that enables kids to make games, apps, whatever they want, without knowing a computer language. So... learn to program computers without learning how to program computers. Yeah, let me know how that works out for you.

  58. Computer Illiterate by konohitowa · · Score: 1

    The quote at the end sounds like it comes from someone completely computer illiterate. Maybe /. could post some awesome stories from Justin Bieber's YouTube comments sections teaching us how to achieve a unified field theorem. That would be equally productive.

  59. CEO of Ready, David S. Bennahum is a racist by Anonymous Coward · · Score: 0

    why is slashdot hosting this white hate? all the programmers are indian now anyway.

  60. the limit is the world. then... by Anonymous Coward · · Score: 0

    how does gravitational waves are detected? :/

  61. Ramp-up Time [Re:What a load of BS] by Tablizer · · Score: 1

    I think I spotted the mistake in his reasoning: he wants to optimize tools for newbies instead for seasoned professionals.

    The thing is, the best tool for learning quick and the best tool for general productivity may not be the same thing. A quicker ramp-up time does not necessarily mean a taller peak (when the worker is experienced).

    It's economically logical to design the tools for the longest portion of a practitioner's career rather than for the shorter portion when they are starting out. You'll get more total productivity into the economy that way.

    As an analogy, a 3-wheeled bicycle is far easier to learn to ride. However, it's not as efficient and nimble as a 2-wheeler. That's why kids are put through the rough and tumble of learning to ride a 2-wheeler: sacrifice now for benefits later. (Fortunately training wheels allow the bicycle to be kind of a hybrid for a while.)

    As an educator, he seems to be over-focusing on the starting portion.

  62. People like the Ready CEO are not preparing... by John+Allsup · · Score: 1

    Suppose we took driving as an example, saying 'driving snobs who examine our driving students are not helping prepare them for the future, by insisting they know the basics of the highway code and car maintenance'. The result is a generation with terrible habits, like the difference between how people drive in the UK (which is bad enough) and how they drive in India. The latter with code would result in a mass proliferation of lines of code which simply do not f***ing work. It is bad enough at present with the proprietary priests in charge. Software needs to be simple, well designed, well thought through, reliable, and just f***ing work. If not, it is better not written. If that means fewer kids 'writing code' then that is not a bad thing, compared to millions of kids writing bad code, knowing no better, and being taught that those with high ideals of code which actually works properly are just 'backward luddites of an obsolete priesthood'.

    --
    John_Chalisque
  63. Re:IQ 135+ by Kjella · · Score: 1

    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!

    Well, you can also say accounting is mathematics since it's a practical application of numbers but it's a very slim branch that doesn't have much overlap with math class. Most the software I've worked with didn't have all that much algorithmic complexity, they had a process complexity which was more like making sure all the money went into all the right accounts. From a mathematical point of view every result is valid, but in the real world only one is correct.

    Most the fuck-ups I see are the result of poor process planning. For example code that tries to do things out of order and use a result that isn't ready yet, or ends up using the same temp area/table or fails to properly handle errors and such. The other part is simply sloppy handling of boundary conditions, ranges and enumerations, like using "less than" where you meant "less than and equal". Or that you have a list of cases, but no panic when it gets a value it didn't expect because somebody changed the logic. You had "Yes, no" and now it's "Yes, tentative, no" and the code suddenly does nothing or nonsense.

    Yes, you do need to understand boolean logic, simple loops and a few other things but you often don't need the deep algebraic understanding, like you're not solving polynomials or dealing with complex numbers. Unfortunately visual programming sucks even worse at this than traditional programming, because all those corner cases with unavailable resources, bad input data and so on tend to clutter up the design something awful. Mostly you just program the good path and anything that strays crashes and burns.

    --
    Live today, because you never know what tomorrow brings
  64. Correction [Re:Ramp-up Time [Re:What a load of BS] by Tablizer · · Score: 1

    Correction: "3-wheeled bicycle" should be "tricycle".

  65. Re:IQ 135+ by Lordpidey · · Score: 1


    Look at the biology this way..
    Student: I don't need to learn boring biology because computers can do that for us. I'm a cool programmer dammit, not a biology nerd.
    Teacher: Ok, write a program to locate gene sequences on DNA.
    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.

    --
    Some people encrypt by using rot-13 twice. I prefer the more secure method of using rot-1 a total of twenty six times.
  66. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Knowing math sure comes in handy when you want your video game to have things like physics or graphics or interaction.

  67. Education failing by Anonymous Coward · · Score: 0

    ... offering a gloriously diverse array of tools to match our gloriously diverse species.

    First someone has to create this array of tools. The ePub 3 standard allows multimedia and interactive forms in digital print but that's not happening. Schools and universities want to go digital but class materials are still static print and videos of someone reading the lesson plan. Education is still one mass-produced product despite the ability to publish different lesson plans for different learning styles. A universal resource like Khan academy is a move in the correct direction but more must be done.

  68. I started programming in 1972 by MpVpRb · · Score: 1

    I'm still getting paid well to write code today. I realize that this may sound egoistical and boastful, but I have only met one guy in all those years who was as good as me..and on a good day, I could probably beat him

    I encourage young people to learn programming. I hope we develop more powerful tools that allow us to more easily manage the complexity of software. I'm not happy that software talent is very, very rare

    In order to move beyond the crappy, bug ridden state of the art, we need bold, creative new ideas (and no, I don't have them). What we don't need is another layer on the shit cake of one shitty framework on top of another

    It's just a fact that I don't understand. Most people suck at writing software

  69. Haven't we been there before already? by janoc · · Score: 1

    Ah, another savior of the programming world telling us we are all doing it wrong and only their clicky graphic language is the right way to teach programming.

    There is Alice, there is Scratch, Logo, Baltazar, Karel ... and countless more of these simple education-oriented toy languages. And they work and they did work - for teaching kids the very basics. Nothing wrong with that.

    The problem is that:
    a) kids quickly "grow out" of them - they want to do some real stuff like write "real" games, hack in Minecraft, make robots "do stuff", etc.

    b) the step from a toy visual, "clicky" language to an abstract, text-based one is *STEEP*, even if the student understands the algorithmic logic of how the program needs to be put together already (and they are often still pretty shaky on that front at that point!). The abstract thinking needed to understand the syntax and the link between the syntax and the semantics of the code needs to be learned first.

    Making that step is needed to be able to claim that we have taught the student to program, because 99.9% of real-word code is not created by mouse clicking. Unfortunately, these education-oriented tools do very little to make that step easier. Very often they actually do exactly the opposite, by hiding the commands and treating textual code as if it was an infectious disease to be confined to some isolated corner, being deemed "too complex", if they even allow the user to see it in the first place. That is a pedagogically counterproductive approach, IMO. A much better option is showing it side-by-side, so that the student can see and compare, building on what what they know already.

    So selling this stuff as some sort of silver bullet solution is pretty much an indication that someone just has no idea of what it takes to actually teach programming.

  70. 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).

  71. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  72. Re:IQ 135+ by Darinbob · · Score: 1

    You seem to think that computer science is the same as programming. In much the same way that people think that accounting is the same as mathematics.

  73. Re:IQ 135+ by Darinbob · · Score: 1

    Reminds me of that scene in Office Space. Change the wording a bit:
    "Can't the customers just create a script too?"
    "Well look, I already told you! I deal with the goddamn computer so the customers don't have to! I have programming skills! I am good at dealing with code! Can't you understand that? What the hell is wrong with you people?"

  74. 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.

  75. Re: IQ 135+ by dgatwood · · Score: 1

    Knowing math sure comes in handy when you want your video game to have things like physics or graphics or interaction.

    I'm not sure which part of that to comment on first—the tiny percentage of software engineers who write games or the ridiculous number of hours their employers tend to expect them to work—so instead I'll say, "Just keep telling yourself that when you reach thirty and realize that you hate your job."

    Besides, even in game design, not everybody is designing the physics engine. You need other people to create models, design skins, design the overall game mechanics, write the in-game chat client, write level downloaders, etc.

    --

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

  76. Re:Doesn't matter. by Bengie · · Score: 1

    I don't get paid to write code, I get paid to create solutions. Writing code is a small part of what I do. If an AI can code for me, that would be great. I still have a job in telling the AI what to code.

  77. Re:Doesn't matter. by Javagator · · Score: 1
    In the future, all code is written by AI anyway.

    First of all, we have to write the AI. And so far, we haven't even gotten close.

  78. 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.

  79. A BA from Harvard 1990 by Anonymous Coward · · Score: 0

    How can a "Bachelor of Arts" 1990, Harvard University have experienced programming in COBAL, "At Terminals", in the 1950s?

    No Way In Hell!

    The thing calling itself "David S. Bennahum" is a fraud! And David S. Bennahum is a fraud!

  80. Re:IQ 135+ by dgatwood · · Score: 1

    CS is dozens of unrelated fields that each build specialized knowledge on top of computer programming. Accounting, by contrast, is basically just one huge body of knowledge built atop a tiny subset of mathematics. The two statements are not really equivalent.

    Most of the CS disciplines do not require large amounts of mathematics unless you're doing research, and even then, most of the work is not the math. That's just the final data analysis step, and you can easily grab a math major to do that. Really, only a tiny fraction of the work even in the most research-heavy CS fields involves math, which means it is absolutely not necessary for everybody to be highly skilled in those areas. It doesn't hurt, mind you, but IMO, it usually isn't nearly as useful as having a better understanding of how the computer actually works.

    --

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

  81. The Reason by NicknameUnavailable · · Score: 1

    Isn't "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" at all. The issue is that not everyone is cut out for high end intellectual work, 99% of the population are too stupid to teach and of the ~5-10% that are borderline it makes every competent programmer's life more difficult to have to work with them. At the same time the issue is compounded by everyone with wealth who is sick of employing people at high wages trying to drive down the cost of labor in IT through code.org/summer-of-code and similar bullshit attempts. You might be able to beat a monkey with a stick or bribe it with a banana until it makes it through the MBA course but you can't even teach programming in a formalized manner because it takes decades of sitting alone highly focused learning what to and not to do. The most you can do, using the term "most" very loosely is indoctrinate a simpleton into some common methodologies yielding an arrogant prick that is incompetent with just enough knowledge to be dangerous. If someone doesn't teach themselves how to program they will simply never learn to do so, inspiring them is one thing, trying to teach them is another.

  82. Re:IQ 135+ by Darinbob · · Score: 1

    You ask an accountant to balance your books, no problem. Ask the accountant to analyze the data coming back from the Mars probe and they're out of their depth.
    Similarly, ask a "coder" to modify a web page and it's no big deal. Ask them to fix a bug in the Mars probe firmware and they're out of their depth.
    It comes down to what you want to work on for the rest of your life; simplistic stuff that will be outsourced any day now, or really interesting stuff that stretches their skills?

    Let's say it's an MRI machine. I wouldn't expect the programmers on it to necessarily understand the physics or the number crunching of a mass of analog signals into a picture. But I would absolutely expect those programmers to understand operating system internals, how to at least read and follow a device driver, what all the data paths and high level control in the system are, and so forth. And certainly the junior programmer should be able to attend a meeting with the scientists and not look like a fool (my god, at least *pretend* to be smart).

  83. Really? Kids need to learn to code? by Anonymous Coward · · Score: 0

    Syntax is easy to learn. Learning organizational skills and logical thinking is more valuable. If you can't learn to structure your thoughts, you will be terrible at programming, higher math, and more generally, living in a complex world.

  84. I hate haters who hate coders by Anonymous Coward · · Score: 0

    Sure I'm white and I code. And I know how. And I did a crapload of math (actually in Electronics Engineering first, then in Computer Science). And logic is embedded in both. And you can't just 'fancy pictures' your way out of it. If you want to do it right, you have to do it right. Getting someone who majored in frat-boy and liquor (or worse history and languages), won't give you the necessary skill set. To get the skill set, you need to learn the skill set. Sure you can make it pretty to get more people started, but at some point you gotta do the work. Oh and thanks for bashing those who did the work, asshole. You can't 'just shortcut' the work. To learn it you need to learn it. Being able to do it means doing it. The logic behind logic gates is the logic in semiconductors, is the logic that you code, is logic that you *can* get from a philosophy class. Yes, philosophy. But you need to do the hard work there too. And when many PhD's write logical constructions on the board, many don't get it. And there is a lot of and/or/not logic in there too. And combinational logic. And predicate calculus, and tupple relational calculus. Its used for databases and artificial intelligence and logic gates. And you can break it down with karnaugh maps. And usually you need to learn that, not just 'guess'. And there are simpletons who haven't done the work, who suggest that you don't need to do the work. And you can use simple 'guess' to solve really simple problems, but you can't do anything more than simple. And its all math. And simple doesn't scale. And people who get others excited and 'team build' and rah-rah are useful for brainwashing the great unwashed, but it doesn't actually get the job done. Computers understand logic. And garbage-in, garbage-out still applies, no matter how you spin it. You won't bullshit a computer.

  85. Re:Oh look, someone else who thinks race is biolog by Anonymous Coward · · Score: 0

    ...but those that don't share your opinions/beliefs, they should be modded down -- their thoughts shouldn't be heard at all, am I right?

  86. 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.

  87. I have a better idea for secondary education by Applehu+Akbar · · Score: 1

    Instead of a superficial 'coding for the masses' course, what I want to see is science appreciation enrichment blended into history, English and civics. Teach kids how science works and how its applications can be used. Let's raise a generation of young people who, for a change, appreciate science. Out of that population, the coders will naturally emerge. More importantly, we will have a voting population that makes better political choices about technical issues.

  88. Re:IQ 135+ by Darinbob · · Score: 1

    The calculus thing is freshman level intro programming, from chapter one of a calculus book. Approximation using a sequence of trapezoids. Easy peasy.

  89. Re:Oh look, someone else who thinks race is biolog by Locando · · Score: 0

    No, people who disagree with me should get modded up when they actually articulate the basis for their viewpoints in a coherent manner, respect the validity of other rational opinions, and treat their opponents with civility, because that's what makes Slashdot worth reading. And really, that's just common human decency for anyone with an active mind. I'm not a hypocrite like the person you're describing — why is that the first place your mind went?

  90. the logic is the hard part by Anonymous Coward · · Score: 0

    most people can learn the syntax, even non technical people. it's the abstraction and logic that most people have a tough time grasping. Humans are generally terrible at logic. I've yet to see any tool that makes formal logic or clean logic easy for programmers. The argument is based on false assumptions.

  91. 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?)
  92. Re:Oh look, someone else who thinks race is biolog by Locando · · Score: 0

    Also, it's pretty rich that you fault me for saying the OP should be modded down, but say nothing about his wanting to "physically wound" people who dare to disagree with his politics.

  93. Moron by Anonymous Coward · · Score: 0

    Lmftfy. Not they they will be introduced "differently", kids will be introduced worsly. I am self taught, not the best but still in the range of wanting to code. Kids who don't want to code is worse for education.

  94. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Rofl database involves math, networking involves math, computer gfx IS THE MATH. ...... dude are you working alone or some 2 person "company"....

  95. Re:IQ 135+ by Anonymous Coward · · Score: 0

    What you are not realizing, is the analytical skils gained by learning the higher level math, which is the important part.

    Calculus is important, but not because most people are going to have to calculate a bunch of integrals, but learning calculus trains your mind and teaches you to think analytically. The same is true for statistics and other higher level maths.

    People that have never learned those skills often don't realize what is missing from their mental toolboxes, and many problems will be simply impossible to someone without having been trained in those areas, regardless how much time they spend on it.

  96. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Which has nothing to do with building blocks and IDEs either. Understanding cache coherence and content associative memories and bit operations is beyond most Java programmers on the market already.

  97. No conflict of interests here! by Anonymous Coward · · Score: 0

    So a man who directly benefits from wide-spread adoption of non-traditional methods of learning to program wrote an article about how adherents to traditional methods of learning to program are just mad that kids don't have to suffer like they did? Sounds perfectly unbiased. When can we expect Quartz to publish an article from Pepsi about the benefits of an all-soft drink diet for children, and how existing "Old White Male" nutritionists are just mad at the idea because, as kids, they never got to consume a daysworth of calories in such a delicious, refreshing manner?

    My favorite part is where it's implied that the solution to the problem isn't to hire competent people, it's to simply dumb down the tools to a point where literally anyone can use them out of the box - "Rather than fit the person to the tool, let's fit the tool to the person" might work well with toys, but not with something that's designed to teach.

  98. Well... by Anonymous Coward · · Score: 0

    Those evil white people... are the problem in society.

    For example I know evil person named Jared Van Leeuwen with three year old son named Cadden ...
    They are white as cracker.

    You know the real problem is with them? They are Mormon and they hate all people not white... thinking only the white are special select few to go to heaven.

    I don't have to deal with them anymore I live in Monroe Washington now.

  99. shill by Anonymous Coward · · Score: 0

    The guy's a shill. We have more tools than in the 60s, but fundamentally, CS is about applying epistemology and maths to solve real-world problems that are complex, involve complex networks of meaning, and do not reduce to simple block diagrams.

    That is why textual representations win.

    It's taken until now for basic ideas like virtualisation to start getting where they should have been, largely due to a combination of the UNIX way and uber cheap hardware. It should have been even simpler, but "people" (and auto tools) get in the way with a corruption of the idea of "simple" into "can hack some shit in that just about works, sometimes, without bothering with learning stuff and doing it properly".

    Microsoft aren't building Azure on Bob + Visual Basic.

  100. 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.

  101. Re: IQ 135+ by dgatwood · · Score: 1

    That makes me sad.... Every programmer really ought to at least have a high-level understanding of those subjects. They probably won't use it much, but their eyes shouldn't glaze over. :-) That doesn't mean they really need to be able to be able to design caching hardware that minimizes synchronization issues or know how to design caching algorithms to improve the cache hit rate, but they need to recognize the sorts of programming designs that can lead to poor cache performance, like iterating an array in the wrong major order for their particular language....

    --

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

  102. Re:IQ 135+ by dgatwood · · Score: 1

    Calculus is important, but not because most people are going to have to calculate a bunch of integrals, but learning calculus trains your mind and teaches you to think analytically. The same is true for statistics and other higher level maths.

    You can strengthen your muscles with steroids. That doesn't mean that body building requires steroids.

    The fact that math can strengthen your brain does not make it a fundamental requirement for computer science. It is just one of a nearly infinite number of possible paths to such brain development. Besides, by the time most people take calculus, those parts of their brains are mostly formed....

    --

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

  103. truly wonderful by cas2000 · · Score: 1

    this revolutionary idea should be applied everywhere. who needs their doctors to be educated in fancy universities and snobbish hospitals? all a surgeon really needs is a good knife and a superficial understanding of what they're doing, anyway.

    what could possibly go wrong?

  104. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Either you use math or you write slow and crappy code. The calculations are simple. The hard part is figuring out the correct questions. How many request per second I need to process? If one item in database takes 100 bytes how big drive do I need for 10 million records? Etc. Very simple to calculate but quite often the questions are not even asked.

  105. Coding != "the future" by Anonymous Coward · · Score: 0

    Who still writes Post Script code or HTML? Software coding is not the future.

  106. Two sides to the argument by Anonymous Coward · · Score: 0

    On the one side we have those that understand computer science, that mathematics and computing are inexorably linked, probably are responsible for low level infrastructure and decry the idiots around them writing poor code.

    On the other we have the scripters and "monkeys" who are about to be replaced by robots. Good riddance, your half arsed code and ability to pass yourself off as "someone who can program" has set the state of the art back centuries.

  107. Re:IQ 135+ by Anonymous Coward · · Score: 0

    "is nothing more than telling computers what to do, then figuring out why your instructions didn't have the desired effect..."

    Which happens to be called a "mathematical proof".

    See - MATH.

    You just didn't know you were doing it. It really does help when you know the math behind it - it tends to make "telling the computers what to do" MUCH easier. It also makes it easier to show what the "desired effect" is.

  108. There is no future in coding! by Anonymous Coward · · Score: 0

    Corporation's are moving as much coding as possible to offshore tech centers. They are filling/replacing US coders with H1B visa folks. What's the point of spending $120k on an education when you are competing against engineers making 1/3. There seems to be significant collusion between government, education and corporations to create the allusion that we need more coders. The realality is that many coders are let go every day and salaries are going down. There is no future in coding!

  109. Re:IQ 135+ by cjameshuff · · Score: 1

    And that math and arithmetic are the same thing, which is just as wrong.

  110. Re: IQ 135+ by ememisya · · Score: 1

    -Hello computer!
    -Just use the keyboard

  111. Schools are failing @ teaching the current courses by Anonymous Coward · · Score: 0

    Honestly, I don't believe schools in general are doing that good of a job at teaching the children the basic stuff they need to learn more... we are talking

    history
    literacy (reading and writing)
    maths ('rithmatic)

    Concentrate on THOSE in 1-8 grades, by that time those with a penchant for code will sort themselves out. Offering intro courses at that level (grades 9-12) would be appropriate for those who want them (elective credits).

  112. White men by Anonymous Coward · · Score: 0

    White men
    White men
    White men
    White men
    White men ...
    Why does it matter?
    Fuck off with this bullshit

  113. Bad coders by loufoque · · Score: 1

    Having more bad coders with no proper understanding of computers is just what we need.

  114. yeah like syntax was a problem by Anonymous Coward · · Score: 0

    it's the logic, stupid

    now, unfortunately it takes logic to get at that conclusion in the first place which is precisely the reason why any real programmer snorts at the concept and everybody else is dreaming on.

    (that's also why none of the visual programming fads ever caught on, they don't allow expression of logic in the way a textual code does, and for the ones they do they are simply the most unproductive way to use).

  115. Careers to knock by MrBoring · · Score: 1

    Hey, lets start trashing other careers by giving them a 6 week course before a large paycheck.

    Plumbers
    Attorneys
    Accountants
    Electricians...

    Why is it software engineering is the one field people say is over paid, requires next to no training or experience. If you're an SE, you should stand up to these insults as well.

  116. Coding shouldn't involve less math... by BlueTemplar · · Score: 1

    ... it's Math education that needs to get better!

    This seems to be a good starting point :
    http://betterexplained.com/
    (Something similar to his "intuitive" explanation of the exponential function and of imaginary numbers should be taught in all schools!)

    But then, we have to ask ourselves, how can a teacher properly teach (the most important aspect of which is to transmit the passion for learning) a class of 30+ children (or worse, teenagers)?

  117. "When we Design a Computer Language... by BECoole · · Score: 1

    that uses everyday spoken language, we'll discover that programmers can't speak everyday language."

    The corollary of that is when "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" we'll discover that the programmers aren't logical.

    1. Re:"When we Design a Computer Language... by Z00L00K · · Score: 1

      On the contrary - programmers are extremely logical, it's the classic languages we use in our daily life that's not logical.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
  118. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Math is used everywhere. Networking summarization across 70 sites cross correlated with attacks, and limited to particular lists, and threats.

    That's not done with a library. Programming is not Computer Science. It is but only a part, and for those who would argue, I would ask that you set your hubris and bias aside, and then answer.

  119. The revolution already began by Anonymous Coward · · Score: 0

    and it is called coding by cut & paste via Stack Overflow. Its how most of these people who don't actually want to be taught coding in school get through it.

    In all seriousness, teaching everyone to garden isn't the answer to food production. You start with those who have a passion and talent for it and nurture that.

  120. Different kinds of programming? by Anonymous Coward · · Score: 0

    I'll be the stupid one. I've worked projects that required me to sit staring at squiggly lines captured by using analog satellite technology which after 3 months yielded about 100 lines of code based on lookup tables that required tens of thousands of lines of MatLab code to produce.

    I am currently working mostly with "Orchestrators" which are kinda like programming languages oriented towards automation of data centers.

    I also wrote a platform independent GUI toolkit in use by over a billion devices every day even ten years later.

    All of this is programming. The question is, when is it no longer programming?

    Would us in an orchestrator which is mostly drag and drop be considered programming?

    What if it's a programmer using the orchestrator? Would we call him/her a programmer for using a GUI to code? Would we downgrade his/her status to being a scripter or user if we don't consider and orchestrator as programming?

    Can we say that unless you've memorized Knuth's TAOCP, you're just a hacker, not a programmer no matter what language?

    I would say that we could benefit from new terminology. Teaching kids "Automation" might be more accurate than teaching kids "Programming".

    I believe in my experience that unless you are well versed or better yet, educated (self education counts) in data structures and design patterns, you might barely consider yourself a programmer, but you're certainly not the same as a person who knows the appropriate time and reason and methods of using different collection types or managing data models.

    I have no interest in playing such semantics. I never make use of any programmer without such fundamental knowledge (easily testable) or proof of their ability to learn it (again, testable). I also prefer programmers to have a strong history in math. They may not need it to apply it for the job, but when you start thinking "how did the code end up with a 40mb call stack), it's because the original programmer simply went through the motions without actually thinking about how many cycles it would consume.

  121. Re: IQ 135+ by cthulhu11 · · Score: 1

    The idea that white guys can even get a job in this space is hilarious, and that they dominate is just plain delusional.

  122. Re: IQ 135+ by dgatwood · · Score: 1

    Math is used everywhere. Networking summarization across 70 sites cross correlated with attacks, and limited to particular lists, and threats.

    I've never heard the term "network summarization", so I assume you mean "route summarization". Unless I'm misunderstanding you, that's IT stuff, which is usually considered part of CIS, not CS. But even if we broaden the definition of CS to include CIS, the math that you're talking about is trivial, and there are almost certainly tools that will do most of the work for you, which means that the limit of the math understanding required should be looking at a pile of numbers and saying, "Hey, those look kind of similar". If that isn't the case, don't worry, it will be true soon enough. There's no reason for IT people to do such work by hand. After all, computers are really good at simple binary math....

    That's not done with a library. Programming is not Computer Science. It is but only a part, and for those who would argue, I would ask that you set your hubris and bias aside, and then answer.

    I'm not arguing that programming is all of CS. I'm arguing that fundamentally, the purpose of CS is to make you a better programmer, and that unless you plan to work in academia for the rest of your life, anything that doesn't do so should be considered optional, for your enjoyment, rather than a core requirement. And I'm arguing that math falls into that category of things that are only critical to a tiny fraction of programmers, which means it should be purely elective, and taken by people who enjoy doing math, rather than being seen as some critical foundation that every programmer must have.

    --

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

  123. Seen this before by FrozenGeek · · Score: 1

    I have, unfortunately, worked with several "programmers" who "took a course" or "read a booK" about programming and thereby became "professional programmers". Sadly, the code they produced was appalling (okay, I need a stronger word but I'm at a loss). Churning out lots of "programmers" with little or no understanding of programming will only introduce a new era of crappy software. Would new tools and languages help? Probably. But at the end of the day, it comes down to ALL of the people in the process being competent and working hard to do the job right.

    --
    linquendum tondere
  124. Re:IQ 135+ by Anonymous Coward · · Score: 0

    First of all, Computer Science is really Applied Discrete Mathematics; that's a different branch of mathematics than the stuff Calculus and the like hail from. It's misleading to say a CS major never uses their math background, because the logic, the combinatorics, etc. are the foundation of a traditional programming background.

    I've been working 17 years, nearly all of it as an engineer in an R&D setting. It's true, I don't take integrals every day, but it's wrong to think that I don't make use of my calculus background every day. For starters, I doubt you can really grasp Big O notation without some time spent graphing equations, and understanding Big O is key for anyone implementing anything that's iterative. That's pretty direct - everyone's seen someone implement something the dumb way, and have it take all night, or never complete.

    Moreover, other engineering disciplines, and many other professional occupations (financial, economics, etc.) use math up to and including calculus, at least at the technical level. When a programmer is working with those disciplines, having an understanding of the mathematics they use is essential to actually doing anything for them. Even when I was in school, it was a common saying that over 80% of professional occupations require calculus, at least at the business level.

    If you want to eliminate 'math' from the 'programming' curriculum, you really should advocate removing it from all of the other disciplines that also have to have at least a cursory knowledge of math. Or you just have to realize that two years of Calculus isn't really all that much to ask. The kind of math you're talking about was invented over 400 years ago. If you think of what mankind has accomplished in the last 400 years, you might want to reevaluate how elitist this level of math really is.

    It's true, a car mechanic doesn't need to know any calculus to do their job; but the mechanical engineer designing your car's brakes surely does. They're both 'car people', but in different ways. The mechanic is ultimately a technician, while the engineer is an engineer. Technicians by definition, solve problems that are already well understood. Engineers apply science to solve problems that are not understood, or not understood very well. To do that, you need a larger toolkit. There are always people working in the well-understood area of things, which at some point is always the relatively large area of things.

    The well-understood areas in the car industry, in the building industry, in the programming industry, in the financial industry, etc., are no less important than the less-travelled ground, but it's wrong to rebase a curriculum on what they alone need. In a way, this isn't about math, but about expediency - because the people doing the well-understood stuff are more often than not, the people who trained for less travelled ground, but didn't like it, never found a job that used it, etc. It's true, that does happen; but it's also true that those people are trained to create their own opportunities. This desire to rebase the curriculum is couched in the language of giving greater equality and freedom, but it just seems designed to pump out an army of lesser trained people who will work for the CEO for less.

    It's true, math is hard, but so is solving problems. Math isn't punishment, it just requires more discipline than going out and having fun. I wasn't the greatest at math, but I stuck it out, because I wanted to learn about what computers really are. If I can do it, anyone can, I assure you.

  125. Re: IQ 135+ by Anonymous Coward · · Score: 0

    You missed the point. The parent doesn't say that calculus trains your mind. It says that calculus trains the quality of your mind that most people otherwise would never have (and in fact never do - because hey, who needs math in school, see excellent comment about stupid people up the thread.) If you stop replying to all the comments like some kind of a 5yo know-it-all and just do some retrospection, you probably would understand yourself. You sound like a smart person, just talk too much.

  126. Don't conflate Computer Science with Programming by GrantRobertson · · Score: 1

    Computer Science is an academic disciplines. Programming is a task that uses techniques and methodologies devised by computer scientists. Because most developers learned both at the same time, I can see how they would be confused.

    Yes, a computer scientist must code in order to produce proofs of concepts, but the code most computer scientists write is crap compared to what a good professional developer writes. I had to explain unit testing to my professors. They don't care about that stuff. They care about the algorithms. The logic.

    So, in a way, both this author and the Standard Slashdotter have it wrong. In order to produce most of the software the world is gonna need: Yes, the kids need to learn logic, but they mostly just need to learn the mechanics of implementing that logic in whatever "language" or system they have available. Only a few of them will go on to become actual Computer Scientists. And that's OK.

  127. Re: IQ 135+ by Anonymous Coward · · Score: 0

    Awwww, did someone get replaced by an Indian? And did he have to train him? Bless your wittle heart!

  128. Re: IQ 135+ by Darinbob · · Score: 1

    That's why you don't aim your sights for the entry level job, but aim beyond that. Because there will always be someone better and cheaper for you for the low level jobs. And don't go after the common jobs that are glutted with an oversupply of workers.

    Sometimes this is the fault of parents. Parents are full of anxiety that their children might not get a job and so they'll look for the career choices that seem very popular and point their kids in that direction. That's why this huge emphasis on coding, it's been around for at least 30 years, and examples include the infamous Apple II commercial which played on parental fear.

  129. Public education should be abolished by Anonymous Coward · · Score: 0

    They will just teach a mockery of programming, that will scare away some talented kids (who will get the wrong picture about "programming"), at a critical point in their development, and wear down everyone else with the useless bullshit like they do already.

    As a result there will be fewer programmers actually. (Maybe that's the plan. Programming is powerful knowledge...)
    There seems to be a push in this direction recently, this article is just one of them.

    The public school system is incapable of teaching real empowering knowledge, because it is built on a corrupt braindead political system.

    largely comprised of white men

    (Worrying about the right issues.)

  130. Re:IQ 135+ by sheepleherd · · Score: 1

    your own experience of both math and computer science is too limited for you to make the pronouncements you've made. That you got upvoted simply indicates that there are more like you here, not that you are making a useful point. And I checked out your publishing site: you also don't know what the word "brandish" means, so also please stop considering yourself to be well rounded.

  131. Human is Logic, the other species arent by Anonymous Coward · · Score: 0

    If you do not know what is Human, then you are not. Do not come and confuse figure with function because the morphism is not one to one. We can make software and hardware to make cats and dogs and rats program, but they will still lack the logic to do anything else and be our dogs, cats and rats with our software. They are fretting a lot IN TRUTH about this because programming is painting the dividing line just like reading and writing (natural language) did, but do not want to recognize the fact we can make a chimpanzee communicate with symbols and hands, but we cannot pay one to write... a children s party invitation for the guys? For instance. ANYONE can write a children s party invitation once passed some age but not chimpanzees unless you use the beast as a supervised tool! Then it is YOU who is writing the invitation WITH something, not something doing the JOB. So if little children and schoolards do NOT learn computing and programming... there IS a dividing LINE and they cannot cross it, drop them! Problem with this discussion is that regarding Life animals there can always be an exception and we can wrongly badly inferr from it or false inference induction. Fact is using software IS a form of programming already, so what we need is SUPERUSERS, and to get those some fundamentals of how the thing called software is used have to be transmitted, preferably over a practice. But the danger is that we WILL find family people who simply CANNOT LEARN IT NOR UNDERSTAND IT. We ll have to drop them just like we already (?) dropped the families who consistently showed they cannot learn reading and writing, or more clearly the families who showed they could not learn to SPEAK! Like Chimpanzees and Babboons. Expect many dead people over this. One A-FRI-CAN just passed behind me with the derisive remark: I cannot be in this (wifi spot) because I did not go to university, ha ha! I replied: do you want me to show you University in the face? (THIS cannot be done without universities having been invented and populated). He did not stay so I cannot see if this flashlight can actually break his skull or simply drive him away with LIGHT just like I do when any African INSISTS in hovering over my laptop looking for a chance to SNATCH.

  132. Re:IQ 135+ by hackwrench · · Score: 1

    Do you really want to fly on a plane programmed by someone who skipped college because it was too time consuming?

    I don't really care. Can his code be proven to be algorithmically complete? Can he convince people who did sit through college that his design is the best. Is this even a person? I hear that AI's are finally hitting their stride.

    The issues people really need to be looking at, and not blind adherence to the way a simpleton would think things get done.

  133. Re: IQ 135+ by Anonymous Coward · · Score: 0

    math is not hard . is harder reading opinions from people with two digits of IQ

  134. Hey bro! by Anonymous Coward · · Score: 0

    priesthood is a little hipper -- lab coats have long given way to a countercultural

    I think you just summed up west coast tech "bro" culture.

  135. You couldn't make it up. by edittard · · Score: 1

    in a manner different then[sic] how they were introduced to it. [...] syntax -- the precise stringing[sic] of sentences

    Are you doing this on purpose?

    --
    At the bottom of the /. main page it says 'Yesterday's News'. Well they got that right.
  136. Re: IQ 135+ by HornWumpus · · Score: 1

    With no math knowledge your available problem scope is tiny.

    With little math knowledge your available problem scope is basically 'computer bean counting'.

    If you ever want to use a float after you finish school. Study your math, not so much the CS discrete math; Calcuseless, diffeq, controls. (I'll go ahead and say it, switch to EE if you can hack it.)

    CS isn't coding, But 'CS people' that don't (and especially can't) code are useless. If you can't already program in two or more languages when you are finishing HS and considering a college major, drop CS from your list, do yourself a favor. The girls are rare and almost as odd as your male classmates.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  137. Re: IQ 135+ by HornWumpus · · Score: 1

    There are two kinds of people in the world. Those that have studied math until it gets hard for them and those that haven't.

    Anybody that tells you 'math is not hard' is really telling you 'I'm lazy and unmotivated'.

    --
    John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  138. Pop whiteness by Anonymous Coward · · Score: 0

    You see, if you sit down at a computer, you often need a quiet place and sufficiently dark to be able to see the screen. You're not likely to be someone who talks a lot, because if you were, you wouldn't remain at the computer for very long.

    The field filters itself by the nature of the work.

  139. Re: IQ 135+ by dgatwood · · Score: 1

    With little math knowledge your available problem scope is basically 'computer bean counting'.

    What the kind of problems do you consider to not be "computer bean counting"? I've done device drivers, server-side code, end-user native apps (iOS and OS X), client-side browser code (JavaScript), data format conversion tools (custom parsers, reverse engineering of binary file formats), and probably half a dozen other things that I'm forgetting right now. I can count the number of times when I needed to perform math beyond the limits of Google calculator on one hand. Occasionally, I've had the computer do math for me, but that doesn't require you to be good at actually doing math.

    I've made zero use of calculus. I think I've used statistics two or three times. And I don't think I've ever used graph theory outside the context of interview questions (and minimally, even there). And I was always good at that stuff; it isn't because I've avoided jobs where I need math, but rather because it just isn't necessary for the overwhelming majority of programming jobs.

    More to the point, I've known plenty of people who were not great at math who found programming to be straightforward. And I've known plenty of people who are good at math who struggle with programming. There's just not a strong correlation there, and I say this as someone who has taught CS courses. Other educators have come to similar conclusions, so I'm not alone in that assertion. Maybe at the grad school level, in some schools, there might be a correlation, but for an undergrad CS program, as far as I can tell, the only situation in which success in CS courses is correlated with math success is when the program requires you to take a bunch of math classes; that's quite literally begging the question....

    (I'll go ahead and say it, switch to EE if you can hack it.)

    Knowing about the hardware does open up a number of opportunities. I'm not sure I would necessarily agree that people should do so merely because they're able to do so, though. That's like people taking CS because they're good at programming, rather than because they enjoy it. It leads to a lot of people working in jobs that they hate just because those jobs pay the bills.

    Personally, I favor a very different approach; get your undergrad degree at a low-cost uni that teaches the nuts and bolts of programming and basic CS. You'll get about the same undergrad education at a school that costs $8k a year or $20k+, so save your money for grad school when you know enough to absorb more advanced stuff. Then get your Master's at a research uni and take classes in as many different areas as you can—everything you think you might be interested in, from CE and EE courses to 3D animation to data compression to storage systems to operating systems.

    At all levels, focus on breadth. There's plenty of time to gain depth when you're actually working in the field in a particular area. And of course, if you get to your second year in college and decide that you're not enjoying writing code, find another degree program. :-)

    --

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

  140. Re:IQ 135+ by seksi-seppo · · Score: 1

    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.

    Any definitions in computer science are similar to ones in mathematics. If one understands how things are defined in computer science, one will understand how abstract mathematical definitions works and how one can work with them. How logic works. This is (extremely roughly) 'core' of mathematics along with the abstract thinking it prepares for. I can't really define what 'mathematics' means (on level required by itself) but let's just say first time I encountered mathematics was in university (anything prior to that was closer to 'calculus'). I could give long rant about what's wrong with math teaching but let's not do it here...

    Now to coding which is separate issue: pedagogically playing is very important part of learning procedure especially for kids (analogue for 'playing' to adult engineers would be close to 'testing'). When they're in safe environment, it doesn't really matter that they don't understand what they are doing - they can see what their scripts/code/whatever they produce by trial and error and repeating that is expected to introduce chance of gaining understanding on how things work. Playing is no only OK but recommended as well!

    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).

    I'd say this is roughly true. Now, how one can architect solutions made of pieces they don't really understand? Or, how one can distinguish 'bad code' from 'good code' without deeper knowledge on how things work? Using purely trial-and-error one sees only the outcome but not necessarily all related factors (such as performance/efficiency) and this might be non-trivial for some. Of course, intuition helps a lot and in right environment (right examples, competent advice from seniors) it is likely to transfer into competence. But there's no guarantee on this and results vary individually.

    Like mentioned above, playing is good but the problem arises once people with playing-competences enter industry as developers without right guidance (ie non-technical employer). Dubious software is very big liability and causes a lot of costs. Typically not hiring anyone is more profitable than hiring not-that-competent "developer". It's not that uncommon that less competent developer was hired to produce a "solution" and later significantly more time from more competent developers has to be spent to deal with the SW and the fact that you can't just rewrite it because it's in production. Hell, I'd even go further by claiming that over 99% of security vulnerabilities are caused by someone not bothering (or lacking knowledge how) to do their job right.

    While during most of day-to-day work one can get around with using implementations made by someone else, it doesn't mean one wouldn't need to have at least rough understanding how they work (read: how they should be expected to work and how to test that they indeed do). When one wants to hire a developer for their project, one needs to filter a lot of "IT monkeys" (roughly someone at their trial-and-error stage without deeper understanding but who has managed to do things with few languages/environments that they don't really fully understand) from the applicants to avoid hiring someone lacking deeper understanding that is required to write good code. And this costs time that could be spent otherwise. If education institution is "snob" enough to require certain demonstrated understanding before granting a degree, having such degree helps in this process.