During the early 1990s, a number of developers had the opportunity to use a NeXT system. Of those people, some were lucky enough to get to actually develop applications for such systems. NeXT brought us what was essentially a revolution at the time. Objective-C began to truly make Smalltalk-style OO accessible and practical. Their well-architectured class libraries were a real masterpiece, especially compared to the cobbled-together utility libraries used in many existing C libraries. And their UI was, of course, superb.
In the mid-1990s, as the Web was beginning to take off, NeXT developed WebObjects. They also developed the Enterprise Objects Framework, an OR mapping framework far before its time. Unfortunately, due to a variety of factors, WebObjects and EOF never became very widely used. Apple eventually acquired NeXT, and the frameworks were transitioned away from Objective-C to Java. Although there are still some major users today, its widespread usage has remained quite limited.
As we all know, Java ended up taking the corporate world by storm towards the end of the 1990s. Soon enough, many Web application frameworks were developed, and large software systems were developed based on this Java technology. Although Objective-C lives on in the Mac OS X world, it has unfortunately had very little impact outside of that domain.
It is interesting to consider what might have happened had the OpenStep initiative, which aimed to bring the power of the NeXT development platform to other systems (including Windows NT and Solaris), been more successful.
First of all, the use of Java might be significantly less than it is today. This would not necessary be a bad thing. All in all, the OpenStep API was generally far cleaner and better-designed than what the Java community ended up with. In many respects, Objective-C is a more flexible and cleaner language, which no doubt led directly to the amazing nature of the OpenStep API.
We must also consider Microsoft’s response to the success of Java, which was the creation of the .NET platform. Although it improved in many ways based on the experience obtained from Java, it is still often inferior to what NeXT produced a decade or more ago. An Objective-C and OpenStep-inspired .NET would be a very interesting platform to work with.
In the end, I think it’s unfortunate that WebObjects has mostly fallen by the wayside. Like many of NeXT’s innovations, it was a technology that was literally decades ahead of its time. And although it never really caught on, it has nevertheless influenced the platforms that are more widely used today. In many ways it will live on for some time yet, but had it taken off on its own, it could have really made a huge impact.