re: What language would you recommend for a beginner? VIEW POST


Python. It's very readable, can do basically anything you want, and there's tons of documentation and educational resources available for free.


What about package manager? It was quite frustrating when I tried it last time


Pip is okay, but if you're going to work with Python extensively I recommend really learning venv.

Well, you see this is my point about beginner friendliness. Experience should be butter smooth. We are talking about absolute beginners. (Again I'm not talking about best language in general, the main focus on beginners)

Absolute beginners likely won't be using pip extensively, so I think your point is likely moot. If you're to the point where you need pip, then you should be able to read documentation and use venv.

There are languages which come with built-in package managers which just work out of the box though

So does pip for most people. When you get to running your code in production though just running "pip install X" on a server isn't really a good idea.

But it installs dependencies globally, right? There are package managers that install locally by default. Again, my point is to make the ideal experience from the start. Python is a good language, I'm just saying that developer experience can be improved. And the fact that you know how "easily" overcome those complications, those small caveats, doesn't make those caveats go away. Some people could easily spend hours and those small things

No experience is going to be "ideal" from the start - if you chase that unicorn you'll continually switch from language to language and never gain any mastery. You asked for opinions beginner friendly languages, and IMO Python is it.

Edit - Apparently others agree

Yes it won't be ideal in general, but the question of package managers solved in many languages quite well (bundler, cargon, elm)

You didn't ask about package managers specifically, you asked about recommended languages for beginners, and the answer for tons of people (including top universities teaching CS degrees) is Python.

(including top universities teaching CS degrees) is Python.

I know, for example, MIT 6.0001. But this argument based on authority - look smart people doing it, so it supposes to be right.

Your answer is Python. I tried to question it and I feel like we won't get any further in this discussion

It's not an argument based on authority, it's an example of multiple scenarios (universities) where people who aren't experts (students) are literally paying to learn programming languages and the majority of those teach Python to beginners. How is that not a relevant example in this case?

The fact that many people are doing it this way doesn't make it ideal. We have a lot of examples through history of people doing strange things, just because a lot of people were doing it this way before. This is not an argument, this is just a fact that a lot of people doing it right now.

Yeah you're right, we're not going to get anywhere with this conversation - you are arguing philosophical ideals now and have diverged very far away from the original question.

I also think Python is the best among all popular ones currently.

If you asked: "what is the best floor for a kid to learn to walk?"

I would say: "a flat floor, smooth, maybe just a bit soft"

That doesn't mean the kid won't fall along the way, hit the floor many times before being able to stand still first.

Learning is difficult by nature. A beginner will fall. Will experience some frustration. Will have to face his own immaturity.

So, for programming, python is that floor. Sure, pip isn't perfect. But it's like if the other languages weren't even a flat floor, so it's better to compromise with pip that mess with the other stuff right from start.


A lot of schools that I have been in use Python. The teacher I spoke to most recently said that students found it easier to read code without curly braces as it follows natural language paragraph indentation. I would be interested to hear how the students viewed the package manager though...


I wanted to say that the simplicity of Python comes from the fact that it is context-free grammar, but apparently, it is not 🤔(I searched the internet right now)

code of conduct - report abuse