this post was submitted on 26 Oct 2023
71 points (90.8% liked)
Programming
17364 readers
204 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It depends what you want to do.
Do you want to make cool desktop apps? Probably something like Rust or C#.
Do you want to do machine learning or scientific research applications? Definitely Python.
Do you want to make websites and web apps? Definitely HTML, CSS, and JavaScript (look up both Node.js and DOM API). You could also learn other server side languages like Ruby, Java, or PHP, but knowing browser side JS gets you half way to knowing server side JS, so Node would be easiest. If you want strict typing, you can learn TypeScript, which adds a strong typing system to JavaScript.
Do you want to make mobile apps? Probably Dart and Flutter. Also could learn Kotlin or Java for Android, or Swift or Objective-C for iOS.
Do you want to get into the nitty gritty of kernel level programming or embedded programming? Probably C and Rust.
Do you want to work on old software that runs mostly banking/enterprise/medical applications, but can land you a pretty lucrative job? Maybe COBOL, Fortran, or Ada.
Do you want to accomplish nothing of value? Visual Basic. (Just kidding.)
The most important thing you can do is to just jump into things and try them out. In my career, I've switched languages several times. If you've got the fundamentals down, learning a new language isn't that hard, so just pick any language you want and learn the fundamentals with it. I'd recommend a strictly typed language at first, because it's easier to wrap your head around what's going on, but if that doesn't feel right, don't hesitate to switch to something else. Have fun with whatever you're learning. :)
I would disadvise Rust for (most) desktop apps. There aren't any GUI libraries yet, and the Qt bindings aren't beginner-friendly yet.
Unless you just meant headless desktop apps, in which case Rust is my goto
There’s Tauri. Basically Electron with Rust instead of Node.
You can make an app with Tauri without writing a single line of Rust though. Tauri lets you trigger most native functionality you might need from the JavaScript side. If that's enough for what you are building then you don't need to write any Rust. You could use a Rust web framework that compiles to WebAssembly, but you could also just use React or Svelte or whatever else.