http://www.perlmonks.org?node_id=510570

Social Computering vs. Computer Science (fn1)

Over the course of my personal experience with perl in particular, and "computer science" in general, there have been numerous annoyances, anomolies and artificialities that have caused me varying degrees of irritation over the years (nearly all of them non-perl-related, incidentally).

I routinely keep these to myself. Why be a troll? Why be a religious zealot? There are already too many as it is. Moreover, I usually later discover someone else has already written elsewhere about problems that, formerly, I thought only I had noticed. (fn2)

It has recently dawned on me, however, that those annoyances were trying to teach me something: a revelation that I am now prepared to share with the rest of the world. Are you ready? If you ponder it may very well change your life, no joke. Here it is:

You must learn to distinguish "Social Computering" and "Computer Science" and make this distinction a part of the way you think. This will save you time, productivity, and perhaps even your sanity.

Mathematicians distinguish between "applied" and "theoretical" and even "recreational" branches of study. The same is true of physicists, perhaps even chemists. Even in non-scientific disciplines, such as law and politics, you see a similar recognition of such "branches".

This distinction, however, is embarassingly absent from mainstream computer science and I.T. fields, and this is not good. This gaping deficiency leads to a litany of persistent phenomena that will irritate you tremendously if you attempt to approach your I.T. work with a strenuously scientific (or even just internally consistent) methodology. This deficiency is why 'scientific' and 'computational' endeavors get lumped in with activities that are more akin to politics, sociology, existential philosophy, and abstract art. This deficiency explains a whole host of (apparently unrelated) oddities that can be explained consistently when viewed under the rubric of 'primarily social endeavor'.

Such oddities include:

The bottom line is not to say that 'social' endeavors and values are 'bad' or 'inferior' to scientific ones. The point is that the willy-nilly mixing of the two under the heading "Computer Science" is rampant, and you will do well to recognize this, and adjust your perceptions accordingly.

(fn1): the use of the term "computering" is not a typo. It is intended to emphasize the social and linguistic phenomena that are often inconsistent with 'computation' or 'science'.
(fn2): see e.g., The world is not object oriented, http://www.well.com/~doctorow/metacrap.htm
(fn3): see e.g., http://www.w3.org/TR/xslt, http://xplusplus.sourceforge.net/FAQ.htm
(fn4): see e.g., "object oriented", "currying", "lambda expressions", and an entire catalogue of other similar terms. To discover such terms for yourself, pick any term and ask (n) knowledgable people for a *simple* definition. Ask them to use a definition that does not include the word itself in the definition. You may get more than (n) definitions, some of them contradictory. If so, you have found an example of what I mean.
(fn5): this actually happens a lot in the 'open source' arena, but open source authors *do* deserve some credit and recognition, unfortunately, the documentation tends to suffer when recognition becomes a main purpose behind it.
(fn6): such as when a syntax or convention gets hailed as a 'new object paradigm' or a 'pattern', even when it is little more than a slightly different typographical convention for entering code.

=oQDlNWYsBHI5JXZ2VGIulGIlJXYgQkUPxEIlhGdgY2bgMXZ5VGIlhGV

Edited by planetscape - closed DIV HTML elements in signature

