Subject: [Dev] Re: [TriLUG] Server Check-Out / In-Use-Register software

From: Tanner Lovelace <[email-masked]>
Date: Fri, 23 May 2003 23:55:37 -0400 (EDT)

On Fri, 23 May 2003, bp wrote:

> What's C?  Just kidding.  I'm hoping to completely forget C as soon as 
> possible.  That way I can spend all my hours better understanding Java 
> just in time for the next great OO language to come out...

<flame retardent suit on>

Or, you could realize that OO isn't the end-all/be-all of programming
paradigms and switch to a multi-paradigm language (hmm... what could
that be..? Oh, right, C++. The most advanced language out there O:-)

:-)

</flame retardent suit on>

Seriously, though.  OO is very often not appropriate for things.
When it is, it works really well.  When it's not, it's like trying
to fit the square block through the round hole.  You shouldn't
think that one language will solve all your problems.  There are
times when Java is a good language and times when it is not.
Sometimes scripting languages like perl or python are the best.
C++ is useful a lot of time.  And, if you're writing low level
stuff like a kernel, C is most likely the appropriate language
(but not when you're writing widget sets, for crying out loud!).

If you're interested in discussing this more, btw, let's continue
this discussion on the Trilug development list instead of
starting yet another long, drawn out thread here on the main list.
(See the "CC:" field above.)

Cheers,
Tanner Lovelace
-- 
Tanner Lovelace | [email-masked] | http://wtl.wayfarer.org/
--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--*--
   He who receives an idea from me, receives instruction himself 
   without lessening mine; as he who lights his taper at mine, 
   receives light without darkening me.  --  Thomas Jefferson

   Those who are willing to sacrifice essential liberties for a little 
   order, will lose both and deserve neither. - Benjamin Franklin

---

From: Diana Duncan <[email-masked]>
Date: Sat, 24 May 2003 11:30:31 -0400

Oh, I so, so, so agree with you, Tanner.  One of the worst applications 
of OO is using it as a "wrapper" around relational database objects.  
There is no better guarantee of poor performance for your application.  
And yet, I'm too often called in to "tune" the database for these 
applications.  How?  Basically, the design removes all the power of 
whatever database engine you are using, and reduces the RDBMS to acting 
as a souped-up flat-file database.  Yuck.  The only way to tune that is 
to throw hardware at it, and as 80% of tuning is done via SQL, you've 
lost your most powerful tuning tool.

When cooking in the kitchen, do you use just one knife for everything, 
one pot and one burner on the stove?  Sure, you can cook like that, but 
it's limiting.  OO evangelism makes for limited, blinder-wearing 
software designers.

Diana

On Friday, May 23, 2003, at 23:55 US/Eastern, Tanner Lovelace wrote:

> _______________________________________________
> Dev mailing list
> [email-masked]
> http://www.trilug.org/mailman/listinfo/dev
>

---

From: "David R. Matusiak" <[email-masked]>
Date: Sat, 24 May 2003 13:08:04 -0400

Oh-Oh RULES!!  and that is that!!

seriously, i have no idea what y'all are talking about, but i thought 
the topic was interesting, so i joined the dev list.  he he he.  i will 
go back to being quiet and sitting in the corner...

On Saturday, May 24, 2003, at 11:30  AM, Diana Duncan wrote:

> Oh, I so, so, so agree with you, Tanner.  One of the worst 
> applications of OO is using it as a "wrapper" around relational 
> database objects.  There is no better guarantee of poor performance 
> for your application.  And yet, I'm too often called in to "tune" the 
> database for these applications.  How?  Basically, the design removes 
> all the power of whatever database engine you are using, and reduces 
> the RDBMS to acting as a souped-up flat-file database.  Yuck.  The 
> only way to tune that is to throw hardware at it, and as 80% of tuning 
> is done via SQL, you've lost your most powerful tuning tool.
>
> one pot and one burner on the stove?  Sure, you can cook like that, 
> but it's limiting.  OO evangelism makes for limited, blinder-wearing 
> software designers.
>
> Diana
>

---

From: John Beimler <[email-masked]>
Date: Sat, 24 May 2003 14:25:27 -0400

Ok, wasn't going to respond, but Matusiak goaded me into it. C++ is just 
COBOL of the 1990's.  Take all the bad parts from OO, and plug in 
assembly language, and you end up with a mess, or you can call it C++. 
I'd recomend the Unix hater's handbook 
(http://research.microsoft.com/~daniel/unix-haters.html) to see all that 
is wrong with C++. On the other hand, people who just use a subset of 
C++, its not horrible. Of course most of the decent features in C++ can 
be faked in C, so why add the overhead?

Smalltalk and Lisp are Real OO programming languages.  If you're 
tangentally interested in learning OO programming, my personal favorite 
right now is Python (http://python.org).  It is mostly OO, and moving 
towards being completely object based. There are lots of tutorials out 
there, and the language is freely available.

Peace.

john

---

From: Tom Bryan <[email-masked]>
Date: Sat, 24 May 2003 17:12:12 +0000

> go back to being quiet and sitting in the corner...

Someone once recommended the book Object Technology: A Manager's Guide (2nd 
Edition), by David Taylor, as a good overview of OOP for non-technical folks.  
I haven't read it, so I can't really comment on the quality.  It may be 
interesting if you're interested in programming concepts but aren't yet a 
programmer.

---Tom

---

From: Tom Bryan <[email-masked]>
Date: Sat, 24 May 2003 17:18:55 +0000

> assembly language, and you end up with a mess, or you can call it C++.

I'll try not to be dragged into a language war.  :)

> there, and the language is freely available.

So is the community.  ;-)
I just thought I'd take this opportunity to put in a plug for the local Python 
user group:   http://dev.zope.org/Members/tbryan/TriZPUG/FrontPage
The next meeting is this Wednesday.  

---Tom

---

From: "B. Evans" <[email-masked]>
Date: Sun, 25 May 2003 22:04:29 -0400

></flame retardent suit on>
I didn't mean to sound like a moron, but was rather making light of 
Jon's comment about doing the app I proposed in C.  I've written C & C++ 
through school and a time or two with Cisco but all I do now is J2EE 
stuff.  As for C++ being the most advanced, sure - but it's also much 
tougher to fully understand than Java.

>(but not when you're writing widget sets, for crying out loud!).
With a big enough hammer and enough nails who really ever needs screws?  
Just kidding.

>(See the "CC:" field above.)
I fully understand that C will have it's place (and be superior) for a 
good long time to come.  For me though, C/C++ aren't a required job 
skill.  Java pays the bills and more expertise in Java helps so I'll 
stick to Java for now.  The hardware guys will understandably stick to 
C.  I'm sure C++ is good for something too.  I do still write a lot of 
Perl and sh scripts but those are mostly on the side. (Does anyone 
really consider these real programming languages now?  IT work sure, but 
bundled / sold apps?)  Even seasoned Java-hating programmers have to 
admit that Java has come a long way performance wise. 

New to the dev list now.   -bp

---

From: Jeremy Portzer <[email-masked]>
Date: 17 Jun 2003 17:44:38 -0400

> admit that Java has come a long way performance wise. 

Yeah, so I'm responding to this post almost a month late (cleaning out
old e-mail) but I thought I would add my $0.02 about Perl and sh being
"real" programming languages.

I administer a moderate to large sized application that's written almost
entirely in Perl scripts; it's a web application with Apache and
mod_perl.  It is definitely a "real programming language" and it works
quite well.

$ wc `find -name '*.pl'; find -name '*.pm'` |tail -1
 149244  469874 4822030 total

149,000 lines of Perl isn't too shabby!

However, the developers of that application have expressed an interest
in moving to Java with Tomcat servlets for future additions and work
(though they'll continue to maintain the existing code in Perl.)

--Jeremy

-- 
/=====================================================================\
| Jeremy Portzer       [email-masked]       trilug.org/~jeremy     |
| GPG Fingerprint: 712D 77C7 AB2D 2130 989F  E135 6F9F F7BC CC1A 7B92 |
\=====================================================================/