[San-Diego-pm] Meeting Notes: Monday 2005-08-08

Tkil tkil at scrye.com
Mon Aug 8 23:25:28 PDT 2005


[Apologies to the list; I tried to send out a reminder for tonight's
meeting, but I sent it to the wrong address.  Sigh.]

A rundown on the topics of conversation:

* CPAN Namespaces

  Emile brought up the fact that CPAN namespaces are essentially given
  for a long time, and for exclusive use of one developer.  Slight
  tangents about the best way to handle this (mob rule?  the old alt.*
  newsgroup creation rules?).

  A few further tangents about how big software projects rarely seem
  to survive without a benign dictator who is both thoroughly
  technically competent yet also able to deal with people.  Larry Wall
  and Linus Torvalds were mentioned.

  [Personal comment: I think that Apache might qualify as a project
  that has survived and thrived without a single benign dictator.
  Also, this line of thinking brings up a lot of my issues of
  "meritocracy" vs "politics" in my head.]

  We later talked about Java namespaces, and how they tried to remove
  the conflict by tying into the DNS namespace.

  [Personal note: what I'd really like to see in Java is the ability
  to import a long namespace / package name as a short one:

    import com.foo.bar.baz.something.whatever.big.long.deep.thing;
    // ...
    thing.Widget w = new thing.WidgetImpl(...);

  Unfortuantely, that's just not there.]

* Versioning of interfaces:

  A segue from CPAN Namespaces to interfaces.  If you want to refactor
  the interface provided by a class, what's the best way to do that?
  You have to rename it unles it provides exact same methods and
  models as before.

  Best way seems to be create new name, and either let the old version
  stay alive for a while, or reimplement the old interface in terms of
  the new one.

  [Personal comment: I remember the linux firewalling people doing
  this when they would introduce a new and incompatible networking
  framework into the kernel: they provided a command that would take
  arguments like the old framework and translate them into the new.]

  Issues / solutions from other languages were brought up:

  + Win32 used Foo, then FooEx, then eventually Foo2 and Foo3

  + _Effective Java_ implies that one cannot ever add anything to a
    published interface; I infer that this is because the vtable uses
    a precise copy of the interface, and if that interface is changed,
    you lose binary compatibility.

* Importing Namespaces.

  What's your preference?  Do you import individual functions
  explicitly, or do you grab them all (or at least all the default
  exports)?  Or do you import none, and use fully-qualified names on
  everything?

  That is, do you prefer (in Perl):

    use Config qw( %Config );
    # ...
    print $Config{sig_name};

  Or would you just

    use Config;
    # ...
    print $Config{sig_name};

  Or you can even

    use Config qw();
    # ...
    print $Config::Config{sig_name};

  In Java, you have similar options:

    import java.util.List;
    import java.util.ArrayList;
    // ...
    List<Integer> myList = new ArrayList<Integer>( initCapacity );

  Versus

    import java.util.*;
    //
    List<Integer> myList = new ArrayList<Integer>( initCapacity );

  Versus

    // no import statements at all
    java.util.List<Integer> myList =
      new java.util.ArrayList<Integer>( initCapacity );

* Markup Languages

  Emile discussed the benefits of "YAML" and how it's more readable
  than XML while [apparently] being both simpler and still complete.

     http://yaml.org/

  I played devil's advocate for a while, but it seems that YAML really
  is pretty well-thought-out; I wonder how much of XML was just
  hangover from SGML...

* Collating Sequences; Evolution of [Human] Languages; Grammar

  We were talking about Damian Conway's upcoming visit, and how he
  wrote a module to let you program Perl in Latin:

    http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html

  Which got into a side discussion of what the phrases "case",
  "declination", and "conjugation" meant in a technical sense when
  talking about grammars.

  I provided a few German and English examples, while Nolly threw in a
  few Russian samples.  Joel tried to map this to his understanding of
  Spanish and how it's changed even in his lifetime (but that's just
  because he's OLD OLD OLD.)  Emile also compared the various
  languages he'd found himself involved with.

  Nolly mentioned Suzette Elgin, a sci-fi author and linguist who has
  an interesting LiveJournal:

    http://www.livejournal.com/users/ozarque/

Anything else mentioned?  Comment away.

t.


More information about the San-Diego-pm mailing list