-1

Reading about various techie sites, there is often a feeling that Microsoft Languages / Oracle etc. are considered "enterprise ready", while there seems to be more doubt about languages such as Python or Ruby.

Why is this?

Do Microsoft languages actually have less security holes or not?

5
  • 7
    I think it's just the modern equivalent of "no one ever got fired for choosing IBM."
    – user53141
    Commented Feb 7, 2013 at 17:11
  • 2
    I didn't think anyone considered VB enterprisey :P
    – rlperez
    Commented Feb 7, 2013 at 17:35
  • Who are these people supposedly considering this to be the case? Visit some linux sites if you want the opposing view. Commented Feb 7, 2013 at 17:40
  • 1
    You got "a feeling" from "various techie sites"? I believe the correct answer is "This is not specific enough to address." Voting to close.
    – user16764
    Commented Feb 7, 2013 at 17:43
  • "Enterprise ready" is more about availability of staff, support, training, etc., than technical features. "Security holes" are more likely to be a consideration in products and frameworks than languages, since of course you can create your own security holes in any language. Commented Feb 7, 2013 at 21:35

3 Answers 3

5

Some languages are designed to limit the programmer's ability to shoot himself in the foot. Traditional language concepts perceived (in my experience) to reduce risk are:

  • Strong, static type systems
  • Object-Orientation
  • Compilation

There's also the fact that Microsoft/Oracle/etc often provide services other than the programming language. For example, if the company uses an Oracle database, then Java might appear as a less risky solution.

Last but not least, these companies offer corporate support not necessarily available for other technology. Buying into the whole Azure thing as a company guarantees you support and you'll probably be using a .NET language to build on top of the platform.

Then again, it might just be because managers and other non-techies perceive other companies as more "serious", just like companies prefer to pay for products that have free, superior alternatives (think Perforce vs Git).

4
  • 2
    +1, And don't forget vendor support contracts! Who provides support contracts for Python (not being sarcastic - I really do wonder if anyone provides vendor support for enterprise Python web application platforms)? Commented Feb 7, 2013 at 16:52
  • @FrustratedWithFormsDesigner - I'm sure lots of companies provide enterprise python support. I don't know who provides VB support now that MSFT have discontinued it Commented Feb 7, 2013 at 17:00
  • @MartinBeckett: I thought the OP meant "Visual Basic" as in VB .NET, not VB 6 (or older). Commented Feb 7, 2013 at 17:01
  • @FrustratedWithFormsDesigner, yes wasn't trying to start a FOSS holy war! We had an enterprise system started in the mid-90s that used VMS rather than UNIX because we need long term (20year) support ! Commented Feb 7, 2013 at 17:10
4

Well, I worked in an enterprise that used Python for a lot of thing, and one of my friend wrote Ruby in a gool-ol Insurance companies, so I don't know how much you can really say that they are not enterprise ready, but it's true that Java/C# are more used for the "big stuff".

What it mostly come down to is support. When you choose Microsoft and Oracle, you can call them at midnight on Christmas Eve and yell at them because its doesn't work, and they will fix your problem. For those mission critical applications, its very, very important to be able to do that.

They also sell more integrated solutions that are pretty much guaranteed to work together. If you take C# with SQL Server and Windows Server, they integrate pretty tightly. Same thing with Java/Oracle or IBM on Power with DB2. Those solution have complete tool to manage them that fit with what is existing (user are managed trough Active Directory, it can work accross continents, completely localised in swhahili, etc). If the organization grow and need to integrate a new component, its usually pretty easy to do so with those big enterprise solutions.

In the end, its not really the language itself, it's wether their is a big company behing that can sell tool, solution and support.

1

Mostly it's because they cost money. When you build a product to make money, you have a tendency to respond to the needs of the people with the money. Enterprises like being able to throw money at a problem to get it solved.

Conversely, if you are a large business and wanted to get a feature put into free software, you can't just pay a company like Microsoft to put it in. You generally must hire in-house expertise to implement it, or convince the community on the merits. That provides more flexibility at the expense of requiring more of a partner relationship than a client relationship with your software provider.

In other words, the business factors are larger than the technical factors, but that doesn't mean the technical factors aren't influenced. Enterprise software tends to be delivered as integrated turnkey solutions from tools through deployment. Free software tends to follow a some assembly required approach.

Not the answer you're looking for? Browse other questions tagged or ask your own question.