5 ms·
The author mentions trouble with portability and reliance on standard guarantees, and then goes on to talk about Julia, a single-implementation language that is
by bluefox 9y ago
The author mentions trouble with portability and reliance on standard guarantees, and then goes on to talk about Julia, a single-implementation language that is "rapidly evolving" with breaking changes and no standard to speak of?
- __s 9y agoYou don't need to support multiple implementations when writing a library when there's only one Whereas to ignore CL & stick to SBCL will be working to fracture the community-- perhaps necessary, but CL is already a niche community
- sigjuice 9y agoIf Julia gets more popular, it is very likely that other Julia implementations will get developed.
- int_19h 9y agoNot necessarily. R doesn't have other implementations, for example, and Julia still has some way to go before it catches up with R popularity-wise. Or consider Python - it does have several implementations, but the vast majority of the ecosystem is centered around one, and many libraries don't work on the others in practice (especially anything written in other languages using the extensibility API).
- ACow_Adonis 9y agoWell, technically it can be argued that R is itself an implementation (of the language S). It's just that the alternative implementation has become defacto and replaced the original...
- kgwgk 9y agoThere are other R implementations, see https://radfordneal.wordpress.com/2013/07/24/deferred-evaluation-in-renjin-riposte-and-pqr/ https://radfordneal.wordpress.com/2013/07/24/deferred-evalua... for some pointers.
- int_19h 9y agoHow many of these are used in production?
- flavio81 9y ago>will be working to fracture the community-- The CL community knows one uses the implementation one needs. Lispers are using ECL whenever they need to embed with C code, ABCL to interact with JVM, CCL when they're with macs, this is not fragmentation at all, they are all compatible with the CL stanfard.
- coldtea 9y agoThat's because the "single-implementation language that is "rapidly evolving" with breaking changes and no standard to speak of" still offers better guarantees that the respective CL ecosystem.
- reikonomusha 9y agoI still don’t know what these guarantees are. The Lisp ecosystem is extremely well understood and very stable.
- bitwize 9y agoSingle implementation > standard clusterfucks. Look at Java, Perl, Python, Ruby, Php, etc., vs. CL, Scheme, C, C++...
- deleted 9y ago[deleted]
- pjmlp 9y agoAny language that actually matters in the market reaches a point where it has multiple implementations.
- eesmith 9y agoCPython, PyPy, Jython, IronPython, MicroPython, Nuitka, ..
- reikonomusha 9y agoYet most of those don’t actually play well with on another, with various major and minor incompatibilities.
- eesmith 9y agoAre there any languages where the different implementations "play well with each other"? Perhaps C? I remember all the hassles of working with different Fortran compilers (and C++ compilers) simply because of different function name mangling in the .o files. Which major incompatibilities are you thinking of between CPython and PyPy, which are the two I use most often? Are they more severe than the incompatibilities between the different Common Lisp, which the author describes? (I regard C extensions as implementation-specific features outside of the Python language. The different Common Lisp implementations also have implementation-specific features which are not portable.) MicroPython is deliberately not Python compatible (differences at http://docs.micropython.org/en/latest/pyboard/genrst/index.html http://docs.micropython.org/en/latest/pyboard/genrst/index.h... ) but the others have a goal of not having major incompatibilities.