Re: performance question



On Tue, 11 Dec 2007 09:41:55 -0500, Lew <lew@xxxxxxxxxxxxx> wrote:

RedGrittyBrick wrote:
George Neuner wrote:

Java is OK. I have a number of issues with it including syntax,
organization, and the fact that it religiously enforces OO which IMO
is not an optimal programming model for many problems. While I am
perfectly comfortable working in OO (pure or not), I prefer languages
that let me mix different programming styles more freely.

Interesting. When I started learning Java, my biggest problem was that I
felt I was writing purely procedural code in Java. I tended to have
classes with only static methods.

Interesting to me, too, as I have found that one of the singular strengths of
Java is its insistence on OO programming.

I've noticed that people often prefer to take shortcuts when writing code -
breaking the OO style being one such. The problem is the concomitant
reduction in maintainability and stability of the code. As a good part of my
career has been to pick up after absent programmers, I am quite sensitive to
the true lifetime cost of such shortcuts.

As am I. It's not about shortcuts or "breaking style" - it's about
realizing that the most straight-forward solution to a problem may not
be so straight-forward to express in OO. A number of the common
design patterns really are just work arounds for practical
deficiencies in the model and/or the existing languages that implement
it.

Many times I have found myself working on a program in which certain
parts are a great match to OO, but other parts would be most clearly
expressed using a functional or even a procedural style.

There are no _single_ paradigm languages - all languages blend
elements of more than one model, but after 20+ years, half a dozen
general purpose languages and more DSLs than I can remember, I find it
restrictive to work in languages which actively discourage using
models other than their dominant one. Doesn't mean I won't work in
them ... just that I prefer not to.

What seems reasonable to an author, especially a highly-skilled one as,
presumably, Mr. Neuner is, will often cause trouble for those who follow, as
teams hire a range of skills and experience.

There is a technical management solution to the problem of highly
skilled programmers - make them teach the less skilled ones.

Levity aside, I agree that it is not a terribly good thing to let any
significant part of your code base become the property of just one or
a handful of programmers. However that can be a technical issue as
much as a management one - in a small group there may be only one
person with the domain expertise to maintain the code. When such
experts inevitably move on it can be very traumatic for the group.

George
--
for email reply remove "/" from address
.



Relevant Pages

  • Re: Head-in-the-Sand Liberals (LA Times Columnist)
    ... You claimed to have known several computer languages, ... If you lie about knowing computer languages, ... of the programming loop for a functional ... You also don't know Java. ...
    (rec.org.mensa)
  • Re: How come Ada isnt more popular?
    ... Most programming languages were terrible at that time, ... And we talked about "Why isn't Ada more popular?". ... Adopting Java ...
    (comp.lang.ada)
  • Re: Bloody Java again
    ... I passed my Java exams last year but really have ... Erlang's concurrent programming is rather abstract and high-level. ... He is not being asked to grade umpteenth different languages. ... Student: "It's all in the program, ...
    (comp.lang.functional)
  • Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management
    ... >>A few years ago I started learning Smalltalk. ... >>features in alternative languages. ... > know that there is widespread ignorance about programming language features ... eiffel developers even though the type system in eiffel is superior to Java. ...
    (comp.programming)
  • Re: Python vs. PL/SQL for Oracle work
    ... core languages, and then about Java replacing PL/SQL, but I don't see ... I believe that the programming world is sobering up after being so ... Java doesn't let you write things in a procedural fashion. ... or Python and even for some not-so-true-OO languages, ...
    (comp.databases.oracle.server)