|
||||||||||
|
Common Lisp BenefitsCommon Lisp is available for almost all computers and operating systems. The days of Lisp interpreters have long-since passed; commercially-available Common Lisp systems have -- without exception -- included compilers for well over a decade. Thanks to dramatic advances in compiler technology and garbage collection (which makes possible automatic storage deallocation and absolutely eliminates memory leaks), the overall execution speed of Common Lisp programs is comparable to equivalent programs compiled by lower-order languages. Common Lisp is a very small language with a very large library. The library is best suited for complex algorithmic programs, such as those which make extensive use of dynamic data structures to solve problems in knowledge representation, scheduling, network management, and financial modeling. In fact, Common Lisp users have discovered that their programs can actually outperform sufficiently complex programs written in C++, because it is very difficult for a programmer to create efficient abstractions from scratch; Common Lisp users have the advantage of a large, well-defined library which is efficient thanks to constant feedback from many users. Common Lisp programs are among the easiest to port across vendors and platforms. Having a large standardized runtime library ensures that it performs the same way from vendor to vendor. Common Lisp provides more extensive abstractions "out of the box" than do other languages. Even better, its abstractions are designed to be free from dependencies of hardware representation. Common Lisp programs simply do not break because of word-size and byte-order issues when moved to a different platform. The language's consistent syntax provides one of its greatest strengths: the ability to write programs that write programs. You don't have to be a compiler wizard -- this power is available to even a casual Common Lisp programmer. The typical Lisp programming style is also the most natural for many programmers: working middle-out or edges-in. The ability to easily generate code from your own specifications means that you can define your own application-specific language in small pieces as you discover the need. Modern Common Lisp systems include a wide variety of development tools that are tightly integrated into the environment. Lisp programmers take for granted tools like steppers, inspectors, debuggers, class browsers and graphers, syntax-aware editors, online documentation, command and symbol completion, profilers, tracers, and program analysis databases. If this isn't enough, you should also know that a Common Lisp programmer can repair defective definitions without restarting her entire program, and can "advise" functions to do something extra -- like change a parameter or return value or print some useful information about the call -- without modifying the function's source code.
|
|||||||||
|
||||||||||