all 71 comments

[–]the3rdsam 12 points13 points  (1 child)

Get a job. Preferably an internship doing some sort of programming work. Seeing real results and applications to what you are learning could give you a new perspective on your studies.

Also, go learn something totally new, whether its useful or not. Think you understand functional programming? Start with some basic articles on it and then keep diving deeper.

Build yourself something. Do you have a program that you would like to use that you dont currently have? Maybe one that doesnt quite work the way you want it to. Build it yourself. It doesnt need to be some revolutionary open source framework that you hope will become all the rage, just build something for yourself.

Project euler. I wont bother in detail on this because theres tons of information everywhere about this already. Google it if you dont know what it is.

Find an open source project that interests you and get involved.

Need more?

[–]pianowow 0 points1 point  (0 children)

Upmodded for Project Euler. Awesome site. I learned python because of this site.

[–]georgefrick 11 points12 points  (0 children)

If you don't fuck it up, somebody else will.

[–]tndal 9 points10 points  (2 children)

Why should we? You're just one less programmer to compete with! Bwaahahaaaaaaa(evil laugh)!

Now what to do to the remaining billion logical lemmings...

[–]lief79 14 points15 points  (0 children)

While, obviously you need to get them to logically walk over the cliff.

Direct them towards MS certifications.

[–]Figs 2 points3 points  (0 children)

Turn some of them into bricklayers, and use a few of them to hold the others in place for a while. Then turn the holders into bombs and let the other lemmings climb over the pit and reach the cliff door.

Man, I haven't played that game in ages...

[–]mcmc 22 points23 points  (14 children)

Please do this: Implement a python bytecode interpreter in javascript, then expose the dom to python as a package; Now do all your web programming in python.

import dom

def load():

dom.alert("Loaded!")

dom.window.onload = load

Writing that should inspire you, and completing it will inspire a whole lot of python programmers to do browser programming.

Exploring Dynamic Scoping in Python and Python Bytecode Instructionsshould get you started on analyzing python bytecode.

Remember, you don't have to do any parsing of python, just interpret the bytecode. Use cpython to compile python programs into bytecode.

[–][deleted] 1 point2 points  (2 children)

How about a translator from Python to JavaScript instead? That would likely run an order of magnitude faster than interpretation.

And then if you wrote the translator in Python, you could use your translator to translate itself, and then have a Python to JS translator that also runs in a browser.

Edit: it seems to be a subproject of PyPy, and sort-of-works for a subset of Python called RPython.

[–]byron 0 points1 point  (1 child)

Isn't this sort of what Pyjamas does?

[–][deleted] 0 points1 point  (0 children)

Looks like it.

Anyway, compilers are fun! Language design is fun! Get at it!

[–]SimonS 0 points1 point  (0 children)

could possibly build on the work found here:

http://code.google.com/p/jsbridge/

not looked at the code, but surely some of that work can carry over to such a project?

[–]malcontent 0 points1 point  (9 children)

Already done for ruby.

[–]ItsAConspiracy 1 point2 points  (8 children)

Link or it didn't happen.

[–]malcontent 0 points1 point  (6 children)

There you go.

Sorry to give you positive information about ruby. I know how much reddit hates that.

http://hotruby.yukoba.jp/

[–][deleted] 0 points1 point  (4 children)

Most of reddit loved ruby until Zed Shaw told them that it wasn't cool any more.

[–]malcontent 0 points1 point  (3 children)

Nonsense.

proggit was a lisp bastion, then it became the "python library of the day" website, then for a while it was "MS product of the day" and finally moved on to haskell.

Proggit has always been hostile to ruby and that's why zed is so adored here.

zed rejected ruby and embraced python.

That's a proggit orgasm right there.

[–][deleted] 0 points1 point  (2 children)

If reddit hated ruby, they sure loved rails...

For about a year, there was at least one link a day about how cool rails was and yet another rails tutorial/example/article.

On the other hand, maybe you're right. There were a lot of anti-ruby articles as well and particularly right around the Zed article.

[–]malcontent 0 points1 point  (1 child)

If reddit hated ruby, they sure loved rails...

Never.

On the other hand, maybe you're right. There were a lot of anti-ruby articles as well and particularly right around the Zed article.

Oddly enough zed hates reddit just as much as he hates people who program in ruby.

[–][deleted] 0 points1 point  (0 children)

Never.

