DEV Community

Discussion on: How many languages should I learn

Collapse
 
drbearhands profile image
DrBearhands

Which I realized isn't career smart

This is not as one-dimensional as you might think. Yes there are many vacancies for Java, Kotlin and Go. Are they fun? Does the language incentivize innovation? What is it used for? Who are you competing against? What is the momentum of the language?

Personally, I would rather quit development altogether than doing the average Java job. But that's personal preference.

Kotlin and Go attempt to convert Java devs and stay within those devs' comfort zone. So they are not very different from what you already know.

If you want to explore what else is out there, here's a list of programming-language related stuff as diverse as I could make it:

  • logic programming (Prolog)
  • functional programming (Elm, Haskell)
  • Dependent Types (Idris, although you should probably get into FP first)
  • High Performance Computing multithreaded in C (OpenMP, Cilk)
  • HPC SIMD (OpenGL or WebGL shaders, OpenCL)
  • Linear Types (Rust)

I'm pretty sure each of these has pretty much cults surrounding them.

Then there's a lot more to development than what language you work in.

  • Big-O
  • category theory
  • the CAP theorem
  • the halting problem
  • the Curry-Howard correspondence
  • compilers
  • concurrency theory
  • quantum computing
  • profiling
  • ...

and there's also related subjects:

  • linear algebra (tip: start this through graphics)
  • testing
  • agent systems
  • machine learning
  • cryptography
  • scientific reading and writing
  • computer architecture
  • ...

This is all just from the top of my head.

You're a Java dev, so you should be able to land a stable job reasonably easy. I reckon it's more important to discover a subject you love.
Look around a bit and see what interests you, and never believe somebody who tells you something is "hard" if it's not prefixed by "np-".

That said, tux0r makes a really good point about COBOL.

Collapse
 
theredspy15 profile image
Hunter Drum

I just wanna clarify on the "not career smart"

I meant by that, Nim isn't the most common language, especially when working on any full scale project. So I decided against it, as learning something like Go, is (very) fun & widely used

Collapse
 
drbearhands profile image
DrBearhands

I know, but sometimes small quantity means great quality. A manager who decided to use Nim is going to be very different from one who decided for Java, C# or Kotlin (Go is still a little bit edgy). Find something you love and it'll be much more likely that your desires and the ones of the company align.

Oh BTW, not saying you should learn Nim specifically, I know next to nothing about it.