Live data from Hacker News

What's happening with Arc?

stackoverflow.com

21–30 of 54 posts

Re: What's happening with Arc?

#21
post #17
post #13

Earlier quoted context omitted.

http://www.paulgraham.com/hundred.html

As much as I like pg's essays generally I don't particularly like his essays on hardcore programming topics like language design. Maybe it is because I am inexperienced in most of the topics he discusses in his essays but I am quite experienced in programming. Some reactions to the essay: "I predict a similar fate for Java" It is ridiculous that pg once said he does not know Java at all. Yet he expresses his opinions…

One more thing, he discusses some details about strings, lists, hashtables, and representing numbers as lists.

These are in fact not deep language design topics. Most of what he discusses are not core features of 'serious' languages in 2010: they are already mostly library stuff.

For example let's take Scala. Treating strings as lists? Create a Seq descendant string class, and create implicit conversion from the normal String to it (and vica versa): and you can use it in scala.

Arrays as Hashtables? The syntax is already the same in Scala, they even have common traits (kind of interfaces).

Numbers as lists? Also library implementation detail. Create a Seq based number class and define implicit conversion for it, and you are done. Defining operator behaviour for these 'numbers' is possible in Scala.

The deeper questions are in my opinion: static vs. dynamic. typing. In case of static typing the question is what kind of type system we have?(Scala's is complex but powerful.) What kind of type inference we have? How felxible/convenient the syntax is? Does object orientation makes sense, what kind of (multiple) inheritence we support? Purely functional or enable imperative programming style? (Imperative programming is not just how the computer 'thinks', it is a 'natural' description of some concepts. (Like an instruction manual.))

Re: What's happening with Arc?

#22

Why would I use Arc? In particular, I've been playing with Clojure and enjoying that. It's still a Lisp, so it has a lot of the advantages that Arc has. In addition, it has some cool unique features and almost certainly has more comprehensive libraries thanks to being able to use Java libraries. What advantages does Arc have over Clojure? I'm not trying to be mean to Arc lovers and call it a useless language. I genui…

What advantages does Arc have over Clojure? It has nothing to do with Oracle's Java and vice versa. If that doesn't seem like much of an advantage to you, you're probably right, and it isn't, and godspeed. There is no pressing need to learn Arc today. (I haven't yet, myself, though not for lack of ambition.) Arc will still be there, still unconnected to anything Java, in five years; we'll see how it feels then.

Almost unrelatedly, any idea if there's a strong push for a more current, well-maintained .NET/mono version of Clojure, now that the JVM is going down in flames?

Re: What's happening with Arc?

#23
post #21
post #17

Earlier quoted context omitted.

As much as I like pg's essays generally I don't particularly like his essays on hardcore programming topics like language design. Maybe it is because I am inexperienced in most of the topics he discusses in his essays but I am quite experienced in programming. Some reactions to the essay: "I predict a similar fate for Java" It is ridiculous that pg once said he does not know Java at all. Yet he expresses his opinions…

One more thing, he discusses some details about strings, lists, hashtables, and representing numbers as lists. These are in fact not deep language design topics. Most of what he discusses are not core features of 'serious' languages in 2010: they are already mostly library stuff. For example let's take Scala. Treating strings as lists? Create a Seq descendant string class, and create implicit conversion from the norm…

Also, note that static and dynamic typing are not mutually exclusive (dynamic typing with optional static annotations is one very practical point in the continuum; inferred (i.e., few to no annotations) static typing is another), and static/dynamic typing are distinct from strong & weak typing. C is semi-weakly typed, because you can fake out the type system easily with casts.

Basically, static vs dynamic is about how early types can be decided, strong vs. weak is about how strictly they're enforced. People have been mixing the terms up for a while though, even in type system papers, which adds lots of confusion.

For a really good tour of language design issues, check out CTM (http://www.info.ucl.ac.be/~pvr/book.html) or EoPL (http://www.cs.indiana.edu/eip/eopl.htm). I've also heard good things about PLP (http://www.cs.rochester.edu/~scott/pragmatics/), but haven't read it yet.

Re: What's happening with Arc?

#25
post #22

Earlier quoted context omitted.

What advantages does Arc have over Clojure? It has nothing to do with Oracle's Java and vice versa. If that doesn't seem like much of an advantage to you, you're probably right, and it isn't, and godspeed. There is no pressing need to learn Arc today. (I haven't yet, myself, though not for lack of ambition.) Arc will still be there, still unconnected to anything Java, in five years; we'll see how it feels then.

Almost unrelatedly, any idea if there's a strong push for a more current, well-maintained .NET/mono version of Clojure, now that the JVM is going down in flames?

Yes, ClojureCLR. It is supposed to work on Mono as well.

Re: What's happening with Arc?

#26
post #22

Earlier quoted context omitted.

What advantages does Arc have over Clojure? It has nothing to do with Oracle's Java and vice versa. If that doesn't seem like much of an advantage to you, you're probably right, and it isn't, and godspeed. There is no pressing need to learn Arc today. (I haven't yet, myself, though not for lack of ambition.) Arc will still be there, still unconnected to anything Java, in five years; we'll see how it feels then.

Almost unrelatedly, any idea if there's a strong push for a more current, well-maintained .NET/mono version of Clojure, now that the JVM is going down in flames?

I know that they aren't even close in terms of source code compatibility but if you're looking for a functional language on the CLR, give F# a try.

Re: What's happening with Arc?

#27
post #11

Earlier quoted context omitted.

Graham cares about having a better programming language, but he doesn't really care enough to do what it takes to make it happen. (He has no obligation to do so, of course.) Practical programming languages these days aren't just ways of expressing "algorithms," but toolkits for marshalling the vast information processing resources around the world (people, libraries, net protocols, platforms from microcontroller to s…

You don't need huge libraries and labyrinthine frameworks to be a 'useful' language. C is a perfectly good language with just the most basic standard library.

> C is a perfectly good language with just the most basic standard library.

Unless you want to write cross-platform networking code. But in that case C is an excellent language for writing networking libraries for your favorite scripting languages.

I'd argue that nowadays C is used more to implement other languages than it is by itself.

Re: What's happening with Arc?

#28
post #11

Earlier quoted context omitted.

Graham cares about having a better programming language, but he doesn't really care enough to do what it takes to make it happen. (He has no obligation to do so, of course.) Practical programming languages these days aren't just ways of expressing "algorithms," but toolkits for marshalling the vast information processing resources around the world (people, libraries, net protocols, platforms from microcontroller to s…

I've always had the impression that pg works on Arc as a hobby, a service to himself. If it's useful to other people, that's fantastic, but that's not why he's doing it. It's like writing music for yourself. Of course you want to share it, it people like it and it's meaningful to them, you've done a good deed for the day, but otherwise it's done just to help stoke the fires within. ( pg correct me if I'm wrong)

That is how he seems to work on it, but he talked as if it were so much more. Well, lots of us do that, and I'm not expressing any moral objection. Graham doesn't owe us anything. I'm making the practical observation that I don't think it can ever be a major language if developed this way.

Graham has spent nearly a decade now tinkering with syntax. I think he'd say that he's trying to get the foundation correct, and all the rest can come after that. But I'm saying that, as much as I like his syntax ideas, there is more to the foundation than syntax, that the other issues will inevitably have implications for the basic design, even for the syntax, that his half-dozen friends don't know enough to fully inform him of the state of the art in these issues, and that his lack of interest in enlisting the help of the rest of the world in the foundational issues is likely to render the Arc Project a mere exploration of syntactic tweaks to Lisp, not a major new language.

Re: What's happening with Arc?

#29
post #27

Earlier quoted context omitted.

You don't need huge libraries and labyrinthine frameworks to be a 'useful' language. C is a perfectly good language with just the most basic standard library.

> C is a perfectly good language with just the most basic standard library. Unless you want to write cross-platform networking code. But in that case C is an excellent language for writing networking libraries for your favorite scripting languages. I'd argue that nowadays C is used more to implement other languages than it is by itself.

That's probably been true for a long time. That and low-level libraries.

Even the really old Unix books recommend piping together small C utilities and stuff written in awk, sh, etc.

Re: What's happening with Arc?

#30
post #11
post #2

I'll probably release a new version later this year. Most of the changes will be in news.arc, which is now pretty solid. Maybe I'll actually make an effort to make it installable without having to understand the source.

Graham cares about having a better programming language, but he doesn't really care enough to do what it takes to make it happen. (He has no obligation to do so, of course.) Practical programming languages these days aren't just ways of expressing "algorithms," but toolkits for marshalling the vast information processing resources around the world (people, libraries, net protocols, platforms from microcontroller to s…

My goal from the beginning was to continue where JMC left off: to continue building Lisp up from axioms till I have a more complete language. I've compromised a bit to make it something runnable, which I think you need in order to test out your ideas on programs of substantial length. But "practical programming" is not in itself the main goal.

Paradoxical as it sounds, that may be the way to end up with the best language for practical programming. It worked for McCarthy, and I think there's more juice yet to be squeezed out of this orange.

Post reply on HN