DEV Community

Discussion on: Why is your preferred programming language your go-to?

Collapse
 
leoat12 profile image
Leonardo Teteo • Edited

I have two preferable languages depending on the situation: Java and TypeScript.
Java is the language I use professionally, I am a web developer who loves Spring Boot and what it has to offer. The combination of Java maturity and Spring Boot ease of use made me love the Java language, before I used to see C# as the go-to language, but after I knew Java well, I fell in love. It is great to see that decades of well organized community driven development is at your back. You can find any solution for anything in Java and most of the time the solution is very elegant as well. People may say that it is verbose, but I think it has the vocabulary necessary to transmit what needs to be transmitted to the developer. It has the best libraries and the best exception handling as well, it is easy to find where is the problem, something that I didn't find in any language, unless, maybe, C#.

TypeScript is Javascript for the statically typed language fans. You are almost forced to know Javascript nowadays, but Javascript really bothered me with its, in my opinion, unsafe way of dealing with types, I have come from Java, it is something I don't tolerate. Therefore, TypeScript has been incredible for me, it reminds me a lot Java (and Kotlin), which makes me feel more comfortable and I can use the fast development and prototype of JavaScript and NodeJS.

So, I tend to use Java for work related things, web development and serious projects and TypeScript for quick projects, prototyping, etc.

Honorable mentions: the growing desire to come back to C# and learn it well, I think it is important and it is probably not that far from Java. I think it is good to have both Java and C# under your belt, but I didn't find the time to do so until now. Python is a language that I never liked and probably never will, it is just not for me, I need curly braces in my life... hahaha

Collapse
 
kaelscion profile image
kaelscion

the growing desire to come back to C# and learn it well, I think it is important and it is probably not that far from Java

I've felt this urge at times as well as I started with C#, but am a Python/Julia guy now. I will say as well that Java and C# are, in my opinion, sister languages in a lot of ways. If you know one, you are likely able to read the other and know what is going on for the most part. They were also designed with similar problems in mind, for similar use cases, and inspired by similar languages. They were just developed at different companies. I ultimately believe that Java is more widely used due to its portability, whereas C# is used by pretty much any business that runs the Microsoft stack. Sorry, let me rephrase that: pretty much any business :P.

However, in the days where the JVM runs more than just Java and C# is now cross-platform (weird), they may be actually becoming more similar than they've ever been. I'm actually hugely interested to see the future of these two languages.

Collapse
 
leoat12 profile image
Leonardo Teteo • Edited

Yes, that's true, C# and Java are very similar in many ways, except for a few different ways with doing things and writing things. It is somewhat the difference between dialects of a same language, I think. The different is mostly how things are done, for example dependency injection, database interaction, etc. In these areas they are very different, but it is a matter of framework, not language itself.
Here where I live I see that there are a 50/50 ratio between Java and C# and it would be great for my career to know both. This weekend I decided to have a "C# Weekend", I'm rewriting a application I did for fun and practice in Java and Spring to C# and APS.NET Core. Probably, I will write an article about my impressions regarding this rewriting. :)

Thread Thread
 
kaelscion profile image
kaelscion

I would read the crap out of that article. I left the C# world behind when .NET 4.5 was new and C# 5 was the latest version of the language so, suffice to say, I'm well removed from the C family nowadays. But I would love to see something that was written in Java, not only re-written into modern C#, but in the .NET Core repackaging of The .NET Framework. I've read a bit about .NET Core, but am not really sure if it is Microsoft doing its usual thing of acquiring a company (in this case Xamarin) then giving their founders a big middle finger by ripping their product apart, taking what they like, and throwing the rest away, telling Mono to go shove it, or an actual attempt to encourage a cross-platform, open sourced world. I like Microsoft's new direction. I really like how Satya Nadella, when first given his position, was expected to do a bunch of stuff, and in many cases had it demanded of him by the board, and instead kind of just said "That's nice. But Azure is my baby, I'm a cloud guy at heart. So guess what? We're going after AWS's cloud service. Oh, and we're going to do it by showing Google their not the only open playground of the big 5. Cheers fellas, I've got a company to run." But, I'm also relatively sure that at least part of that was, more or less, a PR stunt to help all of us skeptics believe that a "maverick" had taken MS by the ears and is leading a bright new revolution in tech and don't really trust it as far as I can grow a grand piano full of molten lead. It would be interesting to see the comparison either way though :D