Hacker News new | ask | show | jobs
by ajshroff 4966 days ago
1. Abstracting a problem

2. Encapsulation

3. Code efficiency

4. Speed \ Quantity

5. Simplicity

6. Readability

2 comments

ajshroff has got it right - Abstracting the problem is job #1. Programming languages are tools and everything else on the list varies depending on the programming language. Abstracting the problem is the key to all programming and computer science.

Try Project Euler as a casual way to improve you skills in this area, it's been a good mental exercise for using programming to solve math problems with your favorite language. Solving the problem is the primary objective, but you can always go back and make your code better after the fact, learn new functions and techniques, etc.

http://projecteuler.net

Agree with this ordering. I would start tackling abstraction. Eventually, it will come naturally when you program. Encapsulation is also another important point.