I'm working towards an MVP that uses Java (on Android), C#, and JavaScript. It's interesting comparing and contrasting the languages while using them all at once.
Java is a workhorse of a language. It's stable, gets the job done, and is reasonably sane. It's also readable, which in my opinion is one of the most (if not THE most) important traits of a software product. Readability. Simplicity.
The problem I have with Java is that I feel like it never evolved to meet its potential. It feels like C# 1.1 to me.
These days however I think the most interesting programming topic is not Java vs C++ or Java vs C# or any of these tired old debates.
What's most interesting to me is the notion that dynamic languages are somehow more productive or superior to strongly typed ones. It seems to be a commonly held view in the startup scene especially. It just doesn't make sense to me.
Java is a workhorse of a language. It's stable, gets the job done, and is reasonably sane. It's also readable, which in my opinion is one of the most (if not THE most) important traits of a software product. Readability. Simplicity.
The problem I have with Java is that I feel like it never evolved to meet its potential. It feels like C# 1.1 to me.
These days however I think the most interesting programming topic is not Java vs C++ or Java vs C# or any of these tired old debates.
What's most interesting to me is the notion that dynamic languages are somehow more productive or superior to strongly typed ones. It seems to be a commonly held view in the startup scene especially. It just doesn't make sense to me.