<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:blue;
text-decoration:underline;}
pre
{margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";}
span.EmailStyle19
{mso-style-type:personal-reply;
font-family:Arial;
color:navy;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=blue>
<div class=Section1>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>On Wednesday, February 25, 2009 10:49 PM, Michael
T. Richter wrote:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal style='mso-margin-top-alt:0in;margin-right:0in;margin-bottom:
12.0pt;margin-left:.5in'><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>I submit that even at the time of C++ garbage
collection algorithms were more than suited to the task. It was the old
guard of programmers switching over to C++ from C that were the hurdle, not the
technology.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I admit to being part of that old
guard. My view in the early ’90’s was that Lisp was the best
language for development, so prototype in Lisp, and then convert to C for
production. (My sister had an alternative view which I accepted, which
was to only convert the parts that were slow, and keep most of it in
Lisp. She had the luxury of working for an employer that permitted that
approach.)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>But anyway, I never really understood
people’s problems with memory management; if you malloc memory, you need
to be sure you understand the lifecycle of that memory and identify where it
was to be freed. I just didn’t understand how people could mess
that up. It made debugging code easier, too, since half the time I could
find the problem by finding the malloc and figuring out where it went from
there and where it wasn’t getting freed (or prematurely freed).<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Then when Java came along, it really
proved my point about garbage collecting being slow, because Java was much
slower than C or C++. I steadfastly refused to learn Java, and luckily I
was in a role where I could do that. The irony here, though, is, as Richard
alluded to, I was a big fan of Awk and (later) Perl, because I didn’t
expect them to be efficient. I wanted them to be easy to whip something
up, and if performance were necessary, I’d write it in C. My
thought here was that if I wanted slow garbage collection, I’d use a
language easy to program in (e.g., Awk or Perl); if I needed speed, I’d
use C. Java seemed neither easy to program in nor fast (slower than Perl
in some cases), so it just didn’t seem to have a place. That being
said, I did have people on my staff who would write Java programs where a
couple of lines of Perl would have worked, but I guess you use the tools you
know. I didn’t know Java, so I used other tools.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>To this day, I still don’t know Java
and don’t understand why I would learn it. I still don’t see
its place in my programming world, and every Java program I have ever seen has
not only been slow, but ugly to boot. My language of choice now, however,
is Javascript. Pull it out of the browser (there are several nonbrowser
environments for Javascript; if you have Windows, one of them comes with your
operating system) and it’s really quite a fun language. I know it
is not as fast as C or C++, and I can always recode the parts that need tuning
in a faster language, but I have not, as yet, had to do that. It’s
fast enough, and I distribute my system over multiple machines if I need more
speed. That’s how I discovered Erlang…<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Cheers,<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>David<o:p></o:p></span></font></p>
</div>
</body>
</html>