Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I currently am quite new to programming, I've had exposure to a few languages (C#, PHP, JavaScript, VB, and some others) and I'm quite new to OOP.

I was just wondering what is the best way to build up general programming/problem solving skills without being language specific? I was thinking maybe of something like Project Euler but more geared towards newbies?


Edit: I am looking at getting into Game Scripting/Programming, I'm already in Games but in a different discipline :)

share|improve this question

closed as off-topic by durron597, MichaelT, GlenH7, Snowman, gnat Jul 6 '15 at 5:26

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Community, GlenH7, Snowman, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

Isn't Project Euler geared towards newbies? – user1249 Feb 6 '11 at 21:38
As for programming contests/puzzles/code golf, take a look at this new SE site: and at facebook's puzzles, that have a bot to tell you whether the solution proposed works. – cbrandolino Feb 7 '11 at 14:03
@ThorbjørnRavnAndersen: Try some of the later ones. Really intense math there! – Thomas Eding Jun 21 '12 at 22:04
up vote 10 down vote accepted

I believe that any programming you do will build your "general" programming skills. It's like learning any new language, you always relate it back to whatever your "native" is. When I picked up Java, I related everything back to C# in my head.

My best advice is to pick a project. Set a goal for yourself, then go code it. Google like crazy, and use Stack Overflow when you really get stuck. The best way to learn is through action!

share|improve this answer
Thanks, I'm actually giving Project Euler a go! If it gives you more detail I'm looking specifically at getting into game scripting/programming (I am already in the industry but in a different discipline) :) – JuniorDeveloper1208 Feb 7 '11 at 10:25

I'd recommend studying data structures. Get a good book and start going over stacks, queues, heaps and trees. Implement a bunch of these, as well as the tests to verify that your implementations work. This will give you a good theoretical foundation, as well as some non-trivial coding work. Plus, even though lots of compiled languages provide linked lists and hash tables, lots of scripting languages don't, so it's always a good idea to know how to implement them.

share|improve this answer

I learned java at college. It introduced me to the concepts of classes, objects, inheritence, polmorphism, overriding, overloading and more.

Since then it has helped me learn many lanugages easily as most languages are made of these concepts. I have learned,, php5 ( with oop ) and most of them had similar if not same oop concepts.

While doing a small project for a student I also learned Unit Testing in java which can be applied to php also.

Truly, java with its pure object oriented nature makes you really learn and think in terms of classes and objects and that helps a long way.

share|improve this answer

You need to grab a bigger bite now that you've, IIUC, toyed with a few languages.

Find some heavy scary books about software archtecture and design to learn about the problem domain. Also, try to dig into the source and/or contribute to, a few larger projects (preferrably related are but different languages). Also consider doing a few bigger project on your own (or smaller but very framework-y ones, as a design exercise.)

That way you'll see and learn the generic patterns that creep up every project, no matter the language, and also how each langugage solves these issues.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.