inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #0 of 128: Cynthia Heimel (plum) Tue 23 Mar 99 14:47
    

And she has a new book out!
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #1 of 128: Cynthia Heimel (plum) Tue 23 Mar 99 14:48
    

Fortunately for some, the book is about Perl.  Which is unfortunate for me,
because I don't know what Perl is and Laura please tell me before I am
reduced to making "before swine" jokes.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #2 of 128: ciderpunk (mtrbike) Tue 23 Mar 99 15:56
    

Hah!

Perl is a geek thing; its an astonishingly powerful programming language.
Actually, when I first heard about Perl (way way back when), I thought it 
was a metaphor borrowed from knitting, you know, knit one, perl one.  I 
was really impressed by that metaphor, given that Perl's style weaves 
together different kinds of programming languages and syntaxes and lets 
you create useful things without needing to know a lot 
of technique.  I was kind of dissappointed to realize that the 
knitting thing is *purling*, with a u, and that Perl has absolutely nothing 
to do with knitting.

But anyhow, Perl is actually an acronym; it stands for Practical Extraction
and Report Language, although sometimes its Pathologically Eclectic 
Rubbish Lister and various other things.  Its Just Perl.  

As a programming language, Perl is popular because its used quite a lot on 
the Web, primarily on the back-end, on the server side, to create what are 
called CGI scripts.  If you're a Web developer, and you've learned
everything is to know about how to put together actual Web pages on the
browser side, the next step is to start looking at the server side.  And
on the server, chances are fairly good there's going to be Perl there.

Perl's also getting a lot of attention recently because its an Open Source
project.  Like Linux, the Apache Web server, the GNU tools and the 
Mozilla web browser, Perl isn't owned by any single company.  Its 
developed communally, by a worldwide group of dedicated volunteers.  Anyone 
can download the source code, fix bugs, make changes, suggest improvements. 
I won't go into the whole Open Source thing and how it works
here; lots of people have reported on it better than I can.  Suffice it to 
say that Perl is really powerful, really robust, and really cool,
for those of us who do the computer programming thing.  And its free.  

Teach Yourself Perl in 21 Days is my book; it just came out yesterday.
There were actually previous versions of this book not written by me;
mine is the third edition and its a total rewrite from scratch.  I wrote it
because while there are lots and lots of Perl books out there -- many of
them excellent -- there aren't a lot of very good beginner books.  And I had 
been asked, repeatedly, by people who had read my previous books on HTML and
Java, to do a book on Perl.  I was asked!  How could I refuse!

We have a fairly active Perl conference here on the Well:  perl.ind.
I spent a lot of time there when I was writing the book, and several
of its more active participants helped me with the technical review
(for which I am eternally grateful).
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #3 of 128: ciderpunk (mtrbike) Tue 23 Mar 99 15:57
    

(brain the size of a small planet?  Oh I am *so* flattered.)
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #4 of 128: Gail Williams (gail) Tue 23 Mar 99 16:14
    
Wow, time for me to really learn perl! Too bad about the knitting.  That
would have been elegant.

Laura, your first book was about HTML... and a *classic* indeed...
at the time of the first book did you already know programming languages 
such as perl, or was HTML your first mysterious set of codes and
incantations?
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #5 of 128: hoofprints d' (satyr) Tue 23 Mar 99 18:35
    
Oh, garsh, look WHO's up to bat!

Laura, I've been meaning to bring this up in <web.>, but this might be a
better place.  I've heard about Perl and CGI for as long as I've known
about the web, and Java nearly that long, but, not (yet) having had need
to learn any of them, I've still only a vague idea what they do, and
meanwhile more names keep getting added to the pile -- DHTML, cascading
style sheets and such.

What's your favorite web site for straightening out this tangle, to help
someone who's just getting a handle on HTML to decide what to tackle next?
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #6 of 128: ciderpunk (mtrbike) Tue 23 Mar 99 18:38
    

At the time I wrote my HTML book I had been programming, in various 
languages, for...oooh, for almost eight years.  On and off.  Some in
school, some for my job, some just because it was fun.  I'd even written
books about programming languages that never saw the light of day, even
before I ever wrote about HTML.  

