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

Seven Plus Or Minus Lisp

Name: Clay Stuart 2013-11-26 1:44

http://claystuart.blogspot.com/2011/11/seven-plus-or-minus-lisp.html
Here's this blogs thesis: Requiring programmers to keep track of more than five or six non-linear details at the same time will render a programming language more difficult than its competitors and lead to reduced usage.

Programming languages should be designed with this limit in mind and programming cultures should consciously promote it.

Why do you fancy-pants Space Cadet LISPPERS have to go around with your lambda calculi and your functional programming and make ME look bad?

Name: Anonymous 2013-11-26 1:50

Are you the guy who likes Haskell?

Name: Anonymous 2013-11-26 2:13

>>2
Nobody likes Haskell. Even its creator secretly hates it.

Name: Anonymous 2013-11-26 2:16

>>3
I like burritos.

Name: Anonymous 2013-11-26 3:39

Another stupid self-important article basing it's bullshit on a meaningless pseudo-scientific psychology crap study that treats humans in the most misanthropic and idiotic way and declares that the ``average person'' is in some way related to a person who isn't average.

Name: Clay Stuart 2013-11-26 4:36

>>5
Go anywhere on the web that discusses programming and after a while someone will claim that Lisp is the ultimate programming language. Almost immediately others will likewise pile on to support this claim with statements that Lisp is the ultimate--the Alpha and Omega--the One True Programming Language. Famous programmers are usually named who program only in Lisp followed by famous books on programming that use Lisp to illustrate their programs.

The thesis for most of these arguments is this: Lisp is the ultimate programming language because it is a programmable programming language. By "programmable programming language" they mean that you can actually program Lisp in Lisp.

In most languages, if the language doesn't have a particular feature you need, you have only three options:

1. Beg the developers to add the feature you want
2. Figure out a way to do without
3. Go find some other language that solves your problem

Lisp adds a fourth option. It lets you add the feature yourself. This sounds cool. It sounds like you need never learn another language again. You just add it to Lisp and keep on trucking. This makes it the ultimate general purpose programming language. It can be anything!

So great. We've done it. We have found The One True Programming Language.

There's just one little wrinkle: Lisp is basically nowhere.

So far as I can tell, I don't use a single program written in this ultimate programming language.

None of the office programs I use every day are programmed in Lisp. Nor are the web browsers that make up the rest of my computing experience. None of the major operating systems are written in Lisp. Not Windows. Not Mac. Not Linux. None of the most popular servers than run most of the internet are written in Lisp. Nor are the databases that store those websites' information. Do any smart phones run Lisp? My Android doesn't. Nor does my Apple Ipad or my Ipod or any other Apple devices as far as I know. None of them are written in Lisp. Not one.

For the ultimate programming language, that's not a very good showing.

Programming languages are designed to solve specific problems. Assembly provides better mnemonics than raw machine code. Fortran is more human readable than assembly. C is more human readable than assembly and more portable than assembly too. Awk has more tools for text processing than raw C. Perl has more tools for text processing than raw Awk. Python has more tools and is (arguably) cleaner than all of them. Erlang can be made more fault tolerant than other languages. Javascript is more ubiquitous for client-side web programming than other languages. Lua is easier to embed in C programs for scripting purposes than other languages. PHP is more ubiquitous (and maybe has more tools) for server-side web programming than other languages. Etc...

Obviously you can argue these points, but the designers of these languages would largely support what I just said as primary rationales for why they designed these languages in the first place.

So what again was Lisp's advantage? What problem does it specially solve?

Oh yeah: Lisp has more tools for programming Lisp than other languages.

Hmmmm... Is that a problem that needs solving? I don't think so, and I think this answers the question of why we don't see Lisp actually being used very often: it doesn't provide an advantage for solving the problems programmers need solved. To use Lisp as its acolytes direct: you first need to reprogram Lisp into a domain specific language targeted at a particular problem. But as the list above suggests, others have already been working in those domains and have already gone a long way towards building special tools for them.

What this means is that vanilla Lisp isn't good enough. Nor is merely--and that's a big merely--reprogramming Lisp for a certain problem space good enough. It isn't enough to make Lisp just as good as Perl for text processing. You have to make it better. You have to reprogram Lisp into a domain specific language that is better than what others have already built.

THAT. IS. A. TALL. ORDER.

Here is my thesis: The Cambrian explosion of domain specific programming languages is a better solution to most problems than a general purpose Lisp.

I wrote this essay to find out what I thought Lisp's future is going to be. People still argue--and quite convincingly--that Lisp is The Next Big Thing coming down the pipe, but I'm going to respectfully disagree unless we see a new generation of Lisp Machines emerge with parentheses going all the way down.

Because then Lisp will finally have a domain of its own.

(Note: For the purpose of this article I'm lumping Scheme, Common Lisp, Dr. Racket, and other Lisp like dialects together)

Name: Anonymous 2013-11-26 7:00

Clay Stuart is a clueless idiot.

Name: Anonymous 2013-11-26 8:46

>>6
That is true but only if you are using lisp to reinvent tools that already exist. As soon as you begin entering new domains, it becomes handy to have something like lisp where you can create a dsl for your needs as you discover what your needs are.

Name: Anonymous 2013-11-26 11:08

>>8 ~> >>7

Name: Anonymous 2013-11-26 11:55

>>6
I have no business with someone who admits to own an Android tracking device.

Name: Anonymous 2013-11-26 13:40

>>10
It's funnier if you call it a tracking collar and ask them what crime they've committed and how long they have until conditional release is over.

Name: Clay Stuart 2013-11-26 15:38

There will be more tablets in the future, a lot of them, and people won't have the bandwidth or patience for huge programs that take forever to download, or pain-in-the-ass programs that require a ton of dependencies to be downloaded just to make them run. Few things are more frustrating than downloading a program only to find that you also have to to download some new version of Java or the correct version of Python or some other run-time environment just to get the damn thing to run. A stand-alone binary (.exe program) is faster and simpler any day of the week.

So, what languages are used for serious development now.
Windows: the main language seems to be C#. The runner-up is C++.
Apple: the main language is Objective-C. The runner-up is C++.
Linux: the main language is C. The runner-up is C++.
Android: the main language is Java. The runner-up is C or C++.
(Note: I define "serious development" as rock solid, enterprise quality software)

http://claystuart.blogspot.com/2012/01/language-of-future-is-c.html

Name: Anonymous 2013-11-26 16:02

There will be more stone tablets in the future, a lot of them,

Name: Anonymous 2013-11-26 16:24

>>12
ROCK SOLID

Name: Anonymous 2013-11-26 20:43

>>12
A stand-alone binary (.exe program)

I chuckled to myself a little.

Name: Clay Stuart 2013-11-26 22:59

>>15
Well why would anyone need dependencies when there are futuristic languages like c++ that compile down to .exe??!

Name: Anonymous 2013-11-27 1:29

>>16
Because C++ is only a runner-up!

Name: Anonymous 2013-11-27 1:35

>>12
And what the hell kind of operating system is this man using that doesn't handle dependencies correctly?

Name: Anonymous 2013-11-27 1:45


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