sharke
Coding is one thing, but what about software design - was that better back in the day as well? I don't think it was. The design of software is much more advanced now.
I agree. If you look at phone apps, for example, UIs have gotten so polished and efficient. And standardized - everyone knows how to operate most any phone app without any real education. With a few exceptions, you know what the app is supposed to do, the controls get right to the point, and it works. Well, usually.
That's why Cubase drives me nuts. Generally, the engine is powerful. Now, if they would just adhere to modern UI design standards, rather than going maverick at every opportunity, the program would be so much more accessible. [For example, they could start by moving most of the
Devices menu under
Preferences, where those things belong.] As others have said, it's like they're trying to trip us up or something.
cparmerlee
I don't think it is a question of code quality per se. Most of the programming in the early days was for business systems. The computers were expensive and the programmers were somewhat rare. There emerged very strong disciplines for designing, building and deploying systems. The goal was for the system to be exactly what the systems analysts had specified months or years earlier.
In the context of DAWs (or "sequencers"), early desktop hardware was really the bottleneck and forced programmers to be very efficient. I remember writing video drivers in Assembly Language where the difference between using a SHR
(Shift Right - equivalent to dividing by a factor of 2) and a DIV
(Divide) -
just a couple of processing cycles - could actually be seen on the monitor once the code block was being called thousands of times per second to refresh the pixels. It was really pushing the limits of CGA video (to date myself).
Today, the hardware is so powerful, a couple of cycles won't be missed
(though I'm sure the programmers at nVidea are pretty diligent re frame rates). It doesn't guarantee sloppy programming but encourages it and, importantly, the effects are cumulative. Compound it with time and modern object-oriented techniques, whereby new programmers have little need to understand the blocks they're building on top of, and you can imagine the potential for inefficient code. And bugs.
It supports the argument that newer applications will be leaner and more reliable (if perhaps lacking in legacy features), if only because the company is on its first generation of programmers and everyone knows what's what from the ground up.