Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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?

Thanks!

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

share|improve this question
3  
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: codegolf.stackexchange.com and at facebook's puzzles, that have a bot to tell you whether the solution proposed works. –  cbrandolino Feb 7 '11 at 14:03
1  
@ThorbjørnRavnAndersen: Try some of the later ones. Really intense math there! –  Thomas Eding Jun 21 '12 at 22:04
    
add comment

4 Answers

up vote 9 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
add comment

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
add comment

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
add comment

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.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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