Choosing the right allrounder technology for development business
I hope posting this thread here is appropriate, as it got closed of by the administrators on StackOverflow saying, my question is not a real question...well maybe someone needs some lessons in linguistic communication...(either me or them)
I'm posting this as I want some advice in regards to the technology we are going to choose for our company, and although on it's own, this thread will not determine the outcome, every bit of advice and council will most definitely help a lot, as this adds to the research and experience we have already gained.
I've been in software and web development since I was 14 years old, either as an enthusiast or as a professional programmer, I am now 29. 2010 will be seeing the start of a new business me and some friends are challenging together as a team.
The thing is, in my career I've worked with so many technologies, and have come to know a lot of their strengths and weaknesses. Stuff I've used include: (in order of experience)
PHP (including Symfony, Zend, CodeIgniter and more)
Actionscript 3 + Flex
Java (with a bit of Spring)
Despite my experience in the above, it is still hard to make a decision of which technologies we will specialize in, but nonetheless, I believe the experience helps a lot!
It's probably a good thing to specialize and we have decided to select a technology that will extend our productivity and the total number of platforms we can develop for. And we want to be fully Agile.
We are aiming at the development of:
Rich internet applications
So clearly, PHP might not be the best option for our endeavor, although desktop apps can be developed with PHP GTK+, it's not the best viable option out there.
At current, my best guess is that the three top contenders are:
C# and .NET
Each technology has its own advantages and drawbacks, I'll name just a few here:
Platform independent, as long as a JRE is available.
The JDK and IDE's like Eclipse/NetBeans are free.
Java is very mature and elaborate, making it a bit harder to learn.
C# + .NET
Is not entirely platform independent, Mono for Linux is a bit behind.
Cost wise, .NET tools like Visual Studio and servers cost a fortune.
Is not as difficult to learn, MSDN has all you need.
Is platform independent.
It seems fairly easy to learn, and the language syntax is very appealing with some very handy features.
My point is, there are so many pro's and cons to each of these wonderful inventions, it's so hard to decide and to make the best decision for our business.
We don't want to be a "Jack of all trades", we want to be specialists, but there's also no use in specializing in a language/technology for which there is no demand.
So what do you guys think, any advice, recommendations! Many of you have most probably been through this exact same phase, and I'd be happy to hear of your experiences.
The advice and input is much appreciated!!!
Thanks for reading!
Jer 29:11 - For I know the thoughts that I think toward you, saith the LORD, thoughts of peace, and not of evil, to give you an expected end.