Live data from Hacker News

Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

norvig.com

21–30 of 114 posts

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#21
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

It's subtle. For instance my university taught us scheme basics (no higher order functions, no macros) in the very first computing module[1]. Before teaching us x86 assembly, HTML, VBA. [2]

IMO nobody [3] considered it programming. I was a geek and thought it was pure vapor [4], programming needed to be cpp with graphics or GUI or memory cells. I don't know what other people thought about it but I'd bet they forgot about it the minute they left the class. I mean pairs and cons cells ? what can you do with that ? ... beside map/fold/compose/curry. But that would need to talk about closures... can 20yo handle hot thangs like these ?

----

[1] in my days, first 2 years were 80% math/phys 20% programming

[2] casual introductory modules, at that point students don't know if they go pure science CS or IT.

[3] except the wearing IOCCC tshirts teacher

[4] infinite idiocy of my young self

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#22
Here's a link to PG's essay and speech excerpts on why Lisp is great for web-based applications (2001) - http://www.paulgraham.com/lwba.html

PG delivered a similar message to my undergraduate CS class in 1996/7 as a guest speaker when he was working on Viaweb and extolling the virtues of LISP for server-side web applications.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#23
post #6
post #3

Earlier quoted context omitted.

MIT's introductory engineering course used to teach Scheme to the students using the excellent SICP text. I believe they now teach their beginning students Java or Python. I am not sure if there are blog posts or papers detailing the benefits of using Scheme in the class room.

They switched the introductory course from Scheme to Python. The reason is because programming doesn't consist of building things up from first principles anymore, as is done in SICP. Now it largely consists of debugging and customizing already existing code, often via frameworks.

> Now it largely consists of debugging and customizing already existing code, often via frameworks.

This is why web development is so dull to me. You're always coloring by number.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#24
post #9

Browser makers like Mozilla have had the option, at any time, to enable the use of Lisp (or any other language) in the place of Javascript. Nothing uniquely qualifies Javascript.

While nothing uniquely "requires' Javascript, replacing it in an existing browser is no easy feat. Look at how much work has gone into making Dart work just in Chrome. And if any browser is going to replace Javascript, it's going to be Chrome (first), not Firefox - Mozilla is doubling-down on Javascript with both asm.js and FirefoxOS. Google is doubling-down on efforts to replace and/or subvert Javascripts, with both…

Replacing (or adding a second option of) a scripting language for the DOM in an existing browser is going to be tough, regardless of what the existing language is (which happens to be Javascript in all modern browsers).

I'm not sure about that, DOM access is a bit of a mess and the js stdlib is not great either, it wouldn't be hard to improve on it. It's a real shame we've ended up in a situation where the only API for manipulating the DOM is in js - script tags were not initially intended to be js only. Switching language would be the perfect opportunity to create a proper standard library for the web, by looking at the organic mess which is DOM access, js animation, etc, extracting the good parts, and throwing away all the rest. If it significantly improved dev productivity, and was available as a plugin initially for all browsers, people might be willing to experiment with it.

There are political and technical problems with doing that of course, but it would be a great step forward for web development, and is not at all beyond the reach of a big browser vendor. I agree if it were to be anyone, it'd be Google.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#25
post #13
post #9

Browser makers like Mozilla have had the option, at any time, to enable the use of Lisp (or any other language) in the place of Javascript. Nothing uniquely qualifies Javascript.

Not even "in place of" but "in addition to". There's a reason that the script tag has a language attribute as part of the standard.

I'm afraid you're browser doesn't support XScript, please download Chrome Explorer 310.

On a serious note, JavaScript and the lack of fragmentation is one of the best features of Web. You don't have to download appropriate browsers (in theory and mostly in practice) to run your website.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#26
post #9

Browser makers like Mozilla have had the option, at any time, to enable the use of Lisp (or any other language) in the place of Javascript. Nothing uniquely qualifies Javascript.

While nothing uniquely "requires' Javascript, replacing it in an existing browser is no easy feat. Look at how much work has gone into making Dart work just in Chrome. And if any browser is going to replace Javascript, it's going to be Chrome (first), not Firefox - Mozilla is doubling-down on Javascript with both asm.js and FirefoxOS. Google is doubling-down on efforts to replace and/or subvert Javascripts, with both…

I'm not sure asm.js is a bet on JavaScript, per se. It makes using other languages easier without resorting to a whole new language like Dart, or dependencies on certain platforms with NaCl.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#27
This is from 1998, and Peter Norvig has long since switched to Python.

  "LISP - a Language for Internet Scripting and Programming",

  Timothy J. Hickey, Peter Norvig, and Ken Anderson

  LUGM'98: Proceedings of Lisp in the Mainstream, Nov. 1998, Berkeley, CA.
As per http://www.cs.brandeis.edu/~tim/

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#28
post #2

I wonder if any teacher already tried to teach LISP as a first language instead of java or C, and what there was to learn about it.

Scheme via SICP was the introductory OO language/book circa 1990 at U of MN. It is probably the best class I took and remains the one class that has influenced my programming the most.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#29

Earlier quoted context omitted.

While nothing uniquely "requires' Javascript, replacing it in an existing browser is no easy feat. Look at how much work has gone into making Dart work just in Chrome. And if any browser is going to replace Javascript, it's going to be Chrome (first), not Firefox - Mozilla is doubling-down on Javascript with both asm.js and FirefoxOS. Google is doubling-down on efforts to replace and/or subvert Javascripts, with both…

Replacing (or adding a second option of) a scripting language for the DOM in an existing browser is going to be tough, regardless of what the existing language is (which happens to be Javascript in all modern browsers). I'm not sure about that, DOM access is a bit of a mess and the js stdlib is not great either, it wouldn't be hard to improve on it. It's a real shame we've ended up in a situation where the only API f…

> I'm not sure about that, DOM access is a bit of a mess and the js stdlib is not great either, it wouldn't be hard to improve on it

You'll get no disagreement from me about the JS stdlib. I was shocked when I found the "correct" way to extract the day of the week from a Date object in Javascript (without third-party libraries): https://stackoverflow.com/questions/4822852/javascript-how-t... [0]

It would be a great feat if/when someone does it. But saying that "Browser makers like Mozilla have had the option, at any time, to enable the use of Lisp (or any other language) in the place of Javascript" sort of ignores the amount of work required to actually do this (properly).

[0] Of course, this code does already exist internally, as evidenced by (new Date).toString(); you just can't access it.

Re: Lisp: A Language for Internet Scripting and Programming (1998) [pdf]

#30
post #25
post #13

Earlier quoted context omitted.

Not even "in place of" but "in addition to". There's a reason that the script tag has a language attribute as part of the standard.

I'm afraid you're browser doesn't support XScript, please download Chrome Explorer 310. On a serious note, JavaScript and the lack of fragmentation is one of the best features of Web. You don't have to download appropriate browsers (in theory and mostly in practice) to run your website.

This is one of the things that baffles me with the somewhat radical things getting added to javascript this go around.

I mean, I can't argue that there are some things that will be nice to have. However, it seems that going with additions that are not addable as a library is contrary to the bloody web.

Or, am I wrong and the new syntactical changes will be ok?

Also... this pretty much exemplifies how/why lisp would have been awesome. Quite literally everything could be done "as a library."

Post reply on HN