Replies are listed 'Best First'.
Re: Social Computering vs. Computer Science
by philcrow (Priest) on Nov 21, 2005 at 22:19 UTC
    I think this change is already reflected on many campuses. Frequently there is a Computer Science department usually containing many people interested in the theorem and proof side of algorithms. On the same campus there is often another deparment called Computer Information Systems or Management Information Systems containing people deeply committed to teaching work skills for the IT sector. Even at schools that don't make the distinction by maintaining separate departments, there are often two programs of study.

    I light of these distinctions, you can simply ask someone what they studied (or if they studied) and learn a lot about how precise they intend to be about which things.

    Phil

      I actually recently graduated with a degree in computer engineering (i assume it's close enough to a CS degree). And they did offer classes such as Managment Information Systems and so on, but I never ended up taking any of the more IT type classes.

      With any college, they always want you to be well rounded. So not only was i required to take scientific classes (physics, numerical methods, formal logic) but i was also required to take social classes as well (sociology, epistemology, introduction to psychology). I think these classes are required to just better understand how people react to various things and situations. If you are better at understanding people, then you should be better at creating user interfaces, and applications that people are going to use right?.

      At this point in time, i would say that there aren't specific enough fields to have everything separated as you might like. This is why it's probably better to get into a little bit of everything. If computer science didn't require social computering... then we might as well just have robots doing all of the programming for us :).

Re: Social Computering vs. Computer Science
by zshzn (Hermit) on Nov 21, 2005 at 22:06 UTC
    Computers are relatively modern, and the aspects of them haven't been fully developed into many separate fields yet. The other fields you mentioned as examples, such as physics, chemistry, law, and politics, have all been around for a lot longer.

    Give it time.

Re: Social Computering vs. Computer Science
by zentara (Archbishop) on Nov 22, 2005 at 13:06 UTC
    Such oddities include: the constant (and often ignorant) (re)invention of "revolutionary" square wheels

    Microsoft has made a business out of this. :-)

    To be honest, I'm amazed at how computer illiterate most college graduates are. They think they know computers if they can find the "Start" button and do a few Excel spreadsheets calculations. It will probably never change. You have the basic old "left-right" hemisphere separation in people, and currently the world is dominated by intuitive types. They don't care how computers work, they don't care about numerical analysis, (except counting money), and to them, computers are just a tool. That is why Microsoft is so successful.... it allows the "point-and-click" types to get results, without knowing what is going on under the hood.


    I'm not really a human, but I play one on earth. flash japh
Re: Social Computering vs. Computer Science
by hakkr (Chaplain) on Nov 22, 2005 at 12:45 UTC
    "irritate you tremendously"

    So you get annoyed by people who just happen to know less computer science than you do?

    All I can say to that is I bet you annoyed all the Professors before you got your phd:)

    I think computing is already broken in disciplines and you get specialists within each. AI, Human/computer interfaces, RDBMS,Languages,super computing, O/S, graphics, networking to name but a few 'branches of study'.

    They will all likely continue to diversify and branch off.

    If you don't like the documentation, the buzzwords or the emphasis of something then simply don't use it.

      I am glad you made this point, because it allows me to re-emphasize a potential misperception that I intended to preclude. As per the original post:

      ... not to say that 'social' endeavors and values are 'bad' or 'inferior' (but rather) willy-nilly *mixing of the two* ...

      I like bacon, I also like milk, sometimes I even like *both* of them together in the same setting. That does not mean it is fun to buy both bacon and milk tossed into a plastic bag; casually labled and sold as "instant breakfast". You said:

      If you don't like the documentation, the buzzwords or the emphasis of something then simply don't use it.

      No need to throw the baby out with the bathwater. The change in perception is enough. It is enough to realize that "people will try to sell you bacon and milk mixed together in a plastic bag, so be ready for it when it happens ..." This understanding dissipates the annoyance and irritation. It also helps in anticipating likely outcomes in the future. Preparedness is the key, not withdrawal.

      Indeed, once you realize what's going on, you might make a name for yourself and a niche business as a competent and capable 'bacon and milk separator' ;)

      It has nothing to do with being annoyed and elitist towards other people (external). It has everything to do with adjusting how one approaches and interprets the situation (internal) ... which is really what the meditation was all about.

      =oQDlNWYsBHI5JXZ2VGIulGIlJXYgQkUPxEIlhGdgY2bgMXZ5VGIlhGV
        Well the dumb user annoys everyone but your internal approach has to recognise that you can do nothing about this kind of thing except occasionally educate others. Many people are simply just not interested.

        It is just a fact that the misselling of 'bacon and milk' will occur. People will always add marketing spin and buzzwords to make what they are selling sound better.

        So I think your message is simply 'ignore the PR bullshit' which is generally common sense.

        If you do then you will find yourself being prepared to withdraw on many occassions. I would say this is mainly a problem for people in decision making positions who have little IT knowledge, to 'us' it is merely annoying/amusing.

        It does not apply only to IT, I'm sure my mechanic is highly amused by my social understanding of his trade.

        It certainly sounded elitist, I'm glad it's not. Knowledge is power and not just anyone can have power, or knowledge