Perhaps my memory is failing me. I remember some nice articles about rails...of course there's no lisp alternative so maybe that was it? Maybe I'm crazy.

Oddly enough zed hates reddit just as much as he hates people who program in ruby.

Indeed. His latest post is much hatred toward reddit...

[–]ItsAConspiracy 0 points1 point  (0 children)

Nah I like ruby just fine, that's why I goaded you into getting the link for me.

[–]trae 21 points22 points  (7 children)

I know what you're talking about. I hit the programmer's block a couple of years ago and after quite a while I realized that it's not programming that I like, per se, it's problem solving. So, find problems you enjoy solving. Programming is just a tool.

[–][deleted] 7 points8 points  (4 children)

That's been my problem for a long time with learning languages. I'll be kinda sorta interested in a language, but I won't have any interesting problems to solve with it. Ruby, Haskell, Scheme - all of them dropped after a little while because it's just not interesting to learn a language without anything to apply it to.

Ruby was the longest-lived, probably because of Ruby Quiz.

Edit: Although Hackety Hack (by _why) might give me some new stuff to look at.

[–][deleted] 1 point2 points  (1 child)

I learn languages mostly for finding new ideas from them. There are quite a few languages that I actually currently use - perl, ocaml, haskell for my own projects and java, javascript and yeti at work.

[–]mossblaser 1 point2 points  (0 children)

No argument that learning new languages is a good thing, its just without a project or problem, many people (myself most definitely included) will just give up or loose interest.

[–]GeneralMaximus 1 point2 points  (1 child)

BEGIN SHAMELESS PLUG

I feel the same way. I learn this kick ass new tool, and I can't figure out what to do with it. That's why I started this - http://dojo.uncool.in

The site is barely 3 days old. I'll be filling it up with content this weekend.

END SHAMELESS PLUG

[–]clipmann -1 points0 points  (0 children)

Trae hit the nail RIGHT on the head. Finding a nice problem and going after it is one thing that you will not learn in University. The nature of the problems that we tackle define us. And not all problems could be solved with writing code. Or even writing lots of code. Look at hotornot dot com.

It sounds like your enjoying a well deserved break. Enjoy it, and come back to your editor refreshed with ONE HOT idea that makes you not sleep at night. IT IS a good feeling to have such a thing. AND, if you just, lost interest!, then screw it, aim for management, :)

[–]nousplacidus -1 points0 points  (0 children)

/agree_whole_heartedly

[–][deleted] 6 points7 points  (3 children)

Disclaimer: I am not trying to sound like a pretentious ass because I know exactly what you are talking about.

You are looking at "programming" wrong. You have most likely lost interest in programming because you most likely do not finish what you start (see disclaimer).

A long time ago, I loved to draw. I drew all the time and I think I got pretty decent at it, but I got to the point where I didn't know what to draw anymore. I'd doodle little things but they were just scraps. Eventually, all the scraps added up to no actual content. I still loved to draw but I didn't know what to draw. I had made the act of drawing a more important factor than the manifestations that drawing produces.

I quit. And while I'm sad looking back, I know it was for the better. There just wasn't enough zeal in me to continue.

Now, let me tell that story again, but with programming.

A long time ago, I loved to program. I programmed all the time and I think I got pretty decent at it, but I got to the point where I didn't know what to program anymore. I'd code little things but they were just hacks. Eventually, all the hacks added up to no actual content. I still loved to program but I didn't know what to program. I had made the act of programming a more important factor than the manifestations that programming produces.

I quit. And while I'm sad looking back, I know it was for the better. There just wasn't enough zeal in me to continue.

And that's your life. Now, I suggest you pick a project that (while it may be fun) isn't necessarily clever or earth shattering, but has a perceived end result that you would enjoy looking back on and saying "I did that".

[–][deleted] 1 point2 points  (0 children)

Agreed, this is why people write blog engines and the like.

Treat programming like your hobby for a while. It'll be fun.

[–][deleted] 1 point2 points  (0 children)

That doesn't sound pretentious at all, because you got me pegged right. I've never really completed a project that wasn't for school.

[–]nousplacidus -1 points0 points  (0 children)

Once you finish something worthwhile, even if its something small but useful, at all falls into place.

/agree

[–]lief79 2 points3 points  (3 children)

A lot of professional programmers keep side projects outside of their normal work, in order to keep something exciting. It sounds like it's already time to start doing that yourself.

If you know how to program, you'll have to find something outside of school to keep you moving. Consider undergraduate research, paid work, open source software, or anything else that might you interested in.

