Jason Bradbury Believes Coding Lessons In Schools Are a Waste of Time (trustedreviews.com)
An anonymous reader writes: Famous TV personality Jason Bradbury, who hosts The Gadget Show, believes that the UK government is wasting its time trying to teach kids learn how to code. In a recent interview, he said, 'My kids won't need to code because soon computers will just code for them. I fundamentally disagree with the government initiatives to get my kids coding. It's a complete waste of time. Soon startups will just be run by really creative people -- there won't be a coder with bad social skills stood on the stage. The future will just be about being creative. This is why we need to challenge STEM and introduce an art component and rename it STEAM -- science, technology, engineering, art and maths."
Stop This Everybody Must...stuff
Are a bunch of disaffected youths, wearing disheveled 2nd hand clothes, razor hair cuts, smoking their hacked e-cigs, putting safety pins in their leather jacket lapels.. standing around.. looking like a bunch of punks.. a bunch of STEAM punks.
If you were me, you'd be good lookin'. - six string samurai
I don't totally disagree with this statement. I got into coding many years ago because I loved solving problems, and used a scientific approach to doing just that. Teaching the languages of coding just to move something around on the screen is pretty pointless. It seems many of the 'coding' classes in schools do just that.
Using coding, however, as a broader set of methodologies to teaching problem solving and how you break it down and arrive at a solution IS a good thing. This will prepare our kids for the future no matter what it brings as they will then know how to approach a problem and solve it. That is what I find lacking in the newer grads I work with today.
There are many tools, techniques, and ways to make that fun and interesting for children and I wish we would change the focus to address that and stop focusing on just coding. A programmer without problem solving abilities is like a writer with perfect grammar, but nothing to say.
My kids won't need to code because soon computers will just code for them.
The 1980's called and want their software back.
"My kids won't need to code because soon computers will just code for them"
Computers already do this. You used to have to code by manually entering the 1s and 0s but now there are things called compilers which actually do the coding for you. All you have to do is write some simple instructions saying what you want the computer to do and the compiler does the coding for you.
Therefore he is wrong. This is all you need to know.
Creative people are overrated. It takes sober, well trained engineers to produce safe, reliable, electromechanical products, drugs, chemicals, etc. Try telling an FDA or FAA auditor that they "just don't get it."
AI writing code for us? What could possibly go wrong?
https://tech.slashdot.org/stor...
If you post as Anonymous Coward, don't expect a reply.
Anyone who has written assembler knows that modern static analysis and optimising compilers will write far better code than the average assembler programmer; most chips expect hinting and other flags which are not really part of a human activity. Everything else is just assist.
So the creativity element of programming is still very human driven. It will be for a long, long time. But the mechanics of software programming has become increasingly invisible to the programmer.
As another person says (as if it wasn't just a cheap media-whoring attention-grab) - what a twat.
This comment was written with the intention to opt out of advertising.
Most 'creative' people, just found an excuse for smoking pot all day and doing nothing.
Which isn't to say that 'creative' isn't a real thing. Just that those who use the term to self describe are fucking useless.
Coding is supposed to go away every 10 years or so, I was first aware of it 3 cycles ago. Coding tools are generally getting better, than there is Javascript.
The problem is analyzing a problem isn't the kind of thing most creative people are any good at. Once you understand the problem the code, more or less, is as good as written. Unless you have bad coders. But even where code generation works, it's limited and falls down once you have to muck about with the generated code for any special purpose.
Strong AI changes everything. But they don't even have a working theory for how to get there. All they have is pattern matching. Good luck with that for coding.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Who?
Oh that cock who has no idea how to sell or test gadgets and hosts a program where they show them on a screen for a fraction of a second without showing you anything useful or discussing a single down-side?
And who - it appears - has no actual qualifications (besides a pilot licence) listed anywhere that would suggest anything "gadgety" in his background?
Sorry, but he's an author / TV presenter. I've yet to see any qualification beyond that that gives him any say in education or coding at all.
And the number of times I've cringed at things he's said/done on that program, I couldn't count. Last time I saw it, he was screaming like a little girl because some $2000 remote control car he was controlling nearly spun out of control because he "forgot to steer".
Don't even get me started on the crap they recommend on that show. It's basically a 30-minute advert for 50 products and then a "competition" at the end to win them all.
Don't worry, the Morlocks will take care of it for them... and they barely eat any of the Eloi at all.
"In America, first you get the sugar, then you get the power, then you get the women..." -H. Simpson
Why should coding lessons be any different? When you try to teach everyone a broad but shallow set of knowledge, it's a good way to maximize the total amount of wasted time.
Math, art, language, history, writing... Coding will follow on it's own if kids have a math, science, and logic background, if they are inclined towards code. Beyond the fact that code is a logical follow on from math and logic, I'm afraid that redirecting the efforts and finances of the schools towards yet another diversion will dilute the quality of education further. The money that could go towards code teaching should buy better math teaching before all, and better science too.
Don't step on the baby.
If nothing else, you might learn how to type really fast.
“He’s not deformed, he’s just drunk!”
Teach kids how to do algebra, teach them history, how to write poetry, how to play a musical instrument, how to code, how to speak in front of a group of people. They'll self-select into something they enjoy and/or are good at.
This, a thousand times over. Wanting to become a coder today is like wanting to become a coal miner. There is no upward mobility anymore. You don't get to move to management - where the real money and career options are - from programming. You'll simply end up shoveling out code until you're either burnt out or outsourced - because getting to retirement is frankly unrealistic given today's economy. The only rationale behind the "everybody needs to learn to code" is to further lower wages and that's why nobody in their right mind would touch programming with a barge pole.
He's right that teaching every kid coding is a waste of time. Not because coders will become obsolete (who will write the code that writes code for everyone else?), but because not everyone has interest in or the proclivity for coding.
Governments didn't scramble to teach every kid electronics from 1930-1970, nor did they scramble to teach every kid auto mechanics from 1950-1980. Education programs have enough trouble teaching kids math and critical thinking, how the hell are they going to wrap their heads around programming?
By his logic, kids shouldn't be taught anything because soon enough technology will do everything for them.
C'mon really, he's a self obsessed **** with his head so far up his arse that the sun no longer shines out of it.
He took what was a decent show that reviewed tech the average person could buy into a round the world jolly playing with toys only oligarch's children could afford.. and killed it.
Jason, if you really believe the drivel you spout, then you should prepare your kids for a life of burger flipping, 'cos that'll be the only thing left that computers can't do cheaper.
Was playing with drag and drop coding environments in the 90s with the promise they would eliminate coding. Nearly 20 years later there really isn't any such thing except for some specialized tasks. This makes me a bit skeptical that computers will replace programmers any time soon.
love is just extroverted narcissism
We should stop teaching kids anything. Soon computers will do everything for us.
I really will like to grab IBM Watson and tell him to code me an OS/2 Warp clone :) For the moment I'm just documentating the architecture on EDM/2 and storing OS/2 projects code on Github. http://www.github.com/os2world
The show is billed as a "... put(ing) the latest consumer gadgets through their paces." They are all about consummation and not producing anything and likely have no idea how things are really made nor do they apparently care. The statement that computers will "just code for them" illustrates the lack of understanding. How do they think computers get coded to be able to code for you?
It all starts at 0
This is the third time I've heard about STEAM in the last two days. Why a new buzzword?
Once we add "arts" shouldn't we just call it "education"?
Are we in such strange times that a standard, well-rounded education is now "innovated"?
Jesus wept.
>> "Bradbury went on to describe the SAM Labs system as âoea perfect example of this prediction that coding will not exist in the future."
>> "I bought a big box of SAM Labs kit. My kids can come in here and decide to make a device where if my son squeezes his teddy he will send me a tweet to say, 'I love you.' Or if you walk through a laser tripwire it will set off an alarm. It interacts with actual hardware, actual code and all it requires is a squeeze, a drag-and-drop and a little imagination."
So that's how we will all be coding the complex software that controls our aircraft and nuclear power plants in the future.
"The reactor is going into meltdown"
"Quick, squeeze the teddy bear and imagine it not killing us all!"
----------------------------------- My Other Sig Is Hilarious -----------------------------------
It's the STEAM thing that really pisses me off.
While the term STEM is overused and abused, the whole point of lumping Science, Technology, Engineering, and Mathematics together is that they have a huge amount of overlap, or similar kinds of thought processes and mindsets are necessary to successfully pursue careers in fields that apply to the label. Arts, by contrast, does not generally apply in the same way. There are some applications for STEM to the Arts, but generally that's either in-support-of or due to a matter of scale where materials and engineering become essential. Off-hand, designs for new musical instruments that are engineered to sound a certain way, or designs for large statues and ornate buildings come to mind. The aesthetic itself often does not run in parallel though.
Stop trying to lump things together that do not need to be lumped together. It dilutes all of it to the point of mediocrity.
Do not look into laser with remaining eye.
I'll have to stop by the McDonalds ask ask the people there how their liberal arts degree is working out for them.
Stop This Everybody Must...stuff
It's not that everybody must, it's that most should.
A lot of people are really unfathomably stupid. And they could increase their intelligence by probably an order of magnitude if they internalized a few important additional mental patterns. One of those is if-then statements.
If A then B. If C then not D. Just the idea of reacting intelligently, of planning ahead a little bit and choosing an action based on what happens, rather than intuiting your way through life.
Of course almost nobody is going to do that all the time, and that's good because habits and ignorance save a lot of time and can make life much more practical. But people should have the chance to learn.
Although I do agree that there is way too much of a push lately to have everybody code, not everybody needs to understand everything about code. They should be exposed to logic and technology and some code but they need to know the more basic stuff. However the idea that AI is going to put together code for us is ludicrous at least for the foreseeable future (give it 50-100y or so)
At some point the people that know the 'basics' like how to bootstrap your computer to boot the OS to run the application to do something useful will be gone (retired or dead) and coding it in JavaScript and Python is probably not going to work well or any code for that matter if you don't know what interrupts or how DMA works.
How about putting together a computer that meets your needs instead of a one-size-fits-all power consumer? How about laying the electric wiring to the socket and soldering the boards or changing a fuse? How about the metalworking and mechanical, architectural and environmental engineering that supports your data centers?
Custom electronics and digital signage for your business: www.evcircuits.com
My kids won't need to code because soon computers will just code for them
Coding is how you communicate with a machine in order to tell it what you want it to do. Even if we one day have a computer doing what is today thought of as coding, you still need to tell the computer what you want it to do, and *that* will be what coding is.
There was a time when people would code in actual machine language, and then we invented assemblers which did that for us. We then coded in assembly language until we invented compilers which did the assembly code for us. Now we code in "high level" programming languages. Maybe we will go up a few more levels, and computers will do more of the work for us. It doesn't mean we won't code anymore. It means we will be more productive and there will be even more benefit to knowing how to communicate with these magical machines that are willing to work for free.
Stop trying to lump things together that do not need to be lumped together. It dilutes all of it to the point of mediocrity.
This isn't surprising. Some states are calling for more funding of STEM and less funding of the humanities. If the degree doesn't lead to a high-paying job, it shouldn't be funded.
http://www.nytimes.com/2016/02/22/business/a-rising-call-to-promote-stem-education-and-cut-liberal-arts-funding.html
My very very favorite part FTA
I bought a big box of SAM Labs kit. My kids can come in here and decide to make a device where if my son squeezes his teddy he will send me a tweet to say, ‘I love you.’ Or if you walk through a laser tripwire it will set off an alarm. It interacts with actual hardware, actual code and all it requires is a squeeze, a drag-and-drop and a little imagination.”
So now we know how creatives will create everything in the future. They will take a SAMS lab kit, and make Twitter feeds from it The gaddamned Universe is now complete!
Seriously My dear Mr Bradbury, if you even remotely think that we are somehow going to create everything in the futeure from already made kits, you are the mental equivalent of the idiot in teh US patent office that said everything had already been invented.
And you have no idea of what creativity is.
The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
Yea just a creative person with now technical expert Until... Either something goes wrong, or the needs go outside of norm. Then the startup is done.
(If at first you don't succeed, do it different next time!)
...while most kids who learn coding in school don't actually learn the higher level arts (e.g., system design; writing comprehensive--and comprehensible--specifications, etc.), they will gain an understanding of the sequential nature of today's software models, how much they can accomplish with just a few verbs and parameters, and the limitations/dangers of leaving things unspecified. In that way, they gain a deeper understanding of what we who program actually do, the limitations the technology imposes, and the inherent uncertainty remaining in code after has been deemed "complete." That should make the majority of them suspicious of their politicians who--in utter ignorance--make absurd statements about computer technology and its' effects on society.
Programming, in my view, is a way of understanding the core of knowledge about a subject, just like civics, and science, and math, that they will need to be successful citizens in the future. It is not coding/programming itself that is the lesson, but the abstract understanding of how to develop robust procedures, and the inherent limitations of that model.
It nothing else, it should make them wary of claims about self-driving vehicles, unconstrained spying technologies, and how votes are counted!
I don't know if where I work is the exception but nearly all the managers come from a technical background. The way you become a manager is you win contracts for work for the people you manage. Much of the work we do is R&D so a nontechnical person has a hard time putting together a comprehensive proposals to win work.
Knowledge = Power
P= W/t
t=Money
Money = Work/Knowledge so the less you know the more you make
"...soon computers will just code for them"
No they won't. Has this guy even looked at the trashfire that is most code? He's using the South Park profit logic here and just spewing nonsense.
Kids do need to learn programming logic. They also need math and arts.
I totally agree - I used to be part of a demo group and we could make speed-ups which were serious. Lots of it using our domain knowledge - knowing what implicit boundaries are to be expected on a data-set often means we could reduce tons of cpu work to a few LUTs and work magic from them instead.
But I wouldn't write an OS (or even a standard commercial shrink-wrap application) that way, and you know it :-D
This comment was written with the intention to opt out of advertising.
Anyone who has written assembler knows that modern static analysis and optimising compilers will write far better code than the average assembler programmer, most chips expect hinting and other flags which are not really part of a human activity.
Lol... "hinting and other flags" is proof that you are talking straight out your ass right now. You clearly dont know anything about assembler for either x86 or ARM.
What you did was take a bit of buzz-like words and put them into a sentence. Sure, the x86 has a flags register, but what the hell are YOU talking about? The x86 also has some hinting instructions, which have been ignored by the CPU for about 6 generations of chips now, so what the hell are YOU talking about?
How come its always someone like you that is demonstrably ignorant about assembler that is saying shit like "anyone who has written assembler knows..."
Next time, leave your low self-esteem out of it.
"His name was James Damore."
into programming. I'd rather had my kids learn mechanics, home ec, farming and survival skills than be forced into learning how to program.
by TheSpoom (715771) Uncaring Linux user here. I have nothing to add to this but please continue. *munches popcorn*
Today the IT world is such a mess because of "coding" - aka "hacking". It used to be that systems were designed well. I am not talking about big design up front - I am talking about prototyping and refinement, but with a design centric focus. Today's programmers jump right to code, and that is why systems are so insecure, and the IOT is not even possible as a result - because it will be all hackable. So teach kids to "code"? No way. Instead, teach them about systems thinking. Teach them about artificial intelligence. Teach them about electronics. Teach them about mathematics. The focus on coding is misguided.
our designers (business systems/ux) specify menus. our data analysts (dba's) specify database structures. The build software (specify2build) turns the specifications into a deliverable package of executables for dataentry, display, database update in a Tomcat/xxSql environment. Still room for developers who can automate the design and analysis. Lots of room for people who want to learn logic and conceptualization (Maybe we could teach that!)
My kids won't need to code because soon computers will just code for them
My kids won't need to know how to do {insert skill here} because soon computers will just do it for them
My kids won't need to learn {insert knowledge here} because soon computers will know everything
This is one of the stupidest frames of mind I could possibly imagine, and it's also one of the most dangerous trends I've been seeing lately. 'Convenience' is all well and good, but am I the only person looking forward far enough into the future to see that this kind of thinking will lead to a dystopian future like in the movie Idiocracy, where nobody knows how anything works anymore, or knows how to do anything themselves, so everything just starts falling apart, and being dumb is the rule rather than the exception?
People need knowledge. People need to learn skills. People need to know how to take care of themselves. People need to not be idle, people need a purpose!
This 'Jason Bradbury' is an idiot, and he needs to shut the hell up, he has no idea what he's talking about.
Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
It's not the exception. The parent's assertion is flawed. A coder who also has management skills will get promoted if she wants. A coder with no management skills won't get promoted. Just like almost any other field.
This posting is provided 'AS IS' without warranty of any kind, implied or otherwise.
That's the problem with government mandated school curricula: scientists, engineers, corporations, churches, religious nuts, Luddites, leftists, rightists, unions, parents, teachers, and everybody else is trying to force their ideas into the curriculum, not just for their own kids, but for everybody in the whole country.
Coding, at least if you include the full range of what software developers do, is a very creative profession. Yes, it also has elements of extreme detail orientation which some people think is not consistent with creativity... but have you ever talked to an artist about the details of their work? They obsess to a degree that makes my eyes glaze over, probably much the way they'd glaze if I went on about the criticality of code organization and naming.
And here I thought I could make a career being a software engineer.
You haven't been reading the ads lately, then. The vast majority of positions advertised heavily emphasize HTML, CSS and JavaScript or similar front-end stuff. Back-end? Not so much. Not good for those of us who are wizards with algorithms and lousy graphics artists. But as long as you do it pretty and do it fast, and do it cheap, that's all that counts, right?
'Cause with any luck you'll have executed your exit strategy before the security exploits get announced on the news.
The term "flag" in English has the generic definition of an artifact placed specifically as an indicator to modify the procedural strategy in process. Literal flags mark hazards and approved paths; conceptual flags include highlights and emphasis in text, markers on e-mails which need revisiting, compiler hints (e.g. likely() unlikely()), and CPU instruction code hints (branch prediction hints, prefetch/non-prefetch instructions, and so forth).
Modern branch predictors are highly complex; compilers rely on behaviors like loop reorganization to maximize cache hits, successful branch prediction, and out-of-order execution. Many of the hinting instructions have always been less-effective than using a conceptual model of the target CPU and reordering the code to maximize the effectiveness of its facilities. Modern JIT compiles (CIL, JVM) use information about the particular CPU architecture (a particular revision of an i7, an AMD CPU, etc.) to select for different sets of instructions to complete the same task, and to order them so as to maximize out-of-order execution, parallel execution, cache utilization, and successful branch prediction.
Support my political activism on Patreon.
In the 90s I earned good money "coding HTML" (yes people really called it that) to build crappy brochureware websites. This basically doesn't exist anymore. It's automated by well designed WYSIWYG editors generating the HTML "code" for you, or programming frameworks generating the html for you.
I don't know if we ever get to drag and drop utopia of software development, but there is no doubt that things are advancing rapidly.
The software development shortage will not be solved by a greater number of costly developers. Large development teams are very inefficient. In fact, all of the middle and lower tier development jobs will go away. The shortage will be solved by increasing leverage/productivity of a limited number of very smart engineers.
I do agree that programming is too specific an IT topic for lower grades. Naive office workers are a bigger drain on the economy than (alleged) lack of coding education, and a general IT course(s) would be a better use of time and resources in pre-college education.
For example, many office workers often don't understand basics like the difference between clients and servers; and trade-offs associated with relationships, such as one-to-many, many-to-many, etc. Managers often ask for stupid crap because they don't understand these, creating long-term messes.
Table-ized A.I.
He's right that teaching every kid coding is a waste of time. Not because coders will become obsolete (who will write the code that writes code for everyone else?), but because not everyone has interest in or the proclivity for coding.
Actually, I simultaneously agree and disagree with this statement. In the sense that teaching kids to code in say, Javascript as a job skill, I agree wholeheartedly.
In the sense that learning to code teaches a bunch of other important skills I disagree. Learning to code is an excellent way to learn general problem-solving skills, and also how to coherently communicate complex ideas.
Although probably the most important life skill that can be taught by learning to code is that all programs have bugs. And that you shouldn't trust software any more than you absolutely have to, and if your navigation software tells you that dirt road through the Mojave Desert is a great shortcut you might want to reconsider.
Just change the E to Elementary School Teaching. Boom, no girls in STEM problem solved.
Actually no. You are right though - I've never coded assembler on either x86 or ARM. However, I have coded for Z80, 68000, PowerPC 601, PIC, and AMTEL chips.
I was referring primarily to branch-prediction and other instruction hints. They were pretty modern by the time I left commercial assembler coding. But I'm not too surprised if they are no longer used. I'm just older than you. That's all.
However, and this was my point regardless of your flame, you would be a total fool to attempt to write a modern operating system in assembler, unless it was for a particularly niche purpose, and even then I believe you would be better off writing a compiler for your environment.
Compilers are hardware domain aware, whereas coders are problem domain aware. This means that compilers are really good at dealing with the machine-side of things, but they won't compete with a coder when it comes to the problem domain (and I'm not talking about design patterns here). It will take a long, long time before a computer turns around and says "You don't need to software for this at all - just use a simple hardware system".
This comment was written with the intention to opt out of advertising.
Magnets are best explained by Intelligent Attraction.
Satan is Intelligent Repulsion.
Table-ized A.I.
There's no point learning to code until PHP 6 is released.
Can you think creatively? Do you think about the world and how you experience it? Do you have a method for expressing that? If you don't, would you liked to have had some education? Bruh, if you're cool wiping your soldering iron on the sponge and burning shit, that's ok by me. It'd just be nice to have the arts in school before kids learn how to grind out code for some sh*tty bank.
Well, if you were a competent software engineer, you would have realized this a few years ago. While I have nothing but compassion for the medical profession and software engineers who entered the industry in the last decade, the writing is on the wall now. Todays kids need to be raised to be champion entrepreneurs, utterly able to deal with uncertain, near future job trends. Or be good at not getting caught, in a Mad Max dystopia.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
The only rationale behind the "everybody needs to learn to code" is to further lower wages and that's why nobody in their right mind would touch programming with a barge pole.
Welcome to the aerospace industry in the early 1980's. Except automation is going to hit all areas of employment in twenty years. It makes as much sense to avoid programming as it does advanced math; "you'll never use it...". And yet, perhaps, listening to the knee jerk isn't the smartest move after all.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
Explain to me what assembly language has to do with anything... Are they teaching kids assembly language? Machine language? Or are they teaching kids high-level language, which last time I checked still requires human involvement. It sounds like you are disagreeing with something but are really just chiming in with information that has nothing to do with the topic. Even if we spoke in plain English to a computer and it "wrote" the code, we are still, you know, programming the computer. It doesn't matter how many levels of translation it goes through. The idea that a computer will code "for his kids" in their lifetime is absurd.
Damn. Kudos for the sig.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
Why even look at it from the "promotion" point of view? In this economy, advancement can come by maximizing your free agent potential. Why "hope" that you are unique and valuable enough to be "kept" at your job, and that you'll achieve riches and advancement staying at the same company because loyalty is "valued"?
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
Actually, I probably could explain that to you. But I won't, because I really only write comments for the reason that my sig. says. Have an ostre egg on me though.
This comment was written with the intention to opt out of advertising.
Well, somebody has to write the code that talks to the database and presents REST / SOAP interfaces for all those HTML / CSS / JavaScript web coders to consume... THAT sure isn't writing itself.
"Somebody has to do something. It's just incredibly pathetic it has to be us."
--- Jerry Garcia
So, everything. Oh wait, that's what everything is. So coding would be the non-art part of steam. Dumb statement.
That said, no, coding should not be a part of school curriculum. It's a job today. That's why I started learning 30 years ago. It won't be anything special twenty years from now -- just another blue-collar job, like brick-laying.
Also, coding is one of those all-application kind of things. There's nothing academic to learn, it's al practicum. Teach logic, sure. Teach technical writing. Teach instructing, directing, leadership, proceduralization obviously. But you can skip anything with a syntax in school. Math in school isn't about how to use the latest calculator. English isn't about how to construct a podium. It's about what needs saying.
that way you can try to analyse why the machine you're working on is failing...
And learning the techniques for that skill which will be obsolete and irrelevant when AI is catching all that stuff. Its the same reason I don't bother with including archaic reference counting while debugging a C program. While I agree that programming develops a useful mental skill in resolving computer-like problems, not all problems are computer like. There's no point in making everyone learn to churn their own butter.
There is no America. There is no democracy. There is only IBM and AT&T and DuPont, Dow, General Electric, and Exxon
Ban kids learning coding. Ban unlicensed access to programming tools. Show videos in classes of kids who take up coding then end up addicted to it, spending 18 hours a day in front of their screens. Kids sneaking into dark alleyways, handing over their hard-saved cash and getting a USB drive of IDEs, software frameworks, libraries, utilities. Kids selling their code on the black market, then ultimately getting busted.
-- In the beginning was the WORD, and the WORD was UNSIGNED, and the main(){} was without form and void...
What about the fact that Learning basic coding gives you an excellent grounding in the practical usage of logic and mathematics? As an arts ponce, programming is my window into math, not the other way around. Also, people will benefit greatly from having an understanding of how a computer works. OOP seems like a great way to do that.
Additionally, apparently he has no appreciation for the benefits of low-level programming. Figuring out how to use 10 less processor cycles to do the same work isn't as sexy as designing some app that lets you size pants from individual sellers based on your personal measurements, but one of those makes the world go round and the other doesn't.
From what I've seen, management is not a great way to get ahead in engineering companies. Lower-level managers are not paid any more than engineers, and they usually have more work to do, such as spending a bunch of time in meetings. If you're good at the political stuff, you can work your way up to higher-level management, where you really do get paid more.
The problem with management is that the skills aren't very transferrable. If you're a good programmer, you can get a job lots of places, because the skills are transferrable. So if one company doesn't work out, or lays you off, oh well, just go apply to a dozen more. You want more money? No problem, just apply to more jobs; you get a big raise by changing companies.
Managers can't do that. Companies like to promote from within, so if you're a middle manager at some big company, other companies are not going to be very keen on hiring you, because they want someone who understands their company, not some other company. So if you get laid off, you'll be starting all over again as a first-line manager, getting paid the same as the engineers but with more work to do. And with the way companies lay people off in droves these days, this is very likely to happen.
That would be what happens when you let people who know nothing about an industry decide how we should educate students who will work in that industry.
First, we don't need to double the number of STEM majors. There aren't jobs for them.
Second, even if you get past that, what they're missing is that having a major in those other subjects means that you have faculty who can teach classes in those areas. If you stop funding the French major, you aren't going to have more than the first year of French, and eventually you won't even have that. So how will students in STEM majors take French?
The reality is that almost nobody wants programmers who just know how to code. Software engineers need knowledge of other subjects so that they have a better understanding of the real world. Those outside interests are a big part of what drives innovation—new ideas from people with different perspectives arising out of different experiences. The more you cut education for non-STEM majors, the more you end up with a monoculture—people who have exactly the same perspective, and who do things the same way they have always been done, solely because that's the way they've always done it. The only possible end result is an America that cannot compete in the global market, that can only be a mindless producer of works designed by people in other countries.
College is not supposed to be a trade school. It is supposed to prepare you for the real world. If you want a trade school, go to a trade school. If you want to be a well-rounded STEM major who won't be stuck competing with foreign programmers for low-end jobs until the day you die, go to a college and take as many classes beyond the STEM curriculum as you possibly can.
Check out my sci-fi/humor trilogy at PatriotsBooks.
A liberal arts degree is probably the best they could manage.
College is not supposed to be a trade school. It is supposed to prepare you for the real world. If you want a trade school, go to a trade school.
Every high school is sending kids straight into college (or prison in poorer areas). None are telling kids that trade school is an option. The US is facing a shortage of skilled trades people like plumbers, electricians and carpenters.
Objection: Teaching a new subject takes away from teaching other subjects in more depth.
I grew up building (in both directions) anything and everything and agree 100% and have been saying the same thing forever. Also have a physics degree.
If you look at the open source projects, some people have written their own code generators to do that sort of work. They create a high-level specification in a script language, and the actual code is generated. Any sort of information exchange between different API's can then be done that way.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
However, and this was my point regardless of your flame, you would be a total fool to attempt to write a modern operating system in assembler, unless it was for a particularly niche purpose, and even then I believe you would be better off writing a compiler for your environment.
Compilers still write really lousy assembly output, and can easily be beaten by a human. The problem is doing so takes so long, it's not worth what you give up in terms of flexibility with a higher-level language.
So in practice, we write everything in a higher level language, but the hot spots sometimes we write in assembly (like memcpy(), for example).
"First they came for the slanderers and i said nothing."
When I was a kid we had civics class. Apparently that isn't a thing anymore and it is apparent. Politics drives me nuts today because half the candidates know nothing about the basic functioning of our government and their constituents know even less or worse they use their constituents' ignorance of civics to lie to them for the sake of winning an election. It's no wonder we end up with Trump winning the primary of one of the major parties.
Time makes more converts than reason
I didn't see programmer in your comment so I guess you didn't read the article.
I already have the code generators; all the different features that the idiots want are just checkboxes or radio buttons.
Does a new web whatthewhat cost $3000, $5000, $9000, $14000, $35000, or $65000? Yes!
If you pay $35k for a new dynamic web application, I could have done it for $3000. But I wouldn't give out a telephone contact, it would prepaid and email-only. ;)
So even here where all the code is written by humans, the only reason that automation doesn't replace 99% of the work is that the people who need the service still assume they're getting something better if they hire people to write a bunch of new bugs on top of the framework that does the actual work. And they want to have somebody to call on the phone and get reassurances that everything is OK, and they want that person to also pretend to be the one writing the code.
There is no way a computer is going to replace project managers any time soon. But automation can already replace most of the programmers. But the clients haven't figured it out yet.
And they had a great 4 or 5 years in college.
John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
Software is dumbed down, today it's all about connecting libraries into frameworks than any actual engineering or programming skills. Of course the back end exists, but the marketing of software seems totally focused on the dumbed down part of it. There's also a lot of people who think "I've got a great idea, here's a mockup UI and if you implement it for me then I'll be rich", as if the actual making-it-work part is not that important.
Stop trying to lump things together that do not need to be lumped together. It dilutes all of it to the point of mediocrity.
Lumping "technology" and "engineering" together is the pinnacle of said mediocrity. ;)
President Obama said that everybody should attend higher education, and that if you don't think traditional college is for you, go to a trade school.
https://www.whitehouse.gov/iss...
Science
Math
Engineering
Graphics
Money
Acronyms...err I mean Art
Joking aside, I'd substitute "Making" for the M. Spending time in your grandpas workshop is probably the best educational experience you can get. It's not new but the words have changed. It used to be called "Yankee ingenuity". At the moment however it seems Money works better. You can outsource the ingenuity to the widget builders in Shanghai. That will work till things hollow out. Then we'll need to get edisonian again.
Some drink at the fountain of knowledge. Others just gargle.
I'm a software guy and I use math *a lot* but I sure as heck don't use it to balance my checkbook. I use a calculator for that.
And I sure as heck don't need to memorize how to do calculus by hand, though I certainly need to know how to use a sin() function, and when to.
Interface programmers probably don't even need that.
What I observe lacking in programmers isn't so much a lack of math skills as a lack of thinking in ordered steps. And the education industry hasn't really figured out how to teach critical thinking skills yet; though they do acknowledge the importance of it.
hire people to write a bunch of new bugs on top of the framework that does the actual work.
That made me lol. It holds true all the way from Excel power users to the EEs who design the chip circuits. There's a kind of recursive irony in the fact that the EE cannot design a modern cpu without the aid of modern CAD/CAM tools.
The guy in TFA sounds like an "ideas man", ie: an expert in wishful thinking, exactly who does he think will create his code-less utopian future? Having said that I think he has a point buried under his poor choice of words. There is a tendency for geeks to dismiss philosophy, art, music, literature, as enjoyable but impractical pursuits which is odd since most of the great mathematical/scientific minds of the last 500yrs have not only cherished these things but they have also contributed heavily to their content and growth.
Art and Science are bedfellows that feed off each other, Science itself is a philosophy based on the faith that the real world exists outside of our own thought processes, religion is wishful thinking combined with a lack of imagination.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
"Computer science is no more about computers than astronomy is about telescopes." Dijkstra
"Everybody should learn to program a computer, because it teaches you how to think." Jobs
The true value in learning to code is not the ability to arrange arcane symbols, rather it is to be able to formalize a solution to a real-world problem in a series of steps that can be performed by a computer. To me the biggest difference between a solution to a problem written in english and the same solution implemented as an algorithm in Java is that all the ambiguities are removed. Any algorithm could be written in a variety of languages, programming languages are just the ones that both people and computers speak.
For instance, you have a list of words that you want to sort. You could say, "Computer, sort this list." But a computer, or a person (they used to be the same), would need to assume that you mean sorted according to the english alphabet, in ascending order from A-Z then a-z then symbols, with ties being broken by subsequent letters, starting from the left most letter and moving to the right... Once you have explicitly laid out the rules of the type of sort that you wanted so that no assumptions need be made you have a computer program.
The sort problem is the most basic example and yet we can see that varying any of the assumptions implied by the simple english version of the request results in wildly different answers. The command can be interpreted so many different ways it is almost meaningless. The only way to truly get the answer you want is to formalize the logic (write the code).
I've never coded assembler on either x86 or ARM. However, I have coded for Z80, 68000, PowerPC 601, PIC, and AMTEL chips.
A litany of yesteryear processors that are also easy to target masterfully as an assembly language programmer. Couldnt have come to your conclusion from these.
I'm just older than you. That's all.
The odds are pretty good that this isnt true. Just because I am aware of whats going on in processor architecture doesnt mean that I am young, just like your lack of awareness doesn't make you old.
The fact remains that you are unaware while pretending to be aware. Shouldn't someone of your advanced years know better than that, grampa?
Compilers are hardware domain aware, whereas coders are problem domain aware.
What it sounds like to me is that you dont bother to learn an architecture that you target. No wonder you think an average programmer sucks. Assembly language programmers are supposed to know their target architecture rather than sit in awe of the black magic inside. This isnt magic, son.
"His name was James Damore."
The term "flag" in English has the generic definition of an artifact placed specifically.....blahblahblah
We are talking about processor architectures here. Flag has an extremely unambiguous meaning.
Long story short, you are also talking out your ass at the moment. Come back when you arent mystified by standard terminology in the domain you want to pretend to be an expert in.
"His name was James Damore."
Compilers still write really lousy assembly output, and can easily be beaten by a human.
Here is the thing. These non-assembly programmers.. they have been saying the opposite since at least the mid-80's.
Its never been true, but they keep repeating it. The result of repeating the lie for decades is recruitment. More and more people now say it. The people that say it are demonstrably ill-equipped to know what they are talking about.
The man had said "hinting and other flags."
This is like a supposed dog breeder saying "smelling hole and other dog features." Essentially proving without a doubt the complete lack of any domain-specific experience.
When defending himself the man then says "However, and this was my point regardless of your flame, you would be a total fool to attempt to write a modern operating system in assembler, unless it was for a particularly niche purpose, and even then I believe you would be better off writing a compiler for your environment."
Essentially, moving the goalpost away from what he declared to be true, to a place where he now thinks that he can take a better stand. From "compilers are better than people" to "people want to use compilers"
I hate these pretend faker fucks, acting like experts when they aren't. Its really not hard to know when you are uninformed, but apparently its hard to know when veracity matters. The answer to "when" veracity matters is "always" you fucking assholes.
"His name was James Damore."
However, and this was my point regardless of your flame, you would be a total fool to attempt to write a modern operating system in assembler, unless it was for a particularly niche purpose, and even then I believe you would be better off writing a compiler for your environment.
If your point was this thing above, then why did you say that other completely wrong thing first?
"Anyone who has written assembler knows that modern static analysis and optimising compilers will write far better code than the average assembler programmer"
See that? Your point clearly had nothing to do with what you now say that it is. Your point was specifically how compilers write much better code than people.
Don't move the goalpost. Just admit that you arent an expert, realize that you were wrong to pretend to be one, admit that you declared a fact that wasn't, and move the fuck on a little bit wiser.
"His name was James Damore."
but apparently its hard to know when veracity matters. The answer to "when" veracity matters is "always" you fucking assholes.
lol. So true.
I think we need to get from a community away from "oh, this is what I read in a blog (or on the news or whatever), it must be true" to "oh, I tested this and here are my results"
The only humans that can be beaten by compilers are the ones who took an assembly class for a few weeks, and never looked at it again. I don't personally consider myself an expert on assembly, there are people much much better than me, but I know I can beat the compiler (and I can teach other people how to do it too).
"First they came for the slanderers and i said nothing."
The problem with people making these kinds of statements is that they have no idea what it means to actually code up a project. The creativity can only go so far, you need someone to implement it. Game, SFX, AI, all of that and more require lots of code and there will always be new things to do, change, implement. Its like saying back in the 80's well we've done it all, now the computers can take over. Only to see everything change when mobile devices came about and everything else since then. Unless you actually have done it, you don't know what your talking about.
Wasn't that his point ?-)
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
Oh what crazy irony. Jason obviously does not understand what coding even is. His example:
My kids can come in here and decide to make a device where if my son squeezes his teddy he will send me a tweet to say, ‘I love you.’ Or if you walk through a laser tripwire it will set off an alarm. It interacts with actual hardware, actual code and all it requires is a squeeze, a drag-and-drop and a little imagination.”
This is - guess what - CODING. When you do this: IF press(teddy) THEN say('I love you') using drag and drop it is called coding! I should know with AgentSheets we started drag and drop programming 20 years ago. Happy programming.
My work is done here. I wonder what pains you most- my apparent ignorance, or that my apparent ignorance was modded up insightful?
This comment was written with the intention to opt out of advertising.
You're obviously responding to a non-technical person who has a vague understanding of a technical concept. GGPP would tend to use domain malapropisms that make sense in base-level English.
I gave you a domain bridge between "anti-social supernerd" and "normal people" in the hopes that you could communicate with regular human beings. I guess you're only interested in communicating with silicon and your cat.
Support my political activism on Patreon.
Anyone who has written assembler knows that modern static analysis and optimising compilers will write far better code than the average assembler programmer
What you say may very well be true on 32- and 64-bit targets, such as x86, PowerPC, ARM, x86-64, and AArch64. But on 8- and 16-bit targets, which C compilers for MOS 6502, Zilog Z80, WDC 65816, and MC68000 beat assembly?
I tried cc65 to target 6502, but I found two sources of slowness: the recursion assumption and the 16-bit index assumption. It assumes that all functions shall be recursive, which forces stack-based code because a stack is the only way to assure recursion safety for auto variables, and stack-based code is very slow on 6502. There exist fast ways to allocate auto variables in an acyclic call graph, such as by allocating local variables of functions at the same call depth as an overlapping union of static allocations, but cc65 offers no way to disable the assumption of recursion. cc65 also assumes that all array indices shall be 16 bits in width, because C specifies that indices shall be promoted to at least int which shall be at least 16 bits wide, even though indexing wider than 8 bits cannot be done with the 6502's address generator unit alone.
I admit to have read only about 1/4 the responses.
A major challenge in teaching the initial course in any subject is making it fit in the context of what the student already knows and, preferably, cares about.
Do kids want to draw? solve puzzles? mazes? tell stories? animate them? shoot things at other things? play bump'm cars? shoot each other? make real things move? Play hide & seek?
Teach them how to do these things.
Afterwards, give the patterns names and extend their applications. This pattern is called an iteration, (a) over items in a list, (b) with counting, (c) while this condition or until that condition. This is an action routine, with side effects. That is a function, with a result, but no side effects. The other thing is a function with side effects, which in our religion is shunned and considered taboo.
In my high school, in 1967, all sophomores learned FORTRAN, taught by math teachers. The next year, I found it very useful to do my homework for me in analytic geometry and beginning calculus I wrote programs to do binomial expansions, numeric differentiation and integration of functions, and to plot equations ( 0= f(x,y) ). That's what I wanted a computer to do for me.
Over the years, I have used many languages and tools to make a computer do what I needed. This has given me the ability to chose among those I (or my client) had available and already used, or to look for, learn, and use something else more appropriate to the problem domain.
For kids, I highly recommend starting them with the puzzles at https://blockly-games.appspot.com/
(Surprisingly, this site sometimes works better on firefox than chrome.)
When they want to create their own, start with http://snap.berkeley.edu/ . Some of these tools let the user switch views between visual and javascript source code.
My 9 year old grandson completed blockly-games. I bought him a Hummingbird Duo because it supports a progression of programming environments and languages starting with SNAP, which is a natural successor to blockly. See http://www.hummingbirdkit.com/learning/software and http://www.hummingbirdkit.com/learning/tutorials
(Sorry for the late reply, had the tab opened somewhere and just found it.)
Ignoring this particular person, I completely agree that coding and IT isn't the most important part of STEM. The problem is that STEM is meant to teach children skills which will be helpful with jobs, which is a totally backward thing. In this sense I agree with what's his name. We don't want schools to prepare kids for jobs, we want schools to prepare human beings who understand the world and can take it forward.
Yes, learning to code can give a little bit of understanding, but it's much better to focus on math, logic, critical thinking, the scientific method and scientific knowledge.
The only reason to put a stress on coding in STEM is for jobs, and the main reason to want a lot of coders is so they could be paid less.