Domain: pgbovine.net
Stories and comments across the archive that link to pgbovine.net.
Comments · 7
-
Re:Where have I heard this before?
And that's why I find the premise of this article so odd. The average public does not seem to me on the cusp of a programming revolution. I might as well link here to Philip Guo's essay The Two Cultures of Computing, a.k.a. "How Ya Gonna Get 'Em Down on UNIX After They've Seen Spotify?". The interfaces ordinary people use so hide hackability that they generally forget it even exists.
They want to forrget that. They just want their push button to make what they have in mind happen.
In fact most users would like to have just one physical button with some magic power to read in their heads what they really want/need and "just do it".
Even worse marketing is telling them they have a right to that.
-
Re:Where have I heard this before?
Where have I heard this idea before? Oh yeah... it's called The Unix Philosophy.
Indeed. I've been using Linux since the turn of the millennium, but in the last couple of years I've been trying to gain a more proficient command of Unix standard utils and piping commands with tutorials like O'Reilly's Classic Shell Scripting . I feel like a computing god, and friends and relatives are baffled at how I can so quickly solve computing needs that, they believed, would have to take minutes or hours of laborious pointing and clicking.
And that's why I find the premise of this article so odd. The average public does not seem to me on the cusp of a programming revolution. I might as well link here to Philip Guo's essay The Two Cultures of Computing, a.k.a. "How Ya Gonna Get 'Em Down on UNIX After They've Seen Spotify?". The interfaces ordinary people use so hide hackability that they generally forget it even exists.* Plus, with people in the developing world starting to do more and more of their computing on their phone, a device without a real keyboard, they are hardly able to do all the typing that coding requires.
(Perversely, this might be something that millions of people should be thankful for: that ignorance is why they still have jobs. So much time-consuming work could be done in a much shorter time were the Unix philosophy applied. If scripting were something that managers keen on every possible costsaving measure were strongly aware of, even more jobs would be automated away.)
-
Primary school might be too late
Children are growing up with tablets now. By the time they get to school they will have become so used to simplistic touchscreen interfaces that teachers might find it challenging to turn their minds to the internals of the computers they use. Philip J. Guo's The Two Cultures of Computing essay (posted to Reddit under the amusing title "How Ya Gonna Get 'Em Down on UNIX After They've Seen Spotify?") is obviously the result of clumsy and unprepared teachers, but even better-trained educators might face the same challenge.
I wonder if teaching CS basics might not be better with pen-and-paper exercises in the beginning, where students are less likely to compare what they are doing to the interfaces they are used to. I loved working with Friedman's The Little Schemer , which I discovered well into adulthood, that teaches one the Lisp philosophy of recursion without every needing to sit in front of a computer. Perhaps children would like such an approach as well, and then by the time you present them with e.g. an actual command line they've already internalized that kind of thinking.
-
Books about graduate school
Strangely, nobody has addressed the graduate student part of the question. Being a CS grad student involves much more than technical knowledge. You also need to internalize the social norms of this career choice. For this purpose, there is no better information source than The PhD Grind by Philip Guo. The book is completely free (as in beer) from Guo's web site. His web page also contains a great deal of career advice worth checking out.
-
It may not be about discrimination
(although that is probably at least part of it)
It could just be about the differing level of privilege men and women enjoy in society.
I read an interesting article about this that crystallized the thought for me:
http://pgbovine.net/tech-privi...
The interesting part of this discussion is how quickly people have dismissed the content of the article when it doesn't match their experience.
Many of the posts follow a theme similar to:
"What makes her so extraordinary? I went through the same thing and I'm a guy. It was no big deal."
I wonder if reading it that way makes the privilege implicit in the question more obvious?
To answer the question:
Taking as a given that men and women have equivalent mental capacity and that women are underrepresented in technical fields, she is extraordinary because she surmounted the barriers preventing other women from pursuing similar roles.
I suppose I should not be surprised at the lack of empathy on Slashdot after reading it for decades, but the circle-jerkiness of a lot these posts finally convinced me to say something. -
Re:No future
And there's already a bunch of ways to do something like this! I stumbled onto CDE a while ago when I thought "WTF, Ubuntu has the Common Desktop Environment in its repos?!".
-
Re:I disagree
Why C++?
1) It is lower level than Python. Having a solid grasp of these lower-level concepts will make learning any other programming language easier in the future.
Honestly, I don't believe learning C helps one to programs in Prolog, Scheme, Haskell, Smalltalk or other non-traditional, but at times very handy, programming languages. If you insist on starting out with low level concepts, buy the kid a copy of Knuth Vol. 1 and work through some example on a MIX simulator!
2) The sharp distinctions between pointer variables and regular variables, stack and heap, etc., will (when mastered) give him a solid intuitive grasp of the key organizational structures that DO support all other programming languages, even when the grammar abstracts some of them away.
Pointers and stacks are not required organizational structures for progamming languages. I'm qualified to comment, having worked on the stack-less, continuation passing style back end of the SML/NJ compiler way back when. If you approach programming assuming these as fundamental, you limit your vision of what is possible. The way I see it, teaching a kid to avoid incredibly useful modern features like garbage collection and first class functions just seems cruel.
3) C++ is still in use and in-demand in a much wider variety of industries than Python.
A self-motivated 11 year old has plenty of time to learn c++. My high school band teacher offered sage advice when asked about accepting a gig when you don't know the style of music: "Of course you take the gig! You then spend every spare minute learning a set and you show up ready to perform." The same approach worked for me with regard to programming languages. I never lied about my experience, but I have often promised to be ready to perform in a new language, and I have never disappointed. Of course, you don't get there out of complacency, I had read Stroustrop and knew the concepts of C++ long before writing a line of code and accepting my current MFC/COM/C++ job. If our 11 year old is going to be a great programmer, he'll do the equivalent because remaining ignorant will simple not be acceptable for him.
6) His brain is young and nimble, making him more able to grasp novel, abstract, and difficult concepts. Dumbing things down for him would be a waste of his potential. C++ is harder than other languages, which is precisely what gives an advantage to programmers who have mastered it.
"Harder than other languages" is an understatement. One apt critic describes C++ thusly: " It's just beastly and horrendously ugly - confuses students like heck (huh? copy constructors? virtual destructors?)"