So I have to learn python for an upcoming project at work. I know plenty of languages so I'm not too worried, but the project hasn't started yet so I can't learn python as I work on the project. Instead of just going through tutorials and programming random trivial stuff, is there someplace that maybe have open (but simple) problems to solve? I'd go through projecteuler
problems, but solving problems for the sake of solving them seems like a waste of time if someone can get some use out of my learning. Maybe a central place for open source projects that need small pieces of code written?
views:
256answers:
7I would still suggest you look through the whole Python doc site. Take the tutorial, read the library references etc. Even though your project has not started, but once it starts, you will have ample knowledge of Python to start designing and coding.
Help wanted on Sourceforge has some projects looking for python developers.
I don't think you'll find that many projects that need small pieces of code written, because that is easy to do and so it is usually done by the project members early on. Actually contributing to a project usually requires more reading than writing, and the same is true for learning a new language. In a project that is new and has few members you could find opportunity to help, but new projects don't always have good code to learn from, so I wouldn't recommend them.
Personally, I would try to find a project that has elements that you believe will be useful when you'll start your own. Things to consider:
- Desktop app or for web
- Specific libraries
- Database connections
- Graphics handling
- Specific algorithms
All these points can help you find an opensource project that could be helpful for you to get started on the language and learn useful things that you can leverage for your own work.
If you know more about your future project, we could help you find relevant opensource python code.
Oh, I think I misinterpreted your question earlier.
How about looking through bitbucket or github, and forking anything that catches your interest?
When I am starting a new language, I often tackle the same sort of problems I'm familiar with in the languages I know. You might port the utility functions or libraries you use on other projects. For instance, I make websites that display info from the APIs of other sites, so when starting with Python, I ported over code that makes HTTP calls and builds query strings. Next I familiarized myself with how people produce output for the browser in Python (Django, in my case). Now that I've done a few projects in Python, I'm approaching Scala in the same way.
Since you're already skilled in other programming languages, it might be fun to contribute to Rosetta Code.
Rosetta Code is an open Wiki where individuals contribute solutions to same set of tasks in as many different languages as possible. It allows people to compare languages very effectively.
Here's the list of Tasks not yet implemented in Python. Your efforts here could significantly advance other people's learnings.
Take a program you've already written, and rewrite it in Python.
This is the first site I always go to. Its a ton of fun and gets you thinking quickly.
From the site:
What is Project Euler?
Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems.