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.
[1] http://web.archive.org/web/20201014024057/https://www.youtub...
[2] https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
[2]
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.
- 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
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.
I want new programmers to learn to enjoy it before trudging through theory and patterns. "Read what you love until you love to read" sings true here.
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.
Five years ago it would've been Javascript, since most of the world uses it on the Web.
For many reasons.
Next okayish choice is js/ts or python
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.