Seems like the only choices for now are Java and PHP, at least here in Austria - and I'll probably stop programming myself if we switch to any of these.
I tried Learn Python the Hard Way, but when I finished the book I didn't feel like I had the skills to start a project, so I read the Django Book. I am more of a designer than a developer, I really want to get over the hump and start writing code that can do the things I envision.
I've tried codecademy, which is helpful, but I still don't feel I'm there yet. I have started a "web app", but I got stuck on a few features I want to add, so I'm stalling on those.
I'd really appreciate any guidance! No formal education, all self taught. I have grown immensely as a web designer over the past year, but my programming skills aren't growing nearly as fast...or at all anymore.
If you're talking of django/web-frameworks, well it'll be a little more effort since it involves some stuff (concepts of MVC, etc) other than python per se. So you could start by understanding of web development in general. But django docs tutorials are also pretty good.
In your case, I guess the thing to do would be to google an open-source django app. Find something you like from the templates director. Copy what you like and build out from there.
The Python exercises on codeacademy are there to strengthen your grasp of python syntax and practice for loops.
I recommend Udacity CS101 and/or edx 6.00x. Both are Intro to CS courses which use Python.
It is strange to me as well, that I see so many people passionate about Python and, at the same time, I hear so many companies having difficulties finding Python devs.
One reason could be that the interest in Python varies by country. For example, in Romania there are very few Python programmers. Secondly, maybe the companies have too high expectations, asking for front and back-end experience and maybe even some low-level skills (C, C++).
Also, the taxonomy needs work...I don't think this is what I have in mind when I see the "basics" category of a beginners reference to Python:
http://www.pythonforbeginners.com/category/basics/
Basics for beginners should include such things as "what is programming?", "how do I install python?", "how do I run a script?" And so forth.
Lists are very easy to create, these are some of the ways to make lists:
emptyList = [ ]
strlist = ['one, two, three, four, five']
I find the "strlist" example very misleading, as a beginner might think we are creating a list of five strings, when it is actually just one string with some commas in it.
strlist = 'one, two, three, four, five'.split(", ")
That habit probably just kicked in a little when putting in that example.
If you have any more suggestions or feedback to give, I'd be grateful to hear them.
Another idea, which takes some more work, is that whenever I mention a variable-name in a paragraph I have a <span class="code"></span> around it, and I style it to look like a little piece of monospaced text.
Here's an example: http://peterconerly.com/blog/django-loves-locals
1. The formatting of the posts need some work. The text is often intimidating because its in big chunks and where there are code blocks there isn't any clear way to distiguish them from body copy. The way http://codular.com/ does it is real nice, maybe some of those ideas would work for this.
2. Some of concepts need to be explained more. In some of the articles you tend to gloss over some big things that a beginner wouldn't know.
I may be a beginner to Python but I'm not a beginner to programming so that's where I'm coming from. I think its good but it could be a lot better though.
As some examples, the first two pages that I looked at:
http://www.pythonforbeginners.com/dictionary/:
- variable shadowing (e.g. naming a list instance `list` and a dict instance `dict`)
- Syntax errors (e.g. ``dict.items.()``)
- Teaching bad methods of iteration (e.g. ``for key in dict: print dict[key]`` rather than ``for value in dict.iteritems(): print value``)
- Also disappointing: no mention of the typically-more-efficient iter* or view* methods.
http://www.pythonforbeginners.com/web-scraping-with-python/s...:
- The written word fails me utterly. Just consider the last example, which is the worst. Just look at it. (Quite apart from some of the code being missing!) Ugh!
Just realized that the text is in a pre tag with the font set to a proportional font. That needs to be changed.