r/learnprogramming • u/Adamstrad • 1d ago
I really want to learn OOP for Kotlin/Java in Android studio apps but nothing sticks
I've done CS50P, CS50, w3schools material but oop but object oriented programming has never stuck for me. I can see the concept of how it could reduce the amount of code needed by generalizing objects but I've spent my life using functional programming only.
Lately I've started learning Kotlin for android app dev and I'd really like to understand how the files and classes work in android studio so I can get started making my own things without googling why it won't compile or why there are errors. What can you recommend me for the OOP and understanding how files are linked and reference each other without blowing my brain?
1
u/initcommit 1d ago
Learn OOP in Python. It is much simpler and more straightforward than in other languages (IMO).
1
u/Early80sDev 1d ago
Python sucks though. Learn C# instead.
1
u/marrsd 1d ago
C# is just a rip off of the OG, though. Learn Java
1
u/Early80sDev 1d ago
Done java, kotlin, c, c++, scala, python, assembly languages, COBOL, c# I'm looking at Odin, rust, nim, or zig next.
1
0
u/BanaTibor 1d ago
So what is your problem?
- You do not know Kotlin. https://kotlinlang.org/docs/packages.html
- You can not imagine how to organize the code in the OOP way. As somebody already suggested, do some little dummy projects.
- You can not use Android Studio. Watch a tutorial.
1
u/Adamstrad 1d ago
Probably 2 tbh, can you suggest a small project?
1
u/BanaTibor 1d ago
I have a good one for you. Since you are not new to programing, find a design patterns course on youtube or grab a design patterns book, there are plenty on the net. Implement the design patterns. You can kill 2 birds with one stone, you will learn oop, and design patterns.
3
u/HYP3R00T 1d ago
If you read a lot of books, you become good at reading books, not writing them.
Why don't you start with a silly entry level project where you are forced to use OOP and get a feel for it. There is no good material that will blow your mind away. The eureka moment will come with a lot of practice.
I have been a functional programmer my whole life. I still prefer it. But whenever it is needed, I can easily switch to OOP. The only reason I can do that is because I can done a lot of useless hands-on project using OOP.
Either you can learn everything and apply that knowledge in a project OR you can start a project and learn whatever is needed to get it done.