Live data from Hacker News

Lispers

lispers.org

71–80 of 110 posts

Re: Lispers

#71
post #36

Earlier quoted context omitted.

> JavaScript has also successfully escaped perception of "a language for brains". Research background is actually harmful for a modern programming language. Those who consider javascript a good language usually lack the experience to compare languages effectively. Javascript is mostly appealing to front-end developers because they usually don't know anything else. Also, there are a LOT of front-enders so, you can exp…

> Those who consider javascript a good language usually lack the experience to compare languages effectively Javascript IS a powerful language with features that were not in other mainstream language for decades and some still don't have: first class functions, dynamic typing, lambda functions, closures etc. You only have to look at the diverse uses of Javascript to appreciate how far that power goes. As for the wart…

> Javascript IS a powerful language with features that were not in other mainstream language for decades and some still don't have: first class functions, dynamic typing, lambda functions, closures etc.

Perl, Ruby, Python say hi.

Re: Lispers

#72
post #5

Lisp is a beautiful language (or, to be more precise, set of languages). It is absolutely essential to a computer science education. It also gets unwieldy when programs get complex.

That depends. Several mildly large programs have been written in Lisp. There should be code bases for applications reaching or surpassing ten million lines of Lisp code. There also should be code bases with relatively complex code, which have been maintained for more than a decade. For example the Cyc system is under continuous development since the mid 80s.

A dialect like Common Lisp was designed such that applications in the large are possible. As any large program it needs a bit thought how to make a scalable architecture and how to best use and extend the facilities provided by rhe development environment and the language.

Re: Lispers

#73

The home page looks like a tombstone of Common Lisp with a bunch of epitaphs on it. On the other hand, the spirit of Lisp has successfully taken over the world. The modern Lisp is called JavaScript. I am perfectly aware of all the differences between Lisp and JavaScript and of the other languages that have influenced JavaScript (Self, Perl, Lua), but think of this: what made Lisp so great in the past? - automatic mem…

I'm not drinking that kool-aid. It's pretty shameful that a language as old as Common Lisp has more batteries included than the VM of the web: http://www.lispworks.com/documentation/HyperSpec/Body/f_stg_...

That, and npm is a horror movie.

Re: Lispers

#74
post #69
post #63

Earlier quoted context omitted.

Don't like my negative experience with lisp? I could guess it from your username.

Since you talk about ARC in the context of Lisp GC I doubt that you have any experience with Lisp.

No I don't have any experience in its memory management and I don't need it.

Re: Lispers

#75
post #48

Earlier quoted context omitted.

> in most cases Haskell takes a lot more time for development than other languages - and takes negligible maintenance/refactoring time compared to Lisp/Python/C++. Maintenance timesink might easily outweigh the gain in development time. That's the promise of strong type systems: preventing bugs from happening before you have to debug them in production and it does not come absolutely free.

> Maintenance timesink might easily outweigh the gain in development time. That is correct. However, in Haskell you need a lot of discipline to guide a big project in the right direction. Maintenance can quickly became a nightmare due to very dense code. If maintenance is the main issue I would choose Ada than Haskell. I have no problem to understand my own Ada code written 10 years ago, even without documentation. I…

> That is correct. However, in Haskell you need a lot of discipline to guide a big project in the right direction. Maintenance can quickly became a nightmare due to very dense code.

Have you worked with Haskell professionally? Your observations do not match my experience of approx. 3 years of professional Haskell development across 3 different companies. Guiding the growth of Haskell codebases is trivial compared to Python, which is the other language I have professional experience of.

Re: Lispers

#76
post #66

Earlier quoted context omitted.

> Those who consider javascript a good language usually lack the experience to compare languages effectively Javascript IS a powerful language with features that were not in other mainstream language for decades and some still don't have: first class functions, dynamic typing, lambda functions, closures etc. You only have to look at the diverse uses of Javascript to appreciate how far that power goes. As for the wart…

