and now for the anti-pandering anti-pattern ;-)<p>I can not believe for <i>once</i> that this guy obtained hacking nirvana through Arc. Not once! Why? because the Arc documentation is so meager as to be non-existent. You will need serious feet-wetting with more established Lisp dialects before you can "get there" with Arc.<p>All the epiphanies he lists are easily experienced with most modern Lisp dialects; either he "got it" before and just needed to extend the credit to Arc, for some reason .. or he isn't there yet, at least not to its full potential.<p>It had to be said, as much as I hate to be rude and blunt like this :-|
OK, I have a HN etiquette question. I don't post much on HN, and I wasn't the one who posted the link to my thank-you here on HN. I've had a HN account for a while, but I'm still pretty much a newbie to HN.<p>I have a desire to not just stand here and take it on the chin as mahmud publicly proclaims that I'm pandering, a Lisp newbie, irrational, a blind fanboy, hypocritical, dismissive, and unfair. On the other hand I don't want to waste everyone's time with a tedious flamewar.<p>Thoughts?
I understand what the guy is saying, but this is equivalent to art students discussing the technicality and construction of canvases. Even if you select the best canvas in the world, it does not make your painting better.<p>I think that too much of writing about programming is focused on the details of the programming act, and too little on the result of the programming.<p>Reading about finding and learning a programming language is like reading about an artist choosing a brush. Reading about the technical details of someone scaling a Django app on a single server to serve 1000 concurrent requests per second is like seeing the finished artwork.
>> "The second half of the book is how to apply the principles to Java code. Which is horrendous! Not the book. If you should be so unfortunate to be stuck trying to write good code in Java, the book is a great, lucid description of how to do so. Yet in Java, it’s hard to get anything shorter than ten or twenty lines of code. See some code duplication, and by the time you’ve written the classes and interfaces and methods you need to write to remove the duplication, the code is just as long as it was before."<p>Yeah you're doing something wrong there. I know it's fashionable to bash Java and say how lame and verbose it is, but it does wear a bit thin. I actually enjoy writing Java. Perhaps due to me having grown up programming assembly - I don't mind verbosity. Java is an extremely solid fast language.
We're releasing a new version quite soon. So once again, if there's anything you want fixed, now is the time to tell us.<p><a href="http://arclanguage.org/item?id=9257" rel="nofollow">http://arclanguage.org/item?id=9257</a><p>One of the things I want to add next is graphics libraries. Does anyone have any recommendations for what to plug into to munge images?
If we're going to be thanking people...<p>Thanks Anarki and arcfn.com!*<p>They were both tremendously useful/helpful when I last used arc.<p>*All creators and contributors.
From what this guy is saying, the power of Lisp style Macros is akin to what I can do with the syntactic Rewrite Tool and Blocks (Lambdas) in Smalltalk. I've always been led to believe that Lisp Macros are something even more powerful. (I haven't had the time to really delve into them.)
Hi. My experience lies in Ruby and in JavaScript (these days) so I can see these worlds however close, differently. In Ruby I have all kinds of gimmicks that help with cutting the chase when that's what I want, but I also can make it a little harder when I am interested in something else, in experimenting with some other approach.<p>What I find a little disgusting is when my "meta-programming" in Ruby starts doing things like when an exception occurs, it points to a line number slightly different than where it really is, or when the backtrace becomes all the more "hacked" with harder to understand things thrown in there. It serves to remind us that there are tradeoffs involved. Also there is the issue creating shareable modules and when you start hacking it away it can make it all the more harder to share. But it's more than fun, it does work, it's just that one can have mixed feelings because for ever cool finding or development, there can exist a little nuisance as well or something that you cannot quite do anymore because you deviated from mainstream...<p>I gotta go have lunch!<p>Be well.
<i>First I figure out how to do what I need to do, then I translate that into the constructs of the language, then I try it and it doesn’t work, and then I debug or figure it out :-).</i><p>It's a wonderful thing to have a language that matches how you think, an extension of your mind analogous to how physical tools can be an extension of your body, with a heft, weight and balance that causes them to leap to hand, and guide you at times.<p>But my particular tasks at the moment involve so much more work at the drawing board (the <i>figuring</i> stage) that having better tools doesn't actually help me - much as I would love them to.<p>It's very true that the tools you need depend on your personal way of thinking, the task, the stage of the task, and how many times you've done it.
It's funny, just today I finished up some work merging a hygienic expander into the core of Guile. I've been writing defmacros for a few years now, and while things are not all lovely in the world of syntax-rules or syntax-case, it is so much more lovely to write a macro that you know catches the important cases, and that will compose well with other code, and /especially/ code from other modules.<p>That said, have fun with Arc ;-)