Arc Forumnew | comments | leaders | submit | ptn's commentslogin
3 points by ptn 5959 days ago | link | parent | on: I know no Lisp at all, should I learn Arc?

I am not incapable of learning new things, but it's foolish to waste time with something that will be obsolete in 3 months (or whatever insignificant time). I'd rather play with something a little more stable. Take into account that py3k came along after 16 years of Python. It breaks backward-compatibility and hackers must relearn a bunch of things, yes, but that only happened after a really long time. I'm concerned that this kind of major change will happen with every Arc release, which is the impression I get when I read pg's announcement ("we will continue to work as if we were the only users").

-----

6 points by fallintothis 5958 days ago | link

To be clear, I didn't mean offense with the comment about learning new things (hence saying "I doubt it").

Moreover, my point was that the differences between releases are relatively easy to cope with -- yes, even for py3k. Sure, there are a hefty number of changes, but they mostly occur in a more "library" level (if you will) rather than at the base language, and much of it is just cleaning up inconsistencies. It's not as though the entire "16 years of Python" flies out the window with an overhaul like this. It'll be something of a pain in the ass to update code, but it won't make your collected knowledge obsolete, per se.

On a less contentious matter, Arc is also a tiny language. Its changes won't be all that drastic at this point. This is little consolation, as the aim is probably to build up a respectable library base. To that end, my overarching point is that you should learn Lisp in a more platonic sense (hardly a waste of time, break-prone versions aside). This can be done with pretty much any dialect, for the record. Libraries may become obsolete, but this sort of philosophical knowledge will not.

Whether this entails using Arc needn't be a grueling decision: it's a small, simple dialect (cf the responses in the aforementioned thread), and still a Lisp. The impression I get from the announcement is more of a heads-up "we reserve the right to..." thing. Besides which, changes to Arc entail, to a significant enough extent, code written in Arc itself. What better way to understand and play with the language than to read over the definition of 'trav (as a real example of a change between arc1 and arc2; http://arclanguage.org/item?id=2504)? Regardless, as Arc stands it's stable enough for learning, but this education has far more impact than being some sort of fleeting "woops, new version, guess I don't understand Lisp anymore." I focus on this idealized learning-experience viewpoint because that's the reason I tend to play with other languages: to expand my mind.

If, however, it comes down to consistency that you'd like for a Lisp in a production environment, well:

It's not a coincidence that we wrote a language for exploratory programming rather than the sort where an army of programmers builds a big, bureaucratic piece of software for a big, bureaucratic organization.

-----

3 points by ptn 5958 days ago | link

No offense taken (shakes hand)

No matter how easy to cope with changes are, if they happen all the time, they are annoying. You are supposed to mess around with programs for a while to really get to know a language, but if at mid-point you are forced to stop and rewrite everything, it's like being stuck on 2nd gear.

However, I now understand three things: (1) Arc releases don't really come that often, (2) changes won't be neither numerous nor drastic and (3, really important) former versions of Arc will have taught you a bunch of valuable lessons. 3 is pretty obvious, but I was totally failing to see it. Thanks for that.

Guess I will learn Arc :)

P.S Arc's aim at this point is not to build a respectable library base, it is to improve the core language.

-----

1 point by ptn 5959 days ago | link | parent | on: Things to know before learning Arc?

I want to learn Arc, but I'm afraid that it being unfinished will make all my knowledge obsolete when a new release comes out. Is that really a problem?

-----