'Programming Is Hard' Considered Harmful (acm.org) 526
theodp writes: The commonly held belief that programming is inherently hard lacks sufficient evidence," begins CS Prof Brett Becker in [an article published in the journal Communications of the ACM]. "Stating this belief can send influential messages that can have serious unintended consequences including inequitable practices. [...] Language is a powerful tool. Stating that programming is hard should raise several questions but rarely does. Why does it seem routinely acceptable -- arguably fashionable -- to make such a general and definitive statement? Why are these statements often not accompanied by supporting evidence? What is the empirical evidence that programming, broadly speaking, is inherently hard, or harder than possible analogs such as calculus in mathematics? Even if that evidence exists, what does it mean in practice? In what contexts does it hold? To whom does it, and does it not, apply?"
Becker concludes: "Blanket messages that 'programming is hard' seem outdated, unproductive, and likely unhelpful at best. At worst they could be truly harmful. We need to stop blaming programming for being hard and focus on making programming more accessible and enjoyable, for everyone.
Becker concludes: "Blanket messages that 'programming is hard' seem outdated, unproductive, and likely unhelpful at best. At worst they could be truly harmful. We need to stop blaming programming for being hard and focus on making programming more accessible and enjoyable, for everyone.
The Actual Danger. (Score:4, Insightful)
You're right. Programming isn't hard. Any child can Learn to Code. So can barely-competent adults, which is why we have so much shit code out there.
Secure Programming, IS hard. And the actual dangerous mentality, is dismissing it.
The end result, is the hyper-hacked world we live in now.
Stop assuming anyone can do this "educators", and learn that much like the rest of IT, doing it right really means most aren't cut out for it.
Re:The Actual Danger. (Score:5, Insightful)
Wages don't lower themselves, you need a lot of hopeful fodder to fill out the bottom ranks.
Re: (Score:2)
Wages don't lower themselves, you need a lot of hopeful fodder to fill out the bottom ranks.
What is the cost, of a bad ransomware attack that you cannot easily recover from?
What will be the ongoing cost, of cybersecurity insurance premiums because you've failed to meet their "premium rate" standards, or even their "basic" standards?
When it comes to CMMC, what is the cost, of a NO-GO government contract with a Prime?
One day we'll learn. Budget shit. Expect shit results.
Re: (Score:2)
The actual costs aren't realized because no one is suing the companies whose products lead to the hacks into bankruptcy.
In my humble opinion this needs to happen.
Re: (Score:2)
The actual costs aren't realized because no one is suing the companies whose products lead to the hacks into bankruptcy.
In my humble opinion this needs to happen.
Have you read an EULA recently? You accepted that their software isn't fit for use in any environment and you agreed to hold them harmless no matter what happens due to use of their software.
Don't like it? You're free to use something else.
Re:The Actual Danger. (Score:4, Insightful)
A bad EULA is only enforceable because it is allowed to be enforceable. In most jurisdictions you cannot override actual legislation with a contract or EULA, so in principle we can legislate that software must be fit for expected use and that the supplier can be held liable for repercussions from use of software.
I mean, Hasbro could put an EULA on dolls stating that they cannot be held liable for any damage from the doll, but if they make the insides from broken glass and razor sharp spikes that EULA will be worthless. Why is it different for software?
Re: The Actual Danger. (Score:3)
I would mod you up if I could.
Another benefit of these guilds is that they can often enforce that doctors cannot be supervised by non doctors in practicing medicine. Further, Law firms are owned and operated by Lawyers. They can hire employees but a non Lawyer cannot be a partner.
This solves the Dilbert problem as well.
Re:The Actual Danger. (Score:5, Insightful)
Why do you think ransomware attacks happen in companies with incompetent IT?
I work for a provider... We host virtual environments with varying degrees of customer autonomy.
We've jsut helped recover 200 VMs and 180 databases (about 15 TB) from a crypto hack...
Let me tell you, the security holes in this company were astounding in their degree of obviousness. This company did EVERYTHING wrong.
The IT staff knew about it and had informed management YEARS ago.
One thinks the real problem is lack of accountability for C-level managers no longer with the company when their labor bears fruit.
Re: (Score:3)
A lot of problems in the world like insecure software, dangerous products and like would go away if executives were personally held responsible and got jail time for it. Instead they hold all the power and none of the responsibility. Tell everyone to cut corners to maximize returns and you are financially rewarded. When it eventually blows up and ruins people's lives you get away with a golden parachute when you should be held criminally liable. The ongoing Ebay case is a good example. They are jailing unde
Re: (Score:3)
What is the cost, of a bad ransomware attack that you cannot easily recover from?
how could programming skills save you from a ransomware attack? you know that most of them use social engineering?
i get your point, there is a world between the crappy but useful visual basic app and a well designed and efficient library which follows good practices, but you are overhyping security quite a bit. actually, that's not the main responsibility of programmers anymore but of a whole lot of experts working around them, form qa engineers to cryptoanalists. if your security depends on your programmin
Use the 'fodder' properly (Score:3)
They need to be doing the system testing, writing test scripts and manuals that are the jobs the decently competent hate, and do badly.
Re: (Score:3)
People probably said the same thing when the average peasant learned to write. Wages for writers will go down now anyone can do it! Of course what actually happened is that people who can write well were in even more demand because suddenly the market for reading materials was much larger.
It's the same with programming. Every framework opens up new markets, and there are still plenty of high skill jobs building those frameworks and creating the sandboxes needed to keep them secure.
But do you believe that programming is easy? The good professor says that saying it is hard is wrong.
Of course, there is value to exposing young people to programming - perhaps more accurately "coding". You get kids who might have a temperament for it interested. The process will work.
But as the good professor says: "Stating this belief (that Coding is hard - ed) can send influential messages that can have serious unintended consequences including inequitable practices
Seriously? He wants to attract
Re:The Actual Danger. (Score:5, Insightful)
You're right. Programming isn't hard. Any child can Learn to Code. So can barely-competent adults, which is why we have so much shit code out there.
Secure Programming, IS hard. And the actual dangerous mentality, is dismissing it.
Not just secure programming. Talking about generalized "programming" without being more specific doesn't give it justice. It's like talking about "construction" or "painting".
Is construction hard? My toddler can build a decent skyscraper out of building blocks. But if you're talking about building the next Burj Khalifa you can bet it's hard.
Is painting hard? Anybody can paint anything. But if you want to paint the ceiling of the Sistine Chapel you better have Michelangelo level painting skills.
So is programming hard? It depends on the level of what you're programming. Security, like you mentioned, is hard, but so is programming in a well-designed and structured manner that favors modularity and extendibility. Programming modern 3D graphics is hard, and dynamic systems... programming a Hello World application is not so hard.
But it's probably safe to say that programming as a whole requires much more ramp-up and training than construction or painting, because there is no human intuition or motor aktivity for programming. It's a completely abstract thing of the mind.
Re:The Actual Danger. (Score:5, Insightful)
Re:The Actual Danger. (Score:5, Insightful)
This needs to be written over the entrance of every educational establishment, everywhere.
Re: (Score:2)
Re: (Score:2)
But even then they knew enough not to let the local blacksmith do it on his anvil.
Re:The Actual Danger. (Score:5, Insightful)
This.
Programming isn't difficult, but programming well can be.
Good programmers often spend much of their time fixing code written by bad ones.
Re: (Score:2)
Driving isn't hard, in fact someone who's never driven before can get around quite well after a few minutes' instruction
Yep. Driving's really easy, especially in a car with an automatic gearbox.
It's all the other cars and pedestrians out there that's the problem.
Re: (Score:3)
Re: (Score:2)
Secure Programming, IS hard.
To be fair, one of the most important patterns of secure programming is "don't roll your own security / string / date / younameit-handling" which is less work as you are expected to use existing libraries in favor of writing your own code. Less work, more secure.
Re: (Score:2)
Secure programming is hard. More generally, quality programming is hard in the engineering sense of adequately covering the requirements, pointing out defects in requirements and helping to close those defects, knowing what tools exist and how to use them effectively. In this sense, engineering concentrates on context as well as technical problem solving. The reasons we get crappy code are the usual reasons for failing to invest in nailing the context down properly (for whatever reasons: cost, efficiency of
Re:The Actual Danger. (Score:5, Interesting)
It's not hard. It just requires understanding what you're doing. Why you write it this or that way. Why you test for an edge case. Why you use parameters instead of just stuffing unsanitized user input into your code.
If you don't understand why you do that, you will again just cargo-cult program your way through it. Use parameters in your SQL queries because "that's best practice" without even knowing why. Which leads to a whole load of new security issues, and when you point them out to those idiots you are met with blank stares and a drooled "but I parameterized it".
Re: (Score:2)
It's not hard. It just requires understanding what you're doing.
Programming is not hard for people whom programming is not hard for.
We often look at everyone as possessing the same skillsets/outlook/termperament as ourselves. CS Prof Brett Becker is looking at his own talents and assigning them to everyone. Or if it was actually as easy as he claims, he needs a visit to the Deans office, then replaced with a code monkey.
If code is easy for a person - that's good. If they have the temperament for it - that's great.
Re: (Score:2)
Re: (Score:3)
If they come for my profession, I'd really love to see this. I'll bring the popcorn.
I do admit, I view it from a rather privileged position of having a VERY rare skillset that is in VERY high demand. You want to fire me because you think I have a political position you deem inappropriate? Go ahead.
Re:The Actual Danger. (Score:5, Insightful)
It also used to be incredibly difficult to find competent programmers that were capable of writing performant, scalable, and asynchronous code for multiprocessor and massively parallel systems. Perhaps it's changed now, but at least ~20 years ago CS programs were not preparing students for programming these sorts of systems and it was less work to take fresh EE grads and teach them how to code than it was to try and get CS grads to do effective systems programming.
Re: (Score:2)
It also used to be incredibly difficult to find competent programmers that were capable of writing performant, scalable, and asynchronous code for multiprocessor and massively parallel systems. Perhaps it's changed now, but at least ~20 years ago CS programs were not preparing students for programming these sorts of systems and it was less work to take fresh EE grads and teach them how to code than it was to try and get CS grads to do effective systems programming.
Let's get you modded up. Informative or insightful will work.
Re: (Score:2)
Re: (Score:3)
"I still don't quite get how someone can think in such a way that they can think in almost schematic terms, but can't seem to close the loop with the coding. It wasn't even that big a problem."
I've seen plenty of cases where the opposite is true: guys who could code practically anything, but couldn't read a schematic if their lives depended on it. I remember once trying to explain the concept of a pull-up resistor to a coder once and even after an hour the guy just didn't get it.
Re: The Actual Danger. (Score:2)
Re: (Score:3)
Re: The Actual Danger. (Score:3)
Programming is an Art (Score:3)
Actually writing code isn't hard. But it should be treated like an art. You give a 4 year old a paint bush and paint they can paint. Painting isn't hard, but we value the paintings done by artists who have honed a lifetime of practice to the craft. You can hand a child a musical instrument they can normally get it to make a noise. (with perhaps some training on some instruments like the flute and trumpet which needs a particular skill to get them to play a sound) but we value those who have played and r
Re:The Actual Danger. (Score:4, Insightful)
What is the empirical evidence that programming, broadly speaking, is inherently hard, or harder than possible analogs such as calculus in mathematics?
Idiot.
Take a look to your left 50 humans. Now take an equally long look to your right.
How many of them, even understand calculus today? How many of them, can do it accurately?
Hope that clarifies it, idiot.
Re: (Score:2)
Re: (Score:3)
Yeah, it's easy to write those bullet points down. Implementing them in a non trivial program is hard.
Re: (Score:3)
The guy who wrote the original article guy is full of it.
Programming is HARD. Life is HARD, and as the saying goes, it's harder if you're stupid. Computer science is HARD. Programming can be easy if you're doing trivial tasks. He talks about little kids doing programming. Sure. Yes, technically, they're programming. But they're not producing serious code. Even web design is hard if you're approaching it as a beginner.
I'm tired of downplaying it. I'
Blanket messages that programming is not hard. (Score:3, Insightful)
He's wrong (Score:5, Insightful)
Programming in its essentials consists of solving a problem, breaking that solution down into logical steps, and then explaining it to a computer. Anyone with experience of real people know that the first two steps are hard. The actual typing of the solution into a specific language is the easier part, but it's still tricky.
In conclusion: Prof Brett Becker spends too much time with people who are good at these things and not enough with ordinary people who find the idea of a "website" too difficult and ask me why X can't just be on Facebook instead. Because that's not a website, apparently.
Those people are not going to invent the A* algorithm any day soon.
Re:He's wrong (Score:5, Insightful)
You're thinking in English. The statement in the OP is made in language of Woke. "Harmful" doesn't mean in that language what it means in English. Instead it's an expression of "there are people who belong to evil race, sex, or other characteristic woke defines as evil, who's very presence in any position of privilege no matter how well earned is intolerable and therefore any efforts of not trying to subvert this are bad".
And "harm" comes from anything that doesn't actively drive subversion of this status quo.
You're thinking in English. The statement in the OP is made in language of Woke. "Harmful" doesn't mean in that language what it means in English. Instead it's an expression of "there are people who belong to evil race, sex, or other characteristic woke defines as evil, who's very presence in any position of privilege no matter how well earned is intolerable and therefore any efforts of not trying to subvert this are bad".
I've been working to see the dogwhistle the Professor is using, and I gotta admit, his is a pretty good one.
The end giveaway is that no professor would ever tell the world - to paraphrase - "What I am doing is really easy - and we must let the world know that coding is really easy, anyone can do it!"
Unless he was personally, or under departmental orders to deliver a message to get some other groups involved.
This whole easy vs hard thing shows a fundamental misunderstanding of people and their skills and temperaments.
I can code. The process is not that complicated for me. But damn, I don't have the temperament for it. After an hour, I'm ready to tear what's left of my hair out. At my very best, I'll go in and repair or alter something.
But easy? Not even easy for me. Better to leave it to the competent.
But in my own field, Electromagnetics - RF and optical - I cruise along just fine. It's easy for me, while others think I'm some sort of magician, steeped in the black arts.
Skill, ability, and temperament are the touchstones, and in a world of diversity, why so many that ascribe to that diversity don't allow for those differences is beyond me. They seem too fixated on skin color, and who wants to have sex with who or what.
Re:He's wrong (Score:4, Informative)
I knew you consider yourself "Progressive" but when it comes down to it, you are AGAINST IT WHEN IT DIRECTLY AFFECTS YOU.
That would be Robert Conquest's [wikipedia.org] first law of politics: Everyone is conservative about what he knows best.
Programming SHOULD BE hard (Score:2)
Re: (Score:2)
Too expensive and doing the same crap over and over?
Re: (Score:2)
I've been hearing this "it's all the same" criticism of "modern pop music" for 20 years now.
Re: (Score:2)
Perhaps coming from people who grew up in the 80s, when we had music that was both diverse, and awesome.
But, then, older generations critiquing the music of younger generations goes back at least to classical antiquity.
Reality is good coding his hard... (Score:4, Insightful)
... because code is just a tool you use to solve problems. Programming is literally your mental models of the world translated into something a computer can handle. The problem is not that anyone can code, it's that programs are only as good and intelligent as their creators.
Not only that that the space is so vast because it's literally taking human thoughts and approaches to problem solving and trying to automate and compute them. So it's infinitely deep.
This is why people who want to really learn how to code usually force themselves to take all the hard classes either during their early adulthood or later in life because they come to understand that programming is problem solving and for that you'll need mathematics and backgrounds in subjects like algorithms, etc. You can do useful things on your own without advanced education but that usually only applies to people with drive, curiosity and work ethic. Since coding downloads a lot of mental effort onto the programmer when doing things that are non-routine and non trivial.
It's part of the reason most software sucks, because they are only as good as our knowledge and inventions surrounding computing. There are plenty of computing revolutions we won't be around for we're at the beginning of computing historically as a species.
You can sugarcoat it all you like (Score:2)
Re: (Score:2)
"reads-your-mind AI"
That won't help when even you don't know what you want to achieve :)
Re: (Score:2)
Re: (Score:2)
To be fair, I don't think either of them know what they really want. Business certainly doesn't, and because they're the ones formulating the specs (if you can call them that, they are usually not at all formal) which are then turned into programs, programmers don't know either.
Re: (Score:2)
Programming is hard, and it's a fact. It's not a belief. You can use other emotion-soothing words, and that changes nothing. You can promise all the visual editing and "reads-your-mind AI" which makes things easier and that again won't change much, because then you're a user (of shitty software), not a programmer.
As soon as you are using anything as simple as cout() you are using libraries. Learning how to find and use the proper tools for what you want to achieve is the majority of bread-and-butter programming.
Re: (Score:2)
'Good' programming is hard. (Score:2)
There I've fixed for him.
Anyone can be taught to program. Primary school children have learnt for years.
Understanding the problem and producing high quality, bug free, efficient code is a different matter.
Re: (Score:3)
Because there is no strong AI (Score:3)
Programming is hard not because of the language, the mathematics of it, or similar factors (though these do contribute); programming is hard because you're talking to a machine, not a fellow human, and unlike a person, the machine won't assume you meant one thing when you said ~your mother~ another, nor will it ask for clarification, so you need to be super precise in telling it what to do, which leads to the difficulties in algorithmics, which is commonly touted as the reason programming is hard. Programming requires you to be exacting and precise to a fault, something that's not demanded of you in everyday conversation, so it naturally feels taxing and hard to do, forcing you to expend additional brain cycles just to formulate a sentence.
Simply put, if you tell the machine via the command prompt to eat its own disk, it won't question you, it will dutifully eat its own disk.
What language you use has very little bearing on how "hard" you'll find programming, I think. Some may be more conducive by virtue of their syntax, but it's not a "make or break" thing.
Re: (Score:2)
the machine won't assume you meant one thing when you said ~your mother~ another, nor will it ask for clarification, so you need to be super precise in telling it what to do
The exact point of linters, strong type systems, and if one wants to go hardcore, automated theorem proving on code, is to have the machine "ask for clarification". The problem is that lazy programmers prefer to just tell the machine to "do what it thinks" instead of "asking for clarification", that's how you get weak typing and all sorts of strange assumptions. People prefer something that is quick to develop and wrong over something that is slow to develop and right.
Programming is, software engineering is not (Score:2)
But creating a system that fulfills all its written and unwritten!!! requirements is really hard, and despite all the libraries out there, not getting easier.
pretty high hurdle for 'hard' (Score:3, Insightful)
What is the empirical evidence that programming, broadly speaking, is inherently hard, or harder than possible analogs such as calculus in mathematics?
So for something to be 'hard' it has to be harder than calculus. Or brain surgery, or finite element analysis, or mapping the human genome. (Or learning a foreign language perhaps)
Not harder than 'tying shoelaces', or 'opening a door'.
Seems that programming is not hard, for sufficiently difficult values of "hard"
From the article - Supernatural (Score:2)
TFA says:
> Hollywood typecasts embodying the hacker stereotype, staring at screens while 1s and 0s quickly stream by, present programming as a mystical, supernatural ability.
He's not wrong, programming is a lot like magic:
Calculus is hard for most (Score:2)
Arithmetic is taxing for many. Variables just stumps them outright.
Thinking is hard, not programming (Score:2)
Let's first of all define "programming" (Score:2)
Copy/pasting stuff from stackexchange without having the foggiest clue what's going on and tweaking it until it kinda-sorta-maybe works, at least under most circumstances, isn't hard.
It's that understanding bit that is.
But hey, keep telling people that cargo cult programming is ok. I'm in IT security, I call that practice job security. As long as you convince people that they can program because they know how to google their problem, find a snippet of code that does what they want to do and they frankenstei
Re: (Score:2)
Nowadays, that is what recruiters want. 10+ years of experience in React, Angular, Vue, and 15 other frameworks, most of which haven't even been around for 10+ years. But NO requirement to actually understand what these frameworks do, or even of basic HTML, CSS and Javascript.
Making it VERY hard for those of us who do understand to differentiate ourselves.
I do that in part by simply declining opportunities where the framework-of-the-week is listed as a necessary qualification, whereas the core technologie
propaganda (Score:3)
Re: (Score:2)
Whitespace is hard.
Re: (Score:3)
"Hard science" means having clear and well-defined answers, like a hard surface, unlike a soft surface that is flexible and twistable, like "soft sciences" (psychology etc.) where there is often no one testable right answer.
"Hard science" doesn't mean that it's difficult compared to non-hard sciences. Many people out there find hard sciences more difficult than psychology. But many others find the reverse. How many therapists can write a sorting algorithm? How many programmers can talk a suicidal person off
Please make up your mind (Score:4, Insightful)
"Complicated" not "Complex" (Score:4, Interesting)
The challenge of programming is that the language is too elemental to be easily used by human language writers. An analogy I sometimes use to explain this to my non-coding friends is that programming is like painting the Mona Lisa using a box of 64 Crayola crayons: to get that specific shade of blueish greenish red on the edge of her veil, it's 3 medium strokes of Sea Green, 2 hard strokes of Brick Red, 1 light pass of Sky Blue followed by a gentle rubbing of Black then Euro Grey.
So, is painting the Mona Lisa with crayons "hard"? Well, it's complicated -- many small, precise steps that must be combined together exactly in order -- but no, it's not complex -- that is, inherently difficult to understand.
I do think the author is making a valid point about using the term "hard" too loosely. If that scares away people from exploring coding, that's not a good outcome. Instead, we should invite people to give it a go. Who knows, it might be just their cup of tea.
Re:"Complicated" not "Complex" (Score:5, Insightful)
If someone is scared away from an activity or career because someone else said it was hard then they're either know they're not up to it, have no interest in it or are just plain lazy. Either way, they're not the sort of people you want in an endeavour where precision and attention to detail matters,.
Need this for other areas (Score:2)
such as for electricians. Telling young aspiring electricians that a 460V/3P 600 Amp circuit is dangerous is definitely "harmful".
I don't know about you,,, but in college I personally found Donald Knuth's Art of Computer Programming to be easy. Anyone can code the next Google or autonomous driving system!
While we are at it, why don't we say building anti-gravity machines is easy, and it will suddenly become easy. We can finally be free from the constraints of reality!
Programming isn't hard, Programming well is (Score:2)
Someone with zero programming experience can sit down and learn the basics of many beginner languages in hours to a few days. They'll be able to program, but it will still take them years to understand the ins and outs of the language, determining which language is the best fit for a given problem, being able to break down that problem in a logical way and address it effectively, etc. there is also no guarantee that the person will be able to break down and structure a problem in such a way, particularly if
Misses the mark (Score:2)
I don't understand how people who are so intelligent miss the mark on stuff like this.
We we say an activity is 'hard' its a short hand way of saying that its an acquired skill. "Programming" can mean a lot of things. A shell script with a handful of if statements might be programming. I would not say its hard. Just like wood working. Framing a wall, its simple like the shell script you can teach a habitat crew that has never swung a hammer before to do it in a few hours, they won't compete on speed with
Very subjective statement. (Score:2)
Programing is as hard as math! (Score:2)
Most people don't have the specific imagination and critical thinking required to be proficient in advanced math - and most people don't need it !
We should treat coding skills the same.
Read all the essays (Score:2)
Most programming today is done by 18-34 year olds, many self-taught. By 34(ish) most people have burned out of the modern software development world and/or been pushed out by age discrimination. The problem is one needs 30 years of experience in both life and software development, and then to take the time to read Dijkstra's full set of essays (all that have been published anyway), to start to understand what he is getting at. Was/is he right about everything? No. But I see software failure and dysfunction
Similar to another statement (Score:4, Insightful)
I have heard people say say that mathematics is hard and only strange people are good at it. This is more of a fashion statement. Children are then pressured by their peers to be poor at maths. This is just the same thing. The outstandingly dim for some strange reason are trendsetters and seek to persuade others down to their level.
Re: (Score:3)
We propose that there are signs the only about half of the population can ever understand basic algebra [stackexchange.com] i.e., the idea of a variable, no matter how much they try, how many attempts they make, or under what circumstances or help they receive.
Agreed... (Score:3)
We need to stop blaming programming for being hard and focus on making programming more accessible and enjoyable, for everyone.
That is literally what the industry has been doing since the birth of the computer, and is why we constantly invent new (and sometimes even better) programming languages, higher level languages, new language constructs, better tools, etc. We do this because, you know... programming is hard!
What do you call BASIC, Pascal, Visual Basic, VBA, and Python? All of those were ostensibly aimed at making programming easier and more accessible to the masses. What about Logo? What about fluent interfaces? What about domain specific languages? What about Scratch? What about all the no-code stuff? Those are all attempts at making programming easier.
Besides, the difficulty I face every day isn't the syntax or the structure. It's the disconnect between what the user expects a system to do, and what a rational system actually can do. "No, I can't give you a report of cost per kilogram until you tell me how you want to handle the SKUs that we order by the meter."
I'm more concerned about what the author is insinuating. How would "programming is hard" be inequitable? Is the author insinuating that only cisgender white males are capable of doing hard things? Because that's absolute bullshit of the tallest order!
Any work that's any good is hard. If it's easy (Score:2)
oops mistyped (I'm not a great "multitasker") (Score:2)
or maybe (Score:2)
...It's just a figure of speech?
Personally, I suspect that if someone is turned off from doing programming by the simple phrase "programming is hard" then yeah, they really shouldn't consider dedicating their life to writing code?
And there's the racism (Score:3, Insightful)
Except it is. (Score:2)
Some people have the knack, others don't. Programming is like giving an autistic child very clear instructions and realizing that you made a huge fuckup when "clean the dishes" was interpreted as "Wash every single plate in the house". Downplaying the difficulty of a valuable skill in constant demand is harmful, as those without the knack will think far less of their ability to do it.
How many of you had a parent or teacher yelling at you for not being able to do something that's "easy" but you couldn't unde
Programming isn't hard (Score:2)
People are lazy, thinking is hard. That's why computers were invented, so people could think less.
For anyone who likes thinking, programming is fun.
Strawman (Score:2)
Hard AND BORING (Score:2)
Looking only at the HARD aspect of programming makes limited sense. Many kids consider programming to be "hard and boring." Notice, this is not a trade off. When you watch kids play certain video games you realize that "hard" alone is NOT a reason NOT to engage in activities. But if there is no clear return on investment then you have a serious problem. Why should I write a program to compute "boring" prime numbers?
It should not be surprising that there is a gigantic leap from the way, say, "programming" is
Programming is a dynamic multidimentional problem (Score:3)
Programming (or software development) is a dynamic multidimensional problem. It's not hard if you know how to do it.
All you have to be able to do is model a few thousand (or occasionally tens of thousands or more) of things in your head at a time. Simple!
Look at history (Score:2)
For what it's worth, my own conjecture is that it's partly due to something akin to the Peter Principle: software requirements (functional and non-functional) converge to a level of difficulty such that developers are marginally capable of delivering them.
Everything is easy (Score:2)
Everything is easy, to someone who has the aptitude and the determination to acquire the skill and interest in utilizing it.
In my college CS-1 was held in a 700 seat amphitheater. CS-8 was held in a 25 seat classroom.
The students who dropped from CS lacked one or all of those traits
Sheesh enough already (Score:2)
"Cooking is hard" (Score:2)
I don't know what people are going on about. Anyone can cook. Just the other day, I cooked a 12 course meal in 30 minutes. I mean, sure, everybody died after eating it (I forgot that raw chicken and pork should be heated, and not left outside for 3 days), but it was super easy to make.
There's not even any evidence that cooking is hard; after all, there's a million cooking TV shows out there! I saw this one, Molto Mario, where the guy makes fresh pasta in a few minutes while talking to Michael Stipe! He just
Accessibility caused this... (Score:2)
Accessibility caused this in the first place by allowing mediocre talent near it.
Like saying we can fix civil engineering failures such as bridges collapsing by making the work more accessible to more common people.
[Insert Lebowski.gif] (Score:2)
It is always going to be "hard", and should be (Score:2)
In days past, I had to write the text system for a paint application.
Read the Adobe Type 1 font file, find the glyph, parse the data, write the spline routine,
write the flood fill, write one again that worked.. push them pixels... all in assembly.
Now it is just: Display(attributes,"text")
Idiot... (Score:3)
From the article:
More studies need to include a greater diversity of all kinds including but not limited to ability, ethnicity, geographic region, gender identity, native language, race, and socioeconomic background.
Why would any of these properties change the difficulty of programming? The author for sure doesn't give good reasons for why these aspects of diverse humans would make a difference. Yet he calls the idea that coding is hard outdated. What an idiot.
Re: (Score:3)
I don't agree. He doesn't have a point because his 'point' was exactly that these demographic differences are relevant to, specifically, the difficulty of programming.
The man is an idiot.
Re: (Score:2)
I'd be more than content if those who can be documented as having abused their power under color of law were arrested, tried, convicted, and punished according to law.
Which in some cases actually prescribes worse than a beating.
Re:How is it harmful? (Score:4, Insightful)
Whilst I don't disagree with the basic principle, you and I might very well be able to agree that, "becoming a Medical Doctor is hard" and "becoming a lawyer is hard" and so on.
It's tempting to say, "Newsflash: becoming competent in the professional discipline of your choice is hard..."
Re: (Score:3)
Regarding doing stuff wrong . . . and leaving aside the whole PC argument until the end:
You can somehow manage to hire someone capable of doing it "right," and he or she or zhey or lemon popsicle or whatever can do it "right," and make it pass tests, and get it to run in production.
Only it has O(n!) performance, and SQL injection opportunities, and relies on the latest released version of libfoobar.so, and enjoys crapping all over memory it does not own.
So after 10 users it falls over dead.
After that gets f