Bogdan Gusiev's blog

How to make good software for people


Computer science ain't as good as it should be
30 Jul 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:
  • Object hierarchy
  • Normalized database model
are turned into dust by more important
  • Do it as fast as possible
  • Customer wants!
Each framework declare it's own way to organize the application Classes. If you are working on CRUD(create-read-update-delete) data application you don't need to think about object hierarchy yourself anymore. All you need to do is understand where you need place the function that handle data processing. And the principles a well declined in the framework manual. Normalized database is only a myth in a real world application. In 80% of cases the database design is evident to the developer. In other 20% the database couldn't be normalized at all.

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.

programming database criticism science oop