In the recent years, I've worked with lots of enterprise-level languages and technologies like: C/C++, Java, C#, Groovy/Grails, NodeJS/JavaScript, TypeScript and so many other technologies. In fact, I'm consulting companies to work with these technologies.
What do you think about a proper language/technology to pick for a company?
There are some elements which help to categorize languages, like:
- type safe vs. not-type safe
- managed vs. not-managed
- functional vs. not-functional
Although these parameters help to clarify the question, I think the most important parameter is the skill of people involving.
Quality of a software mostly comes from the quality of its developers, not from the quality of its language or technologies.
I see lots of great Java developers which produce high quality software, and lots of high quality software created by professional .Net developers. Also I saw lots of bad products on both stacks. Having the same languages and technologies, the quality of products are drastically different. Why!?
Software is a product being built based on minds of people, not a series of characters in a specific language. So, the quality the of minds directly affects the quality of software.
Good and nice
I think there is a reason for the photo of this article, but I don't know what reason 🙂