Re: Social Computering vs. Computer Science
by samizdat (Vicar) on Nov 22, 2005 at 14:40 UTC
    • Theoretical
    • Pragmatic
    • Hobbyist
    • Peck and Pray
    Despite the pervasiveness of modern computers, most people fall into the fourth bin. Of course, many of these same people also fall into the "Guess" bin when it comes to arithmetic. There's a leap necessary in early education which we haven't taken with regard to getting elementary computing concepts embedded in kids' brains. I've wrestled with this one myself and haven't gotten over the hump despite years of work. I do think it is unfair to stigmatize iNtuitives (given that I'm an [I|E]NFP myself :) as clueless; that's far too simplistic.

    I do think your distinction has validity in two very different ways. There has always been and always will be stress between those who want to simply study phenomena and those who realize that you need to produce useful things in order to eat. There are fewer and fewer ivory towers avaliable where both the bread and the electricity run freely! IBM Watson, Xerox PARC, RAND, Bell Labs, they are all gone or are shadows of what they were, but we are much the better for what they produced.

    The second way to read it, though, emphasizes the Social. There are those who like to hang around the community. In the seventeen and eighteen hundreds, there used to be social clubs of people who would "do mathematics", usually waiting with baited breath for the latest from some real working mathematician like Euler or Ramanujan. Computing is rife with similar hobbyist groups, and, I think, this is much more the group which produces the babble that irritates. Most pragmatic programmers do cut through to produce and use workable methodologies. Whether they use the nomenclature of CS or not, they are aware of it and gladly learn more as they go. I think it is wrong to lump this group with the hobbyists.

    Much as the fluff and babble is irritating, though, I would suggest that you also consider the benefits of having droves of Hobbyists and Peckers around. The PC on your desk is not there because of Brian Kernighan or Rob Pike or Larry Wall, it is there because Mr. PHB would like his accounting done on a beige-colored box and Joe Sixpack thinks his kid should learn some of this computing stuff.

    Don Wilde
    "There's more than one level to any answer."
Re: Social Computering vs. Computer Science
by spiritway (Vicar) on Nov 23, 2005 at 07:15 UTC

    I think with a new technology, the distinction between the technicians and the users is originally blurred. I am reminded of the early days of television, when you almost had to be an engineer to work the thing. You'd have to adjust it, tweak a whole set of knobs and switches, just to get it to work. Tubes would burn out, and you'd have to open the back, take out all the tubes, and test them to see which one was defunct. And so on. These days, you turn it on and it "just works".

    Similarly, early computers required many users to program them. Available software was limited. Killer apps like Word hadn't been developed. Computers came with BASIC installed, and it was expected that you'd use it. If you needed something done, you often had to do it yourself. As the technology matured, many tasks became easier. We're not there yet, but we're getting to a point where you turn it on and it "just works". But until that time, there is likely to be considerable overlap between barely technical users and those properly trained (formally or otherwise) in computer science.

    Your complaint about documentation really hit a nerve. It used to be that when you bought a computer, you'd get documentation that weighed more than the computer did (well, nearly so). It was filled with wonderful technical details, anything you could want and much more. Now, you get a "Quick Start" poster and a disk that has a PDF file on it. Most of that is either overly simplified crap (push the button on the mouse), or fluff from marketing. There's not much useful information any more. But the companies are targeting a larger audience now, the large number of basically non-technical users who do need to be walked through the basics.