10 ms·
Programming is a Pop Culture
- francov88 14y agoReally interesting article and unique way to look at programming - never really considered it to be part of pop culture, but it is a subset of it's own and becoming more "mainstream" as more and more technology becomes engrained in our everyday life. Well done!
- JoeAltmaier 14y agoNot the way I do it. Hey! Does that make me an aging rock star? Or just a has-been. Hm.
- acuozzo 14y ago> Does that make me an aging rock star? Or just a has-been. Jethro Tull has you covered: http://remus.rutgers.edu/JethroTull/Albums/TooOldToRocknRollTooYoungToDie-lyrics.html#TooOldToRocknRollTooYoungToDie http://remus.rutgers.edu/JethroTull/Albums/TooOldToRocknRoll...
- netaustin 14y ago"[Programming] spreads much, much faster than education and formal study spreads." This is why a Computer Science education is not a sufficient condition to a successful career as a software developer.
- lutze 14y agoProgramming isn't all there is to software development though. Be honest now, in how many of all the colossal fuck ups in development there have been, do you think the CODING was the problem?
- thoughtpalette 14y agoGood point. Estimation and planning has seem to be two huge factors in failing (missing the deadline) in my experience. But software projects fail for many other reasons as well. I have read Agile Estimation and planning http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp/0131479415 http://www.amazon.com/Agile-Estimating-Planning-Mike-Cohn/dp... but I'm not at a high enough level in my career for software planning. Little tangent.
- dayglogee 14y agoI love this idea - I think it helps to explain the existence of rockstar developers who then become arbiters of what is valuable - a bit like musicians who become critics after they've made their name! Also, new(er) developers seem to like to set themselves against the mainstream as if to say, 'this isn't your parents' language', until they eventually end up liking jazz (lisp?).
- Nursie 14y agoI'm not sure about lisp.... but that's a definite pattern. e.g. Let's throw away these unwieldy relational databases! And then spend years adding the functionality back in, piecemeal and part-complete!
- rhizome 14y agoWho are these famous former-musicians who have become music critics?
- dayglogee 14y agoFormer musicians who become cultural arbiters are the ones that start their own labels (critics who put their money where their mouth is). Examples are everywhere. Mo Wax, Twisted Nerve, Chemikal Underground, Third Man, etc
- smacktoward 14y agoI don't understand the distinction made here between a craft and a pop culture. Popularity of a technique or tool can definitely matter to a craftsperson, as they directly impact the availability and cost, as well as the marketability of that craftsperson's skills. Crafts are social; craftspeople definitely pay attention to what their colleagues and competitors are thinking and doing, and trends come and go as opinion leaders and trendsetters rise and fall. The biggest distinction I can think of between a craft and a popular culture is that pop culture is most commonly experienced passively, via consumption, while being a craftsperson by definition involves active creation. So in this sense music is really two cultures: the culture of music creation, which is a craft, and the culture of music appreciation, which is a pop culture.
- chadzawistowski 14y agoI agree with that. This article seems to focus on the craft of language creation and specification versus the pop culture of consuming languages and creating with them. Like musicians, language advocates must dance the dance to have their message accepted by the masses.
- igouy 14y agoNovelty for its own sake aka fashion.
- coliveira 14y ago> pop culture is most commonly experienced passively, via consumption, while being a craftsperson by definition involves active creation I don't agree with that distinction. Every pop culture has two sides, the consumer and the creator. What makes it pop is the immediacy and the need to affirm itself by popularity only. In other words, if something is not popular, it can't be pop.
- freshhawk 14y agoI think your passive vs active distinction is a good one but I don't think that was the direction taken in the post, the distinction drawn here is how solutions to problems are chosen. Roughly: pop culture will chose a solution based on fashion while a craft will chose a solution based on the perceived quality of both the solution itself and the result. Obviously these two aspects are mixed in reality but the point that it's more fashion than craft is one I find convincing. What I don't find convincing is the defence of fashion driven programming techniques. Too much of an ode to mediocrity for my taste. Pop culture will be mediocre and fashion driven on it's own, the only thing pushing it to be better is the craftspeople complaining about it. As more and more of our infrastructure runs on software we need people pushing for more engineering discipline, not less.
- whattttttttt 14y agoAmazing quote from the XML rant linked in the article: "If GML was an infant, SGML is the bright youngster far exceeds expectations and made its parents too proud, but XML is the drug-addicted gang member who had committed his first murder before he had sex, which was rape."
- felideon 14y agoFor more Naggum diatribes, visit http://www.xach.com/naggum/articles/ http://www.xach.com/naggum/articles/.
- doctoboggan 14y agoPython's style guidelines are laid out in pep 8[1] and are not likely to change with the times. Things like indentation, using underscores in variable names, and even spacing between classes and method declarations are specified in there. [1] http://www.python.org/dev/peps/pep-0008/ http://www.python.org/dev/peps/pep-0008/
- raganwald 14y agoIf programming is a Pop Culture, Python is a Cult of Personality: https://www.youtube.com/watch?v=7xxgRUyzgs0 https://www.youtube.com/watch?v=7xxgRUyzgs0
- papsosouid 14y agoI think it is more that programming has a pop culture, not that it is a pop culture. Parser combinator avoidance is a good example. The pop culture does avoid it, but not everyone is part of that. Parsec and attoparsec are very heavily used in haskell land. Just as there's people who reject or ignore pop culture in society. Society isn't pop culture, it just has a pop culture (or several pop cultures).
- deleted 14y ago[deleted]
- hemancuso 14y ago"Ruby Archeologists can accurately date a business application by examining its gemspec file" - seems like a fun/small project to do programmatically. How fresh is your spec?
- brianmtully 14y agoThis is just link bait for raganwald to sell his new coffeescript book. Why do his blog posts always make it to the top of HN?
- raganwald 14y agoIn 1977, the movie "Saturday Night Fever" was link bait for Robert Stigwood to sell the sound track album. That same year, George Lucas released "Star Wars," and one of his business goals from the start was to "Build a Real Company," which he did by exploiting merchandising tie-ins. "Link baiting" to sell a book is a kind of tie-in, just like sound track albums and toys. If what you say is true, then this post is an example of the pop culture it depicts. That would be pleasingly self-referential. Alas, it isn't true. I wrote a different post yesterday, one about the I Combinator in CoffeeScript. That one was a deliberate tie-in to my book. Some of the feedback I got from /r/javascript was that the idioms were unfamiliar to the JavaScript culture, which provoked this post. So yes, I do write posts with the thought of promoting my book, but no, this wasn't one of them. But yes, as long as I'm writing a post I include a link to my book. Why not? I read a lot of posts with advertisements on them. Why advertise someone else's dream?
- brianmtully 14y agoI guess I didn't have much of a problem with you linking to your book, as much as the disconnect between what I read and how quickly it shot up the front page. You are apparently a rock star. It fits right in with your pop culture theme. I apologize for the comment. I will prepare to see your blog on top of HN for the foreseeable future.
- knowtheory 14y agoI am somewhat loathe to break out the slashdot cliché "you must be new here", but it's apropos here. Reg is popular on this particular internet. What I'm more puzzled by is why he seems to have written a Rorschach test instead of a post with a point. An awareness of the sociology of your chosen profession or discipline i think is a laudable goal and topic worth considering, but this post doesn't actually do anything to illuminate the subject or equip others with the tools necessary to consider the subject further. Unsurprisingly, the comments resulting from the post are similarly lacking illumination.
- newobj 14y ago"Why do you use CamelCase in JavaScript but underscores_in_ruby?" Uhh, because the languages' runtime libraries use that convention? For the same reason that Windows C/C++ coders typically use a different style than Unix C/C++ coders? The platform runtime libraries set it forth?
- sophacles 14y agoYeah, that was in fact the gist of the next sentence in the essay.
- zerostar07 14y agoActually he makes the opposite (wrong) causal argument that because of popularity these styles caught on and became the "language's style". Nothing to do with popularity, it was all predetermined in the vendor's libraries.
- deleted 14y ago[deleted]
- edw519 14y agoThis is who we are and what we do. Not me. I'm one of those programmers who's been doing this for a million years and would much rather talk about my customers' issues than my own. To me, programming is just a means to an end. The real issue has always been solving the customer's problem, whether I had to dig deeply into the architecture, use fashionable high level tools, or just resort to pencil, paper, and duct tape. Some of my most rewarding accomplishments have been decidedly "low tech". I usually find programming meet-ups boring and language centric threads here on Hacker News pointless. I realize that most programmers don't feel the way I do...so, if programmers are outliers among normals and I'm an outlier among programmers, does that make me an outlier squared or an inlier?
- Ixiaus 14y agoThere is definitely a pop-culture around programming - but specifically around web application programming; the culture of "web developers" often reminds me a lot of high school social dynamics. What I've found is that the older and more experienced programmers, such as yourself, have graduated out of that social vMeme and embraced their craft as a "problem solving" one - not one specific to web development, or mobile apps. I identify more with incisive problem solving than I do with a specific area of problems - while I professionally make my money in the realm of distributed systems and web applications; I also enjoy (and apply) quite a bit of my own learning in the subjects of: * Psychology * Maths * Carpentry * Mechanics (I use much of what I know about fixing/building cars in the building of my software!) * Writing * Many others &c... So, yes, while I agree there is a pop-culture I wouldn't necessarily say that it is defining of the individual. I built my own business specifically because it was so difficult for me to find a job writing software in Python and Erlang - the status quo was (and other than Ruby On Rails) and still is PHP in my industry. I define my move from running a consulting business building "web apps" to building a high-tech startup, where the "web app" is just 10% of solution to the problem we are solving, as my graduation from pop-culture programming to the more general "problem solving" culture.
- dmbaggett 14y agoI realize that most programmers don't feel the way I do... That could be selection bias: how many programmers like you are posting in HN threads, blogging, etc.? I'd venture to guess most are, um, programming instead. The best programmers I know certainly are.
- Jabbles 14y agoThe author seems to think the programming community is limited to web development, or cool new techniques and languages. There is a vast amount of slowly or non-evolving programming, from maintaining legacy COBOL banking systems, to writing groundbreaking technology with mature languages like C. People who write code for SpaceX or use Fortran at CERN to solve the mysteries of the universe probably don't see this "pop culture" and the constant pressure of using the latest idiom. All you can say is that some aspects of the industry act like this, in which case you're not really saying a lot.
- raganwald 14y agoThe author recalls writing banking code that talked to a "legacy" application written in MUMPS :-)
- xradionut 14y agoSo? I've got semi-recent code that sucks data out of InterSystems Caché with yet another obselete programming language. The ability to access legacy systems to assist clients is a sign of craft, not necessary pop-culture programming.
- raganwald 14y agoIt could also be a sign of engineering. All metaphors are leaky, some more so than others, especially mine.
- pendext 14y agoI think that programming is a microcosm of culture as a whole, not just pop culture. On one end you have the pop aspects of it (Node, Ruby, <insert trendy language/framework>, and at the other end you have COBOL and Fortran and other 'un-hip' languages. In-between is everything that makes up the programming culture.
- deleted 14y ago[deleted]
- nickmain 14y agoProgramming is like building a house - except that no one talks about themselves as being a "house builder". There are carpenters, electricians, HVAC contractors, general contractors, landscape architects, plumbers, cabinet fitters, tiling contractors, painters, carpet installers, roofers, architects, etc. Each one takes a pride in their own craft and together they build house with (hopefully) the minimum of squabbling and turf wars. One day the process of solving problems using computers will be like that, right now we are in the dark ages.
- jamesbritt 14y agoProgramming is like building a house - except that no one talks about themselves as being a "house builder". Flawed analogy. Programming is more like being a carpenter or an electrician or a landscaper.
- nickmain 14y agoThat was my point - an individual practitioner is like any one of those roles I mentioned. The problem is that we are all lumped together under the nebulous term "programmer" - and that leads to unnecessary antagonism.
- icebraining 14y agoAnd we have systems programmers - including kernel developers, compiler writers, etc -, web developers (often divided into backend and frontend), security experts. And we do "build houses" with a minimum of squabbling; when was the last time you heard of a web startup hacking on the Ruby core or the Linux kernel? And the compiler vendor deciding what kinds of programs should be done with it? On the contrary; our work is very specialized. It's just that when we build some house foundations, we can just then ship'em out to others to use, as prefabricated components.
- Nursie 14y agoErrr... not really a valid analogy surely? I've done varied load of stuff from kernel hacking to Javascript widgets. Now most of my professional work leans more towards low-level and backend stuff in C, but that doesn't mean I can't turn my hand to other things and understand them quickly. The principles are the same in most cases. Carpentry and electrical work are separate disciplines. Systems programming in C and web-frontend hacking in CSS/whatever are would be just like using different types of wood and knowing which joins and what adhesives go well with them. There's no need to limit yourself to one tool is there?
- jamesbritt 14y agoPossibly related (from 2005): "SOA, AJAX and REST: The Software Industry Devolves into the Fashion Industry" http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=018ea507-4a62-4493-b01b-321e3672d725 http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=018ea5...
- zerostar07 14y agoThe author makes the case that programming is a trend-ridden profession, that is false. Some programming styles and languages get widespread not because of herd-like memetism, but because they're actually better than alternatives, or some cases because of a corporate choice (such as objC, win32's CamelCase, javascript's java like syntax(Sun) ). In fact most of the evolution of programming ended in the 80s. The frontpages of reddit and HN are full of people who are overly enthusiastic about things like functional languages, 16 bit CPUs, CSS programming and rounded rectangles, but those are rarely more than the fad of the day. For most people who want to solve problems with computers, programming is a tool. You don't see plumbers and electricians choose their tools based on how cool and fashionable they look.
- francesca 14y agoThe interesting thing here is people equate pop culture with being trendy. I think it's entirely possible for a pop culture of programming to exist, but I think in general what this discussion on this thread proves is that there are multiple cultures existing within developer communities, and a lot of devs exist within many of these circles. What's more, the "pop culture" element of programming does not necessarily contribute to the rate of change! The communication mechanisms within programming (Hacker News, Twitter, Reditt, mailing lists, forums etc, that is what accelerates the rate of change within the developer community. Pop culture is actually NOT that fast. People need to spend time performing it before something becomes pop (i.e. the idea that Hipsters start all fads, because they find them first and that is how they spread) I would say The Active Contributors--The people contribute to open source projects mailing lists etc. These people help promote certain "styles" of programming over others. They contribute to make the things that work even better. These things they create are then consumed by other members of the community.
- zerostar07 14y agoPop culture is by nature trendy, you can only listen so many times to the same song before it gets boring. Popular art aims to please, pleasure has certain characteristics, it gets old, it gets kitsch and is driven by novelty. There's no such comparison for programming, you can use the same old language millions of times without any diminishing returns. It's really not even a valid comparison, it's apples to oranges. The one relevant analogy i can think of is between programming languages and musical instruments. Also, IMHO there are no superstar programmers who can influence developers. All the good devs i know are too arrogant to take any suggestion based only on who suggested it.
- d--b 14y agoProgramming is an engineering discipline. Engineering has some things of crafts and is influenced by a culture. It is the same in any kind of engineering, there are fashions in bio-chemisty as there are fashions in how you build a bridge or how you design an electronical circuit. In the 70s, it was in fashion to make buildings with a lot of asbestos in it, just like in the late 90s everybody used to build systems around SQL databases. But now people don't do it so much, not because the culture has changed, but because it was not such a great idea in the first place, and as we progress in our field, we know how to make things better.
- cafard 14y ago'The programming language BASIC became popular because Dartmouth had it on a computer system, and General Electric franchised that system. Once it spread “in the wild,” it became popular because it was popular.' Or: it was used because it was available.
- zb 14y agoEngineering disciplines are characterized by extensive standardized formal study, conformance to best practices, and regulation. Actually, this is only true in programming pop culture. In reality, different engineering disciplines vary widely in the degree to which these features are present. In my opinion, none of those listed are even especially central or important. (And as a result, I'd argue[1] that software development, as currently practiced, fits quite comfortably in the broader stable of engineering disciplines.) [1] http://www.zerobanana.com/essays/reclaiming-software-engineering/ http://www.zerobanana.com/essays/reclaiming-software-enginee...
- Hawkee 14y agoWhat I find most interesting about this post is that the comments section is replaced with links to Reddit and Hacker News. Not a bad way to stir up attention to a post.
- Xion 14y agoPutting a 'Discuss on Hacker News' link instead of comments section is a common practice as of late. It's not just this particular author.
- raganwald 14y agoImagine we had never heard of this "comments" idea. How would we design such a feature? For starters, we'd need moderation. Some automated spam blocking. Voting might be a nice feature to draw attention to good comments. Reputation for the participants might help. We'd end up reinventing HN, Reddit, Digg, &c. One of the reasons I prefer to link to HN is that there is a community with a well-understood standard for behaviour. If I had my own comments, I'd have to ask people to live up to some set of arbitrary standards, and that's a lot to ask when someone might only read one thing from me every month or so.
- Hawkee 14y agoYou have a good point. It really depends on how well of a fit the audience in question is to your content. If you're trying to build your own community then it makes sense to maintain your own comments and moderate them yourself.
- raganwald 14y agoThat strategy works very well for Jeff Atwood, so I'd say you have something there.
- Hawkee 14y agoThis is just the first time I've seen it. I wonder what the policy is on creating an off-site mechanism to post to Hacker News. I looked over the various APIs and none seem to offer a method to post a link. They're mainly read-only.
- deleted 14y ago[deleted]
- crusso 14y agoMany things in programming are like that. Why do you use CamelCase in JavaScript but underscores_in_ruby? Because everyone else does, and that’s the language’s "style." By that logic, driving on the right side of the road in the US vs driving on the left in the UK is "pop culture". The reasoning in the article didn't improve as I read on...
- ricardobeat 14y agoCamelCasing is not enforced, while driving on the right side is.
- crusso 14y agoI've driven in countries where no traffic laws are enforced. People still pick a side of the road to drive on. And it isn't because it's superficial and fashionable. It's because there are underlying logical reasons for doing what the rest of the herd is doing. Likewise with sticking to coding conventions for a language.
- nickik 14y agoLaws in any given system are a process of Spontaneous order (http://en.wikipedia.org/wiki/Spontaneous_order http://en.wikipedia.org/wiki/Spontaneous_order). The performance of every given actor in the system is inhanced by everybody else adopting the system. Its absolutly normual and good. Thats how our social liver works in general, the state mostly only comes in later and writes stuff down.
- nickik 14y agoLaws in any given system are a process of Spontaneous order (http://en.wikipedia.org/wiki/Spontaneous_order http://en.wikipedia.org/wiki/Spontaneous_order). The performance of every given actor in the system is inhanced by everybody else adopting the system. Its absolutly normual and good. Thats how our social liver works in general, the state mostly only comes in later and writes stuff down.
- papsosouid 14y ago
- seanlinehan 14y ago...but that model gave us Bowerbirds, birds that build elaborate structures that don’t do anything except demonstrate its fitness to spend large amounts of time building elaborate structures. The first thing I thought when I read this was Dribbble. I'm also a designer and have definitely gawked at the immense amount of time some members of that site have spent on entirely useless pixel perfection. I don't really feel the same way about programming, though. I'd much rather dash through a project and get it functional than craft it such that the code is beautiful.
- zwieback 14y agoProgramming is both a craft and a pop culture but when you use programming as part of an engineering discipline that's called software engineering. Whether software engineering is on par with its more respectable siblings mechanical and electrical is a different question.
- bryze 14y agoDoes anyone else think that this article is a Satire? I think it's actually an appeal to common sense. What I read is the author is sad that programming is not moving in the direction of an emergent engineering discipline, sad that popularity, not reason, drives the acceptance of languages.
- joejohnson 14y agoThe article starts by presenting the false dichotomy that programming is either an engineering discipline or a "craft" which the author defines as something learned informally through self-guided study. (Can't engineering disciplines be learned through self-guided study?) Then the author makes some comment about how BASIC "became popular because it was popular", and then I realized I was reading the ramblings of an idiot and I stopped reading.
- rhizome 14y agoMore blogger polemics. The word is "has," not "is."
- debacle 14y agoraganwald, your blog post titles are getting more linkbaity by the week.
- rhizome 14y agoIt's a down economy after all, and Christmas is coming up.
- eternalban 14y agoOP has misunderstood Dr. Kay's comment. He specifically made the comment -- at least in one occasion -- in context of music and noted the fact that "pop music" uses a tiny tiny subset of the available body of musical thought and precedent. As regarding our field being an arts and crafts field, again, imo, OP misses the mark. It is an arts and craft field because of a lack of an underlying science of creating software. The issue of scaling to meet the industrial demand on our output, of course, has been clear and evident since 70s, if not 60s, and clearly contributes to unique nature of our 'technological' field, but that inability to scale by adopting an industrial methodology is, again, due to a lack of a sufficient intellectual base to support an industrial process.
- nsxwolf 14y agoI didn't understand the photo in the article.
- yitzhak 14y agoUnless you're willing to concede that programming is something that takes zero skill, art, or craft, the argument is idiotic. A pop culture is something anyone can be part of. There is no barrier to entry like there is with programming. No loss, no reward. Why not just concede that programming is something that's never existed before, which can have it's own idiums and rules? Trying to shoe horn it into the pop-culture mold is as bad as calling it a trade.
- yitzhak 14y agoOn second thought, that's wrong. I have one that fits. Programming is a knighthood. Think about it.
- agentultra 14y agoI see you've watched the same Alan Kay talk as I have. It certainly changed my opinions about plenty of things. Many of my colleagues leer at me when I suggest that Computer Science is not so much a field today as it is a pop-culture. We continue to experience novel technology not because it is new but because we continue to forget our past achievements. Innovation has been slow in this culture (I would go so far as to say painfully slow). Worse, it dates me when I gather amongst my younger colleagues and I cannot stand it any longer! I'm not a dinosaur. Not even close! And still it moves at a lightning pace!
- argimenes 14y agoStarts off by appearing to agree with an insightful remark by Alan Kay, proceeds to reverse course and sympathise with the status quo, ends with a sentimental appeal to the 'humanity' of popular culture. Sadly proves the very point Alan Kay was making.
- rachelscott616 14y agoI must say that i always love programming.
- zby 14y agoProgramming is pop culture - but it is not about rejecting science it is because the science is mostly irrelevant for the day to day programming. Parser combinators might be cute - but you don't need to write parsers in your day to day job - you just use a library that does the parsing. In a way you do use the science in fact it is just so isolated that it is not really your job.
- irisshoor 14y agoA pop song (even a teriffic one) has a shelf life of a few months, whereas code running in production, either foundational or in larger systems may be there for years. That's where developers need to build things that last, and things turn to more technically complex musical genres like Jazz or Classical where the music may not be catchy - but will last a long time. The lasting pop songs are the ones hardest to compose, but maybe the most beutiful - http://www.youtube.com/watch?v=jBDF04fQKtQ http://www.youtube.com/watch?v=jBDF04fQKtQ