The LessWrong site is written in Python, is available on GitHub, comes (*) with a fully configured VM image to avoid the pain of setting up a functional system, and has some outstanding feature requests. This might be an excellent way to hone your newly acquired skills, since you have easy access to a community of users (in fact you’re one yourself).
(*) Came, as of eighteen months ago—it’s possible that “bit rot” will have happened meanwhile.
I am not a Python programmer, so I would like to ask those who are… how difficult it really is to understand the LessWrong code and do some modifications? Okay, I know it depends on the kind of modification, but let’s suppose I just want to understand how the existing system works, and by “understand” I mean: know what happens in which function and why.
My guess (but I am not a Python programmer, I just guess based on reactions of other people) is that LessWrong code is rather complicated, and can scare away even people fluent in Python.
And if that guess is correct, telling a beginner to look at the LessWrong code seems like a bad idea.
Frankly, I don’t know. Yes, the LW codebase is pretty complicated. It’s probably fairly typical of real-world programs of the same size and functionality.
As a beginner programmer, I got started not by working on simple, small or “toy” programs but by diving head-first into gnarly complicated codebases and doing very simple things to them.
This served me well as a learning path, but I’m wary of generalizing to anyone else’s experience.
On the other hand, “a bad idea” strikes me as strong language. If you’re brave enough to attempt to learn to code on your own, getting stuck while attempting to tame a complex codebase shouldn’t be a traumatizing experience. What’s the worst that can happen? That you quit and set your sights on something simpler.
Experience helps a lot in reading something like the LW codebase. If you have an idea of how Web frameworks tend to organize behavior, you won’t be too surprised by where things are and navigation will be relatively easy. If everything looks new to you, you’ll be getting lost quite a bit.
But in learning your way around Web programming there’s no substitute for getting lost. Any other Web framework is going to confuse you to some extent, and any app built on top if it.
My main idea with this recommendation was that at least you wouldn’t have to build up a mental model of what the application is for, whose needs it serves and how those people experience it, since we all already have this model in place from a user’s perspective.
The LessWrong site is written in Python, is available on GitHub, comes (*) with a fully configured VM image to avoid the pain of setting up a functional system, and has some outstanding feature requests. This might be an excellent way to hone your newly acquired skills, since you have easy access to a community of users (in fact you’re one yourself).
(*) Came, as of eighteen months ago—it’s possible that “bit rot” will have happened meanwhile.
I am not a Python programmer, so I would like to ask those who are… how difficult it really is to understand the LessWrong code and do some modifications? Okay, I know it depends on the kind of modification, but let’s suppose I just want to understand how the existing system works, and by “understand” I mean: know what happens in which function and why.
My guess (but I am not a Python programmer, I just guess based on reactions of other people) is that LessWrong code is rather complicated, and can scare away even people fluent in Python.
And if that guess is correct, telling a beginner to look at the LessWrong code seems like a bad idea.
Frankly, I don’t know. Yes, the LW codebase is pretty complicated. It’s probably fairly typical of real-world programs of the same size and functionality.
As a beginner programmer, I got started not by working on simple, small or “toy” programs but by diving head-first into gnarly complicated codebases and doing very simple things to them.
This served me well as a learning path, but I’m wary of generalizing to anyone else’s experience.
On the other hand, “a bad idea” strikes me as strong language. If you’re brave enough to attempt to learn to code on your own, getting stuck while attempting to tame a complex codebase shouldn’t be a traumatizing experience. What’s the worst that can happen? That you quit and set your sights on something simpler.
Experience helps a lot in reading something like the LW codebase. If you have an idea of how Web frameworks tend to organize behavior, you won’t be too surprised by where things are and navigation will be relatively easy. If everything looks new to you, you’ll be getting lost quite a bit.
But in learning your way around Web programming there’s no substitute for getting lost. Any other Web framework is going to confuse you to some extent, and any app built on top if it.
My main idea with this recommendation was that at least you wouldn’t have to build up a mental model of what the application is for, whose needs it serves and how those people experience it, since we all already have this model in place from a user’s perspective.