[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