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 :)


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!

  • 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.


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 vb.net, C#.net, 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.


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.

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