Welcome to the DOLL Inc, home page.
DOLL's products and services are described here along with useful references, News Releases, and information about the latest versions, bug fixes, patches etc.
DOLL Inc., was formed in 1993 to develop and promote products that arise from the synergistic combination of the following technologies:
Our strategy for doing so rests on addressing the deficiencies of existing object oriented technologies, that stand in the way of realizing the benefits we listed above. We are developing tools where tools are needed, and developing languages and technologies where existing languages and technologies fall short, in order to make the power of dynamic object oriented programming a reality. We have a growing number of products in the object oriented, dynamic language, and artificial intelligence arena, each of which repairs at least one of the deficiences standing in the way of realizing the benefits of a true software components industry. Because not every problem has a canned solution, we provide leading edge consultants in the areas of object oriented technologies. Our consultants can make these technologies work today. We are busy preparing new tools that will support our vision of the future.
The technologies that we promote each have significant advantages:
Object Oriented Programming Languages offer the promise of:
Dynamic programming languages offer the promise of:
Open languages offer the promise of:
The technologies described above, when combined and tamed, will provide a synergistic collection of advantages that will lead the way to significantly lower software development costs through shared code. We will also achieve a dramatic increase in the complexity of systems that can feasibly be built. This will finally break the cost and complexity barrier that has kept the promise of truly intelligent systems just out of reach.
We have not yet begun to plumb the possibilities inherent in a viable software components industry. Just as today a pie chart can be a software object available to spreadsheets, word processors, communication programs, etc.; natural language dictionaries, print drivers, file managers, teleconferencing windows, spreadsheets and practically any other functionality now provided by individual monolithic application programs can be objects called by any or all of the other programs in use on a network.
Business graphics, scientific graphics, screen drawing tools and multimedia tools are other examples of commonly used sets of functions that, if made available as libraries of shareable objects, would speed application development, reduce maintenance and enable improved quality and cross application integration.
Until recently, commercial application software had to be monolithic, providing all the product functionality not provided by the host operating system. But the combination of Object Oriented Programming and Open Languages can break this barrier.
Because the right solution doesn't exist yet, and the software industry can no longer pretend that existing languages and technologies will do . It should be possible today to:
The short answer is, No.
C++ was intended to be compatible with C, be relatively efficient and have object oriented features. It succeeded in these goals, but the industry is beginning to learn that this isn't what is needed in order to achieve the object oriented benefits described above. C++ in fact is fatally deficient on all the points made above.
Ultimately the wave of enthusiasm currently enjoyed for C++ will subside when better object oriented languages are available.
Smalltalk fares much better than C++ by the above criteria which explains the resurgence of interest in it. It does provide the object oriented benefits and it is dynamic, but unfortunately it fails completely in the 'openness' category.
Smalltalk lives in a big black box. This is where Smalltalk was designed to be and it is always hard to back out of a design principle. Openness is an extremely powerful influence in today's software world, and Smalltalk, by being large, monolithic and closed will never achieve mainstream support or use as a commercial application development language.
Primarily because of its efficiency, C++ is currently the language of choice for creating commercial object oriented application programs. However, to date, even the successful products targeted on that market have failed to deliver object oriented programming's major benefits in a form that can be used for both developing and delivering efficient commercial products. DOLL Inc. is developing a family of products that deliver the full object oriented benefit in a small, uncomplicated, efficient, open language with a dynamic, interactive, visual programming environment.
OLE (Object Linking and Embedding), CORBA (Common Object Request Broker Architecture), and DSOM (Distributed System Object Model), are all attempts to allow programs to share objects, and preferably across networked systems. When application programs share objects, the applications gain interoperability and data sharing capabilities almost for free. OLE, Corba and DSOM are attempts to achieve this goal.
Due to the lack of a strong object oriented programming language, the OLE implementation is neither simple nor efficient but it does demonstrate the primary object oriented application functionality that software manufacturers seek in an object oriented programming language. The major problem that each of these interoperability architectures have is that they were designed for languages that don't sufficiently support the needs of a software components architecture. These deficiencies and the ones cited above are delaying broader and more rapid employment of object oriented techniques in commercial application software.
We are developing exciting products and technologies that bring us closer to the vision of a more productive software environment. These products include tools and languages that bring the diverse pieces together. As the pieces begin to fall into place: languages, Object Oriented Databases (OODB's), Object Oriented Operating Systems (OOOS) and others, the necessity for a more coherent future becomes more urgent.
We are working closely with customers helping them to achieve their integration goals with new technologies such as OLE, Corba, AI tools and techniques, Object Oriented Databases, and languages.
The language Yolambda, is small, efficient, dynamic, open and portable. Yolambda supports the essential set of functions needed to convey all the benefits of object oriented programming. Yolambda is a 32 bit language, object oriented from the bottom up and supports local and networked multiprocessor object sharing. And Yolambda has been designed with portability in mind. The first version runs under OS/2 Warp, but it will be available on other platforms soon.
Yolambda in the OS/2 market enables software developers to explore object oriented programming and to create efficient object oriented programs of commercial quality. Yolambda will be available with a software developer's tool kit and for developers using OS/2 Warp, Presentation Manager and SOM, special hooks have been provided to simplify and enhance the use of both of these Warp features.
Due to their efficiency, low calling overhead, small size, implementation simplicity and succinct representation of complexity, Yolambda program objects offer a natural way to create and distribute class libraries of features for sharing among applications. These features will enhance the process already begun by OLE, Corba and SOM, enabling application manufacturers to narrow their product development focus to those functions which give them the greatest leverage.
For example, a voice transcription product developer might concentrate on the speech recognition module while using phoneme recognizers, context parsers, language dictionaries, spelling checkers, word processors and desktop publisher objects to complete the product. Creating all these functions to a quality standard that would produce a well integrated product would be daunting to any manufacturer and would necessitate a long development time. With Yolambda and class libraries of program objects, integrating high quality modules together to form a quality product would require only a little more work than developing the missing modules. This drastically cuts down on time to market and thus greatly enhances competitiveness which puts pressure on other manufacturers to adopt the same methods rather than continuing to develop monolithic products.
Currently foreseen future products will consist of add-on's to Yolambda, such as:
The Yolambda language has the right combination of execution efficiency, dynamic programmability, openness, and object oriented support for encapsulating, sharing, and customizing all sizes and complexities of software objects. The availability of a programming language with the efficiency and capabilities of Yolambda should significantly accelerate the rate at which object oriented products are developed and introduced.
Reusing code reduces software development and maintenance time. As the number of reusable objects in a programming environment becomes large, the savings in software development and maintenance time, translates into large cost savings. The most dramatic benefit to be achieved through Object Oriented programming is the realization of the long-standing dream of a true software components industry. Only better object oriented languages and systems can make that benefit real.
If you are struggling to understand how to benefit from Object Oriented technology, need help integrating or porting an application, need help in selecting the right tools, or designing an object based solution, give us a call. We have people that can help. From PC's to mainframes, from OLE to OpenDoc, from CORBA to Smalltalk. Making them all play together is what we are here for. Making them play together is where you'll find your real leverage.