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

202 of 342 comments (clear)

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

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

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

      Who gives a fuck what this guy thinks?

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

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

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

  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 jmcharry · · Score: 2

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

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

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

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

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

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

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

      spaces for indent is bloat!

      --
      “Common sense is not so common.” — Voltaire
    2. Re:Tab users are subhuman by 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.

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

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

      Yeah!Whathehellisitwithpeopleandwhitespaceanyway?

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

      One word: expertsexchange.com

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

      I too hate for my code to be universally compatible.

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

    10. 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.
    11. 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
    12. 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.
    13. Re:Tab users are subhuman by Sevalecan · · Score: 1

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

  5. 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.
  6. 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: 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!

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

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

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

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

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

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

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

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

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

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

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

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

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

      More evidence that people aren't worth our time.

      --
      “Common sense is not so common.” — Voltaire
  9. 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 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.

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

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

    2. 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
  11. 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.
  12. 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 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.
  13. 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.

  14. 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 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.
  15. 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.
  16. 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 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
    2. 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.
    3. 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.

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

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

      "People people" rank high on the sociopath description.

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

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

  18. 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?
  19. 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 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"
    2. 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.
  20. 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."
  21. 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.

  22. 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 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.
  23. 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 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.
    4. 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.

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

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

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

  27. 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
  28. 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.
  29. "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 thinkwaitfast · · Score: 1
  30. 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

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

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

    6. 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
  33. 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/
  34. 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.

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

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

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

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

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

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

  41. 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."
  42. 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.
  43. 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.
  44. 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.
  45. 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.
  46. 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?

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

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

  49. 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
  50. 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
  51. Correction [Re:Ramp-up Time [Re:What a load of BS] by Tablizer · · Score: 1

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

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

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

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

  57. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

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

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

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

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

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

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

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

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

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

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

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

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

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

  71. 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?)
  72. 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.

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

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

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

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

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

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

    -Hello computer!
    -Just use the keyboard

  78. Bad coders by loufoque · · Score: 1

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

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

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

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

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

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

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

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

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

  89. 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.
  90. 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.
  91. 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'
  92. 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'
  93. 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.

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