4 ms·
I agree with the original poster. Until now, when coding intersects with other fields, the approach has been for someone skilled in coding to come up-to-speed o
by curun1r 12y ago
I agree with the original poster. Until now, when coding intersects with other fields, the approach has been for someone skilled in coding to come up-to-speed on whatever field needs automation. In the course of my career, I've had to learn to basically be an appraiser, employee benefits broker, pharmacist, dentist and auto mechanic. And while I learned a lot about these fields, there's no way that I can know these fields as in-depth as someone trained to do that actual work. This pattern is unsustainable and leads to software that is superficial and never truly meets the needs of the domain. But as we create more and more abstractions between programmers and the underlying hardware, coding will become more accessible to people with less background in software development and the desired balance between domain knowledge and programming knowledge will shift away from coding ability.
There will always be a need for people who understand computer science, but those engineers will be like compiler engineers or hardware engineers are today...enabling a much larger group of programmers to produce the software that provides value to users. And as we're able to provide improved layers of abstraction to make software development easier, we'll see computing become more accessible to more programmers who will build software with a much richer understanding of the domain.
So I'm torn about initiatives like this. I see coding as the new literacy...it will be a skill required by almost every professional who is an expert in his or her domain. But they won't be coding in today's languages and coding will be significantly easier than it is today. So we need to find a way to teach children to develop using tomorrow's tools today. And that means extracting the part of programming in today's languages that is intrinsic to programming while doing our best to avoid the part of coding that is just pain inflicted by today's limited abstractions. That separation may be difficult (or even impossible) to achieve, but that doesn't mean we should try. Because anyone who doesn't learn how to instruct a computer to accomplish tasks is going to be automated out of a job (https://www.youtube.com/watch?v=7Pq-S557XQU https://www.youtube.com/watch?v=7Pq-S557XQU)
- grayclhn 12y ago> I see coding as the new literacy...it will be a skill required by almost every professional who is an expert in his or her domain. That is an extremely unusual definition of "literacy." "Coding is the new literacy" implies that coding will be necessary for anyone who wants to interact with modern life, not just for experts. Imagine trying to use the freeway system if you could not actually read streetsigns, for example. i.e. if you were illiterate.
- curun1r 12y ago> implies that coding will be necessary for anyone who wants to interact with modern life, not just for experts. That's the whole point. Computers and robots are creating a world in which there really isn't room for anyone who isn't an expert. We've already automated the low-hanging fruit...we've got a fraction of the manufacturing jobs because computers and machines can do that work faster, cheaper and more effectively. Google and such are working on less low-hanging fruit (people who drive automobiles for a living, lawyers...there's a bunch of examples in that youtube clip). That bar for offering utility beyond what can be automated is steadily rising. If you're not an expert in something, you're going to be pretty useless in the world we're creating.