[ Home ] [ wiz / dep / hob / lounge / jp / meta / games / music ] [ all ] [  Rules ] [  FAQ ] [  Search /  History ] [  Textboard ] [  Wiki ]

/hob/ - Hobbies

Video game related hobbies go on /games/

Password (For file deletion.)

  [Go to bottom]   [Catalog]   [Return]   [Archive]

File: 1693245753654.jpg (161.61 KB, 1033x659, 1033:659, 1691581208636156.jpg) ImgOps iqdb


Currently I'm learning python and already know all the basic stuff.
How to advance and become pro in shortest period of time?

For now I use these project things:

Reading them try to comprehend and change them. Is there anything better to do?
pls share such similar free recourse to learn program or better


>try to make things
>google shit when you run into problems
>search for tutorials for specific things on youtube when you need them
>repeat until pro hacker

That's the best way to learn.


Some engineering advice for you:

(1) Don't try to over-abstract your code. Write what you need and if a pattern emerges frequently then you can write a general abstraction.

(2) Don't bother trying to optimize your code. Work on building the project you want and optimize when you run into performance issues.

(3) Avoid using every language feature. Every additional feature you use imposes complexity and increases the cognitive load of working with your software. This is also true of frameworks.

(4) Object orientated programming is mostly bullshit and will make your program into spaghetti. There is one exception though: encapsulation. Use classes as if they were related functions and state. This lets you build parts of your project as components that only have to focus on only thing. Avoid using every feature of OO programming if you want a program that's actually maintainable.

(5) You need to write tests to verify that your code works. At the very minimum you need tests to check that a feature you write can be used. Call this an 'integration test' if you will.

(6) There are some ways of solving problems that will only be suitable for toy apps and make it impossible to re-use in professional software. As a noob you won't know what these are but expect there to be a long learning curve.

(7) If you're trying to debug a highly complex error and you're drowning in complexity start adding assert statements everywhere. E.g. your function takes n. Assert n is within the range you expect. Assert all different variables for sanity checks. It can drastically reduce the amount of time you spend trying to guess what's wrong.

(8) Python packaging isn't great. If you want to make things easier on yourself try to avoid packages that have C dependencies (they need complication) and use only packages that use the standard library. Don't bother with Python 2 support. For building your own packages I recommend you just put all your source files in one folder with one init file. Trying to over-complicate how you organize your project will lead to you losing to complexity.

(9) You need to get serious about continuous integration across different OSes and versions if you want to release something to actual users.

(10) When it comes time to building a 'stack' for maybe a centralized system you should understand this: being able to deliver the most minimal system that solves a problem elegantly is the measure of good engineering. Any idiot can over-complicate a system and more often than not – they do. You want to have the smallest stack possible. Ignore neckbeards that use their stack to flex every buzzword they're using as these people are foolish and clueless.

Python is pure sex.


Hey man, kind of in the same boat except I'm doing Ruby. If you want to become pro I'd try to use the best resources possible. They're probably books tbh. If you just jump around things on the internet you might not progress that much but a 400 page book is structured and edited for quality etc. You don't have to do it my way I'm just offering an opinion


File: 1705026781507.png (94.36 KB, 1340x680, 67:34, ClipboardImage.png) ImgOps iqdb

try leetcode and codeforce. This roadmap is organized in a way you learn techniques which you build up to solve more complexes problems. But the is a rule, after 30~60 minutes without solving yourself, read the solution and focus on similar problems which require that technique


a good post on wizchan? thats bullshit dont post here ever again


this seems very helpful, thank you

[Go to top] [Catalog] [Return][Post a Reply]
Delete Post [ ]
[ Home ] [ wiz / dep / hob / lounge / jp / meta / games / music ] [ all ] [  Rules ] [  FAQ ] [  Search /  History ] [  Textboard ] [  Wiki ]