Ready CEO: Coding Snobs Are Not Helping Our Children Prepare For The Future (qz.com) 342
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.'
Just don't do it (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.
Misanthropy (Score:3)
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.
Re: (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 astonishin
Terminals in the 1950s? (Score:5, 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.
Re: (Score:3)
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.
Re: (Score:2)
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 poli
I want to physically wound "the CEO of Ready". (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
Re:I want to physically wound "the CEO of Ready". (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
I will punch him in his SPLEEN BONE (Score:5, Informative)
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.
Re:I will punch him in his SPLEEN BONE (Score:5, 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.
Re: (Score:2)
Agreed, this guy needs to be stabbed in the face with a rusty crab.
Hey!, think of the crabs!
Tab users are subhuman (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.
Re:Tab users are subhuman (Score:4, Insightful)
spaces for indent is bloat!
Re: (Score:3)
Rubbish!
Space: 0x20 = b00100000
Tab: 0x09 = b00001001
Spaces use half as many 1s as tabs.
Re: (Score:3)
I know not what path all others may take, but as for me give me tabs or give me death!
Re: (Score:2)
Yeah!Whathehellisitwithpeopleandwhitespaceanyway?
Re: (Score:2)
Re: (Score:3)
That's three words, and if you are going to get a sex change, you would want an expert changing it.
Sorry, but you will still need to work for it. (Score:4, 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)
Re: (Score:3)
Re:Sorry, but you will still need to work for it. (Score:4, 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!
Re: (Score:3)
Re: (Score:3)
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.
Re:Sorry, but you will still need to work for it. (Score:4, 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 [wikipedia.org] that might let one compress the most relevant parts of a year or two in CS prerequisite cours into a few minutes.
Re: (Score:3)
A lot of the time, math looks like a bunch of greek to me.
Re: (Score:2)
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
Coding (Score:2)
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?
Re: (Score:2)
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.
Re: (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
Re: (Score:2)
Think Iron-Man style interface where you move data pieces and functions around and connect them visually.
That is the way that Scratch [mit.edu] 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.
Re: Coding (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
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)
Re: (Score:2)
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 quick
Re: (Score:2)
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/... [google.com]
It offers a python execution environm
Mastery of logic? (Score:3, Insightful)
Re: (Score:2)
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.
Re: (Score:2)
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 i
"White Men" (Score:5, Insightful)
Hate the way race and gender keep getting snuck into articles like this, just stop it already, it's not important.
Yes, time for another revolution (Score:3)
Ah, yes, sure. After Pascal and Lisp, then C++, then Java, then Ruby [slashdot.org] — all promising "a revolution" [slashdot.org] — we are due for another. The revolution to end all revolutions, perhaps?
Meanwhile, I spill my heart out [slashdot.org] admitting to having started with FORTRAN, and get downmodded to zilch by the snobs... Sigh.
The priesthood is benevolent (Score:4, 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.
Uh, no. (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.
Re: (Score:2)
Future (Score:2)
Why does what they're calling the "future" sounds suspiciously like the dot-com/Y2k bubble, which is now over 15 years old?
Re: (Score:2)
Maybe because it's as viable and realistic?
Re: (Score:2)
Why is this stereotype constantly perpetuated (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.
Re: (Score:2)
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 c
Re: (Score:2)
LOL (Score:2)
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.)
CEO should spend time shadowing a programmer (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.
Re: (Score:2)
Re: (Score:2)
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.
diaf (Score:4, 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.
Terminals? In the 1950s? (Score:3)
I get it, but (Score:3)
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?
What the hell? (Score:5, Insightful)
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
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.
Whatta dope (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.
Standards all over again (Score:3)
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.
1990 wants its 4 GL back (Score:4, Insightful)
hilarious (Score:3)
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.
"largely comprised of white men." (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.
Re: (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.
White men (Score:4, Interesting)
Some of us are Asian, you insensitive clod.
Re: (Score:2)
You're white by association. Get with the times, dude.
Sex academics and professions (Score:2)
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 [npr.org]. In another article at Smithsonianmag.com [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
It's math (Score:2)
Anythi
Re: (Score:2)
Syntax? (Score:3)
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".
Since when was syntax considered the hard part? (Score:5, 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.
Re: (Score:2)
The complexity is the hard part. Especially when dealing with asynchronous, realtime events
Isn't it interesting? (Score:3)
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.
Computer Illiterate (Score:2)
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.
People like the Ready CEO are not preparing... (Score:2)
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
I started programming in 1972 (Score:2)
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
Haven't we been there before already? (Score:2)
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,
You weren't even alive in the 50s. (Score:3)
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).
Scratch doesn't help (Score:3)
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.
Scratch doesn't help one iota with any of the above.
Re:IQ 135+ (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.
Re:IQ 135+ (Score:5, Insightful)
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).
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.
Most people pick up domain knowledge as they go. They start writing networking code, and they learn the details of networking. They start doing security audits and they learn why people like me don't sleep at night. And so on. You don't try to graduate college with enough domain-specific knowledge to get a non-entry-level job, because you're not going to get one anyway. It is better to gain a lot of breadth and pick up the details in your particular area as you go.
Re: (Score:3)
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.
Re:IQ 135+ (Score:4, 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:
And so on.
Re: (Score:3)
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 p
O(nlogn) vs O(n^2) (Score:5, 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.
Re: (Score:2)
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 ho
Re: (Score:2)
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
Re: (Score:3)
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,
Re: (Score:2)
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
More like writing vs being a writer (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.
Re:More like writing vs being a writer (Score:4, Insightful)
Re: (Score:2)
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...
Re: (Score:2)
FTFY.
Re: (Score:2)
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
Re: (Score:2)
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...
Re: (Score:2)
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.
Re: (Score:2)
Re: (Score:2)
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.