Computer science ain’t as good as it should be
Jul.30, 2009
When I start studying computer science in the University class I truly believe that it is all I need to get started writing good programs. Algorithms > Functional programming > OOP > Databases > MVC is a step-by-step path of all people that learn programming of the web application. But…
Programming basics like conditions, variables, cycles and functions are mandatory for everyone just like writing and speaking for a baby.
But more advanced knowledge are less useful and optional. All of these:
When you start learning programming try to let your knowledge be “moved to production” as fast as possible. In other words: Have a programming practice as fast as possible and you will understand what kind of programming theory you really need. Concentrate your education on all cases you met and avoid learning things that you could possible come across.
:criticism, database, oop, programming, science
Programming basics like conditions, variables, cycles and functions are mandatory for everyone just like writing and speaking for a baby.
But more advanced knowledge are less useful and optional. All of these:
- Object hierarchy
- Normalized database model
- Do it as fast as possible
- Customer wants!
When you start learning programming try to let your knowledge be “moved to production” as fast as possible. In other words: Have a programming practice as fast as possible and you will understand what kind of programming theory you really need. Concentrate your education on all cases you met and avoid learning things that you could possible come across.

July 30th, 2009 on 4:26 pm
I find your comments here rather depressing in that you are saying only learn about things you need to know. This means there is no innovation no striving to make things better. I agree that often you need to take shortcuts to “Do it as fast as possible” but this does not mean you have to sacrific good programming style as in the end debugging hacked together code will probably take longer than writing it correctly in the first place. I also disagree with your framwork comment, you should have atleast a high level understand of how a framework performs its function mainly so you can tell if you are using it correctly. Yes dropping code in to a framework will give quick results but if you then move to another client that does not have this framework how to you reuse your knowledge, you can’t as you have no understanding of the underlying execution of your code. I also agree that a Normalized database is not realistic in the real world but is this because it has already been written badly, due to lack of knowledge, or because design decisions have been made e.g. for performance. Even if it is not possible in the most part it should still be strived for. Sorry for the long post but becoming a great programmer, developer, design, architect is about gaining knowledge about how things work so you can extend and improve them. If we just use frameworks instead of understanding them we ultimatly reduce our own value.
July 30th, 2009 on 9:34 pm
Thanks, Owen for your comment. Once when I was picking up the theme for my scientific effort, my scientific supervisor said:
You do not know to much yet that is why you can be optimistic push the most crazy ideas that may change the world. The case when you seeking the answer yourself is a key point where you can be innovative.
I am always trying to understand how things work(or just try) and only then go and learn what others think about it.
July 31st, 2009 on 1:21 pm
What is this… a recipe to train monkeys instead? Seriously.
July 31st, 2009 on 2:15 pm
The monkey is monkey. It will not become human and there is nothing you can do with it. And the human is a human. In other words you should train monkey as a monkey and human as a human.
October 22nd, 2009 on 3:50 am
Hello from Russia!
Can I quote a post in your blog with the link to you?
October 22nd, 2009 on 9:39 am
Sure
June 11th, 2010 on 11:06 am
Hi Russia
very interesting story. i like it and also enjoy..