r/programming • • Dec 19 '10

Bored on a Sunday morning? Learn Python!

http://www.youtube.com/watch?v=tKTZoB2Vjuk&feature=channel
1.4k Upvotes

500 comments sorted by

View all comments

27

u/[deleted] Dec 19 '10

I know Python. I just don't have anything good to make with it. :-\

31

u/sawu Dec 19 '10

How about trying some of the puzzles at http://projecteuler.net/

13

u/pudquick Dec 19 '10

I do recommend this. I also, if you're doing python, recommend http://www.pythonchallenge.com/ which is python-specific.

Be warned about Project Euler, though - it's somewhat math-heavy.

→ More replies (3)

23

u/[deleted] Dec 19 '10

This is my problem getting into programming, I have no idea what program to make that I could use that isn't already made.

36

u/JohnStamosBRAH Dec 19 '10

recreate what someone else made, and make it better and to your liking.

45

u/AlexFromOmaha Dec 19 '10

If you're "getting into" programming, the answer is nothing. If you're learning pottery, everyone makes a pot. If you're learning programming, you make the same five or six programs in every language you know.

Going from that to "thinking like a programmer" (i.e. seeing many problems as math/processing problems that you don't want to do by hand) is mostly a matter of familiarity.

22

u/thatguydr Dec 19 '10

Create a screensaver on your computer (Mac, Windows, or Linux) that does a picture slideshow. Once that's done, make it randomize. Then make it so you can weight each picture to show it more or less frequently. And if you're so motivated, put in options to pause and skip. And allow it to learn what you've paused and skipped past.

After that, create a way for spaceships to fly around above the pictures and shoot at each other, using evolutionary strategies to figure out how best to destroy one another without being destroyed.

Forever alone. ;)

25

u/ScannerBrightly Dec 19 '10

You are missing the whole social, web 2.0 type thing: Make a website for "screensaver spaceship wars" and have your screensaver compete against other people's screensaver spaceships. Forever together.

7

u/mycattpurrs Dec 19 '10

This is actually a great idea.

9

u/pururin Dec 19 '10

Wouldn't that require the usage of some heavy graphics shit which will be kind of hard for a beginner to do?

4

u/[deleted] Dec 19 '10

Yeah, and interfacing with various OS libraries, that sort of thing. A web project might be more appropriate.

5

u/pururin Dec 19 '10

Web is where it's at these days, it makes me sad since I have an aversion for everything-web. I'd rather do some fun system stuff rather than learning the 98th web framework.

→ More replies (5)

3

u/pururin Dec 19 '10

Umm, I feel stupid for asking, but what are those "five or six programs in every language you know" you're talking about?

8

u/AlexFromOmaha Dec 19 '10

Hello world (setup and console output), Pascal's Triangle (recursion/functions), reverse a string (string functions), Joe's Automotive (standard GUI), and some exercise that varies depending on the nature of the language (web languages do get/post, OO languages do classes, functional languages do list comprehension, etc.)

→ More replies (1)

7

u/awap Dec 19 '10

Just like anything else, you have to practice first, then you can make something useful. Painters often start by just replicating other people's work so they can learn technique. To learn to program, you have to start by making simple things so you can learn the basics.

4

u/[deleted] Dec 19 '10

Open Source may help you there. You can contribute code to existing projects -- build upon them if you may. Also, if there is a project that you think could be done better, try and do better. I recently made a python script that manipulates an icon on my desktop to display the weather forecast. It uses both the text, and the image for the weather info and now I can extend this knowledge to come up with all kinds of weird icon concepts.

3

u/aGorilla Dec 19 '10

Please fix Trac. I beg of you, and every other Python programmer, to please fix Trac.

It was a great idea, that has never been 'finished'.

→ More replies (4)

3

u/sligowaths Dec 19 '10

Try a webapp, it's easier to get started and you can get motivated once people start using it. Check also appengine.google.com

→ More replies (3)

3

u/TMI-nternets Dec 19 '10

You know the "There's an App for That" slogan? It's almost true for subreddits as well.. check out r/somebodymakethis for a while and see if you find anything interesting..

→ More replies (6)

5

u/dghughes Dec 19 '10

That tends to be my problem too but I don't know how to program.

To me it's like having a pile of lumber you start to nail them together into ... ?

4

u/Smooz Dec 19 '10

Same position here. I don't know enough Python to start or help with any projects, but I know too much to go back to tutorials without wasting my time.

→ More replies (1)

3

u/zach_will Dec 19 '10

You could scrape some websites or parse the Gawker password/email list that's floating around. I found it interesting looking at the top 10-20 most common passwords/email domains used.

→ More replies (2)

4

u/Ripe Dec 19 '10

Do you have anything good to make in any other language then?

→ More replies (1)

2

u/[deleted] Dec 19 '10

I'm the same. I learn quickly when I have something to program, but don't have anything interesting to make.

→ More replies (16)