in reply to Re: The Enterprise Language Trinity
in thread The Enterprise Language Trinity
Basically Microsoft watched the development of Java and C++ and waited for enough hindsight to improve on the flaws of both.
Actually, MS developed a Java environment, extended it, and then got sued by Sun. In response, they pulled it, made some more MS-extensions and changes and branded it C#. Not that it's automatically bad, mind you.
C#/.Net are standardized ECMA languages and technologies. And MONO is a robust Linux/other OS implementation of .NET.
First, just because the language is standardized doesn't mean it's particularly suitable for a particular kind of work. My experience tells me that .NET falls down for scripting environments outside of Windows. As for the Mono project, while I'm very supportive, it's not ready for prime-time -- and even when it is, it will not do a lot to enable the kind of tight OS integration on Linux that .NET is known for on Windows.
C#.NET certainly has its place, but it's not a panacea. Which is the point of this meditation: nothing is a panacea, and any large organization needs to use several languages to fill all its needs.
Or, you might say: "it is horrible to cobble up quick one-off applications" because of the resulting issues with documentation and code quality :)
A quick one-off doesn't automatically mean a poorly-written one-liner. There are, and always will be, legitimate needs for single-use programs that need to be developed to fill an urgent need. They should still be properly documented and written in a maintainable style, but these apps often don't get to (and really don't need to) follow a complete lifecycle.
You can argue until you're blue in the face about how bad of an idea that is, and I will agree with you. Unfortunately, it's a fact of doing business until all managers become more tech savvy and far-sighted. And never make mistakes.
Not only that, but I think you will find C#.NET much faster for rapid GUI development.
First, faster than what? Second, I specifically pointed to Java and C# as being strong in the GUI (desktop) and web development areas. They are excellent choices, depending on your needs. Where C# falls down, as I said in the original node, is in its abilities for scripting environments (other than Windows) -- that is, where GUIs don't matter.
You seem to be missing the entire point of the meditation, which is that it's damn foolish (in any common case) to run a large organization entirely on Java, C#, or Perl. Even just two of those is difficult. Each has places where they shine, and each has places where they suck. It's the old mantra: all software sucks. The point is, if you choose Java, C#, and Perl, you get a solid system because they don't all suck in the same ways.
|
|---|