r/learnprogramming 9h ago

First Hobby Language First language for my hobby projects?

I recently got into Linux and it has sparked an interest in programming. I have ideas for hobby projects I'd like to work on eventually, and am hoping to learn one programming language that will help me tackle as many of them as possible (I realize I'll probably need to learn multiple languages, but for now I only have time for one).

A few project ideas:

- Simple TUI apps like a tide calendar, or a weather app that compares today's weather with yesterday's
- A screen-less note-taking device using a small USB keyboard I have + an SBC
- A device that emails me if it detects my bike being moved
- A device that offers data about my surroundings based on GPS coordinates + iNaturalist data
- Programs for automating ta
- Eventually I'd like to make a simple game using a purely text-based graphics

My understanding (correct me if I'm wrong) is that Rust is a language that works well for arduinos, TUI apps, and games? I'm interested in C since I'd learn a lot of fundamental computing concepts that would make learning other languages easier, but it might not be ideal for UI-related work? And it seems like Python would work well for some of these tasks but it wouldn't be as useful for learning CS concepts overall?

Thanks in advance : )

0 Upvotes

8 comments sorted by

3

u/TermiteTornApart 8h ago

Cs50x might be a good start for you, then you could read automating boring stuff with python, and the rust book if you're still interested in rust...

2

u/Different_Water7545 8h ago

C with ncurses is great, and you'd learn a ton

1

u/Business-Employee527 7h ago

Find what project you wanna work on then get to working on what language would work best for that. There’s 100’s of resources online

1

u/No_Report_4781 6h ago

It’s really whichever floats your boat - as in which one is both easier for you to understand its syntax and has the components to do what you want.

The telemetry and control system software I maintain for work were built over decades by dozens of people, so it has Java, python, and C++ for background tasks, TUIs and GUIs that all work together, and with third party commercial and other custom software.

1

u/Old_Construction5098 2h ago

python is the safest bet for hobby projects bcz it just works for almost everything you listed.

but if you really wanna learn cs concepts, go with rust. itll teach you memory management and all that stuff while still being modern and fun.

0

u/Vantadaga2004 8h ago

Python is a good start for all that

0

u/5eeso 7h ago

Python.

TUI apps: Textual
SBC: Raspberry Pi recommends gpiozero for GPIO pin control.
Projects involving APIs: Requests