Java, Scripting, Credentials, Authority, Reputation and Influence…

Hot on the heels of my last blog entry where I wrote about Java versus “languages beginning with P”, comes a post from James Gosling talking about why he decided to create Java rather than a new scripting language. He shares some of his experiences of the inappropriate ways that scripting languages tend to get used in the real world, when a single scripting language is the only tool available in a developers toolbox. For example, fourier transform algorithms getting implemented in PostScript. It’s an interesting post.

Why is it an interesting post? Well, partly, it’s because of his experience in the field of software. To say that James has done more in the area of software than most people, would be a bit of an understatement. So, whether you agree with him not on any particular topic, his experiences are usually worth listening to (and smart people can usually learn something too). In other words, in the field of software, James Gosling’s credentials are pretty impressive. Hold that thought on credentials - I’ll be coming back to it in a minute.

Now, the first comment after James’ post was by a chap called “Obie”. Obie clearly disagreed with James’s post - in fact, he thought it was merely FUD - so I followed the link to his blog to find out more about him and see what else he had to say on the topic. It turns out Obie had a whole post on the topic. He was pretty dismissive of James’s post.

Now with all due respect to Obie, I didn’t find his post persuasive - for two reasons. The first reason was that Obie has fallen for the old “static, strong typing is useless, what you really need is strong testing” argument. The problem with this argument is not that it’s wrong per se, rather it’s that it simply turns out to be wrong in many real world environments. Strong testing is fabulous, no doubt about it: the problem is that most developers don’t have the discipline to write and update their test suites. The consequence is that, in the real world, there actually are benefits to static, strong typing in complex projects. One way of thinking about static, strong typing is as “just another test suite”, except that it’s a test suite developers are less likely be lazy about or subvert. (Update for clarification: I’m talking here about developers who can write great software. If developers can’t write great code, then nothing is going to help them - not strong typing, and not strong testing. Low quality developers produce low quality code. Period. And,just to be clear - no-one would be happier than me, if more great developers truly embraced writing good test-suites for their code.)

The second reason, however, why I didn’t find Obie’s post too compelling is more interesting. It has to do with credentials, and the power they wield. I’m not intending the following to be negative or disrespectiful to Obie, I just think that his blog entry is a good example of the importance of credentials in winning an argument. Obie’s credentials, as publicised on his blog, appear to be that he has nine years of experience in software: it doesn’t say whether he thinks this is a long time, or what his achievements are other than that. So readers are forced to guess at what other things Obie has achieved in his career. My guess (and I accept I could be wrong on this) is that Obie has achieved rather less in his software career than James Gosling has in his. In other words - James’s credentials are almost certainly vastly superior to Obie’s; and if you know anything about psychology, you’ll know that people tend to have a pretty unshakable belief in the value of credentials.

So, the second problem I had with Obie’s post was to do with the fact I wasn’t impressed with Obie’s credentials compared to James’s. What happened was I disregarded the arguments in Obie’s blog I believed to be wrong (the static, strong typing is useless bit), and I didn’t accept the other parts because I believed (rightly or wrongly) that the balance of probability is that James is more likely to be correct than Obie. Obie said that James’s post is “laughable” and that James is just spreading FUD because he’s somehow scared of Ruby on Rails. My response was, “That doesn’t sound terribly likely to me.”

Understanding the power of credentials is an important lesson for people wanting to make their way in the world. Let’s take a popular example - lots of hackers believe that Microsoft software is of low quality. They are entitled to their opinions, and they can have a lot of fun with those who hold similar opinions. The problem is - Microsoft’s software puts billions of dollars profit into the bank for it every quarter. In other words, Microsoft’s software credentials are actually pretty good. So, if you stand up in front of a general audience or write in a blog that your software is much better than Microsoft’s you’re not going to find many people believing you.

The issues of “reputation” and “authority” are a really a big deal in the blogosphere. That is - if you you’re reading a blog entry, how do you know if the blogger is talking from an informed point of view or not? Part of the answer, I think, has to do with credentials - which is why it’s a great idea for bloggers to put up a useful “About Me” page on their blog, so that their readers can see something of the writer’s credentials…

Trackbacks & Pings

  1. Fragmental » James Gosling Fala Sobre Linguagens Especialistas: FUD? on 18 Dec 2005 at 8:59 pm

    [...] O problema é que mesmo que Gosling não tenha atacado mais fundo as novas tendências (talvez ele realmente não queira fazê-lo, ou talvez não queira se expôr, sei lá), um post por James Gsoling é sempre um post pelo Pai do Java, e isso causa reações. Um exemplo típico é esta entrada por Simon Brocklehurst. [...]

Comments

  1. Slava Pestov wrote:

    Arguments from authority are a fallacy. Just because person X has “credentials”, does not mean what they said is valid. The only way an argument can be shown to be valid is if every statement follows logically from the previous one. It doesn’t matter how rich the person stating the opinion is, how old they are, or what are their “credentials”.

  2. Brandon Carlson wrote:

    I have to agree with Slava. Having been a follower of both blogs, I have a high amount of respect for both Obie and James. I don’t have as strong an opinion as Obie on the subject, but I wouldn’t be dismissive of his thoughts. James Gosling didn’t have credentials at some point in his career either.

  3. simon wrote:

    Slava and Brandon - you’re both 100% correct. However, you miss my point. My point is that, in general, people assign a lot of value to credentials - for right, or for wrong. This is simply often how the world works, even if it sometimes seems illogical or unfair. So, if you don’t have the credentials, you need to be smart about how you construct an argument: and being dismissive of a person or organisation that has strong credentials is not usually a useful approach (unless all you want to do is preach to the converted). That is, you will rarely *convert* someone to a point of view by going that route. And, aside from all that, I find understanding someone’s credentials to be genuinely useful.

  4. Obie wrote:

    Simon, that last explanation actually made quite a bit of sense. Yes, people often do assign a lot of value to credentials when weighing arguments. It’s illogical, but not necessarily unfair. IMO, that’s just the way the world works.

    I found myself lacking time and motivation to deconstruct James’ comments, so you are probably right: mostly all I did was preach to the converted. Nevertheless, it spawned some useful conversation and shows that other folks are not simply accepting what ‘credentialized’ leaders say at face value. I respect Mr. Gosling and was disappointed by what I took to be his poorly argued defense of staticly-typed languages such as Java.

  5. simon wrote:

    I agree Obie - I think these kind of conversations are useful.

  6. bob wrote:

    Credentials and authority are fine, but what about vested interest and bias? I’d like to have seen you cover these a bit more in your post.

  7. Brian Takita wrote:

    One of the nice things about the internet and the blogsphere is that you do not need credentials to voice your opinion. If your idea has merits, then it is available to an interested audience. You don’t have to jump through hoops and ladders and spend 20 years building your credentials before being able to voice your ideas.

    It is also empowering to the audience, as it lets them make up their own mind over debates and not have to take the word of the accredited source.

    Yes, credentials are important, but now credentials are moving toward the strength of an argument, rather than one’s political leverage and life’s accomplishments. Hopefully, this trend will continue.

  8. simon wrote:

    Great point Brian. I think that’s really important. Hopefully, through blogs and other on-line conversations, it will be more likely that progress will be accelerated by the best new ideas gaining mindshare. There’s nothing like public scrutiny for helping people tighten up their thoughts and ideas.

  9. Hani Suleiman wrote:

    I think it’s helpful when dealing with obie is that within his own company, many fellow employees refer to him as ‘obie wanker newbie’. He certainly means well, but as a developer, he’s incredibly immature (probably not surprising, given that he’s in his early 20’s). If anything, he approach to ruby evangelism is detrimental to the technology, and the obsessive one sided approach he adopts almost goes out of its way to ensure that any valid points he might have are drowned in the gibberish and melodramatic proclamations.

    He certainly is big on preaching to the choir, and while people can argue that Gosling’s arguments are all about vested interest and bias, Obie suffers on this count far more than Gosling does; given that he’s desperate for his company to assign him more ruby work, and is endlessly frustrated by the persistent success of java and its position as the main breadwinner for his consultancy.

    In response to the commentor who said that the blogosphere enables posters to tighten up their thoughts and ideas, I’d argue the exact opposite. This environement enables any idiot to get a soapbox and lends legitimacy to the most crackpot of opinions, obie being a prime example. Where in the real world would an arrogant, ignorant, pretentious, inexperienced drama queen get a soapbox?

  10. Berlin Brown wrote:

    Hani, you are cool.

  11. Tom wrote:

    Hani,

    While the bileblog is funny and I hear from several people who know you that you are not at all like this in person that is a terrible comment. I know several thoughtworkers and none of them have described him as “Obie newbie wanker”. As you have not named sources its just hearsay character assassination, which is pretty pathetic.

    Its one thing to slag everyone off in your “joke blog”, its fun and everyone with a sense of humour “gets it”. Attacking people with unattributed hearsay rather than dealing with their arguments is pathetic. As it is in the comments on some else’s blog people will have to assume that this is the “real Hani” not an amusing blog persona which is a sad dissillusionment.

  12. Hani Suleiman wrote:

    Tom, you’ll note that I refrained from hurling random abuse, which would have been more inline with bileblog. I agree that randomly attacking people instead of their arguments is indeed pathetic, but before hearing an argument, it’s vital to know the background, assumptions, and attitude of the poster. If that weren’t the case, why do you think the slashdot crowd cries foul every time MS posts any kind of ’study’? Motive is crucial here, and just as everything I post on my blog has motive, obie has plenty of motive, and a lot of it is not condusive to an intelligent rational debate.

    I might be a nice person outside my blog, but that doesn’t mean I’m an happyclappy idiot who grins foolishly at every halfbaked idea out of an overblown sense of social responsibility.

  13. Tom wrote:

    Hani,

    You don’t have to be a “happyclappy idiot”. Most of your post is perfectly reasonable; strong, but reasonable. But the first two sentences are just “I don’t like him and my friends at Thougtworks don’t like him either, so that proves it. nyah! nyah! nyah!”.

    Attacking the person not the argument is generally a bad approach (effective, but bad). Bileblog is where it is because it breaks the rules and does just that but people understand what is going on.

    (And, you (you!) of all people using Slashdot as an example of sensible argumentation?).

    Also; youth, while a guide, is no infallible pointer to bad or good judgement or ability. Go and have a look at the average age of the Apollo project managers and engineers.

    If , as you point out “he [sic] approach to ruby evangelism is detrimental to the technology, and the obsessive one sided approach he adopts almost goes out of its way to ensure that any valid points he might have are drowned in the gibberish and melodramatic proclamations.” then take apart the approach and the proclamations, it shouldn’t be hard. But don’t start a whispering campaign.

  14. Obie Fernandez wrote:

    I’ve been advised to ignore Hani, however I’m finding it very difficult.

    I believe he has a personal vendetta against me due to the way I called him out on his hypocrisy after he biled me earlier this year. He won’t dare bile me again, so he has been throwing darts via weblog comments. I think his comments above are lible and character assassination of the highest order. Luckily, he is incredibly sloppy when it comes to actual facts. I find it remarkable he can’t even get my age right! I am in my 30s, not early 20s, and verifiably so.

    The other is significant lie is that I am “desperate for ThoughtWorks to assign me more Ruby work”. In fact we have as much Ruby work available as we can handle, probably more. In my role as a senior consultant and technologist I have been evangelizing Ruby *and* billing for Ruby on Rails related consulting fulltime for the last six months.

    As recently as last weekend I was sitting in a lounge with well-known ThoughtWorker Paul Hammant, and he assured me that Hani is actually likable in person. I argued that no matter how likable he might be when you are speaking to him face-to-face, Hani is one of the most vile, despicable hypocrites of our extended social circle. His penchant for character assassination goes beyond satire into the realm of malicious, sociopathic behavior.

  15. Brian Takita wrote:

    ——
    > In response to the commentor who said that the blogosphere enables posters to tighten up their thoughts and ideas, I’d argue the exact opposite. This environement enables any idiot to get a soapbox and lends legitimacy to the most crackpot of opinions, obie being a prime example. Where in the real world would an arrogant, ignorant, pretentious, inexperienced drama queen get a soapbox?
    ——
    Yes, there are more (less thought out) opinions being thrown around. However, the availability of information is really a catalyst to people thinking for themselves.
    The public audience is seeming to train itself in how to spot a poorly thought out argument. Imagine if only the mass media controlled what information you could see…

  16. Maris Orbidans wrote:

    I didn’t notice any FUD in James’ blog. He didnt even mention Ruby what Obie is overzelaous about.

  17. Alex wrote:

    Yes, Maris Orbidans, you are right.
    James’ blog doesn’t contain the word `Ruby`.

    And Mr. Obie Fernandez, I know Hani was out of line, but your comment hasn’t aided you in any way.

  18. Slava Pestov wrote:

    Obie, why are you so concerned about Hani’s opinion of you? What he’s doing is not as much “character assasination” as “acting like an idiot to amuse his fanboy friends”. He’s just another retard with a web log, with an over-inflated sense of self-worth and achievement because he’s the CTO of a company whose primary product is a PHPNuke clone.

  19. Maris Orbidans wrote:

    Hani is a nice guy. He helps to start a new day with a good laugh quite often.

  20. Steven J. Owens wrote:

    Credentials often play a key role, in the real world, in making a persuasive case. Argument from authority may be fallacious logic, but there are only 24 hours in a day and people have lives. As a result, people have to make decisions on incomplete and unverified data all the time. This is especially true for non-technologists dealing with technology decisions.

    Where credential’s best role comes into play, I think, is in credibility of factual information. I’d love to be able to trace every fact in every discussion or publication back to primary sources, but I just don’t have the time. So I’ll have to look at how that fact fits with my current knowledge, and I’ll also have to assess the credibility of the source of the fact. For some kinds of facts, this is fairly easy. For others, less so, particularly when we get into softer topics where more judgement is called for.

    A secondary factor is the tone and style of the communication. For example, for me, if a given post or essay seems to be a rant, that’ll affect how much credibility I extend to the facts in the rant.

    Balanced against this is the subtle issue of accessibility of writing. The point of any piece of writing is to communicate something. While it may be proper to qualify and clarify every single aspect of a topic, that may also turn what might a short, concise, readable, even enjoyable essay into a long, boring, flat, unaccessible white paper. Sometimes appropriate, sometimes counterproductive. I tend to use this quote for my sig file, from the intro to one of my own writings:

    “I’m going to make broad, sweeping generalizations and strong, declarative statements, because otherwise I’ll be here all night and this document will be four times longer and much less fun to read. Take it all with a grain of salt.”

  21. simon wrote:

    Thanks for the quality, thoughtful post Stephen. I think your comment will strike a chord with many people. Your point about people frequently having to make decisions based on incomplete and unverified data is absolutely spot on.

  22. NP wrote:

    If a strong, static type system is a substitute for testing, then are you saying that developers should write tests when they use a language that *doesn’t* have a strong, static type system?

    There aren’t many languages that do have a strong static type system and certainly none that do are widely used. Java, for example, has a very simplistic, weak static type system and detects most type errors at run time. Are you saying that programmers should do strong testing when they program in Java? What if they don’t? Should they be fired?

    Or are you arguing that programmers that don’t write tests should only use languages that *do* have a strong static type system. I don’t think that will work — if a programmer is not competent enough to get to grips with JUnit I don’t think they’ll get very far with Haskell, the only languages I can think of that has a static type system strong enough to even come close to unit testing.

  23. simon wrote:

    To clarify - I wrote “stratic, strong” and not “strong static”. In other words, I wasn’t applying the word “strong” as a qualifier to the word “static”; rather as a qualifier to the word “type”. Sometimes when I wrote that, I did mean “strong and/or static”. I have not been as specific about this as I should; I hope that most people can get my general meaning.

    I’m not sure if this has caused a misunderstanding. In any case, most people would say that Java has strong typing i.e variables are bound to specific data types. Java also has static typing. So it has a static, strong type system.

    Now, to answer your questions:

    “Are you saying that developers should write tests when they use a language that *doesn’t* have a strong, static type system?”

    Not only then. I am saying that it would nice if more developers wrote more tests generally. And if they don’t write tests, they may tend to have more bugs in their code when programming in, say, dynamically typed languages.

    “Are you saying that programmers should do strong testing when they program in Java?”

    See above. It would be nice if they did. It’s not the end of the world if the don’t - as long as they are capable of writing code that isn’t riddled with bugs.

    “What if they don’t? Should they be fired?”

    I’m not sure if I understand the tone of your question here. But getting into disciplinary procedures is probably a bit off-topic IMHO.

    “Or are you arguing that programmers that don’t write tests should only use languages that *do* have a strong static type system?”

    I’m saying that if you’re not going to write unit tests, then you may catch at least some bugs if you use a language which allows you to find some type errors at compile time.

    I’m not sure I can imagine a developer so incompetent that they couldn’t get to grips with JUnit. It’s hardly rocket science, is it? But you’re right, functional programming languages like Haskell are interesting from the point of view of being able to check code “correctness” - and very different from imperative programming languages in that respect.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*