Teach kids to farm, not code.
kimburgess.info
kimburgess.info
Why such a desperate trend to make everyone grow their own food again? Sure, the food industry is not always honest,not always as good as your own home-grown food, but still - it allowed us to do something else with our lives, and pushed our societies an order of magnitude ahead.
As much as people should APPRECIATE farming, I don't think that everyone should do it. We produce enough food as it is. We should teach kids how to code however, not because we need more programmers(which we do,but I digress) - but because it's the easiest way to introduce kids to logical, technical-like thinking. That way we can have more mathematicians, physicists, astronomers, engineers - people who we can afford to keep alive(almost literally) because they do not need to grown their own food anymore! They can sit at their desks for the whole day, thinking how to make the world better, instead of looking at how the crops grow.
I would say - why not give kids both? Is it too much to ask? Show them how vegetables are grown, how animals are cared for and how are they slaughtered, but at the same time, yes, please teach them how to code.
I do think that today's kids would benefit not only from knowing a thing or two about how to raise some food (very different from actual "farming") and also from having much more contact with the natural world.
I also think that many kids would benefit from learning the "art" side of programming - the stuff that's fun and interesting, like solving puzzles, appreciation of the hard-to-define idea of elegance, reverse engineering, etc. Nothing else I've learned to do has had quite the impact on my ability to consider many angles in a situation and reason a way to get from one state to another, and at least for me it's been a fun process to learn it all.
My real complaint when anybody says "Everybody should have to learn X," is that I think it should be "Everybody should have a chance to learn X." Coding was the best path for me to learn to think about complex, abstract things and apply that thinking to the real world (including farming). For others, it may not be so.
From my own experience, try Assembly or Ook, they're both more geared towards mammals. Haskell is for communicating with machinery, that's your mistake right there ;)
On another note, what I found when working land is that time flies by, you can zone out just as easily ploughing a chunk of land as you can while writing code. And it's inspiring. Another thing that it shows you is how much wildlife there is on an otherwise visually empty piece of land.
The skills are definitely transferrable , particularly time and planning skills. Mathematics and engineering skills are almost vital for success as well.
However the most important things it gives me are peace, tranquility and space to think. I can go for a wander and come back with a fully modelled system and some potatoes :)
All skills gained are valuable in an uncertain future.
Look at me exercising a form of conspicuous consumption (the time of a highly educated profeasional) that my class and culture peers think are praiseworthy. Let me say everyone should indulge in my hobby. Let's look down on those who don't together.
Some of us, myself included consider it to be a valuable skill in an unstable world and some insurance against the fuckwits we have to trust in society.
Also the stuff tastes better.
Because most of them have no idea just how grim the life of a subsistence peasant farmer really is, and how that differs from the lucky few who get to sell boutique "organic" produce to rich people.
You could say the same about oil rig workers or coal miners and they are going to use both coal and oil when they grow up. Should we teach kids how to do these professions too? Where should we stop? There's many "grim" professions, things that need to be done in life, yet school kids are usually shown none of them. So what?
I don't think people should have to be subsistence peasant farmers.
Farmers in developed western countries probably have it worse. Supermarkets have driven prices down to ridiculous levels, so the profit of, for example, dairy farmers is very low. There are reasons the suicide rates in rural areas is high.
Economists tell us the "developing countries" will never actually develop until rich countries stop subsidizing their agriculture. Those folks in developing countries are stuck.
Because people forgot in a hanfdul of years (that's what it is, compared to the span of human history) what was slowly learned over the course of centuries and millennia. And the result? That kids nowadays almost think that foods magically pops out from the shelf at the supermarket.
Specialization (in the sense that nobody does everything, everyone does his small part) is definitely good, unless you forget what everything is about and depend on others too much.
Nobody expect people to go back to farming, but at least to know how is done. You never know.
Yet for some reason it matters where my food comes from? Really, why?
My wife just the last few years started to grow some food in our backyard and at one point we had chickens, granted our family would not survive on the small crop we gathered or the few eggs we got but seeing our kids (and ourselves) learn what it takes to grow a tomato or a carrot is priceless. Seeing our kids wake up in the morning and take the time to check on the seed they planted or go out to the yard and get their own lettuce and cilantro for their sandwich is priceless. Have our kids see the chicks we bought into full grown chickens and learn where the eggs come is priceless.
We don't expect our kids to become farmers, heck we don't expect us to become a full farming family but it has been great to share moments as a family and learn in the process. It is ok for us to go out to a restaurant once in a while and for a moment not care where the food came from or where our leftovers will end up at.
They don't try to see behind the scenes and so they just appreciate the game and nothing more.
As a software engineer with whatever limited knowledge I have about those things, I'm able to appreciate the game at even more levels. When I see a perfectly flowing graphic I wonder how the coding was done and how much effort the developers put in for creating it or how did they even come up with such a use case.
Or take the case of movies. Once you start understanding about the planning that goes behind the scenes and how such a great movie was made, you start to appreciate it even more. Whey did they keep the camera there ? Wow, they could have changed the lighting to this corner....
Same with life. The more you understand, the better you appreciate it.
fair enough. "learn farming" is not necessarily the next logical step though.
http://www.zerohedge.com/sites/default/files/images/user5/im...
Farming today has to be a large scale, highly studied and high-yielding enterprise. There's lots of room for improvement, but very little benefit to it on a microscopic scale (put seeds in ground, water, hope they grow).
Plenty of people are starving today even probably less than a mile away from anyone eating well.
The system does not serve everyone equally and ultimately we may all suffer one day.
We're 3 days from no food at any time.
I will add that it causes big problems when decision makers have no clue where stuff comes from, what the world's limits are, etc.
Coding only makes you better micro managers, "thinking of efficient ways to make idiots do things you like".
Also teaching agriculture or other physical goods producing craftsmanship to kids would make them better at real world challenges. Modern society seems to be run by digital arts but it's just an illusion of how we live.
Yes,but not for kids. You won't teach any of these subjects to kids, even if they are better for logical thinking. But if you show them an interesting way to start programming,they will see a very clear connection between what is being said and what happens = logic. Then it can be extended later in life, but this article specifically targets kids.
And I have the exact opposite view to yours - I think there is not enough logic in our lives. Our society might be addicted to digital works, but it does not mean they understand how it all works.
Really? Why? We have been doing it for millenia.
That makes no sense. I've taken literature, I've read hundreds of books on my own. Most of them are full of illogical things. At best they are OK to teach morals, not logic.
Philosophy is closer.
Computer programming is pretty much pure logic and problem solving.
The only better way to teach logic is to teach logic.
> teaching agriculture or other physical goods producing craftsmanship to kids would make them better at real world challenges
Computers and code are real world, and they solve real world challenges.
Programming doesn't teach you cognitive biases. You don't become more aware of yourself by programming. You learn more about human logic by reading "Thinking, fast and slow" than by programming for your entire life.
Programming is very close to logic.
Of course, there are other fields that require logic and problem solving. Engineering, science, for instance.
It's a real shame that most people seem to look down on the trades as somehow being inferior to white collar work. This is what Mike Rowe has been preaching about for the past 4 or 5 years. Just listen to his TED talk [1].
[0] http://en.wikipedia.org/wiki/Tradesmen
[1] http://www.ted.com/talks/mike_rowe_celebrates_dirty_jobs.htm...
If they aren't then they will be unsuccessful as car salesmen. Apart from "how can I sell more cars?" there is "what is the optimal number of cars I can fit in my showroom?", "how shall I present my most profitable deal to its most likely demographic?", "which aspects of my communication skills can be improved?"...the list is endless. Point being there are logical challenges to be solved everywhere.
Not trying to be snarky, but what level literature classes did you take?
I was an English major for a few semesters and I found that there were a league of differences between an introductory course which was little better than reading something on my own (plus a professor's gospel, which we were asked to support or comment but never refute) -- and an upper-level course, which was more centered around research: diving inside of a text and an author, plumbing for patterns and arguments much like one would dive into JavaDocs.
"Say Kitty move right, Kitty move left and do this about 5 times." is not about logic. This logic, that you can teach with programming is only mathematical logic. "If a > b and a is negative then b should be negative". Real world logic does not work like that. There is not only 1's and 0's, blacks or whites. There are also shades of gray and reds, purples, blues. Some fractions, doubles.
Everyday you make many decisions. Some are easy yay/nay decisions, some are hard decisions like "what to wear today" or "Voting that candidate or this?" or "Should I ask her out, but what if it's too soon?". Many things affect them; Human interactions, weather conditions, light conditions, feelings... So many unknowns. Maybe just some luck? Murhpy laws?
We can not or have not yet deducted them into pure mathematical logic.
So giving kids programming as logical thinking aid would help, but maybe in a wrong way. It would teach them an illusionary version of logical thinking where everything is 1 or 0.
Why, I am going to go so far as to talk down everybody who still does #{Y}, partly because I'm somewhat burnt out on it, and partly because my comparative experience makes me feel like it's easy compared to #{X}."
Where:-
* X, Y are very broad fields in which there is a whole range of tasks which span from the very simple to the insanely difficult,
* X, Y both revolutionised the world at different points in human history, X before Y.
So assigning farming to #{X}, programming to #{Y} and then reasoning over X and Y without considering the reality of farming and programming is surely not the proper way to address this problem.
In other words, I disagree and I think this post is interesting.
"Growing food is far more challenging, requires an order of magnitude more knowledge and continuous learning and dedication."
Problems I have with this:-
* First and foremost, this is a pissing match. A better way of putting this might have been 'I found this more challenging, etc.' instead of some sweeping divisive comparison.
* It's meaningless - programming and farming are massive fields, what exactly are we comparing? Farming carrots in my allotment vs. a modern industrial farm. Hello world in qbasic vs. the linux kernel. Etc. etc. etc...
What's frustrating is that there are some really interesting points about, as you say, the real world applications of things, abstractness of programming, etc., but it's hidden below this unnecessary grumpy attack stuff.
Of course there's the just very grumpy:-
"Why are programmers granted such high status and wealth in our society for living in a self-created self-indulgant intellectual world of constant escapism"
Well, SpaceX did escape the atmosphere using some self-created self-indulgent intellectualisms ;-)
When the whole learn to code push came to my attention, I also wondered if farming would be a better option for achieving the claimed goals.
Does it make sense to compare the two that way? Farming is a an activity that has problems to be solved, programming is a method of solving problems - including farming related ones. Sure, farming has more and more diverse problems to be solved compared to pure programming problems (i.e., CS), but almost every programmer solves problems in other domains, and those are almost infinite.
If it is the latter, I do wonder why single out coding? Coming with a programmer bias, I often feel like I could do a lot more useful automations in my life if I had more electronic and mechanical skills. There are many disciplines that seem just as useful that students would gain a lot from being exposed to, not just coding.
Making my life slightly easier is not that important -- and hardly what I'd call a world changing event in the scale of agricultural revolution or even the industrial revolution.
I understand that as CS people we like to sing our own praises, but just like once you have electric ovens, getting a microwave is not that big of progress (if it's not a throwback to a worse method of heating), similarly, once you have global trade routes, ships, trains, cars, snail mail, telegraphs and telephones, having computerised version of communication is not that much of a step forward.
The world is not that different, including everyday life, from 40 years ago, when computers were mostly unknown outside of large companies. We just play more videogames, watch more cat videos, and exchange more (than zero) BS instant messages and mails. Quantitative is not qualitative difference.
As for the use of computers in science: again, quantitative is not qualitative difference. The most involved and mind-boggling discoveries were done before computers, from evolution, to relativity, to quantum mechanics, to the DNA. We are now better at number crunching (such as decoding the genome), that doesn't mean we produce science of equal impact.
What about free instant communication with people who live halfway around the world? What about massive knowledge bases like Wikipedia that never existed on this scale in the past? What about search engines that make every piece of knowledge available to humanity instantly available to you? What about having access to all of that in a small device in your pocket?
I really don't know if you're trolling or you're just being obtuse. If the only benefit you've been able to get from all this wonderful technology is watching porn and cat videos, then that says more about you than it does about the technology.
So, people "not getting it" are either obtuse or trolls? I'm over thirty -- not some teenager making internet pranks. As such, I don't troll. I say what I believe. Can you fathom that people can have different standards about what it takes to call something "world-changing"?
Take a Buddhist monk as an extreme example of a different viewpoint. He wouldn't raise an eyebrow for trivial stuff like "instant communication" over the intertubes. Especially knowing the triviality of the majority of such communication. Heck, such a figure would be even unperturbed about normal communication (speaking), preferring meditating silence instead.
Now, I'm not a Buddhist monk. But I'm not a starry-eye millennial optimist either, nor I consider any and every technological advance "progress" in the full sense of the word.
For example, you say:
>What about free instant communication with people who live halfway around the world? What about massive knowledge bases like Wikipedia that never existed on this scale in the past? What about search engines that make every piece of knowledge available to humanity instantly available to you? What about having access to all of that in a small device in your pocket?
Yes, what about all those things? Any real effect on my everyday life?
E.g Has the instant availability of "every piece of knowledge available to humanity" to us made as any more clever? For some, it even made us stupider:
http://www.theatlantic.com/magazine/archive/2008/07/is-googl...
Even before "instant availability of everything", e.g even when availability was a problem itself, people knew that it wasn't about the availability but about the distinction. To put it in a little more archaic terms, that the important thing was wisdom, not information.
Snide yes, but BS no. The industrial revolution did nothing to the quality of life compared to cooking food and scaring wild animals away. The point is that it takes more and more work to make meaningful progress. The low fruit has been picked. Minimizing the impact of computation is what is BS since there is almost no aspect of life and the economy that hasn't been greatly impacted by it.
> that doesn't mean we produce science of equal impact
Of course we do, we make amazing science at such a huge rate most people can't even keep up with it anymore. If you believe computing has only little and only "quantitative" impact on science and communication than there is little I can do for you, computing has completely revolutionized every single science field. But sure, keep thinking it's just cat videos and porn. Maybe we should just go farming instead...
The condescending tone is because you believe you are talking to some child or something?
People have differing opinions, and what you believe as the "objective truth" is not some kind of gospel.
As a matter of fact, the very issue of current science having much less impact nowadays has been stated before on HN, with very valid explanations and analysis behind it.
One reason, for example, is that the more important stuff in most scientific fields are the lower hanging fruits, and early scientists got most of them. It's a case of diminishing returns.
Say whatever you want, but any current discovery is not of the caliber of Maxwell's equations, the discovery of DNA or evolution, Einstein's theory of relatively, et al.
It's marginal, incremental work, not evolutionary. And people "can't even keep up with it anymore" just because it's so vast and concerns minutiae, not because it's so groundbreaking.
Here are some further elaborations on that:
http://scholarlykitchen.sspnet.org/2011/07/26/what-happens-i...
http://www.bbc.co.uk/news/health-18095669
http://www.economist.com/news/briefing/21569381-idea-innovat...
I understand you very well. I also agree with you. But at this point in human history, this is just a lost debate. Better minds have fought this but lost!
Let me explain...
I take my example from this traditional practice of Rabbis: never accept a convert until they have been turned away twice before. Make them make 3 attempts to show their determination. Why? Because Judaism is hard. If they're not committed, they'll either give up or do just enough to satisify the minimum requirements, wasting everyone's time.
Same thing with programming. Building real applications that deliver sustainable value over time is hard. It pretty much takes all that you've got and can take years to reach excellence.
Every time I see another way to learn how to be a programmer (now that there's money in the game, they seem to be popping up everywhere), I have two immediate reactions: 1. How cool is that. I wish I had that years ago. 2. No! We had enough bad programmers who are doing it for all the wrong reasons.
I believe the most important difference between an excellent programmer and everyone else is not intelligence, education, emotional state, or work ethic (although all of these help). The most important thing is a burning desire to build.
Someone with this burning desire won't not need to be encouraged. You won't be able to stop them. Someone without it would be better off doing something else.
We don't need more programmers. (Only IT execs who akin programmers to envelope stuffers think that.) We need more excellent programmers.
The best way to get more excellent programmers? Discourage everyone so that only the most determined can make it.
Our industry, our craft, and most of all, are code repositories would be much better off.
Learning how to code, even if you don't become a professional programmer, will help you appreciate the software you use. It may also help you think differently about life, become better at problem solving (debugging IRL!), or at minimum, get frustrated at all the software you use on a day-to-day basis, because you know you would have designed it better. ;-)
Here's how I see it: Programming is a relatively young discipline. It's not really that hard, we just make it artificially difficult with bad tools, and artificially exclusive with various first world and Anglo-centric measures. We desperately need fresh perspectives. Most of what is built is rebuilt, constantly, with new bugs. As a profession, we tend to lack insight. We need more eyes, particularly fresh eyes, not 'experienced', elitist code-Rabbis.
And it goes further. People without an education or experience in software development or engineering aren't able to come up with good ideas about what to build because they aren't able to grasp the possibilities of what technology enables.
That feeling you're talking about in regards to building stuff is not something that you're born with, but rather something that grows on you by building stuff.
So no, I don't agree with you. We shouldn't force anybody to do anything of course, but the responsibility of a good educational system is to open up horizons, which means encouraging children to explore as much as possible.
For a while this probably means that our code repos might be filled with nasty stuff, but I'm convinced we'll be better off for it in the long run.
I am decidedly not a programmer. I don't know what an object is. I haven't learned the first bit of CS. My code would probably make you want to gouge your eyes out. And yet, it's saved/earned companies millions of dollars.
It certainly seems possible to teach in a way that kindles a life long love of programming, rather than leaving things to blind caprice - most groups just don't even seem to realise this might be a good idea.
Take any mass farming. Tea collectors, for example, I believe they're paid so little they are in constant poverty. Why are they paid that way? They collect all the tea people around the world drink. Paying them the increase of the cost of a tea bag by 1 cent will make them comparatively rich. Why isn't it done? They have no bargaining power. Anyone can collect tea badly enough, this is true for most agricultural labour. It is physically hard but you can teach it in half an our. So they can always be easily replaced either with local population or with some illegal immigrants.
In the developed world, a lot of people just pass documents around and make phone calls. It's the sophistication of zooplankton and physically much less demanding than agricultural jobs, but you can't quite teach it to anyone in the world in half an hour - you need locals for this (they connect to other people and need to fit culturally) and they need some even very basic skills. So they get paid with actual money you can buy things with.
Take coders. Training a coder is not easy and it even requires some aptitude. Thus, even mediocre coders can often command their rules to their employers. And great coders are true citizens of the world, employable anywhere on their terms.
So, to make farming cool we have to make it high-tech. Another problem is that farming doesn't seem very profitable even on the large / capital scale, because the barrier to entry is so low.
For what it is worth, I make considerably more money per hour farming than I do programming, and I get paid quite well to be a programmer.
With farming, however, the barrier to entry is actually quite high. That barrier being access to capital. It is the massive debt any normal person has to take on to even think about farming that cripples most.
Programmers are quite lucky that you only need one reasonably affordable tool, which almost everyone already owns, and you are eligible to enter the market.
Profits - capital = slim margins. If you have some "free" capital then you're lucky.
Also your argument is based on harvesting of a product, only one aspect of farming, that is manly produced in third world countries.
Most here don't appreciate how hard it is (especially if you're inexperienced)
Do people still grow beans using a cotton in a cup? Do they still teach that at schools? That's basically the 'hello world' of farming
Of course, depends on what you are doing, type of plants, inside a greenhouse or in an open field, the scale of it etc. Not to mention raising animals. That's very hard as well
It's unsurprising that it's getting ever more 'industry like'. You take a lot of people and specialize in only a few crops, so you can have profits that work out. Machines are expensive, fertilizer, soil analysis, etc, etc
And then there's a climate issue, too much rain, too cold, too warm and you miss the mark.
How much population do we really need to tend all global arable land using modern methods machinery? Currently in developed countries it's somewhere near 2%, depending on the local crops used; in time it may be 1% as more and more things can now be done by machines. Countries such as India and China currently have hundreds of millions of farmers; but the same result can be produced by half or less people with farming methods currently used in USA/EU. Right now a lot of modern grain farm work consists of driving equipment around all your fields - and self-driving tractors will eliminate even that remainder "manual" work.
A recent problem I remember having on my farm: Soil is full of wet lumps of clay, unsuitable for planting, cultivators are not breaking them up and you have a few day window to fix the problem before it gets too late into the season to plant the crop. What do you do?
I actually agree that the point is to attract more programmers into the industry, but the consequences of that seem dangerous. What happens when we have too many programmers? Should coding classes be dropped from the system?
If you have a smartphone, you have (potentially) a programming platform. We can't simply give everyone on the planet a few acres of farmland to get to grips with the challenges of farming.
(Yes, I know that's still science-fiction, but is it really that much more of a stretch than the AI/robot/automation "software will eat the world" firm-belief that you see daily on HN?)
However, the previous poster suggested that there is no need for more professional farmers, so there is no need to teach farming. By extension, he seems to be saying that when we have enough programmers in industry, there will be no need to teach programming anymore.
And pushing people into an industry does come with dangers. When I was a student we were pushed into teaching. Today, I have friends who went with that push and are still on the job hunt many years later because so many others did the same.
My dad grew up on a farm. He decided the military was easier. He got to sleep an hour later and, when no one was shooting at you, the work wasn't hard. I am an environmental studies major. I think it is still important to understand our relationship to the land, regardless of how you pay the bills. A lot of people really don't these days. And I think it does cause problems.
I'm currently an A Level student in the UK that's been hacking on software and hardware projects for the last 6-7 years. I decided to go to the June RHoK event in Southampton and worked on a new project called WaterMe with 4 others that takes open satellite imagery from NASA and outputs an index of water content and foliage and more in the area over time from a user friendly interface. Also making available the data for researchers and hackers for other awesome projects.
After the Hackathon we were accepted into a humanitarian incubator called GWOB (Geeks Without Bounds) which has put our team in contact with many spectacular personalities and guidance which has intorduced me into areas of mapping, open data, funding, advertising, additional technologies and even quad-copters/balloons/flying-machines.
We are still developing the product (now closed source) and are hoping to look for investment in the near future to run the product at scale to provide for farmers, researchers and anyone interested in things such as drought and glaciers amongst others.
Needless to say this has one of the best experiences of my life so far and is way more rewarding than any freelance work I've done as just make money jobs.
...NOT!!! I know you Americans tend to see having a basic little vegetable garden as "black magic", but it's really something one can learn in under a week and based on this knowledge grow things to the point that one can actually produce enough for sale and maybe run a small business! But's you can't learn programming well enough to actually get any benefit out of it, let alone actually make a living from this alone, in a week! Yeah, I pick my food from the supermarket just like you, but I spent enough of my childhood at a farm know that things are really easy (at least if don't try running your little garden as a real business and get enough profit to cover marketing, distribution etc. - then shit gets really complicated), basically high-school biology is more than enough and everything can be found in any book or googled in minutes and you have tools that come with all the needed instructions and seed, herbicedes etc.
It all boils to this funny observation: plants can grow by themselves, you just need to guide things a bit to get the desired outcome! otoh, computers don't program themselves, code doesn't write itself - you have to do it, and this is why it's hard and also fun and rewarding (for a comparison, starting to learn how to farm by writing the genetic code of the organism's you'll be farming - ok, it's and orders of magnitude exaggeration, but it's still the closest way farming could be alike to coding).
Farming is a lot more like "software engineering" than "programming". You can't pause a farm. It's an "engine" that you have to keep running, no matter what calamity occurs (weather, breakdowns, etc.)
My response to this quote by Steve Burgess (not the author): "Why are programmers granted such high status and wealth in our society for living in a self-created self-indulgant intellectual world of constant escapism- and yet farmers are regarded with such distain when they operate on the most important boundary between society and the biosphere?"
... would have been: I disagree with your premise. See: http://www.youtube.com/watch?v=AMpZ0TGjbWE (God Made a Farmer) and see http://www.youtube.com/watch?v=wGJX6t3IAlk (GoDaddy Bar Refaeli Super Bowl Commercial).
"More moneyz for the farmers or everyone will starve to death."
They also tend to use somewhat stereotypical stuff depicting themselves as heroes that feed the homeland which just rubs me the wrong way.
Add the "leave this farmland empty and make more money than actually farming on it" government handout abuse (+ all sorts of economic meddling that makes very little sense) and you pretty much get the mixture of why I don't grant farmers a high status by default.
Big industry farming is also fairly disgusting. I'm not really an animal rights type of guy and more of the "whatever humans eat animals such is life" kind of school but what is happening in industry farming makes me pretty sick.
[I'm obviously aggregating over all farmers here but by and large I wouldn't start out assuming a farmer was noble]
Edit: that's obviously way off topic. My answer to the OP would be...teach kids to enjoy learning and exploring and not some specific craft. The rest will follow automatically.
Programming as a craft works well because it tends to force you to learn and explore as a side effect (same for anything scientific really)
In the EU in 20010 €43.8bn (31% of the EU budget) compared to the support that STEM industries get this is far more.
Blue states like CA and MA support the smaller interior agricultural red states - the USA is set up to favor farmers.
You don't get satire like Farmer Palmer in VIZ from nothimg
They are? I haven't seen people feel that way, so I'm kind of surprised to read this. Some references to evidence that supports this claim might be useful.
Farmer and engineer are about the same, with farmer having a slight edge.
Turns out that's a lousy way of learning the trade. They'll teach you a little bit of the hands-on stuff, but pretty soon it's all plant physiology. If you really wanted to learn, you had to go out and farm, not learn how the Krebs cycle works.
So, after having worked as a farmhand for a few other farmers, I dropped out, tried share-farming for a while. Worked well, other than the fact that the drought in Texas was breaking records, which wasn't good if you're growing vegetables, not to mention the high-temps and a lack of a greenhouse. In 6 months I was pretty much done for.
Still, I learned a lot, so much so that I figured I was probably smart enough to major in something more intellectually stimulating, so I went with engineering, found out I like programming a lot, and eventually settled in Computer Science.
Long story short, I think he's onto something, farming isn't just physically demanding, it requires thought, especially if you don't want to use nasty chemicals. I may not be the best coder in the bunch, but I've found I can figure it out a little faster than classmates who brag that they learned their first language when they were in grade school. I learned my first language, C, when I was 21.
It's pretty hard to be a farmer coming out of ag school unless your family has a farm already for you to run since the entry costs are so high. I still produce a lot of my own food via a family farm, but god I'm glad it's not my main job. I make a mistake when coding and things can be bad, but usually they are OK especially if you have revision control and a good workflow.
I make a mistake farming and things die and I have nothing to eat or sell. Then there are just random inexplicable things that screw you over. Yes, this happens in IT, see what happened with Cloudflare this week, but imagine if that lasted for months, even years, and you could never switch providers- that's how badly weather can screw you over.
I worked in academia IT for a bit and took archaeology classes for fun. It's no surprise that ancient farmer's bones have markers like pitting that indicate periods of severe malnutrition.
Is it still valuable to teach kids to code, in the same way that it might have been in the 1980s? I think so, and for the same reasons why growing your own food might also be a good idea. It makes you more independent and more resilient, and reduces your dependency upon increasingly centralised systems which are vulnerable to failure or being co-opted by parties who don't care about your interests. As time goes by code makes up the fundamental infrastructure of life, so who writes and controls that code, and what their priorities are, becomes a critical question.
We "know" this how, exactly? Malthus was saying the same thing in 1798. Paul Ehrlich was saying the same thing in 1968.
They were both dead wrong.
"The battle to feed all of humanity is over. In the 1970's and 1980's hundreds of millions of people will starve to death in spite of any crash programs embarked upon now."
"Hundreds of millions of people will soon perish in smog disasters in New York and Los Angeles...the oceans will die of DDT poisoning by 1979...the U.S. life expectancy will drop to 42 years by 1980 due to cancer epidemics."
Most people seem to stick to "the system has worked for 350 years, so it must be able to go on indefinitely".
Plenty of material here: http://www-formal.stanford.edu/jmc/progress/index.html
http://physics.ucsd.edu/do-the-math/
I particularly like the discussion between the "exponential economist and finite physicist":
http://physics.ucsd.edu/do-the-math/2012/04/economist-meets-...
Or see also "Galactic Scale Energy" for a quick use of math to kill J. McCarthy arguments:
http://physics.ucsd.edu/do-the-math/2011/07/galactic-scale-e...
The mean insolation arriving at the surface of the earth is ~1000 w/m2. The Earth has a surface area of about 5.1×10^8 km^2 or 5.1x10^14 m^2, so the incoming energy from the sun amounts to about 5x10^17 watts.
World electrical power output is only about 2 terawatts = 2x10^12 watts, or 1/250,000 of the heat received from the sun.
Clearly it's going to be a long time before we have to worry about "waste heat" on a global level.
As your source says, do the math.
Did you actually read this?
We have enough fissile material to last billions of years. "Billions". With a B.
http://www-formal.stanford.edu/jmc/progress/nuclear-faq.html
No, they don't.
They use the assumption that population and energy use per capita will continue to grow exponentially, when it's clear that it doesn't. That may be "arithmetic" of a sort, but GIGO, you know.
Essentially every developed country is below replacement level (the United States is an exception, but only due to high immigration).
Find out why that is and then you can discuss the issue without, as McCarthy said, talking nonsense.
I did use actual arithmetic in the waste heat calculation, which I notice that you did not dispute.
We know the specifics of the answer to this, I'd like to answer this in a general sort of way - in Alvin Toffer's 'Third wave' way of looking at the world, the integrators in a division-of-labour system are its rulers. Programmers give you tools to integrate. Remember, the key themes of the the second wave are :
"The Second Wave Society is industrial and based on mass production, mass distribution, mass consumption, mass education, mass media, mass recreation, mass entertainment, and weapons of mass destruction. You combine those things with standardization, centralization, concentration, and synchronization, and you wind up with a style of organization we call bureaucracy."
So you see , programmers are actually bureaucracy-engineers, creating the process and flow and channels for the industries of the world to play together
We need to remember that not all "tools" are equal. "Tools" like math, science, and philosophy provide leverage for future understanding/interacting with the world. The "tool" of farming provides the ability grow food efficiently. Important but not the same thing. The idea behind code.org and the like is that, hey, maybe programming is more foundational than it is just a trade for programmers to sit in cubicles and do all day.
If you want to argue that programming and farming belong on the same plane, you need to argue that farming provides as much leverage as coding for general life tasks, or else why this leverage doesn't matter. Implying that programming is somehow a morally corrupt activity because of its "escapism" and links to advertising and high frequency trading feels a bit inadequate to me.
So again, it is not just about writing code. It is about how to approach problems and finding viable solutions, no matter what the form of the problem is. It could as well be: "How can I speed up the harvesting on my farm?". Knowing programming helps us in many more situations than just writing code.
I would call the ability to understand and solve those kinds of problems analysis, not programming. It used to be the case that "systems analyst" and "programmer" were two different job titles; at this point, they've largely merged, but I still see them as two different skill sets. (And then there's "software engineer" which is a whole other can of worms.)
And I agree with you regarding programmers and system analysts. There are so many titles and job descriptions nowadays that try to look fancier than the other just to make it easier arguing for a higher salary. Even if what they do is basically the same. Here in Sweden, there is a long running "joke"-ish alternative title for a cleaner, and that is "hygiene technician". One sounds fancier than the other, but it really isn't.
Regarding how speeding up the harvesting would be done, I have no idea since I am not at all familiar with how a farm works. The point I was trying to make is that if you have knowledge about the domain of farming, AND you know how to program (or if you are good at problem analysis, which I think you are if you can program), then I'm sure that it would be easier to think of something than if you weren't.
Does it make sense or am I just rambling like a crazy person? :D
You could say analysis is a theoretical form of programming, or correspondingly, that programming is an applied form of analysis -- specifically, applied on computers.
I guess my main reservation is that if kids' first exposure to analysis is through programming, there's a risk of skewing their perception towards looking for solutions that use computers. ("When all you have is a hammer, everything looks like a nail.")
In my experience, I've seen problems that have been approached like: We're doing X too slowly, and it's costing us; what kind of computerized tool can we build to let us do X more quickly? And after the tool has been built, it introduces a new set of processes with its own set of burdens, and X is not really done significantly more quickly. My conclusion is that you often need to step back and re-examine what people are actually doing (and why), and what they actually want to accomplish (and why.)
(And a significant obstacle with that is that people develop habits, and they get comfortable with them, and don't want to change them -- so, without knowing the details of the problem, the first step in "How can I speed up harvesting?" would probably be to have some willingness and flexibility to try out variations in your methods of harvesting.)
If we can find ways of teaching kids to program that build their problem-solving skills while also not clouding their heads with the idea that computers are necessarily part of the best solution, I'm all for it.
When i'll be a parent i'll teach them this because it's lovely, and that ! oh but this skill is amazing also ! There is bandwidth for most everything but above all your kids will copy you and see what you love and probably get inspired to follow their own path.
So teach them to do what they love and love what they do ! and teach them to feel happy above all. But teach them by being that example yourself !
That sounds like a massive understatement of the actual power of electronic computers. They are the universal mental tool. The tool that can do any sufficiently specified cognitive task. There is no such physical tool yet (though we could hope for Drexlerian nanotechnology).
Programming is the way we control this tool. I do not know of any greater power.
Yet, the OP's conclusion presents a stronger argument for learning to code than learning to farm: "What code.org promotes is teaching kids how to look at problems, analyse them and present them in a way that captures what they are trying to solve. It promotes teaching kids how to use a new tool that can assist them to devise solutions to whatever problems they desire. Most importantly it promotes teaching them a tool that they can use to express and communicate this."
This seems like an even stronger endorsement for learning to code than anything even in the code.org video.
I think the real underlying sentiment in this post is to not learn to code for the wrong reasons, but kids don't care about future rewards like "vats of riches, shiny things and scantily clad women." They gravitate to things that are fun and that capture their attention in the here and now. Making a sprite spin in a circle in Scratch was all it took to get my 4 year old nephew's eyes to light up. He can decide one day whether he'd rather code for altruism or profit (again, not that they are mutually exclusive).
For the record, I agree that our interaction with this biosphere (and hopefully, Mars soon) vastly outweighs the significance of github. No offense intended to github, just perspective.
Part of it:
Writing turns our deepest loam
Planting roses with the words
From indigenous tangle
Visitors, though, not landlordsThere isn't a god-like status, the internet and blogs are built by nerds so yes they will have their praise there, much as you will see farmers being praised in Africa where i'm from. Geeks aren't even called geeks because 1. they are far apart 2. no one even understands what we do in the first place. We all almost know each other because there's so few of us
Of course we need farmers, we need doctors, ventriloquists: we need all sorts of trades but when you find a different calling don't make yourself feel better by ridiculing other people's careers.
Or maybe, just maybe, because tech is the hype where you are and in your media you feel other trades are being neglected. Whether that's true or not for WHERE YOU LIVE i don't know. I do understand your frustration with the code.org campaign though, which makes it seem like kids won't get identity documents because they can't code (lol). But for the rest of the world outside the valley? We actually need more coders.
Wouldn't it be a good idea to press for kids to be taught better business skills, then?
I'm quite serious about this - the businesses I ran as a kid / teen were amongst my most important formative experiences.
Programming begins with understanding of how computers work, what is an architecture, an instruction set, size of registers, etc. Look at that MIT Scheme source. They have macroses - 32bit word - well, use few bits as a tag, and rest as a value. 64 bit word - this for a tag part, this for value. This is an example of programming.
When people "program" VMs - it is just coding. Piling up stuff without understanding. VMs were marketed for those who don't want to understand or even think. Ask those "programmers" to describe the behavior of the system in which their code supposed to work - I dunno, lol, JVM is the best VM, you know.
Programming is about understanding how your data are represented, what are the access patterns, when memory is allocated, are there any mutations? concurrent access? how conflicts were resolved, if any, etc. It is about realizing that there is an OS, which manages your memory, switches contexts, does I/O, manages your stupid threads, and has another thousand processes running at the same time, sharing the same resources. Then, perhaps, programmer will think more about the data and access patterns, which is the essence of programming.
It almost doesn't matter which language to use. Good programming has been done in C (nginx, Plan9, lisp kernels) and Lisp (Open Genera - the whole OS) etc. You can program using ideas form FP in assembly or C - there is no problem with that.
The questions coders never asking is like why on earch a web-site must be represented as a huge hierarchy of objects inside a stupid VM, while it is bunch of files and some templating? Why to do simple map/reduce jobs we need hundreds megabytes of jars and gigabytes of memory, while the same task could be implemented more efficiently even in shell scripts?
The answers, unfortunately, has nothing to do with programming. It is about making money by coders and managers.
The analogy isn't perfect, but think of learning to code in the classical education trivium. The grammar stage consists of learning languages and syntax and what different types of programs you can build. The logic stage is using that information to build working software. The rhetoric stage is learning what types of programs to build.
Farming is interesting because you need to make use of all of the tools at your disposal (including programming, electronics, mechanics, etc.) to solve the problems of the farm – of which there are many!
Students often have difficulty seeing the forest for the trees. The purpose of teaching coding may be to teach analytical skills, but the students will only see coding. Very few will know how to take those lessons and apply it to, say, a mechanical machine to automate their life.
Great people solve problems – the tool they use doesn't matter. I do think learning to farm would go a long way to instil that in students.
This part is my biggest take away from the post. that learn to interact with the natural environment and figure out how to create(nay, refactor/engineer/discover a better word here??) food/water/shelter from it is a hard,important and makes for a more interesting* educational goal than solving math problems or puzzles.
*-- I said interesting, but i would bet that it's probably better in terms of creating a (net total) productive society(x years of education later)
Disclaimer: I hadn't heard of code.org before now and i live in India.
Growing food is "hard", but it's something most novices could easily do with only a little bit of preparation. It's very easy to grow food if you have access to outdoor space: 1. Buy seeds from hardware store 2. Plant seeds according to directions 3. Water seeds occasionally if there is a lack of rain 4. Wait a few months to harvest
Plants and animals grew themselves for millions of years before farmers showed up.
http://makeprojects.com/Project/Garduino+Geek+Gardening/62/1...
There's a reason corn-products are in almost literally everything...
While I am agree that programming as a career is not for everybody, be able to code is a valuable advantage in a lot of areas such as marketing, sales, physics, biology, chemistry, art, etc.
I wonder if the same controversy was in place when people start recommending to teach math in schools, just because Math is not for everybody.
Shoving kids into artificial situations does everyone a disservice.
P.S. Keep them safe, by all means -- reasonably safe, not to the point of disabling learning. But don't keep them ignorant, or perhaps worse, mis-informed.
Oh but that is soooo wrong. By now it is an undisputed fact that robots are better at surgery than surgeons. Sure, surgeons are still in the loop, as of now... But by now software is already: controlling the machines extracting the material, controlling the milling machines, controlling the entire logistics infrastructure, controlling the robotic arm which shall hold the scalpel, add precision to the surgeon's movements, provide robotic arms with levels of freedom which no human hand shall ever made, etc.
In addition to that software is also about data transmission for when surgeons need to perform remote surgery, about finding correlation between blood samples results and actual illness, finding tumors in scans, X-rays, etc.
That ultra-reductive scalpel/surgeon is totally off. Soon the computer software shall be precisely the skilled expert.
And of course one could go to great length explaining how software revolutionized farming too.
But to me the less people understand anything about software, the more of a technopriests I'm going to be in tomorrow's world so I'm all for it ; )