[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Subject Index][Author Index]
Re: advice for the undergrad (OL)
On Sun, Jul 6, 2008 at 6:53 AM, Graydon <email@example.com> wrote:
> Having taught them [regular expressions], I'm not sure I'll go with
> 'relatively short amount
> of time'; this is one of those 'simple to learn, very hard to master'
> sorts of things.
Yes, but we're talking about fluency, not mastery.
As a parallel example, look at a classic "simple to learn, hard to
master" game: chess. You can learn the rules and how to read the
notation in a day. Voila, you are fluent -- you can play the game and
follow a transcript of someone else's game. Are you a master? Of
The syntax of regular expressions can be fit onto a few pages. After
thoroughly digesting those pages, someone should be able to look at a
regular expression and figure out what it means (although of course
complex expressions may take longer -- true for experts as well) and
create some expressions on their own. Does that make them a regex
master? No, that takes actual experience using regex. But are they
fluent? Sure, why not?
> Data representation <> programming language, at least to my possibly
> pedantic way of thinking. So I kvetched. :)
But I was specifically talking about computer languages *other* than
programming languages. Sorry if that was unclear.
(And actually, some of those, like XML and some extended forms of SQL,
can be used for programming. The line's a bit blurry sometimes.)
>> I dunno, knowing the basics of XML, for example, can help an awful lot
>> for many tasks.
> XML has no basics.
<pronoun person="first" number="singular>I</pronoun>
> (and I so wish I'd realized that three years ago when I started
> explaining an XML content management system to the folks who use it....)
Ouch. Yeah, never underestimate the incompetence of someone who isn't
genuinely interested in what they're doing.
> Either you're using it as a markup language, in which case you don't
> need to understand what you're doing beyond (possibly) the aspect of
> semantic labelling, or you're using it in a 'create a vocabulary' sense,
> and that's not basic at all; you get to start at the Unicode collation
> algorithm and go from there.
Someone can quite happily use XML for years on end without ever
hearing the term "Unicode collation". We're talking about using XML,
not building a parser.
> This is potentially cool stuff, and XSL is fundamentally a tree
> manipulation language, and it's not at all a bad thing to know, but if
> you're going for a data representation XML vocabulary for some
> specialized purpose, you will need to understand how the whole stack
> works from Unicode up through DTDs or schemas through all the various
> XML rules.
That's like saying you have to read an unabridged dictionary from
cover to cover before you can write a short essay. It's simply not
true. (BTW, since when is XML restricted to Unicode? Did I dream up
the "encoding" attribute?)
> So while an XML vocabulary for cladograms (and some sort of renderer for
> it) would be of great potential use, allowing simple exchange of large,
> complex trees, actually building it in a robust way would require you to
> understand what you're doing.
<species name="Heterodontosaurus tucki"/>
<species name="Herrerasaurus ischigualastensis"/>
>> A good introduction: http://w3schools.com/xml/xml_whatis.asp
> That's a web focus, and a good bit of what is being given in that intro
> is at least arguably wrong, in the so-simple-it's-wrong way.
It is geared toward people with some HTML background. I don't see
anything that's actually wrong, though (except for the assertion that
XML doesn't *do* anything--neither do other computer languages in and
of themselves; but, as mentioned earlier, XML can be used to "do"
stuff even if that's not its primary raison d'etre--look at MXML or
> http://www.w3.org/XML/ gives (I think) a better overview, but then
> again I actively use XML in some fairly complex ways so I'm doubtless
Well, of course it's a better overview--it's the actual specification
in all of its detailed, tedious glory. I really don't see that it's a
better introduction for the uninitiated, though. I was trying to
provide a Dick & Jane book, not Strunk & White.
> I think, rather than going for specifics, someone interested in what
> language to learn for a paleo career might do well to:
> - find out what they're using where you want to go to grad school
> and learn that
> - take a guess at what you want to do and find out what's being used
> for that
> - stick to open, public file formats for absolutely everything; it
> can be an initial hassle but it pays off over time
Now that I can agree to!
T. Michael Keesey
Director of Technology
2894 Rowena Avenue Ste. B
Los Angeles, California 90039