lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev Java version of Lynx


From: Klaus Weide
Subject: Re: lynx-dev Java version of Lynx
Date: Sun, 20 Aug 2000 13:31:19 -0500 (CDT)

On Sun, 20 Aug 2000, David Woolley wrote:

> My experience of C++ in freeware is that it is much more difficult to
> maintain; some of the reasons for so few people understanding the Lynx
> code include that parts of it are back ports from C++ to C.

That is news to me.  Do you have a reference for it?

Perhaps you mean Objective-C?

> The basic problem with C++, or rather object design, is that you need to
> know a lot about the object model before you can make anything but the
> smallest of changes.  That's because the flow of control in such programs
> tends to jump between many objects over a short space of time.  You'll
> actually find that very few of the really key freeware programs use
> object oriented languages.

The parts of the lynx code that are designed in an object-oriented way are
limited to a few lower-level aspects, in the libwww part.  There is no
object-orientation to speak of in most of the code that is closer to the
user interface, IMHO, or in the area where OO might be most useful and
expected (the O in DOM).

[ Btw the newer W3C libwww looks more OO than what lynx uses now - we
don't even have a Request or Response object. ]

One area that IS guided by OO ideas (again, in my opinion) is the whole
HTStream thing.  In my own experience, this indeed makes the flow of
control difficult to understand (It took me a long time initially until
I could figure out how it's all supposed to work together.  It's not
at all easy to see how some function like, say, HTML_start_element or
SGML_character or HTML_put_character ends up getting called at all,
tracing with a debugger is inevitable).  But I don't think this is such
a significant reason for "so few people understanding the Lynx code".
Lack of documentation (of the overall picture), and too little
modularization (global variables all over the place) rather than too
much modularization, appear as more convincing explanations to me.

  Klaus


; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]