[Gambas-user] OFF: Perl 6 Design Philosophy

Nelson Ferraz nferraz at ...184...
Wed Jul 16 07:59:58 CEST 2003


Rob,

First of all, thanks for your insightful comments!

> I don't completely agree.  The article you cited was about differences from 
> one release of a language to the next incremental version of that language.  
> Let's call it equivalent of going from Gambas 0.65 (say) to Gambas 1.x.  

I hope the transition to Gambas 1.x won't be as dramatic! :)

> Gambas is going to be different than other BASICs.  There's no way around it.  
> The only popular BASICs with object extensions are pretty much VB and 
> RealBasic for the Mac which has translation issues similar to those of 
> Gambas.

I Agree. The best thing to do here is to learn with succesful OO
languages, and I think Benoit is already doing that.

> - BASIC's original purpose was to enable novice programmers to write useful 
> programs while simultaneously learning something about programming.  I would 
> say Gambas probably exceeds most BASICs in this department thanks to its 
> largely clean syntax and (despite us recovering VB users' influence) 
> consistent, well-designed object model.

If the goal is to enable novice programmers, perhaps we should take a
look at Python.

Guido Van Rossum says that Python was influenced by a language called
ABC. "ABC's design had a very clear, sharp focus. ABC was intended to be
a programming language that could be taught to intelligent computer
users who were not computer programmers or software developers in any
sense."

He also says: "I think my most innovative contribution to Python's
success was making it easy to extend. That also came out of my
frustration with ABC. ABC was a very monolithic design. There was a
language design team, and they were God. They designed every language
detail and there was no way to add to it. You could write your own
programs, but you couldn't easily add low-level stuff."

http://www.artima.com/intv/python.html

Perl 6 will be more flexible:

"The plan for Perl 6 explicitly includes plans for future language
changes. No one believes that Perl 6.0.0 will be perfect, but at the
same time, no one wants another change process quite as dramatic as Perl
6. So Perl 6 will be flexible and adaptable enough to allow gradual
shifts over time. This has influenced a number of design decisions,
including making it easy to modify how the language is parsed, lowering
the distinctions between core operations and user-defined operations,
and making it easy to define new operators."

And "Gambas has a component architecture that allows to extend the
language. Anyone can write components as shared libraries that
dynamically add new native classes to the interpreter." (Benoit)

> - I have only a sample size of two here (myself and one client) but we both 
> find Gambas very familiar and comfortable in almost all respects.  

"Almost"? :)

> - I do think I'll be able to at least get a VB form to Gambas form/class 
> translator working, 

Great! A tool like this will be fundamental to attract VB developers.

> Generally speaking, I'll be more in favor of things that make Gambas more like 
> BASIC, 

"The Principle of Familiarity".

> and also things that make Gambas easier to use, especially for novices 
> and people coming from other environments, and against things that make 
> Gambas non-intuitive

"The Principle of DWIM", or "Do What I Mean"! :)

> I don't want to see Gambas become perl

Neither do I! (But remember "The Principle of Borrowing"...)

> Ultimately, though, unlike Perl, I think we're close enough to the genesis of 
> the project that Gambas can be whatever Benoit would like it to be.  Larry 
> drove Perl's development through several major releases and is still arguably 
> the dominant voice in its current development, for better or for worse.  But 
> he shaped perl's original form, and Benoit is now doing the same with Gambas.  
> As far as I can see, he hasn't really missed any steps.

I completelly agree!

[]s

Nelson





More information about the User mailing list