To develop a new project we are thinking to train .NET people learning either Java EE or Ruby on Rails. This decision is just because of open source and to avoid purchasing of operating system also Sql Server database.
Currently there are no people who work on either Java EE or RoR. All team members should learn from the scratch.
If application is growing in future and requires to have multiple servers, does open source / free software gives me TCO when compared to train people and recruit more experienced guys?
Please suggest me whether this is good decision or not.
You can make switching a lot easier if you start using Java for your personal projects. Whether playing or learning a new aspect of software development (e.g., algorithms), use something new — use Java. This means that you will already feel relatively comfortable when you enter the Java platform market.
Developers often lean toward Java for large projects and . Net when rapid application development is required. You cannot go wrong choosing either . NET and Java, as they both are high-performing platforms.
NET makes use of natively compiled languages such as C# and C++. They are faster and use less memory than Java. . NET also allows for code optimization and writing less code, which improves performance. Shorter code also means less time spent on code maintenance and simpler debugging.
NET Core is exceptionally helpful in developing complex websites or apps since you can take the best from all the languages. If not, it's better to go for Java as it can offer you a more flexible approach.
You can program in .NET completely free with VS 2010 express and an open source database.
I'd stick with whatever everyone in your team has the most experience in. If you have several man-years of .NET experience, I would not move because you lose all of that.
You do not want your entire team "learning from scratch" when they are trying to build something for production. There is nobody there to guide the team across the vast asteroid field of gotchas and little quirks that each new programming language presents when you first start learning it.
My advice, stick with .NET even if that means using the open source alternatives available to you.
Also, if your project is going to grow into something that spans across multiple servers, etc... you may want to consider biting the bullet and buying commercial licenses. This way, you get support and you have someone to "blame" when (not if) things go wrong.
Either way, there are plenty .NET open source and commercial solutions that can be used to ensure your project has the right level of cost associated with it, while still being able to leverage your team's existing skill set.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With