Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Interpreted programming languages (especially ones with a REPL) are great for their low barrier of entry. However, once someone wants to make an easily distributable executable, they have to jump through numerous hoops.

The only exception to this problem are VMs which are often clunky and restricted to code precompiled for a specific version of a VM. I would like to see more solutions to this dilema, examples of which can be seen in py2exe and pyinstaller, for Python.

Edit: This is a general thought, and not a dig against Lisp. It is made clear by Stack Overflow answers that many implementations of Lisp have easy ways to make executables which are well documented.



> they have to jump through numerous hoops

In clisp and sbcl (I do not have a lot of experience with other implementations), the "make this an executable binary" command is a one-liner, so the hoops are at least comparable to other languages.

It occurs to me that every language that has a binary deploy has extra hoops, depending upon what you want. For example, you have to make sure that you use the right flags on gcc to debug your code with debugging symbols (not the default) or use "tail call optimization". No, actually it is worse: serious C projects have large, ugly Makefiles with optimization parameters, dependent library libs specified, dependent library include paths, etc etc. It is so ugly that several systems have been written for the singular purpose of creating a Makefile just so that your little Gtk App can compile. And C is a language people consider to be a real language that compiles stuff. :)

The hoops are not limited to languages with a REPL.


My Common Lisp (SBCL) isn't interpreted; everything you type in the REPL is compiled before running it. And there aren't many hoops to jump through to make an easily distributed executable with buildapp for SBCL.


In DrRacket: Racket > Create Executable... > Distribution. Done.


Chicken Scheme:

csc app.scm ./app

Not really a problem with interpreted languages, it's just that it may not be as common in some worlds.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: