in reply to Business readiness of programming languages

You need a elaborate on a few items to make your article complete. In no particular order ...

My criteria for good software:
  1. Does it work?
  2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?
  • Comment on Re: Business readiness of programming languages

Replies are listed 'Best First'.
Re^2: Business readiness of programming languages
by szabgab (Priest) on Jul 06, 2005 at 06:58 UTC

    OK, let's see some further explanation.
    Some people always come up with the question which language is better? The standard answer to this is that it depends on what do you want to solve. In reality, when a CTO or someone high enough in the corporate hierarchy has to decide which programming language to use for a certain task there are a number of questions he will take in account. A few of them are here:

    • How much does the language fit the task (domain fitness)?
    • How familiar he is with the language?
    • Are the current employees familiar with the language ?
    • Are they already using it in the organisation?
    • How easy it is to find programmers in that language?
    • How popular the language (how easy it is to find support etc.)
    • ...
    There are all kinds of tools to measure some of these. Non of them really good. This one might be as good as TIOBE in indicating how many people with some knowladge in language X are out there and are somehow connected with some virtual business community. That is connected to people higher up in the corporate ladder. Or even better, how many are ther connected to me (me being replaced of course by the person searching).

    LinkedIn is a social network similar to Orkut but it is business oriented. It does not have pictures, you can only initiate connection if you know the other persons e-mail address and you can only contact people via your connections. When you are searching the database you can only see people up to 4 hops away.
    It seems privacy is an important issue for them.
    Those people whom you can reach are called "your network".
    While the numbers are more interesting (if at all) relatively to each other, I display the total size of my network here as a reference point so you can see the size of the total population. (Of course there are more people registered in LinkedIn, I think 2 or 3 times more, but I can't see them as they are more than 4 hops away).

    • Define "business readiness" - I have no clue what you're referring to.
      I felt that the relative number of "XYZ" related people using a business network has some bearing on how easy it will be to a VC firm or a CTO to find people in that language. Ina way counting how many people in that language got the "clue", in what they see as the "clue".
    • How does your LinkedIn account relate to me?
      Not really. Unless you are also a member and are directly connected with me.
    • What does this have to do with "how important Perl is for CTOs"?
      I think it is related to "If many people in other companies use it then it is ok to use it"
    • What does "My Network" (which is a Windows pseudo-location) have to do with programming languages?
      See above. This is the total population I can see in the network.
    • What about mixed-language applications? All of my apps are at least tri-lingual ...
      Nothing related.
    • What do your statistics say re: the question of language domain fitness?
      Nothing. this is a separate question. See my points above.
    • Why do you have a "language" on your list that isn't Turing complete (SQL)?
      Actually I am not sure. I just thought it might be an interesting measurement point to compare to.

    Actually I think there are a number of problems with the searches such as Basic as pointed out by shlomif but even Visual Basic (without quotatin marks) will find entries with the English word basic in them, Perl might be the name of a person, etc.

    It is also problematic as obciously I know more people in Israel than in other places and I know more people with Perl knowladge than COBOL knowladge so "My network" is skewed.

      First, thank you for taking the time to elaborate. Many people either don't or feel that being asked to elaborate is somehow insulting.

      Your question regarding "business-readiness" or "business-capable-ness" of a language is very relevant. How a language is viewed within the business community determines why someone would choose to master the language. For example, I want to learn Lisp. However, I need to master other languages (like Javascript) first to pay the bills, and Lisp is a language I can only learn in my spare time.

      You refer to that yourself, when you say I think it is related to "If many people in other companies use it then it is ok to use it". And, I'm not sure that this is a good metric to follow, if you want your company to grow. It's a good metric if you want to merely keep up with the Joneses.

      Paul Graham speaks about this in several of his essays, particularly the ones he wrote about Viaweb, his company that build a Lisp virtual storefront (now YahooStores). He felt that the only way to be the Best-of-Breed was to not do what everyone else was doing. There's more risk in this path, but there is no reward without risk. And, as a real-world example, Google requires its programmers to know Python. I think it's the only major company that has Python as a required language in all its developer postings. Amazon requires Mason/mod_perl and Yahoo requires Perl. Yet, it's accepted wisdom among CTOs that Java is the only language worth developing new projects in. Who is right? Maybe, one should reject the accepted wisdom on technology when the wise don't actually use the technologies themselves.


      My criteria for good software:
      1. Does it work?
      2. Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

        Interestingly I have just read the Paul Graham article about Beating the Averages you mentioned and I don't think that he is right. I belive exceptional programmers can do exceptional work in any programming language (maybe not in COBOL ;) so the fact they beat the competition using LISP does not mean they could not do it with some other language that can fit the domain.

        But actually that is mostly irrelevant in my case. When I was thinking about this comparision I was mostly thinking about companies that prefer safe solutions, companies that like words like mainstream and industry standard.

        Interestingly just as we speak here there is a poll on CM Crosssroads asking What is your development platform. the original poll gave 3 choices:

        • Java
        • .NET
        • Both
        After some feedback the poll was changed and a few other environments were added, namingly
        • PowerBuilder
        • Delphi
        • LAMP
        I think we can say Perl is seen as "mainstream" once people will make polls where the 3 basic choices are .NET/Java and Perl (or maybe LAMP)