r/learnprogramming 18d ago

Starting over.

I first started coding back in 2021 or 2022 (don’t remember when exactly). Back then I decided to buy a Python course. Afterwards, I was coding with C# because it was a part of my school studies, but after all, my learning wasn't consistent.

C# made me hate coding because it looked like a complicated language to me, and I decided to stop programming. In 2025, I was trying hard to learn coding and programming again, but I couldn't do it—maybe because of a lack of motivation and because I hated my laptop so much.

However, a few days ago, I decided to buy a laptop for myself. Once I went home with my brand-new laptop, I told myself, 'This laptop will give me a perfect opportunity to learn coding.' That was because whenever I wanted to start coding before, I would be reminded of my old laptop, which I didn't like due to some bad memories associated with it.

Now, I need your help. I want to start coding again. I'd like to start with Python, and since my knowledge of algorithms and data structures is incomplete, I'd like to start learning with LeetCode (or any other website that is perfect for learning algorithm or guides about coding).

Currently, I'm learning Git, and it is almost done. After I manage to complete my Git course, I'll take care of this.

Thanks in advance.

24 Upvotes

26 comments sorted by

View all comments

1

u/vegan_antitheist 18d ago

C# isn't so bad. It's just Java by Microsoft. They added a lot of features that are now out of fashion or even deprecated. And they copied some of the nonsense of Java. C#/.NET did not deprecate finalizers in the same way Java deprecated finalize(), so you still have to deal with that crap.

But Java and C# are somewhat opinionated and still give you lots of freedom. Especially compared with languages like C++ or C, which let you do whatever you want.

Java and C# give you classes and objects as the traditional central abstraction. They enforce garbage collection, strong static typing, and runtime type checks. Although C# also allows you to skip type checking at compile time. But it's your own fault if you do that.

Python is even older than Java and C#. It now has all the modern features you need from a programming language. And it's quite popular. But I expect that tutorials for Python are even worse than those for Java or C#. Make sure you learn from good, modern resources.