Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

On Lisp

Name: Anonymous 2013-12-28 9:08

Of course, it's feature complete!

Common Lisp is its own standard library. Here are its contents: http://www.lispworks.com/documentation/HyperSpec/Front/index.htm

It's got a whopping 980 functions for all your needs with intuitive and easy to remember names like least-negative-normalized-double-float, update-instance-for-redefined-class, load-logical-pathname-translations, simple-condition-format-arguments, internal-time-units-per-second, pprint-exit-if-list-exhausted and so on. Of course, it purposefully lacks the negligible nonsense like a graphical toolkit, image processing, nonblocking asynchronous IO, remoting, cryptography, SQL, text processing, archive tools, concurrency, parallelism, thread-safe data structures, monitoring & management, printing support, sound and processing, XML toolkits - all of that is useless, after all! The most important thing is that you get to use anaphoric lambdas and pandoric captures whilst munching on momma's tasty soup!

Seriously, you say "a core library" as if Lisp is a practical general-purpose PL. It's a lie. Lisp is no such thing, hence such a short stub in place of a core library and a trashpile of unmaintained cruftworks from fanboy-soup-eaters (a.k.a. CLiki). Look at the core libs of industrial-strength languages like Java or Python. They were forged in the fires of practical problem-solving over many years. While the Lispers have spent the whole 50 years of their totem's existence forging only one thing: their self-aggrandizement.

Although, to do Lisp justice, it should be noted that Franz and Allegro did crank out their bicycle-crutch-ersatz-"core" libraries. This is because during lisp-hype of the 80-90ies these gescheftmachers have managed to get several rich yet clueless Pinocchios addicted to the Lisp drug. Like Boeing, for example. And when the Pinocchios started trying to solve real problems lispishly, they had to hurriedly plug that gaping hole. So go ahead and spend some $4500 for a real Lisp - it's an easy sum for a Lisper, right? - and welcome to the miraculous world of Professional Lisp Pinocchios.

Name: Anonymous 2014-01-02 21:17

Finally, I lied. I have no experience with J at all.

However, I have reasons for believing it to be worth mastering (It is sufficiently different from the other languages I do know (I do not know any array languages (although I have written some MATLAB programs)), and I can think of a few niche uses for it, or at the very least I will gain from being intimate with its implementation).

If Steele's Fortress was ever "completed" I would probably be thinking of concentrating my next efforts there instead of J.

Anyway this brings me to the fact that I have wasted a lot of time half learning languages that I will probably never use again unless someone pays me to, and even then I will be quite upset and think it is a further wate of time. I learned most of these because of University, but also because of some bumbling about on my own part afterwards, and employers. These languages are:
+ VB.NET
+ Java
+ Perl
+ PHP
+ Haskell
+ Python
+ Clojure
+ Lua
+ JavaScript

I am especially bitter about my time wasted with Python and Haskell, which I have concluded are massive troll languages or CIA disinformation campaigns no different from ADA.

Even for an expert programmer, it takes a while to become truly expert in some language i.e. know its libraries, community, tools, "dialects", impelmentations, how to write common algorithms most succintly in them etc. intimately. And for the vast majority of languages there's no point especially when you know something like Common Lisp. What the heck is the point of Scala or Ruby or some other nonsense if I know Common Lisp? I'd put C++ on that above list of mispent youth languages if it weren't for the "real world" and my need of employment in it (my strategy so far has been to infiltrate employers touting my C expertise, spend a month or two proving myself, then just getting permission to use whatever I want. For some reason most ppl are of the belief that C and C++ is the only way to do systems or embedded programming, so if you want a systems programming job with only light application level work this is the way to go (these jobs tend to give you the most freedom later)).

I already feel like I have a lot on my plate just keeping up with C++, Common Lisp, Forth, Oberon and Smalltalk.

To put it more succinctly:

The marginal benefit of learning a new language (given the ones I already know) is smaller (in almost all cases) than the marginal cost of obtaining and maintaining a life time of true expertise in that language.

This is why languages such as Metalua, REBOL, Factor, Julia, Self, IO, Dylan or any other mix and match or evolution of Lisp, Smalltalk, Forth and a Wirth family language (Modula, Pascal, Oberon) simply don't get my attention even though there's some potential these could be interesting (of course they could be quite unpleasant too). I have the mental capacity for maintaining expertise in maybe 3 more languages, but only the patience and desire to do so for 1 more. idk if it will be J (or some other language in the APL family) (another strong contendor is Unicon or Icon, and as mentioned Fortress).

Also these are just high level general purpose languages. I also have to maintain expertise with DSLs (Mathematica, ACL2 and Maxima) and assemblers (AVR, x86, ARM).

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List