Staff Editorials        

past editorials

As appeared in the March/April 2001 edition of PCAI Magazine www.pcai.com/pcai (Republished with permission)

 

LISP Power And Functionality Still A Well-Kept Secret

 

Douglas F Ramsey

Manager, Internet Business & Japan Affairs 

 

Proponents of ‘LISt Processing’ or Lisp should have reason to rejoice. The demand for higher-level software applications increases daily; and few other languages support the level of functionality mandated by today’s end-users. The Lisp language offers a strong programming environment that is ideal for advanced networking and dynamic applications. Recent high profile Lisp applications, such as Commerce One’s iMerge, illustrate Lisp readiness for an industry revival. No longer only associated with Academic research applications and failed "Star Wars" projects, commercial Lisp applications are being developed in a variety of cutting edge domains such as B2B, Knowledge Management and E-Commerce.  

 

Despite these successes, Lisp continues to be unfairly characterized by both industry and the wider programming community as being too old, too slow, or too big. In fact, most current Lisp applications are smaller, faster and more flexible than applications

written in other languages. With the explosive increase in computer performance these concerns are no longer an issue. In an effort to identify opportunities and barriers in the current software marketplace, International Technology and Trade Associates (ITTA) Inc., an international business consulting and technology market research firm in

Washington D.C. surveyed members of the Lisp user community. This article presents the findings of this online survey and concludes that the future of Lisp is in the strength of its user community.

 

Survey Overview

 

ITTA’s Lisp Users Survey was designed to attract Lisp users online and determine the perceived strengths and weaknesses of programming in Lisp. 369 users submitted comments online over a six-week period starting in September, 2000. The survey, which attracted global Lisp users from the academic, public, and private sectors, focused primarily on the technical pluses and minuses of programming in Lisp. Survey respondents (see survey results at www.itta.com/lisp.results.htm) proved to be staunch defenders of Lisp vis-à-vis more popular languages such as Java or C++. However, to our surprise, a large majority of respondents used the survey to express dissatisfaction with LISP’s low profile in the software market. In short, Lisp has a dedicated user community that recognizes the prejudices against it and yearns for ways to bring the language into the mainstream.

 

Lisp User Patterns

 

The first portion of the survey explored the Lisp users, their programming environment, and the most commonly encountered Lisp problems. Most survey respondents were frequent Lisp users working in either the private or academic sectors. Industry users comprised the majority of respondents at 57%, with 31% working in the academic sector, while only 12% worked in the public or government sector users. 69% of the total respondents use Lisp daily or weekly with only 10% indicating that they rarely programmed in Lisp. These strong numbers illustrate that survey respondents were well versed in Lisp and well aware of its issues.  When asked their primary purpose for programming in Lisp, 44% selected education or research while 28% used Lisp to develop applications for either retail or company use (see Figure 1).

 

59% of respondents identified Franz Inc. (www.franz.com), a major Lisp software vendor, as their primary Lisp software provider. This largely reflects Franz Inc.’s role as the largest commercial Lisp vendor, as well as their recent successes in providing new Internet-friendly functionality and solutions. Digitool (A MacIntosh-based Lisp), Xanalys (Purchased Harlequin in 1999) both collected 11% apiece, while Carnegie Mellon University Common Lisp (CMUCL), Common Lisp (CLISP), Scheme (a smaller version of Lisp) and Symbolics rounded out the rest. 

 

There was a diverse selection of programming platforms and other programming languages used, reflecting the need for programming interoperability. The platforms broke down as follows: Windows (46%), Unix (30%), Linux (17%), and Mac (5%). Among languages frequently used in addition to Lisp: C or C++ (57%), Java (41%), Perl (22%) and Visual Basic (12%).

 

Developer Concerns 

 

When asked to identify Lisp’s functional areas for improvement, interoperability led (50%), followed closely by an improved Graphic User Interface (GUI —47%). These have long been concerns within the Lisp user community. Nevertheless, many users admit that interoperability has improved and agree that the software vendors have made great progress considering the problems complexity. In contrast, the lack of a common development GUI is seen by many users as a potential barrier to new users (see Figure 2). 

 

Although often criticized as too slow by non-Lisp users, the concern for speed was only cited by 28% of respondents possibly reflecting the advances in Lisp run-time performance and current computer hardware. Other improvements included: ease of implementation (23%); parallel processing (22%); memory management (19%); language size (15%); and scalability (13%).

 

The Superiority of Lisp

 

The survey also solicited a comparison of Lisp’s key strengths and weaknesses to other programming languages. Respondents were strong Lisp advocates and insisted on Lisp’s superiority. The vast majority felt Lisp is the truest object-oriented programming language, offering a simple, elegant, and dynamic programming environment. Numerous respondents described Lisp as a superior prototyping language, facilitating ease and speed of development, in comparison with other languages. Lisp received remarkable praise for its high level of abstraction, garbage collection, and debugging capabilities. In addition, Lisp’s macros, lambda calculus, and Common Lisp Object System (CLOS) make it an attractive programming environment.

 

