Live data from Hacker News

Dylan: the harsh realities of the market

logicaltypes.blogspot.com

111–120 of 120 posts

Re: Dylan: the harsh realities of the market

#111
post #108
post #101

Earlier quoted context omitted.

So we say the language is terrible because the world around it changed? Using Common Lisp may be inconvenient because the standard is out of date, that doesn't mean the design (or language) was a failure in a historical sense. I just think this whole argument is basically a straw man. Comparing something well specified that hasn't changed is 30 years to an entire class of hand wavy 'better languages' isn't an apples…

I'm less interested in questions like "how much credit do the original designers of CL deserve?" and more interested in "what languages should I consider for my new project?". Is Dylan a viable option? If not, why not? "It's not because it inherits common lisp's non-interoperability" is then an interesting point.

> inherits common lisp's non-interoperability

Yeah, but that would be bullshit to assume. I use for example LispWorks (commercial, proprietary) and Clozure CL (free, open source) on my Mac. Both have excellent interoperability with C and Unix. Both have a native Cocoa interface to the Mac.

Re: Dylan: the harsh realities of the market

#112

Earlier quoted context omitted.

Regarding CL with some quick googling (searched "common lisp html parser" and "common lisp http client") I found: Html Parser: http://www.cliki.net/cl-html-parse Http client: http://weitz.de/drakma/ I'm not sure why you are/were stumped? I could search for qt bindings for you, but I'm sure they exist and are pretty mature.

Thanks for that. Maybe I will try again some time. I'm not saying it is impossible, rather that it is hard work compared to e.g. python. I recall looking through a few promising google results and finding e.g. that the library is no longer maintained, has bits missing etc. With python, when I use e.g. beautiful soup, it just works - I lose almost no time getting setup. When doing a project that needs many external li…

Many people who actually write GUI software in Lisp use one of the commercial offerings, typically either LispWorks and Allegro CL. That's one of their advantages: they offer maintained and cross platform GUI libraries.

One can for example also use Clozure CL for advanced GUI stuff, but that is best on the Mac.

For example http://opusmodus.com is a composition software using Clozure CL.

Other composition environments are written with LispWorks: PWGL, OpenMusic, Symbolic Composer, ScoreCloud.

http://www2.siba.fi/PWGL/

http://repmus.ircam.fr/openmusic/home

http://www.symboliccomposer.com

http://scorecloud.com

Re: Dylan: the harsh realities of the market

#113

Earlier quoted context omitted.

> I'd give much to know what went so deeply wrong in our industry that we keep making such basic mistakes. I don't think we can all agree on what counts as progress. Some saw Exceptions as the advance in error handling we need while Go reverts back to error codes. People still think Go is superior for different reasons. I think both suck and prefer conditions and restarts as in Common Lisp. It is rather difficult to…

>Some saw Exceptions as the advance in error handling we need while Go reverts back to error codes. Just a note that Go generally uses strings for error handling, not error codes. This avoids the need to look up the meaning of each error codes in a table somewhere.

Testing strings for errors is another example of a left turn in Go's design. Specially in a time of localized applications or OS that change messages between versions.

Re: Dylan: the harsh realities of the market

#114

Earlier quoted context omitted.

That's great to hear! I'm not too strong on Java; does what you're saying imply that some/all/most of the freely available Java 'modules' or 'packages' that are built with Maven will end up running and passing associated test suites in most all of the organizations that end up using the code in question?

No, the tests are run as part of the deploy. So before deploying a library, if the tests don't pass, the deploy fails. However, the artifact that actually gets deployed is a .jar file containing .class files. Users of libraries don't rebuild the libraries.

Ok cool, I understand.

So would you guess there'd be wide-spread 'deploy-time' test coverage across the Java ecosystem?

Thanks again!

Re: Dylan: the harsh realities of the market

#115
post #100

Earlier quoted context omitted.

The important question isn't necessarily: Is it worth it, without the ecosystem? The more interesting questions is: What does this language add? For example, I need to deal with some unix process management tasks. I'm not crazy enough to do them in straight C, so I'm using python for it's strong C bindings, so I can use system calls in C with python level control flow. However, there's a lot to be desired, because de…

My languages tend to be very innovative or even inventive; e.g. I recently posted this to HN: http://research.microsoft.com/en-us/people/smcdirm/managedti... My problem is quite the opposite: when the languages are so different from what already exists, people (and even myself) have trouble thinking about how adoption would even occur, at least in the short term.

A lot of languages have made one major mistake: It's not easy to get a development environment going, and some even wanted me to not use vim.

The first step to some kind of adoption is that I can get it running with an "aptitude install crazy-foo-language-dk", maybe after adding a repository. After that, crazy-foo or crazy-fooc should be interpreter and/or compiler, and that's that.

Re: Dylan: the harsh realities of the market

#116
post #112

Earlier quoted context omitted.

Thanks for that. Maybe I will try again some time. I'm not saying it is impossible, rather that it is hard work compared to e.g. python. I recall looking through a few promising google results and finding e.g. that the library is no longer maintained, has bits missing etc. With python, when I use e.g. beautiful soup, it just works - I lose almost no time getting setup. When doing a project that needs many external li…