> Javascript IS a powerful language with features that were not in other mainstream language for decades and some still don't have: first class functions, dynamic typing, lambda functions, closures etc. You only have to look at the diverse uses of Javascript to appreciate how far that power goes. This is ridiculous and it just shows how you don't have any experience with ML languages. > As for the warts of JS any exp…

Your only criticism of anything is "you don't have any experience in that" which is quite hilarious. Thanks for the trolling.

Re: Lispers

#77
post #58
post #21

Earlier quoted context omitted.

Template Haskell is meta-programming. It supports quasi-quotation, just like Lisp.

quasi-quotation is an unrelated feature in Lisp. It's there to build list structures from templates. Using templates in macros is sometimes helpful, sometimes not.

In Template Haskell quasi-quotation is how one would add new syntax, but it's not necessary either if all that is required is macro expansion.

Re: Lispers

#78

The home page looks like a tombstone of Common Lisp with a bunch of epitaphs on it. On the other hand, the spirit of Lisp has successfully taken over the world. The modern Lisp is called JavaScript. I am perfectly aware of all the differences between Lisp and JavaScript and of the other languages that have influenced JavaScript (Self, Perl, Lua), but think of this: what made Lisp so great in the past? - automatic mem…

> functional, OO and imperative programming when needed

Please tell me how to get a reasonable implementation of list or tree values in JavaScript, without resorting to Gödel encodings or gentlemen agreements not to query object identities.

Now recall that functions are mappings from values to values. How are we supposed to express computation as function evaluation without a rich set of values to work with?

That's how well JavaScript (or Lisp, for that matter) supports functional programming. (I can't comment on object orientation support because I don't know of a logically consistent theory of objects.)

> JavaScript has fixed S-expressions

Weird. Lisps are traditionally semantically a mess (Scheme less so than Common Lisp, though), but the syntax, allowing for relatively easy metaprogramming, is their main saving grace.

> Macros are harmful to programming in the large.

Just because you don't understand macros, it doesn't mean other people can't put them to good use.

> JavaScript got rid of linked lists (that are awkward and impractical for everyday use) and introduced hash-tables into the language.

Practical Lisps provide several useful data structures out of the box. In any case, this is a matter of standard library design, not language design.

Re: Lispers

#79
post #72
post #5

Lisp is a beautiful language (or, to be more precise, set of languages). It is absolutely essential to a computer science education. It also gets unwieldy when programs get complex.

That depends. Several mildly large programs have been written in Lisp. There should be code bases for applications reaching or surpassing ten million lines of Lisp code. There also should be code bases with relatively complex code, which have been maintained for more than a decade. For example the Cyc system is under continuous development since the mid 80s. A dialect like Common Lisp was designed such that applicati…

>A dialect like Common Lisp was designed such that applications in the large are possible.

Interesting. Can you mention some of the Lisp language or other features that help with that?

Re: Lispers

#80

The home page looks like a tombstone of Common Lisp with a bunch of epitaphs on it. On the other hand, the spirit of Lisp has successfully taken over the world. The modern Lisp is called JavaScript. I am perfectly aware of all the differences between Lisp and JavaScript and of the other languages that have influenced JavaScript (Self, Perl, Lua), but think of this: what made Lisp so great in the past? - automatic mem…

> JavaScript has fixed S-expressions Replacing them with a semicolon and curly brace riddled abomination; see CoffeScript and various syntax extensions that come with latest JS standards. Also note how many years it took for JS to get even very basic features, like `() => {}` lambda notationor multiline strings. In a language with a macro system you can implement both easily. > Macros are harmful to programming in th…

> Linked lists are a very convenient and surprisingly universal data structure, but they really shine wherever you have a recursive algorithm. Which is, in the languages mentioned, almost all the time.

Linked lists were way ahead of their time. Nowadays everything is so fast that we can probably use them without guilt, but there is still a sense of disgust associated them.

Post reply on HN