But I've never been a Real Programmer (boldface, big type).  I'm a technical
writer, emphasis on the writer.  I don't have a comp sci degree and I've 
never held an actual programming job.  But throughout my entire experience 
with computers, I've always been curious about getting in under the hood, 
about trying to figure out how things work.  Its been getting worse the older
I get.  Seems like the more I know the more I want to find out.  Dangerous
path to get into; I could spend all my time learning and none of it writing.
Except that the reason that I've stayed a writer -- as opposed to going
over to the other side, and becoming a Real Programmer -- is because I also
like TEACHING.  Its not enough to learn a cool new language or skill or 
technology.  I also want to tell someone else!  Look what I just learned!  
Isn't this the neatest thing!  

One of these days we will have cloning and I will have time to write
about all the things I want to write about.  Not that anyone will
*publish* all the things I want to write about, but hopefully by then
the stock market will have made me independently wealthy (snort) and I
will be able to just put it all on the Web.  Open Source books.  
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #7 of 128: ciderpunk (mtrbike) Tue 23 Mar 99 18:39
    

whoops, slip from satyr.  I'll be back to reply about that one soon.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #8 of 128: dragging in Hyperborea (dbdoty) Tue 23 Mar 99 20:30
    
>> Brain the size of a small planet

And how do the diodes down your left side feel these days?
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #9 of 128: hoofprints d' (satyr) Tue 23 Mar 99 20:45
    
(I've a short list of Open Source links up at
http://net.indra.com/~jtpayne/mu/lxicn.html#OPENSRC )
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #10 of 128: Bryan Higgins (bryan) Tue 23 Mar 99 22:31
    
I'm a programmer but haven't delved into Perl yet.  Isn't open source kind of
a dangerous thing for a programming language?  Seems like you want the
language to be stable, not changing all the time, so that you don't have
several versions of of the language floating around (Perl 4, Perl 5, etc.)
and have to worry about which compiler to use on your program.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #11 of 128: impoverished intervallic palette (castle) Tue 23 Mar 99 23:18
    

That's a good point.  Wonder how they do version control?

Another communally-developed and maintained extremely cool software
product is Persistence of Vision.

http://www.povray.org/

since we seem to be doing the URL thing.

Hi Laura!  Congratulations on the new book!  Looking forward to reading
this topic...
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #12 of 128: Cynthia Heimel (plum) Wed 24 Mar 99 02:37
    

So, what is a programming language?  Do you need an operating system first?
Is it a way of telling the computer what to do?

I am amazed that you can get all this from ones and zeros.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #13 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 07:37
    

satyr:  straightening out the jargon tangle:  I went browsing through
my bookmarks last night, looking for something that would match what
you're looking for -- and to be honest, I coulnd't find anything that
fit the bill.  To be perfectly honest, I haven't been too tightly involved
in the web design community for a long time -- there are other people updating
my old HTML books now -- so I'm not even sure what the best instructional 
web sites are out there.  The <web> conference would absolutely be the place 
to go ask that question.  Sorry to be so useless.

Re: Open Source:  Andrew Leonard, of Salon Magazine, is probably my 
favourite writer talking about Open Source right now.  There's a list
of his stuff, and all Salon's open source bits (including a small
snippet I wrote about mozilla) at 
http://www.salonmagazine.com/21st/feature/1998/12/11list.html
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #14 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 07:49
    

