Robert Morris: All About Programming
paulgraham.com
paulgraham.com
I suspect, that it almost never works that way. Learning programming or hacking as a child is all about figuring it out on your own, doing something, what your parents or your teachers can not understand, defining your own identity.
That is why I doubt that all the programs in the US, which try to teach children programming, will work. They might teach some concepts, but in the end i fear, that they will hinder the children to aspire a career in the field. I see a bad parallel to beauty contests, were parents try to live their dreams through their children.
Of course it is never black and white, but I think you have to be ultra careful with stuff like this. I think naturally interesting, open platforms are a better way to get children to dig deeper. Minecraft is a perfect example.
Sometimes parents can teach their children things and have it stick.
Really cool!
;)
I remember when I was younger, thinking to myself if a certain idea could be done and trying it out. The joy of getting the idea to work was a great feeling.
Don't understand this part, what's the obvious thing about math he was late in admitting? Were the Bell labs people right in his opinion or not?
I THINK. You're right, it's a bit unclear.
Interestingly, in some ways the people in Bell Labs were right: the mathematics is what objectively /lasts/. Consider: how much mathematics from the 1950s is still in use and relevant, versus how much written code is still in use and relevant? Mathematics (and algorithms, etc.) have a permanency to them that simply written programs don't.
This is the wrong question. CS isn't hardly about code. Most of our CS today is from before the 1950s.
Most of the CS we have from pre-1950 is fundamentally mathematics: algorithms, theory of computation, etc.
(Harvard student Paul Graham sent him mail asking for "Any news on the brilliant project")
When I read that, I wondered if that was THE Paul Graham.
Have you read his later book, /Silicon Snake Oil/? It's interesting how wrong he ended up being about a lot of things.
On the other hand: "The truth is no online database will replace your daily newspaper, no CD-ROM can take the place of a competent teacher and no computer network will change the way government works.""
He's partially wrong -- we have online newspapers, online education resources that are better than nothing, and some political action via web-shared activity.
But in spirit, anybody who's been paying attention to journalism is worried about whether we even care to subsidize a healthy fifth estate anymore (or just want more listicles and cable news), even Khan Academy isn't a substitute for a competent teacher, and politics is still driven by the overriding incentives and foibles of human nature.
Some of our new tools/resources are making a bigger difference than others; some are just cosmetic changes.
http://boingboing.net/2010/02/26/curmudgeony-essay-on.html#c...
Quoting:
"Of my many mistakes, flubs, and howlers, few have been as public as my 1995 howler.
Wrong? Yep.
At the time, I was trying to speak against the tide of futuristic commentary on how The Internet Will Solve Our Problems.
Gives me pause. Most of my screwups have had limited publicity: Forgetting my lines in my 4th grade play. Misidentifying a Gilbert and Sullivan song while suddenly drafted to fill in as announcer on a classical radio station. Wasting a week hunting for planets interior to Mercury’s orbit using an infrared system with a noise level so high that it couldn’t possibly detect ‘em. Heck – trying to dry my sneakers in a microwave oven (a quarter century later, there’s still a smudge on the kitchen ceiling)
And, as I’ve laughed at others’ foibles, I think back to some of my own cringeworthy contributions.
Now, whenever I think I know what’s happening, I temper my thoughts: Might be wrong, Cliff…
Warm cheers to all,
-Cliff Stoll on a rainy Friday afternoon in Oakland"
Might be some good wisdom in there but that is the most convoluted, badly written several paragraphs I've seen in a while. Maybe they're taken out of context or something or assume some knowledge that is missing?
I intuitively knew as a child that there were parts of programming and using computers which "weren't work" for me, but also very much ones that were, and I foresaw the probability that I might cease to enjoy the "not work" parts after being ground down by too much work.
As I come back to it now, I still think that. Increasingly I think it really, genuinely, depends on the style and language of programming you take up, and what you do with it. When I code in something like Lisp or Haskell, it doesn't feel like "work," it feels like problem solving. I tend to focus on CS topics as well; I built a VM, and a couple of programming languages, because they too were fun to think about, not work.
For me, I have progressively gravitated to more and more expressive languages, while moving away from more imperative ones which descend into repetitive "design patterns". I burned out quickly on the world of web programming, which inherently seems to require a whole lot of tedious yak shaving if you're flying solo.
Of course, the flipside which anyone bothering to read this may already be hastening to chastise me with is that none of this is likely to necessarily lead to actual employment.
Someone has to do the "work." And the amount of "work" to be done is a lot greater than there are people who don't find it work, which is why there will always be a lot more demand for that. In part I suspect this is because some kinds of "work" are self-replicating (Java programming begets the need for more Java programmers ...), but I nonetheless find myself fearing that my chosen "not work" is merely a fool's fantasy; and I occasionally have guilt complexes about "why am I not just learning JavaScript so I can at least get a gruntwork job at Rovio or somewhere" ...
I also believe the guys who started ITA software wanted a problem domain where they could justify using Lisp.
So there are a few precedents for finding an excuse to use more expressive languages to solve challenging problems, in a way that makes money.
Perhaps there's something to that in programming languages as well; I sometimes wonder if the reason for the explosion in startups and web applications is that for as much as I hate fighting with CSS and HTML templates, at least it's better than trying to make sense of the Windows API. And if you've grown up, as many young startup coders do, with the world of JavaScript and the web, it's what you know as much as Lisp was what guys like Paul Graham knew.
I work 6hrs a day usually and spend the rest of time experimenting with my own DSLs for future side projects or enjoying life whereas before I'd go to work before the sun came up, work in a windowless office under constant unachievable deadlines then leave at night. I had money but no life.
And I could ask you the same question: the startup founders and oil industry would live comfortably enough if they made a little less and paid him better; why is that not enough? Why should they be making more?
That resonates deeply with me. Until my early 20s, I was terrible at absorbing any form of wisdom from anyone. I just went ahead forward into whatever interested me, with no regard for what anyone would have to say about it. I was fortunate enough to be born with a brain that worked fairly well and allowed me to get away with this behavior for the longest time.
It is for this reason that I consider my time in grad school as mostly a failure - I joined at 19 as a PhD student and left 2 years later with a Master's degree, leaving the PhD for startups, and in those 2 years I didn't achieve anything that I'd consider interesting work (completely by my own fault). Even worse, my immaturity resulted in me making very little of the absolutely brilliant advisor I had (the perfect combo: a researcher whose early work pioneered a new field and gave him enormous peer recognition, but who was still early enough in his career that he had plenty of time to devote to his students), who had high hopes for me that ended up completely unfulfilled.
It was only after a few years of working in the real world with some very smart (and some very dumb) people, getting yelled at, seeing friends get fired (I never got fired myself although I came close a few times), and a few other similar experiences that I realized that indeed my life would be much improved if I stopped and recognized that some people do have words of wisdom that hold value for me. Psychedelics and traveling the world+meeting people who had it way worse than me yet achieved way more with what they had also contributed significantly to my maturing - the rewards of it being that I now am starting to enjoy an amount of success, clarity, and reward in my work that would have been unconceivable 6 years ago (although it still feels like most of the road is ahead, as it should).
For those reasons, it feels like advice such as the one given by PG is lost: the people who need it most won't really get the importance of what he means, and the people who will get it can do so because they've already internalized it.
All that being said, I look forward to 5 years from now, when I will say things about my mid-20s similar to what I just said about my early 20s :)
Indeed. If life came with a manual, then people would still say: who needs manuals? :)
Lesson for everybody: Don't eat nuts!
[1] http://www.mountsinai.org/about-us/newsroom/press-releases/r...
Your argument against psychedelics is not persuasive in the manner presented.
I remember knowing about "don't let your emotion control your action, especially when you're angry". I don't think anyone would disagree or disregard the advice, the problem is that when we're feeling angry, we don't necessary think we're angry, we just feel being right. Since I've realized that, I've to stop myself whenever I'm feeling strongly right about something, not when I'm feeling angry (though they are really the same emotion most of the time).
In a sense, it's actually not that surprising, since advice is given from a perspective of an third person outsider: I'm seeing you doing Y given the circumstances X, so I'm giving you the advice of not doing Y when X happens. But from my someone who X happens to, it's really Z to them from their perspectives, and so they don't recognize it as X. That applies even if you're looking back at your action in the past too.
Introspection is really hard.
Right now, I'm going with the path that not only makes more money(and thusly induces less stress), but also has a higher probability of making people's lives better, through the kinds of things I want to put my time and effort into being focused around enabling people to create their own jobs.
Yet I know extremely well what I want to do, what makes me happy. It will make some others happy, but a significantly smaller number. It certainly won't change lives for the better. But doing it would make it so the things I think about in the margins of my mind, all day and night, for as long as I can remember, are what I spend my life working on.
In essence: I can't tell if it's a better idea to do what makes me happy, or what makes others' lives better.