3 ms·
I started dabbling in CL last month, and I both of those points are valid, if for different reasons today. Most languages have a single standard way of doing b
by e3bc54b2 5y ago
I started dabbling in CL last month, and I both of those points are valid, if for different reasons today.
Most languages have a single standard way of doing basic things, and provide libraries for advanced operations that are not faced by everyone everyday, but more than once per average person.
First criticism of Common Lisp being it has too large standard lib, and it collides with first half of above paragraph, because newcomers like me get confused at 4 different ways to set variable, all named ever so slightly differently.
Second criticism being lack of libraries. This comes in effect with second half of first paragraph. For eg. I wanted to build a simple webapp to parse PDF into separate pages and convert them to speech. I could write one in Java in a weekend, but there is nothing comparable in Common Lisp, especially in terms of proper documentation and examples. I couldn't lift off after initial interface. I had to scour through library source to even understand basic usage.
It is possible I missed something obvious, but as it is, Common Lisp is not a good language to start greenfield projects.
- lispm 5y agoOne can always call external code from Common Lisp - there is no need to re-invent/re-implement everything in CL. Use a FFI to call library functions, call external routines or call internal routines (ABCL runs directly on the JVM and can call arbitrary JVM) code. Using Common Lisp does not make it necessary to write all code in it. Not sure why I would for a project re-implement existing PDF features of other tools - unless there is a specific reason for it. I would always first explore to re-use code.
- e3bc54b2 5y agoThanks. I was trying to go as native as possible. I did get it to completion by using other tools for everything but web interface. The reason I was so disappointed was because my prior Lisp experience was with Emacs Lisp, which has probably the best documentation and iterative and interactive development experience of all the programming languages out there. I was spoiled and had probably unreasonable expectations. NixOS doesn't make things easier either. I'm looking to make another attempt at this, hopefully I'll do better then.
- vindarel 5y agoNext time please come ask on /r/lisp or Discord! The beginner documentation is getting better. https://lispcookbook.github.io/cl-cookbook/getting-started.html#creating-a-new-project https://lispcookbook.github.io/cl-cookbook/getting-started.h... https://lispcookbook.github.io/cl-cookbook/web.html https://lispcookbook.github.io/cl-cookbook/web.html an example web app: https://github.com/rajasegar/cl-trello-clone https://github.com/rajasegar/cl-trello-clone