[plt-scheme] Re: Scheme sources readability

From: kbohdan at mail.ru (kbohdan at mail.ru)
Date: Sun Sep 7 12:59:00 EDT 2008

Matthias Felleisen wrote:

>> After many years of programming i found new-old
>> scheme world very fascinating. One thing i still
>> do not like here is source code readability.
> 
> Code in Scheme tends to be 1/4 or 1/3 of the size of Java.
> The indentation structure is far more revealing than there.
> So I find it as readable as Java or better. You could argue
> CL is better, I wouldn't respond then.

Yes, agree code size is much smaller, but i'm still not sure
if it helps me to read it.
Lets compare with Java: If i see class names like XxxAdapter,
XxxVisitor, XxxFSM, XxxModel/XxxView/XxxController it only takes
a seconds to understand what is going on. Can you take any
non-trivial snippet from DrScheme collects to demonstrate your
algorithm of code reading?

>> What about docstrings,
> 
> We consider Help Desk a priority because its linked way
> of doing docs is superior. As my PhD advisor used to say,
> a program (he meant module) is only worth writing if you
> also write a paper about it (he meant documentation).

   "Help Desk" helps me to understand public interface, but
it doesn't help me too much to understand implementation.
 From your point of view nobody guarantee that it should be
easy for third person to understand even interface of private
module not even saying about its implementation. IMHO, this
is not the case for commercial software development.

>> design patterns (like GoF),
> 
> The design patterns of GOF were invented to address
> weaknesses in Java and C++'s expressiveness when compared
> to Scheme and LISP. Plus, when we discover a "pattern", we
> just turn it into a construct via syntactic extensions.

   Design patterns (DP) were invented by architect not by programmers.
In programming DP are addressing history proven successful code
patterns used both in coding and understanding source code.
Despite the fact that i can implement most of patterns as macros
doesn't mean that scheme community should not pay attention on
architecture and force all starting scheme programmers to
invent the bike.


>> coding conventions. Are those non-applicable to scheme ?
> 
> Much higher-level coding conventions are applicable. But
> yes I admit this takes training.
> 
>> Or scheme evolution is still on its early stages ?
> 
> Yes it is in its early stages. Fortunately, because it means
> we have research left to do. Also fortunately, Scheme has far
> outpaced Java and friends.
> 
> -- Matthias

--
Bohdan



Posted on the users mailing list.