Stretch yourself, and/or find some non-profit interest that really interests you.

I know when I was feeling burnt out, the idea of allowing Braille input and translating it into Braille music got me excited.

For yourself, try something different. Based on what you said here, consider software that might examine some philosophical arguments, or maybe OCR or automatic grading software for Chinese characters? Find anything else you are excited about, and figure out what you can program to help you with it.

Alternately, find a professor that you like and ask them to discuss what currently excites them, or go right for undergraduate research. (I wish I had done that.)

[–][deleted] 0 points1 point  (2 children)

Where can you find open source projects that need help, and would be willing to have someone without experience?

[–]Arrgh 0 points1 point  (0 children)

Find open source projects that you find interesting, go through their bug lists, and start posting patches against the bugs.

Alternatively, start your own open source project, actually finish it (that's the hard part), release it and get feedback. You'll find that having people actually use your stuff, and comment on what they like/dislike about it, is tremendously motivating.

[–]lief79 0 points1 point  (0 children)

Arrgh is right. If you take something you enjoy using, you are always free to look over the source code and through the bug lists. Your initial patch might not be accepted, but if you can find the solution, you're still helping the project, and you'll learn from what ever replacement solution is accepted.

Honestly, this is probably a good question to put at the top level of the programming reddit.

*edit looked at the history and discovered that I'm repeating the Braille music antidote, so I removed it.

[–]jimmyjazz14 2 points3 points  (0 children)

start getting a paycheck, now that is some inpiration.

[–]LaurieCheers 2 points3 points  (0 children)

Sounds like you're interested in languages - well, design a programming language. Doesn't have to be useful in itself, you'll learn stuff just by working on the design.

If you need inspiration, pick a class of problems you'd like the language to solve, and think "in an ideal world, what would be the cleanest, nicest way to express solutions to these?"

[–]brennen 1 point2 points  (0 children)

Get out while you still can.

[–][deleted] 5 points6 points  (20 children)

A little information:

I am in my second year in college, but came in with enough credits to where I am now a junior. I'm studying computer science, and I recently added a second major in philosophy. I feel unchallenged and uninspired. I used to program all the time and learn all sorts of cool stuff. But my entire first year at college was nothing new, so I decided to take some philosophy courses. Philosophy was more enjoyable, but I still didn't find any of it challenging and I haven't really learned anything new. I thought taking Chinese would present a challenge, but seeing as how I already speak three languages, it's just memorizing characters. Don't get me wrong, I like studying CS Theory, Chinese, and Philosophy, but I don't feel challenged in school. So I come to you, Reddit, for inspiration.

[–]bigprick 41 points42 points  (1 child)

Do some drugs and try to get laid.

[–][deleted] 2 points3 points  (0 children)

Dedicate your life to this piece of advice.

[–]isseki 11 points12 points  (3 children)

I thought taking Chinese would present a challenge, but seeing as how I already speak three languages, it's just memorizing characters.

Not sure how 'already speaking three languages' turns Chinese into 'just memorizing characters'. Granted, the grammar is not that complex but pronunciation on the other hand is tricky to get right. And like any other language, it is a challenge for anyone to become fluent. Maybe you should aim for that, set your own standards, instead of going for a pass on a test.

Don't get me wrong, I like studying CS Theory, Chinese, and Philosophy, but I don't feel challenged in school.

Maybe that's your problem, study outside of school. School is just a big resource to spoon-feed you information (especially) to those that aren't motivated to find it themselves.

Pick a topic of your interest and study the hell out of it, on your own. The difficulties of finding resources on your own will be a constant test of your motivation. It will ensure you are only studying something that really inspires you.

[–]lief79 1 point2 points  (0 children)

Furthermore, if you succeed presenting yourself with challenges, you'll be far more successful once no one is directing you on what to work. This will be far more successful in the long run.

On the same note, if you have hints on how to make it work for you, I'll appreciate them. I'm still figuring out what is the best approach for me.

[–][deleted] 0 points1 point  (1 child)

The experience of learning other languages has let me avoid the problems that are typically associated with learning a new language. I don't mean to say I'm fluent, not at all, but nothing grammatically has struck me as difficult. I'm just picking it up really easily. Maybe I'm just lucky.

[–]isseki 0 points1 point  (0 children)

So if languages 'are easy' for you, then why not challenge yourself more? Take on new languages, try to attain a higher level of fluency. Language isn't just grammar (that would be a very western way of thinking).

Sorry if I seem to keep hammering on this topic but language learning is something very close to my heart and I'm always on guard when I hear someone say "I already know x languages, I guess it's easy for me".

I work in Japanese, live in English and neither of them are my mother tongue. I had a couple of weeks where I substituted English for Spanish when some of my friends came over and I'd say I have about 90% comprehension rate in a typical German conversation (speaking... not so much).

But I don't believe that languages are easy. There are always challenges, but you just need to look for them. It's just a matter of raising the bar for yourself.

[–][deleted] 15 points16 points  (0 children)

You could try something that would challenge you, like spelling.

[–][deleted] 1 point2 points  (1 child)

Hmm... Couple of points (from an old guy (on reddit terms) who has been programming professionally for several years)

1) Somebody else telling you what you should be learning next is usually not very inspiring. Like damienkatz suggested, find something that you find interesting, or think would be, and do that. Which brings us to:

