In all honesty, I don't know why apples fall down and aeroplanes fly up. I just know that they do. No doubt that improving software literacy is a worthwhile goal, but I think the author hasn't made a strong case for it in the opening paragraphs.
In all honesty, I don't know why apples fall down and aeroplanes fly up. I just know that they do. No doubt that improving software literacy is a worthwhile goal, but I think the author hasn't made a strong case for it in the opening paragraphs.
When I drive my car, I just want to get from point A to point B while listening to a podcast. I don't care to know how they work. This doesn't make me enfeebled or ignorant, I would just rather commit my learning cycles elsewhere.
Computers need to be the same. Why would we be so foolish as to think that it's a wrongdoing that people are able to effectively use computers without having any clue about how they function?
Literacy isn't about forcing people to learn things, it's about ensuring that everyone has the baseline exposure to help them discover if they have an interest in a topic, and then the resources to explore that topic if they choose.
And that's what most people have a problem with - except for some hard sciences, they never needed to formulate their thought that way.
That sounds hilariously naive. If we'd let people decide themselves what they want to learn the majority would still be in the sandbox making castles and playing with toys all day.
Of course the question this leads to is "what is thr basic level of understanding that people should have in any given topic"?
For example, I learned some basic mathematics, physics, chemistry, biology, history, geography, etc in school. Until I got to university, what I learned wasn't enough to make me a mathematician, physicist, chemist etc. It did give me a baseline on which I could build and it gave me exposure. This exposure was forced on me, but what I did with it (a computer science degree and a programming career), was something that was left up to me to choose later.
I see computers/software the same way. Its common enough in day to day lives now that I think a baseline of computer literacy and some basic exposure should be required and afterwards the students can choose if they wish to explore more or not.
The exposure doesn't necessarily have to prep them for real work (I'm pretty sure dissecting a frog isn't going to prepare me for veterinary work...), just give them a taste of how things work.
Yet, you've spent months explicitly training for that task.
The problem with this pitch is that it doesn't understand the distinction.
By a lot of people's standards, I am a scientist (just not a domain scientist). I spend my life understanding how things work and figuring out ways to further our understanding of those. It is great. If you ask me about how a computer works, I can talk for hours. Physical phenomena? Minutes. Biology? I can make a crude joke
As for a car? I vaguely understand the principles of a combustion engine, but I couldn't for the life of me make one. My understanding is "You get gas into the engine. You light it with a spark plug. It bursts into flames which moves a piston which moves a crank which moves a bunch of gears and eventually moves wheels". I don't know anything beyond that
Hell, another good example is in the realm of video games. Kerbal Space Program is awesome and does a great job of making people remember why they learned physics. But engines are a black box for the vast majority of us and you genuinely don't need to understand how the fuel gets to the thruster or what happens. It is just a black box where fuel goes in one end and fire comes out the other, with fire generating delta V.
And same here. Most people don't need to know WHY an apple falls. They just have to know that stuff will fall. Whereas the physicists and funky table makers DO have to understand why the apple falls and how it can be stopped.
Remember, one of the key aspects of OO is hiding implementation details because they shouldn't matter. This fascination with exposing them and forcing them on end users is absurd.
We have to accept that some tasks and jobs are not for everyone and that's okay. That could be due to aptitude, skill gaps, education gaps, interest, or dozens of other things, some due to education system, some due to abilities of the individual.. and that's still okay.
But I do very much agree that using a computer should not require any idea about how they function. But that's for using a computer like a tool. For me, computers are not mere tools but a medium. So what you wanna do is to express yourself with computers. And for that you need to know how to do it.
In general, this level of hyperbole puts me off. Besides anything else, this sentence is outright false, since much software can be changed, combined, and trusted. I know it's a manifesto, but still, this kind of rhetoric is unlikely to persuade people who don't already agree with you.
The issues you are discussing in this manifesto are not new, and many people have attempted to create tools to tackle those things before. Perhaps try to clarify why you think those tools fall short, in order to persuade people that zells is useful.
I started to creat a comparison of other platforms. Let me know what platforms you think are missing or where I am misjudging some. https://cdn.rawgit.com/zells/core/master/comparison.html
The problems usually only start when it's the other way around.