DEV Community

Discussion on: Why I Chose C#

Collapse
 
chadwinjdeysel profile image
Chadwin Deysel

Hi Eljay, thanks for the recommendation. Would be really keen to hear more of your experience with the other languages and their ecosystems (Java and C++) compared to C#. I don't think we hear enough from people who has had real life experience with some other frameworks.

Collapse
 
eljayadobe profile image
Eljay-Adobe

For Java, the projects I worked on was AlterCast, Graphic Server, and Document Server. Those were targeting J2EE environments for enterprise customers. It was Java 1.4 era, and most devs were using Eclipse, amongst a few IntelliJ fans.

I had come from a C++ background, so the refactoring tools in Eclipse for Java were amazing.

At Microsoft, working on Expression Blend and porting it to Visual Studio, I worked in C# and WPF/XAML. That was my first exposure to C#, and I was struck by both how similar C#/.NET was to Java/JVM, and also how different. I don't consider one superior to the other; they're both very good, and they both have their quirks and peculiarities. (IDisposable, lookin' at you.) It was nice to work with Lutz Roeder, just don't mention Reflector ... he was completely done with it by then.

But I didn't have a "great" experience with C# for that project, because we didn't have the extra mojo of using developer enhancement tools like ReSharper or CodeRush.

After that project, I got to work on the IE10 dev tools, and then the IE11 dev tools. That's what I got to use TypeScript 0.8, which at the time brought ES6-isms to ES3/ES5 as well as other better expressivity to JavaScript. The ES3/ES5 "polyfill" is no longer relevant, but TypeScript is still wonderful anything larger than JavaScript snippets.

JavaScript was designed to be for tiny snippets of event handling glue code. It does that job really well. Scaling JavaScript up to medium or large size applications is not in its wheelhouse; TypeScript makes that a better value-add proposition.

During "the browser wars", the contenders were Microsoft Silverlight, Sun/Oracle Java, and Macromedia/Adobe Flash. Who would have thought the dark horse technology JavaScript would beat out those other well-funded behemoths?

After The Big Layoff of 2014, working at another company on their Inspire software in C#, I got to use ReSharper, and NCrunch. Both are amazing tools — NCrunch being pure magic. (I presume both have Java/JVM analogs.) One co-worker of mine (at the time, the maintainer of Snoop) was a big fan of CodeRush, also an excellent tool.

Now I'm back in C++ land. I started with C++ in 1990, I wouldn't have imagined at the time that 30+ years later I'd still be using C++.

Prior to C++, my languages I've worked with were C, Pascal, LISP, FORTRAN, Prolog, 68000 assembly, 6502 assembly, and a wide variety of BASIC. I've worked on Apple //e and IIgs, Commodore 8032, Amiga 500 & 3000, Macintosh II through today's versions (from 68000 to PowerPC to Intel 32-bit to Intel 64-bit to ARM). I've also programmed on DEC VMS, IBM 3090, and a variety of Unix machines.

In addition to all the programming languages I've used for work or academics, I've also enjoyed learning a new programming language every year. Kind of my hobby. This year I'm taking a look at Swift 5.5 (due in large part to my coworker Dave Abrahams, who was one of the developers of Swift)... since I hadn't looked at it since Swift 1.x and it has changed & improved greatly since then.

My favorite languages are D, Python, Lua, and F#.

Thread Thread
 
chadwinjdeysel profile image
Chadwin Deysel

What a journey, it's amazing how we tend to end up right where we started. And with regards to JavaScript beating out the established competition, I think a lot of developers at the time were rooting for JavaScript to win.

Thank you for taking the time to tell your story, was really great to read 😃.