Em 06/01/2010 11:18, Adrian Kuhn < [email protected] > escreveu:

> Douglas Brebner writes:
>
> > Please  bear  in  mind  that  natural  languages  have  much  more
> > redundancy and less precision than programming languages.
>  You are right!
>  Personally I  believe programming languages should strive  to be as
> close to the
>  the more  stringent English of specification documents,  and not to
>  natural  language   with  *all*  its  facets.  The   main  line  of
>  argumentation in my  previous mail was thus that  the very argument
>  of natural languages can be used in favor of my point as well :)
>
> > In   addition,  programming  languages   have  handy   tools  like
> > autocompletion that natural  languages don't, making abbreviations
> > less useful :)
>  That argument keeps  popping up (eg from Ramon  just in parallel to
> this
>  answer, and  also before) but I  am not sure if  auto completion is
>  the whole story. For example in Object-C you have to write
>
>  @"hello " stringByAppendingString: @"worlds!"
>
>  to concatenate strings. Whereas in Smalltalk we just write
>
>  'hello ', 'worlds!'
>
>  clearly  both are  as writable  when you  got auto  completion, but
>  isn't the  second just  more readable? 

Two points on "more readable".  _Right now_ to Smalltalkers  that know 
by heart that #, is a concatenation operator, it seems *less cluttered*
and thus it appears more readable.

Put forward some twenty to fifty years (or to do it right now ask a
girlfriend that doesn't know nor Objective C nor Smalltalk) to see
what of two expressions convene more meaning.

As everybody else knows :-P the string concatenation operator is '+',
right!?  So #, needs to be explained anyway. . .


> In  his "Elements  of Style"
>  William Strunk recommends to  omit unnecessary word. With regard to
>  source  code, I'd say  the lesson  should be  that more  verbose is
>  typically more readable but *not* always.
>  So  given  this observation  that  sometimes  operators (or  single
> letters, which
>  for that sake the same)  are *sometimes* more readable than natural
>  language, we  can go an revisit  the set of  operators in Smalltalk
>  and check if  there might be more candidates. And  I'd be more than
>  surprised if are were not some more candidates for abbreviation.
>  For example Pharo already got #<< for appending to a stream, so the
> same would
>  make  sense to append  elements to  a collecton,  such that  we can
> write
>
>  list := List new << 'lorem' << 'ipsum' << 'dolor'.
>  et cetera.

This may lead to the same problem we already have with #, namely it is 
slow and not recommended for repeated operations.

We have to strike a balance between the easiness for writing the code
with the implementation that will run it.

my 0.019999....

--
Cesar Rabak

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to