Just a kid with a computer here. I am familiar and have reached a reasonable level of fluency with javascript and python, with typescript being a somewhat satisfying switch I made.
It’s been 4 years, I haven’t touched another language. I wanna study something future proof and genuinely helpful. The reason I never went beyond js and py was because I already had everything I needed, I could make anything I wanted. I really want to dip my toes in the strong programming waters.
Can you suggest a language?
C# is what I use at my day job and I think it’s a very good language. It’s feature rich (some people make fun of it for the fact the language team keeps adding new features). If you are familiar with Python and Typescript, that means you are reasonably familiar with object-oriented design. So, depending how you look at it, it may be very rewarding (since you will be able to quickly build on things you already know) or boring (since conceptually you will be mostly doing OOD). If you are interested in this path, Kotlin may be another interesting language which looks quite similar to C#.
Functional programming is all the rage now. So, if you want a real challenge that will help your programming skills no matter what, you may want to start looking into a language in this family. Haskell and F# come to mind. But there are many others.
Rust is also very trendy. In some instances it’s replacing C and C++. It makes one think about lower level details of software. It’s also a good language to learn if you want to be familiar with WASM. So, it may be an interesting challenge to take. Lemmy is written in Rust, so you may as well contribute to the platform. There is a lot to be done :)
If you don’t already feel proficient in SQL, that would be an important skill to obtain along the way. Databases aren’t going anywhere and it’s a whole different world.
That said, you may want to focus on general things like design patterns and development methodologies (TDD, etc.) to broaden your horizons. Writing code is one thing. Writing high quality code with few bugs is a difficult thing to do and a great skill that only comes when one understands the best practices of software engineering.
Hopefully this helps. Good luck with your endeavors.
deleted by creator
COBOL is probably the last language I expected to recieve as a suggestion, other than esolangs. I’m told COBOL doesn’t have fundamental functions like recursion and there’s really no support or libraries for it. I don’t see this being really practical in the real world.
With that being said, there are quite a few jobs for it. It’s certainly an interesting suggestion but I’m afraid I can’t really get into this without familiarizing myself with more strongly typed languages.
I dunno if this’ll really be of the same level of demand for the next decade or two but it’s certainly opened my eyes about it. I had no idea a language like that would be useful till date.
Edit: I’ve found out that there are frameworks and libraries for COBOL. Damn.
deleted by creator
C if you want to do low-level programming. Clojure if you want to do high-level programming.
Is C not reaching obsoletion? I haven’t heard a lot about it being used anywhere. I’ve only heard of clojure before, I’ll look at that!
Linux is written in C. Many native extensions are written in C. If you are able to program in Clojure and use Java native interface and C to write performance critical code, you are covered on all ends.
I agree with the other comments in this thread pointing you to Rust as a strongly-tyoed, compiled language to learn. It’s already popular, and only growing! I’m only average at it but hope to contribute to Lemmy’s source here soon.
Yeah I’ve been meaning to get my hands on it as well. Do you recommend any docs/videos/something else in particular? I learnt py and js by cloning a repo and dismantling things until something stopped working haha. I’d appreciate advice!
Well, a good way to start is just to go to https://www.rust-lang.org/ There they have a link to the rust book and a rustlings course which are a good way to dip your toes in.
I learn best by making and breaking stuff, so I did a bunch of Advent Of Code challenges in Rust to get used to the paradigms & syntax. If you don’t mind paying a bit, I got a lot out of these two books:
- Rust in Action by Tim McNamara
- focuses on lower-level concepts & has you build some small projects
- Hands-On-Rust by Herbert Wolverson
- focuses on developing a rogue-like terminal-based game using a Rust game engine. Great introduction, and at the end you have a working, modifiable game!
Once you are more familiar with the language, I love watching John Gjengset’s Crust of Rust YouTube channel to watch how a senior developer approaches problem solving in the language, as well as how he maintains his (numerous) open-source Rust libraries.
I hope any/all of these resources are useful to you!
- Rust in Action by Tim McNamara
deleted by creator
I took a look at it. The syntax looks scary and there’s tons of words that seem simply alien. Any idea where I should start from? I haven’t toyed with programming at a level this low.
deleted by creator
Just skimmed through one. He explains it quite well. I’ll save the links to try and learn it sometime next month. Thank you!
deleted by creator
JS, Python, Go, and Rust … if you have even three of those covered you’ll be in great shape.