10 ms·
Coding is not the new literacy
- desdiv 12y agoPrevious discussion from a month ago: https://news.ycombinator.com/item?id=8947603 https://news.ycombinator.com/item?id=8947603
- dkarapetyan 12y agoTeaching systems thinking is hard. Even higher institutions of education haven't figured out how to teach it properly and they are in the business of teaching stuff. Sprinkling computational magic dust over it will not help.
- deleted 12y ago[deleted]
- TeMPOraL 12y agoComputational magic dust has this magic(!) feature that you can't pretend you understand anymore - if you're stupid about your model, it just won't work, period. Machines are unforgiving, and they only give you absolutely honest feedback.
- quikoa 12y agoOn a syntax/grammar level the compiler is very strict. For plenty of interesting problems you can often get away with stupid/buggy models. Not that it's usually a good idea...
- TeMPOraL 12y agoWell, it usually quickly comes around to bite you in the ass. That's the cool thing about computers - quick and honest feedback.
- rjbwork 12y agoI agree wholeheartedly. We have some QA folks at work. Our best is a former database programmer from way back in the day, and she has a REALLY good "systems way of thinking" and has a mental model of how things work and are united conceptually. This ability, her "systems way of thinking" sets her far and away above every other QA person I've ever worked with. Being able to come up with a mental model of a system and encode it, either in code or as a document or description is truly valuable in today's increasingly complex and nuanced world.
- Animats 12y agoWhen you get to the end of the article, it turns out that they're building the next generation of Visual Basic. That's not a fundamentally bad idea. It's also interesting that they focus on modeling and simulation. That's what Alan Kay thought personal computers were going to be for. But all we got is the VisiCalc/Lotus/Excel world. That's useful, but limited. The problem with visual programming languages has usually been that they don't scale. You end up with a huge collection of lines and boxes. (For a good example, find a game implemented with Blender's game engine and open up the wiring diagram.) They have a chance of solving that problem, because program interconnection has made some progress since the days of Hypercard and UNIX pipes. There are a lot of line-and-box programming systems in domain-specific areas. LabView, for industrial and research control systems, is one of the most successful. But no one has yet solved the scaling problem. On larger problems, things just get too tangled.
- CmonDev 12y agoIt's just his business, he wants to keep making IDEs with a visual aspect to them, so he has to produce posts like this to justify it to the investors. Would be great if he finished the previous one before starting the new one though. Finishing is a skill mankind would benefit from even more: http://makegames.tumblr.com/post/1136623767/finishing-a-game http://makegames.tumblr.com/post/1136623767/finishing-a-game
- zubairq 12y agoHis last project was LightTable, and provided huge value to people. Can I ask if you ever even used it?
- pjmlp 12y agoI hope they get the next generation of Smalltalk/Lisp Machines. We need to have coding systems like Wolfram|Alpha being mainstream, not Visual Basic.
- LoSboccacc 12y agoproblem is, the hard part is not coding, the hard part is transforming requirements and workflows into logical structure a computer can understand. that's the bottleneck, whatever the language. the new literacy would be not just to see a lego construction and understand the pieces involved, but to see the final construction and to be able to recover the build instructions by sheer mind gymnastic.
- TeMPOraL 12y agoI have to partially disagree with Chris here on two aspects. First of all, programming indeed seems to be a fundamental thing, on the level of reading, writing and arithmetics. It gives you new classes of mental tools that allow you to think thoughts previously unthinkable. People sometimes say it's very arrogant of some programmers to think they have something important to say in fields of biology, physics, philosophy, etc. But it's not arrogance. There are important insights in CS shining light on every other branch of science that are often noticed by people related to programming and CS fields because no one else is trained to think in this fundamental new way. But I strongly agree with Chris on one thing here - this is not what you get in those "Teach Children to Code" programs. Those will teach you how to become a frontend developer in a year and earn good money, which honestly doesn't require you to think at all. It's a trained-monkey level thing. They took what was supposed to be an idea about education and turned it into something that's about money and career. I think Bret Victor did the best summary of why current "teach kids to code" movement is just total bullshit. http://worrydream.com/MeanwhileAtCodeOrg/ http://worrydream.com/MeanwhileAtCodeOrg/ Second - modeling. I agree with the sentiment that it's modeling that's (one of) fundamental thing(s). But it can't just be any modeling. Because typical "modeling" of today is that diagram your chief marketer drew on a whiteboard that conveys exactly zero knowledge (or even negative knowledge, if you count in confusion it caused). Typical "modeling" gets you UML diagrams, which we all know are most useful as padding at the bottom of the trash can, so there's something to absorb coffee from the cup that you just have thrown away. The modeling that programming is about is careful and very precise expression of concepts. It's like that saying goes - "if you want to really understand something, teach it to someone; but if you want to really, really comprehend it, teach a computer to do it". Computers are unforgiving - either you exactly understand what you're doing and can express it precisely, or it doesn't work. There's no room for error or hand-waving around difficult concepts that people do when explaining things to one another. So modeling may be the new literacy, but this must be careful and precise modeling.
- nickstefan12 12y agonon trivial front end stuff does involve systems modeling in the sense mentioned in the article. Just saying ;)
- nickstefan12 12y ago> There are a number of tools that already help us do this - from Matlab to Quartz Composer - but Excel is unquestionably the king. Through Excel we can model any system that we can represent as numbers on a grid, which it turns out, is a lot of them. We have modeled everything from entire businesses to markets to family vacations. Millions of people are able to use spreadsheets to model aspects of their lives and it could be argued that, outside of the Internet, it's the single most important tool available to us on a computer. It gains this power by providing a simple and intuitive set of tools for shaping just one material: a grid of numbers. If we want to work with more than that, however, we have to code. The idea that the entire average joe population needs more than excel has never sounded quite right to me. Anything closer to "real" programming and I think we're asking people to devote too much of their time to something that looks like software developing. I Just honesty think not everyone has the demeanor to enjoy programming. It's a very introverted, abstract, high focus, and high patience endevour.
- TuringTest 12y agoIndeed, Excel is close to perfect for the purpose of building data abstractions in an intuitive way. The only part I find lacking is for building behavior abstractions which allowed users to build semi-automated workflows by changing views of data on the fly; to change presentation, Excel still requires you change languages and resort to imperative programming in Visual Basic, much like Hypercard. A tool that combined Excel's functional data-flow programming with Hypercard's representation of state (as a stack of panels that change depending on the execution of small attached functions) would IMHO provide a general programming tool for end users.
- david927 12y agoIf you have time, could you take a look at this project I'm working on? https://vimeo.com/107069470 https://vimeo.com/107069470 I would relish feedback.
- TuringTest 12y agoI'll have to take a closer look at your video, but from a first glance I'd say you're firmly in the right direction. Spreadsheets "declarative-reactive" execution model is a solid base for end-user development environments, and some features (like "attribute chaining", if it is what I think it is, and allowing users to build data structures as attribute collections on tables) match what I have in mind for my ideal "live modeling" programming environment. Do you have a place where you document your design ideas (in addition to this video) and share the code of Kaya? On which language is it coded? I'd love to study how you've built the running environment.
- facepalm 12y agoPersonally, I wish there was a "everybody should know how to design" movement. Then instead of coding tutorials I don't need, there would be tutorials for designing available. There are some articles about typography, but it seems very hard to learn graphics design in general (on your own). I feel much more held back by my lack of design skills. And I think it's much more important to being successful in life. It starts with presenting yourself (design your CV, website, letters, mails, ideas, power point presentations). But even if you want to create an internet startup: the backbone technology is pretty much interchangeable. Java/Ruby/badly strung together bash scripts/whatever. The visuals and UI matter much more.
- hessenwolf 12y agoI couldn't agree with you more. I have been working on trying to get some skills therein. I paste the notes from my personal expertise board. Graphic Design: Relationship Transition Layering Principles of Design: Repetition Opposition: Excitement and tension. Too much is bad. Particularly thick and thin lines in logos. Priority: The order of the items. Position: Use a grid. Divide in twos and connect corners diagonally. Attributes of Design: Balance: Arrangements so that elements equal each other, not overpowering each other. Can balance objects with each other or whitespace with objects. Emphasis and Contrast: too little is boring, too much irritating. Plain text with bold or underline in small quantities works. Rhythm: regular movemet, reduce line spacing or tighten words to increase speed. You can increase the line height, but too much and the eye has trouble finding the next point. The rhythm should fade out, and not end abrubtly. Position: Grid Choices http://www.troytempleman.com/2010/04/30/grids-in-graphic-design/ http://www.troytempleman.com/2010/04/30/grids-in-graphic-des... Rule of Thirds Golden Ratio Columns Baseline Grid http://www.markboulton.co.uk/journal/five-simple-steps-to-designing-grid-systems-part-1 http://www.markboulton.co.uk/journal/five-simple-steps-to-de... Start with a symmetric plus, and then use 1.414 ratios to create smaller sections with margins.
- TeMPOraL 12y agoThat's not what the "learn to code" movement was supposed to be about (though that's what it is about now). What you're suggesting now is again "how to get rich", but in the marketing version instead of webdev one ;). I get why learning how to sell yourself well is important for being (financially) successful, but it does not make you smarter, which was the original point.
- Terr_ 12y ago"No... but it might be the new numeracy." Especially with all the tools people have to do raw calculations for them (hardware or software calculators, spreadsheet, equation solvers) the coding "benefit for people who won't continue it professionally" is similar to math education. In both cases, the takeaway involves establishing certain critical-thinking skills, for creating mental models of a real or desired thing, trying to break that model down into solvable chunks, recognizing chunks you already know how to solve, and building upwards again.
- TeMPOraL 12y agoIndeed. You don't learn arithmetics to do the work calculators are better suited for, you learn it to understand the concept of quantities and their behaviour. You don't learn calculus to solve integrals by hand, you do it to get a feel of how dynamic and interdependent systems behave. And similarly, the takeaway from general programming education should be additional mental tools enabling you to think new thoughts and understand all kinds of systems better.
- cm2187 12y agoI think computer science has more to do with engineering than science. Like learning Latin, learning computer science has some side benefits in term of learning rigor, logic, etc. But that should not be a primary motivation.
- noelwelsh 12y agoThe piece argues that "[c]oding, like writing, is a mechanical act". It's certainly not the intent of the learn to code movement to teach typing skills! This statement seems to grossly misrepresent what people mean when they say "learn to code". To learn to code is to learn to model systems. Programs are built from components -- abstractions -- and good programmers know a wide variety of abstractions and understand how to combine them to achieve the desired effect. A good program is one that accurately models the phenomena of interest, whether that phenomena is something as simple as "display the user's profile" or a complex simulation like a game. Now I would agree that many of the current curriculums are terrible, and teach no great insight into modelling. But that is the fault of the curriculum designers -- often people who have neither great experience in teaching or in programming. That doesn't mean there isn't good work being done, such as the Program by Design team (http://www.programbydesign.org/ http://www.programbydesign.org/). In short, I think the blog post builds a straw man argument. I agree it absolutely belts crap out of that straw man, but that is beside the point.
- puranjay 12y agoEnglish major here. I'm currently learning how to code as part of a bootcamp called (surprise surprise) "Coding is the New Literacy". One of the things this program hammers in early is fundamental programming principles like OOP. A lot of MOOCs skirt around these topics, forcing you to 'build' non-functional apps first. I've taken those courses and learned nothing of real value. This program, where I've been forced to learn algorithms, OOP, etc. has been of much higher value. It's been harder, but I feel like I'm actually learning the fundamental principles of programming. I'll echo your sentiments: to learn how to program is to learn how to model systems.
- acron0 12y agoI am trying to read between the lines of your comment and I _think_ you get this but I'm going to spell it out anyway: "...fundamental programming principles like OOP." The key word here is "like". OOP is actually falling out of favor as a successful way to express models. Make sure you investigate alternatives to OOP (functional, procedural etc). As a graduate of OOP myself, it's interesting and exciting to approach different paradigms. Experience tells me that the best practices obsess over what things "do" rather than what things "are" (which is a fluffy concept at best). Anyway, tit for tat, YMMV. Glad you're doing something though.
- deleted 12y ago[deleted]
- dtrain3000 12y agoYes. And you're talking about design, in the sense that modeling is a form of design, and also the design of computers and the supporting OS's we have today. To put the above into perspective, imagine how you would design the entire computing environment for the common man if you could start over and design it from scratch. Much of the literacy barrier is due to the fact that our systems are hangovers from 25 or 50 years ago.
- logicallee 12y agoIn front of you is an apparatus that can do a trillion operations for you in the time it takes your microwave to bring a cup of water to a boil.[1] But whereas entering how long you want your microwave to heat its contents is trivial, programming your CPU and GPU to do anything at all makes you about as qualified as someone who holds an undergraduate degree in the field of computing[2]. Like a priest at a time when hardly anyone could read and write, and being lettered itself was a distinction, anyone who can get their computer to do anything at all (i.e. to program it) has a rarified ability. Why is the analogy with literacy a good one: because you must communicate your intentions to the computer in writing. That is how you program. Yes, we have frameworks and models and API's and all sorts of helpful protocols and formulae to help you communicate with your PC and give you a mental framework. But at the end of the day, you are asking a machine to do something. And you're doing so in writing. The rest is literally formalities. [1] assuming dual-core desktop CPU stepping up to 2.7 GHz and mobile-class GPU or better; iPad 4 or iPhone 5S GPU capable of 76 GLFOPS or better; 700 watt microwave capable of boiling 1 cup of water in 1 minute and 30 seconds. [2] CS undergraduate degree does not guarantee that a candidate can program their PC.
- fizixer 12y ago- Coding is not the new literacy. - Neither is modeling. - Neither is externalizing mental models or whatever. It's not the human obligation to become more and more creative and resourceful, when less creative activities become less and less valuable, and fail to help earn a living. The author of this article claims that people are missing the point. He's right. But he's missing the point as well, or at least arriving at a very wrong conclusion. We're at a cusp of a very very strange era. This is the era where humans, and the capacity of human intellect, is approaching obsolescence. And the solution is not to train everyone to become like Einstein or, in this case, Knuth, or Steele, or Torvalds, or whatever. "There can only be so many people in the entertainment industry" as Aubrey de Grey puts it. Similarly, there can only be so many people in the "coding industry". These people are missing a key property of coding: Coding eats itself! Or as Andreessen puts it "Software is eating the world". Meaning, coding by virtue of it happening, ends up automating aspects of itself, to the point where, a small kernel of information processing is able to carry out vast amounts of informational activity, as opposed to requiring a vast number of coders as those not familiar with coding tend to believe. And this trend of automation will keep on increasing, giving rise to more and more serious technological unemployment, all the way to the logical conclusion of technological singularity. The sooner the "people in charge" realize this bitter truth, the better it would be for everyone.
- ObviousScience 12y agoYou admit that computer and software are eating the world, but come to the conclusion that it's useless to teach people to speak to them at a basic level. I'm not sure I follow your argument. We don't teach literacy because we expect people to be professional writers, but rather, that because the written word is a basic means of communicating with each other and the world around them -- we're having this very discussion through the power of literacy, even. In what way do you think people advocating teaching programming mean in any other sense? When I advocate teaching programming to people, I don't envision a world full of software developers, I imagine a world full of slightly more informed software users. People who can interact with the Googles of the world by writing a sentence (or even a Boolean expression!) using correct logic or who can write a small Javascript snippet to automate a simple task like highlighting certain things on a webpage or who can write a simple Python script to get a rough approximation about how some numbers work. Further, having even a tiny basis in computers - like the level of mathematics we teach in high school (on average) - gives me a basis as a professional to explain how things like Facebook work in a way that I can't now. It's much in a similar way to how once people know what a variable and a function is, I can explain more advanced math concepts using those ideas -- in a way that I couldn't if I had to start at the very beginning with "this is a number". So again, I'm not sure I follow your argument: if software is eating the world, why wouldn't we teach people to speak basic software in addition to basic spoken language?
- lohengramm 12y agoAll this discussion remembers me of Brian Kernighan [1] mentioning that Dennis Ritchie was also a good writer (besides a good programmer). Also, Jamie Zawinski (jwz), somewhere in the book Coders at Work [2], while questioned by the author, points out a feeling of mental connection between programming and writing. I am with those guys in the sense that programming is just like writing anything else. Even in the most trivial cases, you actually think (or could have done it) before putting down a word or two. And you often come back to erase and make it better. So, teaching how to program is also teach how to "build models". [1] http://youtu.be/uxtKwJZbYr0 http://youtu.be/uxtKwJZbYr0 [2] http://www.codersatwork.com/ http://www.codersatwork.com/
- seanmcdirmid 12y agoWriting is much more difficult than programming. With programming, I just have to get the program to work, the computer checks my BS by not doing the right thing; I can't lie to it. With writing, I can easily delude myself and it takes extra mental effort or external review to check prose.
- lohengramm 12y agoYou can use the computer to check whether you are doing the right thing by trying it out, but the computer will not tell you whether your program is organized in the best possible way, whether it is to be considered beautiful or not, or even, sometimes, whether it is efficient enough. To achieve all these points you really have to think, and it is just like building anything else, from texts to mechanical devices. Of course, its not abstract modeling; there is a necessary amount of technical knowledge to it, but so there is with anything else.
- seanmcdirmid 12y agoYou are in a dance with the computer, there is a reliable feedback loop if you want to test or do perf, there is a truth to it. But with writing, you might not get any feedback at all, or very little. Building things is quite different from communicating.
- Nursie 12y agoThe world runs on software now. Gaining a basic insight into what's going on, at a relatively early age, is important if we want people to gain an understanding of the world around them. Not everyone has to become an expert, but a modern education system at least ought to introduce people to it.
- ntoshev 12y agoThe author explained a very useful analogy (reading : comprehension = writing : composition = coding : modelling) but didn't push it as far as he should. The important thing about coding as modelling is that the results are not just external to the author's head, they are formal models that automatically infer or do things. The other way to do that - in one's head and via his actions - simply doesn't scale beyond a point. Historically the ways people scale such models are human organisations. That's why IT is so exciting today: not only it helps an individual think, it helps groups organize at scale that wasn't practical before because of the friction inherent in implementing formal models in people's heads.
- tyrfing 12y agoI think it's something a bit more basic - logic. Learning programming teaches logic, because the computer will find every logical shortcoming in what you tried to express. Natural language is the bread and butter of our every day existence, and it is a veritable swiss cheese of logic. Most people won't hear your argument and notice the unfounded assumption that destroys the whole thing, but a compiler will. Most people won't notice if you leave some of what you say implicit, but your compiler will. Something I've noticed over the years is that people, in general, are just not good at logic. Very few things teach it, the few that explicitly cover it like symbolic and formal logic classes are arcane, scary corners of the educational system. Logic doesn't win arguments, it doesn't get you laid, it generally doesn't help you interact with other people. It does teach you to think, but like deodorant, nobody knows they need it until they already have it. So, start small. Teach logic, teach people to think, teach them the very fundamental underpinnings of programming. Programming is then just another way for people to express what they already know, like learning a foreign language rather than learning language in the first place. I think most people saying "teach them to program!", at least the ones I've seen calling out the "it teaches you a new way to think" part, actually mean logic in general.
- TeMPOraL 12y agoI personally don't mean just logic when advocating that programming "teaches you a new way to think". Sure, there's logic. There's a skill of very precise and clear thinking on multiple levels of abstraction simultanously that you need to write code that works. But there is more! There's that feeling and understanding of basic units of computation. And I mean computation in the general, mathematical sense. Then there's the ability to express your will in terms of those computation units. And understanding how computation transforms information on an elemental level. This gives you new abilities - like, being able to automate a repetitive process. Or understanding how one thing can influence another via information. Or understanding what is feasible and what not based on computational complexity. For instance, it's hard to explain to non-programmers (and even some programmers!) just how much you can infer from information they leave on Facebook - because most people lack the neccessary mental models to even talk about it. And having them is increasingly important in comprehending the technological world around us.
- dschiptsov 12y agoOh, this thread again.) There is almost no relation between knowing a language (vocabulary and grammar) and the ability to write, say, 1984 or Zen and Art of Motorcycle Maintenance. It requires a different set of skills (explained, btw, in the Pirsig's book). The "new literacy" is, basically, a "model extraction" - ability to understand the principles form the emerged phenomena on the go. It is about learning new skills on the go - you need to perform some data analysis - well, just pick up the required skills (it is not that hard, by the way). Again, coding is not programming. These two are different skills. Programming is an engineering discipline. Coding is a translation skill. To be a translator one have to know the languages, but this is not nearly enough to be a writer (an inventor). A typist, who is literate enough to be able to make a carbon copy of someone's else fine poetry is usually incapable to write her own (neither are the guys who study literature). To put it another way - "to know C" is not enough to write nginx or redis. It is not about languages (well, almost - a language that fits the task best is a requirement), the way a "good idea" could be expressed in any language.
- calinet6 12y ago+1 for reading Zen and the Art of Motorcycle Maintenance on this topic. He delves into great depth on the intersection of technology and humanity and the way people look at both. It is incredibly thought provoking.
- cm2187 12y agoI think that coding is the last chapter of a computer litteracy education. Kids should learn to: - type with a keyboard - understand how a computer works: cpu, ram, disks, etc - understand softwares, OS, security - understand internet, html, ssl certificates - use office/office style softwares - basic programming skills in an easy language Computers are here to stay and will be an everyday technology like cars and electricity. Kids have to learn thermodynamics and electricity at school not because they will all become physicists or engineers, but because they need a basic understanding of what they will be exposed to their whole life.
- patsplat 12y agoIt's the new middle management.
- itsbits 12y agoThere are lot of guys who don't code. And there are lot of guys who code but dont exactly know what are they coding. If you remove all these combinations, Coding literacy is very less.
- parasubvert 12y agoInteresting. These sorts of headlines bug me, in that they reject computation itself as a novel medium of expression or externalizations of mental models. I think modeling is very important, but Chris seems confused on how to reason about education. The core message, that we want children with higher levels of cognition than mere factual knowledge, is good, but rather obvious. His core conclusion that we don't want a generation of people caring about code has nothing to do with this, and is very misguided. This basically rejects computation as an expressive medium outright in favor of the usual writing and mathematics ("writers and accountants"), rather than recognizing computation's new role in society and new jobs that leverage it (business analyst with his Excel macros, quantitative analyst or data scientist with his combination of statistics and scripting, software engineers, test engineers, architects). It's almost like Chris took Bloom's taxonomy (not actually a taxonomy, but useful) http://en.m.wikipedia.org/wiki/Bloom's_taxonomy http://en.m.wikipedia.org/wiki/Bloom's_taxonomy of cognition and decided that the foundational element - knowledge - basic reading, writing, coding, math, and facts - is irrelevant. This is not irrelevant, it is the foundation on which we build comprehension, then application, then analysis, synthesis, and evaluation. This he calls specification, exploration, validation, and debugging. Good luck teaching someone how to apply a model, let along synthesize one, when they can't do the basics of expression. This gets into the philosophy of education, and perhaps this article is just a reflection of the current trend away from rote learning, but this is an active debate, not settled science. This trend may lead to some bizarre outcomes: I see 15 year olds that can't read a wall clock or understand basic techniques around fractions, though they can describe and do basic reasoning about them. Secondly, I believe coding itself is a fundamentally new area of knowledge, and every debate about "coding is the new literacy" really comes down to whether you believe this or reject it. Rather than convince you, all I can do is quote from the preface of SICP http://mitpress.mit.edu/sicp/front/node3.html http://mitpress.mit.edu/sicp/front/node3.html, one of the great examples of computing pedagogy we have: 'Underlying our approach to this subject is our conviction that "computer science" is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think. The essence of this change is the emergence of what might best be called procedural epistemology the study of the structure of knowledge from an imperative point of view, as opposed to the more declarative point of view taken by classical mathematical subjects. Mathematics provides a framework for dealing precisely with notions of "what is." Computation provides a framework for dealing precisely with notions of "how to."' Yes, modeling is important - it's a a higher level of cognitive reasoning. We still should teach kids to code.
- humbertomn 12y agoNot everyone needs to be coding since they are 10 and end end up as a top software engineer in some hot tech startup. But I definitely agree that basic programming and database skills would be beneficial to almost everyone following any professional career. Take my mom as an example: she's a very skilled doctor working with kidney transplant in Brazil. There are lots of software programs written to help them, but she's always ahead of time and trying to do some magic with the massive data she has access to, playing with graphs and spreadsheets.... and I sometimes (little time) help her to put some little tool up.. I can only imagine where her ideas would be if she had basic programming skills...
- thebouv 12y agoImproving the nation's overall STEM skills is more important than just trying to focus on programming. Programming is not the hard part -- planning, deducing, structuring, hypothesizing, analyzing and so on. Programming is just one way to apply those skills.
- nightski 12y agoSure but any STEM major is going to be interacting with computers to a significant degree. It helps significantly to understand them. Maybe not to the same level as a developer on HN, but at least to know how software works and the fundamentals of programming/controlling the machine.
- stefanix 12y agoGood article. I am not sure the difference between modeling and coding/programming needs to be made as there is not really any significant coding without modeling. It's a bit like saying pilots are airplane takeoff/landing operators because enroute flying is the trivial part.