In our case it stands for Enterprise Objects Framework, is one of the best developments of late NeXT. Another transcript EOF, end of file, had all the chances to become a prophecy…
In the early 90s, the NeXT became interested in a problem, the solution of which could make good money. Outside the company the problem was considered a necessary evil, and, it seems, not even trying to fight it.
Databases have become an increasingly important phenomenon. Who owns the information, owns the world. Accordingly, a growing number of database management systems. Almost each of them had their own programmer’s interface (API), their advantages and disadvantages.
Programs that use the database, there were a myriad – and again and again happened to them the same trouble. They had to be modified to work with other APIs and other rules when connecting to the database management system (DBMS) from other manufacturers, and when switching to other (in the opinion of management, more advanced or efficient) DBMS.
Entity (the DBMS and the programs that use the DBMS) multiplied, each connecting to other DBMS have caused considerable financial and labor costs. I have no statistics, but a witness and participant of such “revolutions” do I have a chance. It was very interesting to learn something new, to try, to learn – and rewritten for this new a bunch of old programs, simultaneously improving their…
Programmers are like children, you deprive them of such a toy cruel – but almost a third of the world’s population is starving, and money could be spent to save the starving, or, at least, for the purchase of another yacht and equipping it with a missile defense system…
After a few brainstorming sessions and a good reflection of the problem in 1991 in a building at 900 Chesapeake drive in Redwood city, California, has begun to address the problem.
To the set of “whales” in the development environment, NeXTSTEP in 1992 added another, DBKit.
Rows of tables in relational databases, this kit was digested to objects and arrays of objects. The object’s properties (data) and actions (methods). DBKit took care of retrieving data from the database, the program uses the data almost does not depend on the nature of the database.
Almost, because the mechanism that retrieves data from the database needed setting up to work with specific database. Settings for the most important (popular) databases were included in the DBKit, adapting new and less popular DBMS was described in the documentation.
If the data was stored in multiple databases of different nature, it does not matter: if there are adapters for these databases, the end user (the program!) isolated from such sordid details.
This kit was advertised NeXT, and was considered one of its competitive advantages. It was such an advantage, but not all of them were so good and easy.
I read the reviews of the users (who consider themselves advanced), many of whom were critical. People asked why in the DBKit no bar to input queries and report generator in 4D or in Paradox, and they do now.
Friendly staff computer press politely explained to critics the difference between a LEGO set and tools of the present surface. In fact, critics had to recommend to hire a programmer. Or to learn how to use Objective-C and C.
Critics have tried to create apps to work with the DBMS using only Interface Builder – I would not even of them is to blame. They were persuaded that the creation of programs in NeXTSTEP should not be difficult, they believe.
The reaction of smart people has been positive, but critics of it were missing. Keith was far from perfect, it had flaws, including conceptual. He did his work, facilitated the interaction with databases, solve many problems, instead of adding their own.
DBKit can be considered reconnaissance. Now it was clear what should be the mechanism for interacting with databases.
New object-oriented interface with databases created from scratch. Judging by the size of the specification, it was super-duper-mega project, the implementation of which required hundreds of people and a private office, somewhere on the Pacific ocean, where the breezes and fine soft sand and palm trees.
But the developers of the first version of EOF were only four. Here are their names: Jack Greenfield, rich Williamson, Linus Upson and Dan Wilhoit. They have fulfilled all the requirements of the TOR, and in the spring of 1994, the Enterprise Objects Framework 1.0 went on sale for $ 299. The times of exorbitant prices has not yet arrived.
Data objects now called Enterprise Objects (in modern slang is Business Objects), the process of linking the DBMS of a different nature with EO was radically redesigned.
The first banks fell, quickly assessing the benefits of the new framework. The following were the representatives of big business and the Institute of military aircraft of the United States. EOF can sell licenses for OPENSTEP, like Aldus PageMaker, for 9 years until he sold the Mac I.
In Enterprise Objects Framework was first used Foundation Kit framework in which the United classes that are not related to the user interface, and new memory management, autorelease command.
In fact, it’s semi-automatic “garbage collector”, with manual transmission. The biggest difficulty for novices in object-oriented environment, NeXTSTEP/OPENSTEP/Cocoa, the object of love and admiration for those who are familiar with it. Usually this love came a few months filled with fire and brimstone and gnashing of teeth.
The current programmers macOS, iOS, tvOS, watchOS and audioOS to go through this is not necessary, but I do not envy them: easy this game is.
About autorelease and memory management in the descendants of NeXTSTEP, and about their evolution, I’ll write separately: a very instructive story. With a good ending. I mean, not an end: it still continues…
Of course, in the first version of a product were weak, the developers could not be new ideas, and in late 1995, NeXT Software has released a second version.
The most important changes were related to planned, in the near future, the outlet NeXT to the Internet, with one very large and ambitious project, part of which was to become this framework.
In addition to the main, was less ambitious.
Fixed bugs added (by popular demand) functionality, native support for a collection of databases.
EOF was one of the few, alas, NeXT products, bringing the company money. But the number of developers remained the same. Updated only team. From the original four remained only Dan Wilhoit. The names of the new developers ‘ history has been preserved: it was Eric Noyo and Charlie Gleisner. And they were led by Craig Federighi.
He was a programmer, Manager, and ideologist of the project. And this is the same Federighi, who is now part of the senior management of Apple.
In 1996, the framework has become one of the most important components of the WebObjects, which we will discuss in the next article or two.
EOF, it was also possible to buy separately from WebObjects, for the same $ 299, up to 2000 or 2001. In 2005, the composition of the Cocoa came his descendant, Core Data.
In my opinion, the EOF was cooler – but that’s my personal opinion.