Live data from Hacker News

What's happening with Arc?

stackoverflow.com

11–20 of 54 posts

Re: What's happening with Arc?

#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 supercluster, communications systems, etc.) The number of issues is enormous and growing. Useful programming languages have to have a whole army of specialists who provide feedback and code dealing with security, internationalization, performance, accessibility, net protocols, commercial-grade GUI wrapper/frameworks, installers, compilers/runtimes for countless platforms, scientific computing, embedded/realtime computing, frameworks of all sorts, dev tools.... Many of these things will be done poorly, if at all, if not accounted for in the design of the foundations of the language. That's the reason for the serious warts on all popular languages and the desire of many for something better designed.

Yet Graham's approach is, as always, to work privately, get feedback from the same half-dozen friends, then make announcements on a "when we have something to announce, I'll announce it, so don't bother asking" schedule. If none of his friends knows enough about international coding issues, for example, to even realize how little they know about text (something more important to Lisp than to most languages), then he'll make a silly architectural decision regarding Unicode, which he'll announce to, not discuss with, the rest of the world. Hey, if my friends don't seem concerned by it, it can't be very important, right?

This is too bad. Few languages have the potential Lisp has for creating flexible, evolvable code that can rapidly adapt to the changing world. Yes, I do think that the language matters, but it's the whole platform, not just the syntax.

But I don't think you can create a successful, practical, general purpose language these days without an army of specialist volunteers behind you. Graham's message to specialist volunteers is "go away, you're not the people whose opinions I care about," so I think the language WILL last 100 years--in approximately its current form.

Re: What's happening with Arc?

#13
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…

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

Re: What's happening with Arc?

#14
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…

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)

Re: What's happening with Arc?

#15
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…

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.

Re: What's happening with Arc?

#16
Personally I have a hard time seeing what the goal for Arc would be. "100 year language" seems pretty fuzzy. I mean, Lisp is already at least a 100 year language IMO so what could Arc do to make itself more so? What is it going to do that the other two popular Lisp-1s don't? The only differentiator I've seen so far is pg's confusion of terse for concise [1].

I think there is always more room for programming languages in the world, especially given how awful most of them are. I just think they need some clear reason to exist or their creation isn't worth the fracturing effect [2].

[1] Personally I use terse to mean "short and unreadable" and concise to mean "short and more readable" (think: "I didn't have time to write a short letter..."). The first thing that occurred to me when I saw Arc was "oh man, a bunch of cryptic one or two letter functions. Is this meant to be programmed over a 1200 baud modem or something?" Every one of those kinds of things is something that has to be memorized, and given how much more advanced IDEs are today what's lost in readability is not made up in typing savings. For me the classic example of "concisity" is Smalltalk. Most methods are just a line or two, they read almost literally as English yet so much is said with so little. No meaningless cryptic two letter sequences but yet one line is equivalent to at least 3 lines of Java [3].

[2] I.e. users becoming party of a community of this new mostly irrelevant language A instead of helping the community of the language that would have been said to obsolete A if it had been written after A instead of before it.

[3] http://www.cincomsmalltalk.com/blog/blogView?showComments=tr...

Re: What's happening with Arc?

#17
post #13
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…

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 about it. How can I take his opinion seriously as someone who knows almost the whole language specification of Java by head and had been programming in Java for at least 9 years? It is not only knowing the language which is important. But knowing all those problem patterns that have to be solved at typical enterprise projects. These projects are inherently complicated and has a lot to do with databases (and less with expressing nice and elegant algorithms). Java is not a particularly good language, but without developing a lot for in enterprise projects you really don't know what is needed by those projects. That said my favourite language is Scala. It ihas all the advantages of Java and the Java platform but it is a much better language than Java. It is not a 'pure' language. Pure languages never really do well for widespread practical use.

"I think it's important not just that the axioms be well chosen, but that there be few of them. Mathematicians have always felt this way about axioms-- the fewer, the better-- and I think they're onto something."

First the core language in mathematics (the language of first order logic) is orthogonal to axioms. You can have a language with simple syntax (some math books define such a minimalistic language for first order logic), but it will not be good for practical use and will not be concise. So for practical use and for conciseness mathematicians have introduced plently of notations. (e.g. typographical conventions for differentiation, integration, infix syntax for addition, multiplication, etc...), etc. The real-world language that mathematicians use day-to-day is more like let's say Scala than a very pure language.

Axioms (and theorems derived from them) are more like libraries. There are plenty of axiom systems: (separate for numbers, geomerty, etc...) The whole mathematics is something like the Java ecosystem: lots of libraries.

What pg speaks about is some kind of utopia. A world where all programmers have to do is to express elegant algorithms. But programmers have to solve complex problems which mostly don't have an elegant solution at all. 100 years later we will still not have incredibly elegant solutions for our then hard problems. Even mathematicians don't always have elegant minimalistic solutions for their problems. Andrew Wiles worked for 10 years to prove his theorem. The proof is the result of lots of work and knowledge, and is incredibly complex. It does not fit on the margin at all.

Just look at natural languages: they are incredibly useful and concise in some sense, but they are incredibly complex. Programming languages will never be so complex, but they will not necessarily be extremely simple either.

Edit: I love minimalism, and I hate convoluted overcomplicated libraries and code bases, and I hate very leaky abstractions. The smaller the code base is the better: this is my main philosophy. But I still think that pg goes too far with his utopia for simplicity. I think that simplicity and conciseness of application code requires some complexity and intricacy on the core language and libraries side.

Re: What's happening with Arc?

#18
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 does get the OS API, though. Is it easy and non-kludgy to make unix system calls from arc?

Re: What's happening with Arc?

#20

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.

Post reply on HN