latexr 18 hours ago

The best advice anyone can give you on this is to “just pick one”. Analysis paralysis is death and is going to waste your valuable learning time. Understanding programming concepts, which you can do with most languages, is paramount and will make you equipped to switch to something else later on.

That said, some languages can be friendlier or more useful than others. Start with a scripting language, not a compiled one.

I’d recommend Ruby over Python, as it’s more expressive and less rigid with invisible characters. In Ruby you often find yourself thinking “I wonder if this works” and it does.

But if you don’t have a particular goal in mind, I’d even recommend p5.js above those. It’s essentially JavaScript for making art, with a large community geared for new learners. The best part is that with very little code you can have graphics on the screen reacting to your inputs, which is way more exciting than modifying text.

  • karmakaze 10 hours ago

    The thing I like about Python over Ruby is the one way to do a thing mentality. Ruby reverses this and has multiple ways from keywords if/unless and standard library filter/select, find/detect, etc--this drives me batty. The other infuriating is the subjectively surprising uses of the ! suffix on method names. `compact!` is a double whammy which mutates in-place (as expected) but also the return value is sometimes self and other times nil.

Desafinado 3 hours ago

Java. It's old school enough that it gives you a sense of real programming, while also shielding you from the lower level elements of C++ and C. It's also still widely used.

purple-leafy 9 hours ago

1) First learn a compiled/low-level language, so you can see how things work at a low level and have an appreciation for things like variable sized arrays, strings, and memory - things that are given for "free" in higher level languages (like JavaScript/Python)

- C is my recommendation

C is a very small, simple language. You can build anything in C, and you have to manually manage memory in some cases. You have to build many data structures from scratch.

2) After playing with C, learn a high-level, interpreted language with a large ecosystem.

- I recommend either JavaScript, or Python

karmakaze 10 hours ago

> could only recommend one

TypeScript since everyone ends up learning js anyway. Only need to be warned about the js warts and foot-guns in advance to be less tripped up or shocked by them.

It might be better for some to learn javascript first, then later transition to TypeScript after experiencing runtime errors to appreciate static types which avoids them.

Other languages that allow addition of static typing falls far short of the standard that TypeScript has achieved, both in it its type system and ecosystem.

chistev 20 hours ago

Python’s syntax is clean, simple, and designed to be easy to understand.

Python is used across a wide range of industries and applications—from web development (Django, Flask) to data analysis and machine learning (pandas, NumPy, TensorFlow), and automation. You can start with small scripts and scale up to complex projects as you learn more.

Python has an enormous community of developers, which means a wealth of resources like tutorials, forums, documentation, and third-party libraries are available. When you're stuck, it's easy to find help on sites like Stack Overflow, Reddit, or in Python-specific communities. I think Javascript is the only language with a larger community.

Python is one of the most in-demand programming languages in the job market.

aristofun 10 hours ago

Ruby is the best choice as a “learning” PL in 2024

For many reasons.

Next okayish choice is js/ts or python

mitch-crn 20 hours ago

"Where there is a shell, there is a way."

Of all the ones I have used (perl, c, REXX,etc...), I use shell (bash) more than anything. Linux/Unix is a "toolkit", shell is the glue. Always start with the shell, and grow after you master it.

http://crn.hopto.org/unix/#unix

solardev 20 hours ago

Python? A lot of AI/ML stuff is written in it.

Five years ago it would've been Javascript, since most of the world uses it on the Web.

beretguy 19 hours ago

C

  • beretguy 19 hours ago

    Simple, elegant and will teach you how computers work.

kaamkiya 17 hours ago

Python. It's really easy to learn and write, it has a huge community, and it's fast (for an interpreted language).

It's also used a lot in the AI/ML area, and with the rise of LLMs, it'll probably provide some amount of job security.