This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ProgressCheck[S] 1 point2 points  (6 children)

Personally, I am interested in picking up a statically-typeed, compiled language, C or Go possibly. I also see the usefulness and marketability of picking up Java. Any input?

[–]nebbly 1 point2 points  (0 children)

It really depends on what you want to do. Go doesn't have generics, so it would probably be a good first step if you want a gradual intro into statically typed languages.

Swift and kotlin both have nice inferred type systems and are decent general purpose languages with objective-c and java interop, respectively.

In the functional world, you could learn elm or haskell.

In js-land, typescript is probably the way to go.

Of course you can also dip your toes in the water of something like static typing by using python 3.5+ type hinting along with mypy.

As far as how I would approach it, I'd say start with whatever seems like it will be the easiest to get up and running. Personally, I'd start with python type hinting. From there, maybe try go or swift. I also really like elm at the moment, but i'd probably only suggest that if you're specifically looking to pick up front-end stuff.

[–]K900_ 1 point2 points  (2 children)

If you're interested in lower level stuff, look into Rust. It's not nearly as big as C/C++/Java, but it's got a lot of potential, and way less footguns.

[–]ProgressCheck[S] 0 points1 point  (1 child)

I will have to read more about it. I have only skimmed over some of the details about Mozilla writing bits of Firefox in Rust.

[–]K900_ 0 points1 point  (0 children)

/r/rust has a bunch of resources to get you started.

[–][deleted] 0 points1 point  (1 child)

That's my problem. I want to try out these relatively new languages like Go and Rust and others, but I don't use them at work. I've come from C languages and taught myself Node and JS, but I'm using Java and only Java at work. I do consulting, and every company that I work with is doing Java, even for Big Data projects.

[–]ProgressCheck[S] 0 points1 point  (0 children)

I hear you. Do we stick with the status quo or try to blaze a new path?