
Ask HN: As a .NET Dev, what is worth learning as a new language - philliphaydon
I&#x27;ve spent my (12 year) career doing .NET and web related stuff. But I&#x27;m wanting to learn new things and get my feet wet elsewhere.<p>I&#x27;m kinda tossing up between learning Rust and Go for a personal project at home. But I want to learn something that I could possibly use in my career in the future.<p>Curious what everyone thinks a lowly little .NET dev should learn. (I&#x27;ve done a lot of PHP, Coldfusion, and used to run an Ultima Online share for 3 years where I used to do a lot of scripting for the game)
======
galangalalgol
People seem to think go and rust fill the same niche. I am unsure why. Go is
easy to use and quick to compile and runs about half the speed of c c++ or
rust. It scales up to really large numbers of threads better than any of those
languages though, so it is great for services that need lots of connections.
Tokio and green thread stuff for c++ will catch up eventually on the threading
but go will still be quicker and easier to program in. Ask first do I want to
be the person that writes the super fast core of a project, rarer skill set,
higher pay, fewer jobs. Or do I want to write mainline service code, lower
pay, more jobs, with a quicker pace and less optimization or bit twiddling?
Deviating from the web back end field, rust will also have options for driver
and kernel updates, or shared libraries that are security sensitive like
libresolve for instance.

------
ElectronCharge
My first suggestion would be Swift, which I think will enjoy an exponential
use curve going forward. That will also give you exposure to a highly
efficient native language, in fact one that's quite a bit more efficient than
Go. It's also very well designed, and doesn't come with the learning curve of
Rust. Finally, it will position you to do iOS and macOS development, which you
may find enjoyable and profitable. I see you're interested in Linux from an
earlier comment - Swift is open source, with a Linux port.

Otherwise I'd probably suggest something on the JVM ecosystem, if you might
consider either portable web development or Android development. I personally
find Scala, Kotlin and Clojure to be interesting in the JVM space.

------
flukus
I'm in the same position as you, personally I'm going with rust + desktop
(gtk, don't bother with gtk if you're tied to windows btw) development for
something different. I'm pretty sure rust will have a bright future. Prior to
that I was brushing up on c + gtk, which is definitely a culture shock but in
a good way.

I haven't really been interested in go because it covers the same ground as
.net but with a(IMHO) worse language.

~~~
philliphaydon
I mostly use Windows 10 and OSX.

But have experience with Linux, I just don't play games anymore and most of my
stuff at home can be done on .NET Core so I can always use a VM for the odd
Windows stuff I need.

Good chance to learn Linux properly while learning something else.

------
douche
F# is high on my list of things to dive into when I get time.

I've also got _Seven Languages in Seven Weeks_ in my queue of books to go
through.

Do some DirectX or OpenGL graphics work.

Play with mobile development, either native or Xamarin.

~~~
ElectronCharge
"Play with mobile development, either native or Xamarin."

Another very interesting development in the mobile space is Exponent, based on
React Native...