Many people who actually write GUI software in Lisp use one of the commercial offerings, typically either LispWorks and Allegro CL. That's one of their advantages: they offer maintained and cross platform GUI libraries. One can for example also use Clozure CL for advanced GUI stuff, but that is best on the Mac. For example http://opusmodus.com is a composition software using Clozure CL. Other composition environments…

Thanks for the info. I just had a quick look at Clozure CL - as you say, the main Gui library is for apple. The other gui library is labelled 'under development' but also 'last modified: 6 years ago' :(

I wonder whether the (I'm told) good commercial lisp offerings have hampered lisp adoption, in that people who use lisp a lot, pay for commercial offerings, leaving the free stuff less used and maintained? Then newcomers, who don't want to pay to do hobby projects in a new language, are discouraged by the less maintained free stuff.

Re: Dylan: the harsh realities of the market

#117
post #112

Earlier quoted context omitted.

Many people who actually write GUI software in Lisp use one of the commercial offerings, typically either LispWorks and Allegro CL. That's one of their advantages: they offer maintained and cross platform GUI libraries. One can for example also use Clozure CL for advanced GUI stuff, but that is best on the Mac. For example http://opusmodus.com is a composition software using Clozure CL. Other composition environments…

Thanks for the info. I just had a quick look at Clozure CL - as you say, the main Gui library is for apple. The other gui library is labelled 'under development' but also 'last modified: 6 years ago' :( I wonder whether the (I'm told) good commercial lisp offerings have hampered lisp adoption, in that people who use lisp a lot, pay for commercial offerings, leaving the free stuff less used and maintained? Then newcom…

http://www.crategus.com/books/cl-cffi-gtk/

http://www.crategus.com/books/cl-gtk/gtk-tutorial.html#SEC_T...

https://github.com/crategus/cl-cffi-gtk

Re: Dylan: the harsh realities of the market

#118
post #115

Earlier quoted context omitted.

My languages tend to be very innovative or even inventive; e.g. I recently posted this to HN: http://research.microsoft.com/en-us/people/smcdirm/managedti... My problem is quite the opposite: when the languages are so different from what already exists, people (and even myself) have trouble thinking about how adoption would even occur, at least in the short term.

A lot of languages have made one major mistake: It's not easy to get a development environment going, and some even wanted me to not use vim. The first step to some kind of adoption is that I can get it running with an "aptitude install crazy-foo-language-dk", maybe after adding a repository. After that, crazy-foo or crazy-fooc should be interpreter and/or compiler, and that's that.

Ya, well, my languages include their own development environments (I see no different from language and IDE, actually). Smalltalk was great in this regard also, to the chagrin of many developers who wanted to use vim.

Re: Dylan: the harsh realities of the market

#119

> Algebraic types? Dependent types? You'll never see them. They're too ... research-y. They stink of academe, which is: they stink of uselessness-to-industry. One may think that because closures are finally entering the mainstream (after what, 5 decades?), we have hope for those things to come as well. But then I saw Swift. Built-in support for an Option type, so one can avoid null pointer exceptions. At the same tim…

> I'd give much to know what went so deeply wrong in our industry that we keep making such basic mistakes. The vast bulk of the industry is much more practical than theoretical. They don't care about your theory about how languages ought to be built. They care about solving the problems that are actually hindering programmers who are trying to write programs. "But", I hear you say, "null pointer exceptions are one of…

In other words, the industry is thinking short term. Often very short term. They only see what's in front of them. Then next problem to solve, the next developer to hire, the next library to use…

So, the industry makes this analysis: yes, I could spend a few days learning about sum types, but it won't save me nearly as much time in avoided null pointer exceptions over the next month. So, no, it costs too much.

I guess we just have to live with this systemic irrationality. I guess long term thinking is just too much to expect. I guess decades old scientific results are too bleeding edge to risk employing them.

I can only think: not fast enough!

Re: Dylan: the harsh realities of the market

#120

Earlier quoted context omitted.

> I'd give much to know what went so deeply wrong in our industry that we keep making such basic mistakes. The vast bulk of the industry is much more practical than theoretical. They don't care about your theory about how languages ought to be built. They care about solving the problems that are actually hindering programmers who are trying to write programs. "But", I hear you say, "null pointer exceptions are one of…

In other words, the industry is thinking short term. Often very short term. They only see what's in front of them. Then next problem to solve, the next developer to hire, the next library to use… So, the industry makes this analysis: yes, I could spend a few days learning about sum types, but it won't save me nearly as much time in avoided null pointer exceptions over the next month. So, no, it costs too much. I gues…

No, you either don't understand what I said, or you're trying to make it say what you want. You're not at all saying what I said in other words.

You think the industry is too short-sighted to know what's good for it. I'm saying that you're too narrow-minded to know what's good for the industry.

You think you know better than the industry what the industry ought to be like. I think you're wrong. I think the people in the trenches know better than you how to solve the problems they face. A choice can be different than yours without being stupid or short-sighted.

Post reply on HN