Praise for Lisp’s simplicity and elegance was abundant — including a claim that Lisp provided a wonderful development model with an unbeatable interactive, incremental style, perfect for software development. Others observed that Lisp offers high-level abstractions, extreme dynamism, an advanced object-oriented system and extreme programmer productivity —- features not available in other languages. In support of rapid prototyping, another pointed out that Lisp enables a small number of programmers to tackle huge ill-defined problems and evolve a tentative solution into a final product, while continually maintaining a usable prototype.

 

There was also praise for CLOS as a user called it truly object-oriented, with run-time binding and typing built in as part of Lisp. Most languages (particularly, "and most annoyingly, C++") don’t have either. Another user indicate that Lisp has less syntax than conventional programming languages; a flexible object system; the comfort of automatic memory management; and good abstraction mechanisms — enabling both functional and imperative programming styles. Other Lisp features commended by numerous respondents included: a Macro ability to construct and execute code; consistent language grammar; built in data structures; and powerful and simple debugging.

 

Perceived Weaknesses

 

When asked to compare Lisp’s weak-nesses with other programming languages, very few respondents mentioned technical or programming issues. Rather, the majority focused on Lisp’s less tangible, yet perhaps more pressing weaknesses - market presence, public perception, and the user community itself.

 

Many respondents observed that Lisp is seen as an old-school Artificial Intelligence (AI) language, with limited or no relevance to the current programming community. Many also noted that its small user community is a key weakness. This is compounded by the fact that, despite its benefits, Lisp is not actively taught to the next generation of developers in university classes. Numerous users also added that price, the lack of strong vendor competition and open source options, are key factors inhibiting wide spread adoption of Lisp throughout private industry. Based on these issue, there is a concern whether Lisp is an alternative for programmers and businesses.

 

Despite the clear advantages of Lisp programming, cost forces many to turn to other languages. The proliferation of open-source/freeware, or high volume and therefore less expensive development tools make commercial Lisp products comparatively expensive in terms of licensing and distribution costs. Therefore, several survey respondents observed that the cost of working in Lisp can be prohibitive in comparison to Java or C++, even though the total cost of the development project might be lower (due to Lisp’s efficiencies and increased functionality). Additionally, free Lisp software, such as CMUCL lacks functionality so is not practical for commercial use.

 

Capturing the key issues, one respondent concluded that Lisp vendors compete with each other rather than Java, but when trying to sell Lisp to project management, they aren’t comparing Xanalys (www.xanalys.com) to Franz — they are comparing Lisp to Java. Java has free run-times and a wealth of important library functionality. And although Lisp has many other benefits, they don’t carry much weight, if Lisp lacks the basics. Another observed that the Lisp industry lacks any significant marketing. Finally, one concluded that Lisp has become marginalized — its image is non-mainstream. This obviously isn’t a problem with the language, but with the industry — a public relations and usage problem.

 

Concerns over Lisp’s price and unorganized user community inspired many to request a well-supported Lisp open-source option be created – not tied to a specific vendor. Again users observed that like other commercial languages Lisp should compete on the quality of implementation and support, while benefiting from the larger network effect of open-source development. Numerous educators felt that the best Lisp products are beyond the reach of university resources. This ultimately hurts Lisp since it limits research and constrains future growth in the Lisp user community.

 

Conclusion

 

Frequent Lisp users, when given the opportunity, rally around the technical and functional superiority of Lisp. Unfortunately, the advantages of working in Lisp are often sacrificed for near-term cost-savings. For Lisp to regain its place in the programming market it needs to recapture mind-share. With the growth of the Internet and corporate knowledgebase, now is the ideal time. The pressure is on Lisp users and vendors to increase their level of interaction and consider ways to grow and revitalize the Lisp community. One option is to develop a supported Lisp open-source development environment. However, no one within the community seems willing to take the lead in such a development (such as Linus Torvald did with Linux) – or seems willing to even supply code. (This may be partially due to the proprietary nature of many of the successful Lisp projects in industry).

 

Crucial to the future growth of Lisp is the commitment of its users. Lisp has time and again proven itself superior in solving crucial real-world problems with its core users. To remain a truly viable programming option in the coming years, Lisp must attract and retain new users. Lisp vendors, such as Franz Inc., are trying to increase the use of Lisp at the university level via special academic pricing, scholarship programs and ready-made curriculum materials. Additionally, government supported programs, employing Lisp, could boost Lisp’s profile and expand its user base. These programs will ultimately benefit government systems that are increasingly challenged by complex dynamic object-oriented data applications and the need for tools that support expanding federal databases and electronic government applications.

 

Marketing development environments is tricky since analysts and the press are more interested in end-user applications than the soft-ware needed to create them. Current Lisp users need to make their voices heard within the greater software community to showcase the Lisp applications they have built. Publications and presentation in journals and at trade shows provide exposure to a wider community. Only then, will other developers begin to realize the power of Lisp.

 

 

                               Home    News    Profile    Services    Contacts    Site Map