- #Difference between omnigraffle pro and standard how to#
- #Difference between omnigraffle pro and standard software#
When you boil it all down, OO is a conceptual tool – one that has gained substantial popularity, not just among hobbyist and novice programmers, but even amongst language gurus like Bruce Eckell, as well as the C++, java, php, perl, python, ruby (… shal I go on?) communities.
#Difference between omnigraffle pro and standard how to#
If you can show me how to create meaningful and adaptive interfaces using a non-OO approach that produces readable and maintanable code, I’m all ears. The seminal “Gang of Four” book uses C++ and UML as it’s tools for illustrating DP’s, and I assume for good reason. Personally I haven’t done much progamming period, but I’ve been reading up a lot on (funny as you mention it) Design Patterns and the whole philosophy of designing to the interface, not the implementation. So far I’ve only found these concepts addressed within the context of OO languages. Of course, bad programming won’t be stopped by OOP (perhaps even to the contrary.)Ĭlive, I am interested in where I can read about encapsulation and abstraction within procedural programming. Things are a lot faster and simpler to program with Cocoa/GNUstep, and the reason is because it’s a GOOD object oriented framework. Use Gorm (the graphical object relationship modeler) to link your objects (or InterfaceBuilder on OSX). In fact I think the real thing is the messages paradigm over the function call paradigm.įinally, I would say that with a good programming framework, things are really different - try to program with Cocoa/GNUstep to see what I mean. That’s why static languages like C++ are a pain and that’s why dynamic languages are a much much better answer (with Smalltalk, you can modify things on the fly while your program is running, etc.).
#Difference between omnigraffle pro and standard software#
With a true OO language like Smalltalk, things are dynamics, it’s much easier to work in a “extreme programming” mode (lots of short iterations with refactoring), because by definition, your software won’t be static. And to me, that explain a lot why people has trouble with the C++-branded-OOP-style. In my view, OOP really is Smalltalk, Objective-C or Ruby. Delegation is more often than not a much better Design Pattern. One thing where I agree with the article: Inheritance is not automatically good and should be used with caution. The C language is much less complex than C++. C++ is a strange beast, and claiming like in this article that “C++ too is a difficult language to use it’s just not as difficult as C”, is quite astonishing. But I think the fault is more on the “oo”-claimed languages like C++ than on people. And yes, I think that most people “don’t get it”. In my view, OOP is extremely nice and useful. The conclusion is quite ridiculous (“hey lets wait for the day when computers will understand us directly ! yay ! sound like a fun idea !”)… Frankly, this is mostly rubbish along with some truths.