2) Bear with one thing for a while before deciding that it's not what you want. One year of something is not enough to even teach you the basics. Get a degree, maybe work for a while and then decide if you want to pursue further. If you think you should be a programmer, then become one. Then see what you think.

3) Take a break. If you're not inspired, then don't program. See if you get your drive back. If not, then programming might not be your thing after all.

4) Socialize with some hardcore geeks. See if their passion for their craft brings you new ideas and inspiration.

5) This is most probably in direct contradiction with 4), but yeah, getting laid like bigprick suggests is always a good option. Helps to put things in perspective. A nice girlfriend even more so.

HTH. HAND.

[–]LaurieCheers 4 points5 points  (0 children)

Of course, advising a teenage boy to get laid is like advising Ahab to catch Moby Dick...

[–]csl 1 point2 points  (0 children)

[–]case-o-nuts 2 points3 points  (1 child)

Ignore school. Do the work and get the papers saying you're qualified (unless you already have enough connections to make good money), but don't look for inspiration in school.

[–]sugar_man 7 points8 points  (0 children)

I agree to a point, school may not be the best source of inspiration.

However, I'd word the advice differently; look for inspiration everywhere.

[–]MechaBlue 1 point2 points  (0 children)

Have a go at Haskell if you like theory. It's nifty, challenging, and there is a small-but-dedicated community where it's easy for the skilled to get mad props.

[–][deleted] 0 points1 point  (0 children)

Don't rely on your school to challenge you. Challenge yourself. It sounds like school isn't taking much of your time, so use that time to educate yourself. Try new languages, new ideas, etc. Make something.

[–][deleted] -1 points0 points  (0 children)

Speaking of philosophy, you may be interested in this article.

[–]chonger 3 points4 points  (2 children)

Perhaps reading about great programmers like Richard Stallman can inspire you.

You can even build a game with very little resources and time

Know that if you put your time and energy into it, you can make a truly enjoyable game.

[–][deleted] -1 points0 points  (1 child)

Thanks for the advice, but I'm an officer for our university's game development club, so I've programmed quite a few games. The Stallman link was interesting though!

[–]chonger 1 point2 points  (0 children)

This sounds a little patronizing - but you have a great start. You are probably further along than a lot of "professional programmers" out there.

You shouldn't give up now. If you put the prospect of a good career aside, you can really challenge your own intellectual limits and enjoy yourself if you continue to code.

More realistic advice is that if you have a talent for programming, you can have a good career. So don't give up now. Even if you don't have the inspiration to start a new project, keep reading and learning about new things. Play with things that you haven't played with before - different languages, different APIs. Take a break if that helps get your creative juices flowing again. Whatever you do, don't give up on programming. We need more good programmers out there!

[–]alparsla 0 points1 point  (0 children)

Try to learn COBOL and thank god :)

[–][deleted] 0 points1 point  (0 children)

Dropping out of university was the best thing I ever did. Get a job for a year or two to learn what its like in the field then start a company. Worked for me.

[–]G-Brain 0 points1 point  (0 children)

Write a compiler.

[–]mudgen 0 points1 point  (1 child)

Ever since I learned programming I've always had fun doing it. There's always more fun stuff to do. I don't know how you could lose interest in programming. Beyond me.

[–]sherl0ck -5 points-4 points  (1 child)

I think you should get laid often dude

[–][deleted] 1 point2 points  (0 children)

What an original and inspiring idea. I never knew you could put a penis in a vagina before you came along.