Java is becoming open source, or was when Sun owned it, we'll see about Oracle. The Atlanta Java Users' Group has been around for a number of years and has sponsored some really great programs, including James Gosling himself speaking at the end of 2006. For more information, see their website at: http://www.ajug.org

News from the AJUG

AJUG.org

Atlanta Java Users Group
  • I have been intrigued by aquaria (plural of aquarium) for a while, and more specifically, really interested in the last year. When I was an adolescent, my step-father had a freshwater fish tank with tetras, and I thought they were … Continue reading
  • AeroGear Android 1.4 Today we have pushed to Maven Central our the AeroGear’s Android library version 1.4. Major features include 1) The Authorizer framework with OAuth2 support 2) enhanced Request and Response handlers for Pipe’s 3) a dedicated Push messaging module 4) updated docs and sample applications and 5) full aar support for Android Studio. […]
  • I previously wrote that predictable performance is a practical challenge for using attribute grammars on real work. It does little good to quickly write the first version of a compiler pass if you then spend hours debugging oddball performance problems.

    Edoardo Vacchi wrote me the following in response. I agree with him: having an explicit evaluation construct, rather than triggering attribute contributions automatically, is likely to make performance more predictable. UPDATED: edited the first paragraph as suggested by Edoardo.

    Hi,

    This is Edoardo Vacchi from Università degli Studi di Milano (Italy). For my PhD thesis I’m working on a language development framework called “Neverlang”[1,2]. Neverlang is an ongoing project of Walter Cazzola's ADAPT Lab; I am involved with its latest incarnation "Neverlang 2".

    I stumbled upon an (old) blog post of yours about Attribute Grammars [3] and I would be interested to know if you knew some “authoritative” references that I could cite with respect to the points that you raise, with particular attention to point (3) “unpredictable performances” and, in part, to (2) caching.

    The Neverlang model resembles that of simple “compiler-compilers” like Yacc, where attributes behave more like variables than functions; thus they are generally computed only once; in Neverlang attributes can also be re-computed using the `eval` construct, which descends into a child and re-evaluates the corresponding semantic action.

    On the one hand, the need for an explicit `eval` make it less “convenient” than regular AG-based frameworks; on the other hand, I believe this gives better predictability, and, although the focus for the framework are not performances, but rather modularity, I think that “predictability” would better motivate the reasons for this choice.

    Thanks in advance,

    [1] http://link.springer.com/chapter/10.1007%2F978-3-642-39614-4_2#page-1
    [2] http://dl.acm.org/citation.cfm?id=2584478
    [3] http://blog.lexspoon.org/2011/04/practical-challenges-for-attribute.html

    Edoardo Vacchi is PhD Student at Walter Cazzola's ADAPT-Lab, a research lab at Università degli Studi di Milano that investigates methods and techniques for programming language development and software adaptation and evolution. Walter Cazzola is associate professor at UniMi and his research is concerned with software and language engineering. More info about Neverlang can be found at the website http://neverlang.di.unimi.it.