Skip to main content
added 289 characters in body
Source Link
mikera
  • 20.8k
  • 5
  • 77
  • 80

If you are an open source focused shop I'd strongly recommend avoiding Microsoft stacks, especially through outsourced deals. I've seen this happen and it isn't pretty.....

Reasons:

  • You'll get stuck supporting two platforms (Linux and Windows). Or even worse, you will decide at some future date to standardise on Windows and get locked in forever......
  • There is a fundamental culture clash between the two worlds. Mindsets are different, approaches are different, team dynamics are different.
  • Microsoft products don't play well with non-Microsoft products in general. They make it relatively easy for you to go all-Microsoft, but not very easy to interface with the rest of the world.
  • If there is a new outsourced relationship being put in place, that is hard enough to manage already. You don't want technology and cultural differences on top of that!!

If you want .Net-style platform capabilities but an open source approach, you are much better off by going the Java platform route. Advantages:

  • Java itself is open source (OpenJDK), as are most of the major IDEs and tools
  • Java works excellently on Linux and Windows alike.
  • You can deploy client applications easily to either Windows or Linux machines with Java Web Start.
  • The open source ecosystem of libraries for Java is the best of any language, particularly on the server side but for networked client side applications it is also very good.
  • If you don't like Java-the-language, there are many great open source languages that run on the Java platform (Clojure, Scala, Groovy, JRuby, etc....)
  • If you want to leverage your PHP expertise, you can even run PHP on the Java platform with tools like Quercus (disclaimer: I haven't tried these myself)

If you are an open source focused shop I'd strongly recommend avoiding Microsoft stacks, especially through outsourced deals. I've seen this happen and it isn't pretty.....

Reasons:

  • You'll get stuck supporting two platforms (Linux and Windows). Or even worse, you will decide at some future date to standardise on Windows and get locked in forever......
  • There is a fundamental culture clash between the two worlds. Mindsets are different, approaches are different, team dynamics are different.
  • Microsoft products don't play well with non-Microsoft products in general. They make it easy for you to go all-Microsoft, but not very easy to interface with the rest of the world.
  • If there is a new outsourced relationship being put in place, that is hard enough to manage already. You don't want technology and cultural differences on top of that!!

If you want .Net-style platform capabilities but an open source approach, you are much better off by going the Java platform route. Advantages:

  • Java itself is open source (OpenJDK), as are most of the major IDEs and tools
  • Java works excellently on Linux
  • The open source ecosystem of libraries for Java is the best of any language
  • If you don't like Java-the-language, there are many great open source languages that run on the Java platform (Clojure, Scala, Groovy, JRuby, etc....)
  • If you want to leverage your PHP expertise, you can even run PHP on the Java platform with tools like Quercus (disclaimer: I haven't tried these myself)

If you are an open source focused shop I'd strongly recommend avoiding Microsoft stacks, especially through outsourced deals. I've seen this happen and it isn't pretty.....

Reasons:

  • You'll get stuck supporting two platforms (Linux and Windows). Or even worse, you will decide at some future date to standardise on Windows and get locked in forever......
  • There is a fundamental culture clash between the two worlds. Mindsets are different, approaches are different, team dynamics are different.
  • Microsoft products don't play well with non-Microsoft products in general. They make it relatively easy for you to go all-Microsoft, but not very easy to interface with the rest of the world.
  • If there is a new outsourced relationship being put in place, that is hard enough to manage already. You don't want technology and cultural differences on top of that!!

If you want .Net-style platform capabilities but an open source approach, you are much better off by going the Java platform route. Advantages:

  • Java itself is open source (OpenJDK), as are most of the major IDEs and tools
  • Java works excellently on Linux and Windows alike.
  • You can deploy client applications easily to either Windows or Linux machines with Java Web Start.
  • The open source ecosystem of libraries for Java is the best of any language, particularly on the server side but for networked client side applications it is also very good.
  • If you don't like Java-the-language, there are many great open source languages that run on the Java platform (Clojure, Scala, Groovy, JRuby, etc....)
  • If you want to leverage your PHP expertise, you can even run PHP on the Java platform with tools like Quercus (disclaimer: I haven't tried these myself)
Source Link
mikera
  • 20.8k
  • 5
  • 77
  • 80

If you are an open source focused shop I'd strongly recommend avoiding Microsoft stacks, especially through outsourced deals. I've seen this happen and it isn't pretty.....

Reasons:

  • You'll get stuck supporting two platforms (Linux and Windows). Or even worse, you will decide at some future date to standardise on Windows and get locked in forever......
  • There is a fundamental culture clash between the two worlds. Mindsets are different, approaches are different, team dynamics are different.
  • Microsoft products don't play well with non-Microsoft products in general. They make it easy for you to go all-Microsoft, but not very easy to interface with the rest of the world.
  • If there is a new outsourced relationship being put in place, that is hard enough to manage already. You don't want technology and cultural differences on top of that!!

If you want .Net-style platform capabilities but an open source approach, you are much better off by going the Java platform route. Advantages:

  • Java itself is open source (OpenJDK), as are most of the major IDEs and tools
  • Java works excellently on Linux
  • The open source ecosystem of libraries for Java is the best of any language
  • If you don't like Java-the-language, there are many great open source languages that run on the Java platform (Clojure, Scala, Groovy, JRuby, etc....)
  • If you want to leverage your PHP expertise, you can even run PHP on the Java platform with tools like Quercus (disclaimer: I haven't tried these myself)