Re:  programming languages as Open Source being dangerous as it changes 
all the time.  Perl is open source, but its fairly tightly controlled.
(is that an oxymoron?  it shoulnd't be).  For one thing, Perl was invented
by Larry Wall, and Larry is still the Man.  Between Larry and a core group 
of community leaders -- the perl-porters -- they keep control of what goes 
into the language, feature-wise. (although Perl's syntax is...er...
quite inclusive.  there's a lot of different ways for doing similar things 
in perl).  

A lot of new Perl stuff also gets put into modules -- similar to libraries
in other languages -- and not into Perl itself.  The modules, in turn,
get maintained by thier respective owners, not by the Perl cabal.  So its
kind of distributed in that way.  But, unlike a language like TCL, not
ALL of it is in the modules.  There's a nice balance there, IMHO.  

Second, its not like new versions of Perl pop up willy-nilly.  I'm
admittedly not as tight on my Perl history as I should be having wrote
a book on it, but I believe Perl 4 was out in the vicinity of 1992 and
was the thing to use until 1996.  Except for minor changes and big
fixes, it *was* stable.  Perl 5 came out that year, and again, except
for minor changes, has been pretty much feature-stable since then.
Except for a big push this last year to fold the Windows version of
Perl into the core source tree, and a parallel project to do
multithreading, there hasn't been any enormous movement on to do a
Perl 6.  There is no Web time in Perl.  Perl is pretty darn slow
(that's a good thing).

Thirdly, "which compiler to use" isn't as much of an issue with Perl as
it is with, say, C or Java, because Perl isn't compiled.  Well, it is,
but it doesn't look like it -- Perl programs are scripts, they run as if they
were scripts.  You actually run a .pl file.  There isn't the intermediate
.exe or a.out or whatever.  And Perl 5 is backward compatible with 
Perl 4, so old scripts will pretty much continue to run right up to the 
present day

Which is not minimize the fact that Perl 4 to Perl 5 wasn't a huge leap,
and that there aren't still problems with Perl 4 still being around.  But
it isn't as much as a problem as you might initially think.  I've had 
far more problems with upgrading Linux and Emacs -- both open source --
than I have had Perl.  
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #15 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 07:51
    

Re: what is a programming language?  Is it like an OS?

(I should mark these posts!  Geek level = high.  This one has an
extrememly low geek level.)


Well, "its all just ones and zeroes" is sort of like saying people are
90% water and 10% soluable minerals (or whatever the percetnage is).
Ones and zeros are there, but boiling it doesn't doesn't really
explain what it is.

What is a programming language?  Ellen Ullman is really doing a good
job of explaining these sorts of things in her recent books and articles, and 
I like how she describes it, so forgive me if my description sounds a lot 
like hers.

Bascially, computers talk in a certain way, very specifically, very
logically.  Its like those jokes in old movies and kids shows about
the robot that doesn't understand idioms and takes everything
literally.  But its worse, not only doesn't the computer understand
idomatic expressions, you also have to tell it *everything* -- you
can't just say "go down to the store." You have to say "pick up left
foot, move left foot forward, put down left foot, shift weight to left
foot, pick up right foot..." ad infinitum until you got to the store.
You'd go nuts if you had to talk like the computer does in order to
get it to do anything.

Fortunately, there are translators.  There probably won't ever be
working translators directly between english and computer, because
human languages are really kind of fluid and mushy and vague, and
computers are logical and specific (although lots of people have tried
so called natural language programming languages, and some of them are
quite cool, but none of them are actually *english*).

Most programming languages are a kind of intermediate language, closer
to computer than english, that make it easier for humans to talk to
computers.  Humans still have to learn to speak the language -- in the
same way that you'd have to learn to speak french -- but once you
learn the basics, getting the computer to do things is pretty easy.
(also like the french, the computer will also refuse to speak to you
until you get it right, but at least the computer will sometimes give
you hints about what you're doing wrong).

Now.  The end result of a progamming language -- the "book" of a
programming language, is the program.  Everything you're using on your
computer right now is a program someone else has written.  An
operating system is a program.  A web browser is a program.  This
conferencing thing you're looking at right now is a program.  But the
OS, in particular, is an important program, because its the one that
tells the computer how to behave. The OS is like the stuff inside your
brain that tells you how to blink and move your arms and talk.  No OS,
you're just mush.  So yes, you'll need an OS to use a programming
language -- but you'll need an OS to do just about everything with a
computer except dust it.

But if you're the sort of person who just turns on a computer, reads
some email, plays some games or writes fabulously funny books, then
you probably don't need a programming language, Perl or otherwise, any
more than someone who drives a car needs to build one.  Programming
languages are for people who want the computer to do things for which
there aren't already programs to do what they want, or for which the
programs out there don't do what they want in the way they want them
to.  Or, more typically, programming languages are a way for
businesses to get the computer to do what they want, and they hire
programmers to actually do the talking.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #16 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 09:15
    

(whew)!
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #17 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 09:42
    

OK, I take it back about not knowing any good web sites about keeping
up with web technology.  I used to use CNet's builder.com a lot
for the general overview/design tech stuff: http://www.builder.com

I seem to run across good stuff on Netscape's DevEdge occasionally,
particularly Danny Goodman's stuff, although I'm not sure how the
overall site is for overall development issues.  
http://developer.netscape.com/

Microsoft used to have good sections on web development, but they've
been focussing on MS-specific features and either burying anything
remotely cross-browser or deleting it altogether.  Since I'm a big
proponent of cross-browser design I don't like that.  But thier
site builder network is there and has lots of stuff:  
http://www.microsoft.com/sitebuilder/

For general geek-related news and stuff: slashdot.org.  Amazing, but
you need a fairly high geek level to digest it.  Not so much web-related
as programmer/unixy/anti-microsoft-related.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #18 of 128: Cynthia Heimel (plum) Wed 24 Mar 99 11:54
    

I am so offended that my question is low geek level!  I am going to flounce!

(flounce, flounce)

Although I have a secret feeling that if I hadn't grown up in one of the
most insane families in the western world I would now be a perfectly happy
big ole geek because I spent most of my school years as a MATH WHIZ!  Once I
even stumped Bruce Koball on the question:  WHich came first, the chicken or
the egg?  He didn't know!  And he's a fucking genius!

Okay, so the OS is before everything.  But you sort of implied that there is
ONE language for speaking to the computer.  SO is there an underlying
language that comes even before the operating system?  Does that question
even make any sense?

ANd sorry, but can I ask this:  I realize it's way past ones and zeros, but
could you give me a baby metapor (Laura, you are the trenchant metaphor
queen of life!) that will explain to me like the very first tiny little
basic thing that was used to translate the ones and zeros into action?
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #19 of 128: Sharon Lynne Fisher (slf) Wed 24 Mar 99 12:17
    
Microcode!
Assembly!
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #20 of 128: J. Eric Townsend (jet) Wed 24 Mar 99 12:49
    <scribbled by jet Wed 24 Mar 99 12:50>
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #21 of 128: i'm confusing my heart dying with murderous rage (jet) Wed 24 Mar 99 12:51
    

"It's turtles, all the way down."

CPUs understand "assembly", or "machine code".  1's and 0's described
in a very tedious way.  Not much is written in assembly these days
except for bits of games and other super-geeky stuff.    It takes
forever for humans to write assembly, and longer to debug it and fix
problems.   Assembly is *very* non-portable:  assembly programs can't
be moved between Macs, PCs, Suns, etc.  Yes, an "assembly program" is
an executable, like a .exe file on the PC.

So humans invented so called "high level" langauges to make it easier
to write programs.  (I just covered 20+ years of computer science in
that one sentence.)

These languages come in two major forms:  compiled and interpreted.  To
the average human, a program written in a compiled language looks a
lot like one written in an interpreted language.   The difference is in
how the program is given to the computer.

A compiled language is run thru a program called a "compiler".  A
programmer writes a program using a text editor, saves the file, then
runs the compiler program on the saved file.  The compiler reads the
file, translates it to assembly, and saves it to disk.  Voila!  An
executable program!  But they can only run it on the type of machine
that the assembly will run on.  Remember?  Assembly can't run on
different types of machines.  If you "compiled for the Mac", the
program will only run on a Mac.

An interpreted language is handled a bit differently.  It starts the
same:  A programmer writes a program and saves it to disk.  What's
different is that the program is never compiled into an executable.
Instead, someone who wants to run the program first runs an
"interpreter".  The interpreter then reads the program follows the
instructions one at a time, or "interprets" the program.  Any computer
with an interpreter for the language can run the program.

Compiled languages in use today: C, C++, Pascal, FORTRAN, COBOL, ADA

Interpreted languages in use today: LISP, PERL, LOGO, Scheme.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #22 of 128: ciderpunk (mtrbike) Wed 24 Mar 99 13:23
    

Jet is HIJACKING MY TOPIC, but that's a better explanation than the
one I was working on anyhow.

Computers are boring.  Ask me about something interesting, like my 
motorcycles.  
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #23 of 128: Gail Williams (gail) Wed 24 Mar 99 13:24
    
Have you or do you secretly wish to do a motorcycle book?
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #24 of 128: Bryan Higgins (bryan) Wed 24 Mar 99 13:28
    
Whether it's compiler or interpreted is not really relevant to my point
about which "compiler" to use.  If you have a Perl 5 program, it won't work
with a Perl 4 compiler, so they might as well be two different languages.
  
inkwell.vue.34 : Laura Lemay: Brain the size of a small planet!
permalink #25 of 128: Sharon Lynne Fisher (slf) Wed 24 Mar 99 13:57
    
How to Drop a Motorcycle in 21 Days. :-)
  

More...



Members: Enter the conference to participate

Subscribe to an RSS 2.0 feed of new responses in this topic RSS feed of new responses

   Join Us
Home | Learn About | Conferences | Member Pages | Mail | Store | Services & Help | Password | Join Us