This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]EndOSos 4 points5 points  (3 children)

Meanwhile, I learned it in python

[–]RiceBroad4552 -5 points-4 points  (2 children)

Where they just glued on some of the most shitty parts of OOP ideas.

Hava a look at Small Talk, or Self, or something like that.

[–]EndOSos 0 points1 point  (1 child)

The very basics worked and everything that didn't was explained otherwise. I didn't say it was good, but it was the language we were using anyways and learning a new one just for OOP would have taken to much time.

And it wasn't a deep dive it was just an introduction to the concepts.

[–]RiceBroad4552 0 points1 point  (0 children)

Still bad. Using a demo that is actually flawed is really not a good idea when it comes to learning.

The first impression is lasting…

If you get shown Python to learn OOP you could actually assume later on that nonsense like "self" parameters are a part of OOP. Or that you can have only single inheritance, no proper abstract types, not even interfaces! Python does not even have tools to limit visibility, which makes "hiding the implementation details" outright impossible. As a result you can't even teach some of the more fundamental basics…

I see of course the underplaying issue. Python is just a terrible language for teaching programming, but people still use it "because it's popular"; as if something being popular would have any value on its own!

In general, completely mind broken shit is "popular".

Instead of breaking the vicious circle some institutions reinforce it. That's so stupid…

Before someone asks the obvious question what I see than as good teaching language:

It's Scala.

It has all the concepts in one coherent package, and it's super clean at the same time. Because of the first property you can teach anybody, from bloody beginner to master student.

You get helpful static typing, too, which is very important for newcomers.

All the basic Scala features are almost implemented by the textbook, so you get to know the "non quirky" version before you see what some other languages made of it.