Re: Fruit basket program alternatives for Learnability

  • From: Jamal Mazrui <empower@xxxxxxxxx>
  • To: programmingblind@xxxxxxxxxxxxx
  • Date: Mon, 22 Oct 2007 11:25:31 -0400 (EDT)

I'm open to other kinds of comparitive programs, but do think the fruit
basket exercise is quite illuminating about language differences,
particularly for blind programmers.  There are many sites on the web
with program comparisons that focus on speed or other benchmarks.  As
blind programmers, we are particularly interested in how much work is
involved to create a GUI application -- one of the most challenging
things for us to do well in a sighted world that expects such
interfaces.  The fruit basket program also lets us experience how
accessible the interface is that the combination of language and GUI
library produces.

There certainly are programming constructs that a fruit basket program
does not illustrate, but it is a nontrivial program that involves
conditional tests, strings, integers, collections, objects, methods,
properties, events, and optionally anonymous delegates.  The Win32::GUI
example does show the power of hashes in Perl, since control properties
are specified via a hash.

On Mon, 22 Oct 2007, Veli-Pekka Tätilä wrote:

> Date: Mon, 22 Oct 2007 17:51:33 +0300
> From: Veli-Pekka Tätilä <vtatila@xxxxxxxxxxxxxxxxxxxx>
> Reply-To: programmingblind@xxxxxxxxxxxxx
> To: programmingblind@xxxxxxxxxxxxx
> Subject: Re: Fruit basket program alternatives for Learnability
> Hi Ken,
> Good point about Lua et al not being very good Fruit Basket langs since
> native GUis are harder to build. Which reminds me, as it stands now, the
> Fruit Basket is more an Exercise in GUi layout and basic controls rather
> than showing off a particular programming language, just as you said
> below. Especially in libs whose list boxes maintain the strings
> directly, you don't necessarily demonstrate any kind of array or hash
> usage, text processing, functional programming constructs or closures
> all of which are common elements in the dynamically typed scripting
> languages, for instance.
> So could a more involved, and possibly less graphical, version of the
> Fruit Basket be developed which is more akin to language comparisons?
> What if there's already a C version of WIn32, should there also be a C
> version of GTK+ 2, for instance, since it is a different lib with C
> bindings?
> Hello Worlds as in Wikipedia don't tell much about a language:
> However, I saw a benchmark which tries to demonstrate that with just in
> time compiling and dynamic optimizations Java doesn't lose much at all
> to C, contrary to popular belief. Not sure how feasible the results are
> but:
> Another interesting thing about that benchmark is the code. IT shows you
> basic arithmetic using integer and floating point types, file reading
> and writing and measuring the execution times of code. This can be a
> good intro to the field of the language i.e. basic data types, control
> structures, file I/O etc... which are things almost everyone wants to do
> sooner or later.
> Another set of language benchmarks would be this one, though not sure
> how the code is from a learnability point of view:
> --
> With kind regards Veli-Pekka Tätilä (vtatila@xxxxxxxxxxxxxxxxxxxx)
> Accessibility, game music, synthesizers and programming:
> Ken Perry wrote:
> > The problem with Haskell, LUA, and Objective Caml which are all languages I
> > have thought of doing one in are they do not have an easy way to access the
> > Win32 environment or some way to create a dialog type application.  I keep
> > them on the list of programs I will write one in but haven't got around to
> > it because it is almost as much work as the one I wrote in LISP.  If someone
> > writes them first more power to them but what essentially these will end up
> > being is direct calls to Win32 and a bit of the   programming languages
> > structure and syntax.
> >
> > When I came up with the Fruit Basket idea I didn't think of this kind of
> > language maybe we should come up with another test program that instead of
> > displaying a graphical interface does a lot of work like looping,
> > conditionals, functions or methods,  Not really to do anything important but
> > to show what the language is like when using it.
> __________
> View the list's information and change your settings at
> //
View the list's information and change your settings at

Other related posts: