3 ms·
Because most real applications don't model very well as a dataflow system at all. If you're thinking of linux utilities, I'm sure you see everything "works fine
by waps 12y ago
Because most real applications don't model very well as a dataflow system at all. If you're thinking of linux utilities, I'm sure you see everything "works fine" as a dataflow system.
Now imagine writing a complex application like Excel, or Photoshop procedurally. It's not impossible. During the Windows 3 series that was actually done.
Here's how it looks :
http://www.transmissionzero.co.uk/computing/win16-apps-in-c/ http://www.transmissionzero.co.uk/computing/win16-apps-in-c/
Read through it. Ideally install Borland C++ in a windows 3.1 in Dosbox and make it work. Then you will fully understand why people switched to OO.
But the more general reason is this : procedural programming doesn't allow you to raise the abstraction level of your code more than a bit. OO allows for more "distant" abstractions. Algorithms that are far further removed from the actual datatype being operated on. Since we've seen a regression in program complexity due to web browsers being the main application delivery method, OO is falling out of favor.
On the other hand, maybe mobile development is simply the pendulum already swinging back. Both android and ios apps are OO apps, by necessity. And as everybody (hopefully) agrees, they beat the pants of websites.
- tboyd47 12y agoNot necessarily. For apps that don't have rich UIs (i.e. apps that could practically be websites), WebViews can reduce cost by allowing you to use the same HTML for both iOS and Android apps. So I think it's really more of a grey area depending on the situation. But yeah, I wouldn't want to write Excel in procedural C.