4 Levels of a Programmer

Leveling up as a programming is like gaining ranks in the military. It takes time, practice and each level presents itself with new concepts needed to be learned. There are 4 major levels in programming that we identify universally for most all web programming languages.

  1. Procedural Programming
  2. Object Oriented Programming (O.O.P.)
  3. M.V.C.
  4. O.R.M.

Procedural

We start with procedural, writing code in 1 file, we refer to it as procedural because the code runs from top to bottom with little complexity. Our game examples (Ninja Game, Pacman, Airplane) are all written in procedural programming. This is a great start in programming, simple and this is where it all started initially.


Object Oriented Programming (OOP)

After procedural, comes Object Oriented Programming, giving developers a tool to be able to re-create objects or blocks of code with 1 command, reducing code and increasing efficiency. It's imortant to learn this after procedural, so you can apprecaite the benefits it offers!


M.V.C.

Then comes M.V.C. - this is Object Oriented Programming with more structure, we have certain files or blocks of code that are dedicated to a certain job. This is great mostly for larger teams or big projects, or if you simply want more pre-determined structure.

  • M - Models - files or blocks of code that talk to the database, retrieving or sending information to it.
  • V - Views - files or blocks of code that load as templates, they are usually HTML files.
  • C - Controllers - files or blocks of code that direct the server to get information from Models, or load Views. Controllers are like air traffic controllers, they make all the decisions for the server.

O.R.M.

O.R.M. is a way of structuring our models, and more specifically the relations between models in a way that we can use the O.R.M. commands to query the database more efficiently. With a few words, we can retrieve or add data to a database that would normally take 1-2 lines of SQL statements. This offers mostly efficiency, in writing code, and not efficiency in the program's speed. None the less, very beneficial for teams that build M.V.P. (Minimal Viable Products) and teams that need to build things fast.


Conclusion

As you see, it benefits you learning programming from level 1 and leveling up each time, to now only better understand programming, but also understand why you would use each of these different levels, and be able to identify when to use and when not to use each of them. This is what will separate you from most developers, the fundamental understanding of programming.

So what's the best level to code in? And what's the best programing language? Or the best framework? It depends, always. We want you to learn what problems these tools solve for you ' the developer ' so you can make informed decisions when picking the language, framework (basically the programming level in which you code) when building an application.