Procedural isn't wrong. OOP isn't right. They're used for different purposes. The fact is, OOP is a trade off for flexibility and scalability over speed; speed in development, speed in execution. Procedural programming has its place (ask any game developer).

Procedural programming is a necessary and important first step in learning how to code. It's the best way to learn how programming works because it's a simplified approach and won't get in the way of learning basic syntax.

People with no programming experience will not understand abstract concepts like classes, inheritance, polymorphism, and encapsulation - the very things that make up OOP.

OOP is a specialized dialect, built upon the basic language of programming. If you don't learn the basics, you can't truly learn the dialect. It's akin to learning phrases from a French phrase book and going to Paris on vacation versus learning how conjugation and verb tenses work combined with vocabulary. Who is going to be more successful at carrying on rudimentary conversations, or understanding what's being said to them?

If we take two students and you teach them OOP for 1 month and I teach them procedural for two weeks and then OOP for two weeks, my student will be further along than your student. The reason is simple. When you learn the fundamentals first you have a greater capacity for understanding of more advanced topics.

If you take somebody snowboarding and force them to learn how to do a 720 without teaching them anything else, they will eventually be able to do a 720. If you instead teach them all the basic moves, how to enter and exit tricks, and then move into 180s, 270s and 360s, they'll be much better at snowboarding in general and will naturally learn 720s soon after.

Plus, if you sit down with non-programmers to teach them OOP, and you have to teach them the basics first, you will find yourself naturally teaching them procedural programming because every time you try to move into topics OOP, your students will get lost and you'll end up circling back to explain the basics again.

OOP is not a beginner topic.

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to