Yes, the fact that it can be used as a scripting language is an advantage.But the fact that it doesn't use { and } to include blocks, and ; to end the statements, it is a big disadvantage.
Just like python, it is friendlier for sure for sighted users, but not for the blind.
Octavian----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx>
To: <programmingblind@xxxxxxxxxxxxx> Sent: Sunday, October 21, 2007 3:11 PM Subject: Re: Fruit basket program in Boo
Boo does have the indentation issue of Python. The language is considerably more concise and friendly than C#, however. This probably does not show in the example I posted because I used an automatic converter from C# that did a more or less literal translation rather than taking advantage of Boo idioms. I will try to write a more Booish version when I get a chance (or anyone else can feel free to do so). Besides more convenient syntax (except for the indentation requirement), Boo has the advantage of an interpretive mode over C#. Thus, one can test expressions in an interactive environment. When the code is refined, one can still compile to a stand-alone executable like C#. Jamal On Sat, 20 Oct 2007, Octavian Rasnita wrote:Date: Sat, 20 Oct 2007 09:39:08 +0300 From: Octavian Rasnita <orasnita@xxxxxxxxx> Reply-To: programmingblind@xxxxxxxxxxxxx To: programmingblind@xxxxxxxxxxxxx Subject: Re: Fruit basket program in Boo Well, I'd say that this language also borrows the disadvantages of python and the disadvantages of C#. It is harder to use by a blind because of its python style withoutpunctuation signs, it requires same much code as C#, and it is not portable.If Windows need to be the target platform, I think C# is much better for creating such a program. Octavian ----- Original Message ----- From: "Jamal Mazrui" <empower@xxxxxxxxx> To: <programmingblind@xxxxxxxxxxxxx> Sent: Saturday, October 20, 2007 6:22 AM Subject: Fruit basket program in Boo > From the zip archive at > http://www.EmpowermentZone.com/boo_fruit.zip > > This fruit basket program is written in Boo -- Full source code in the > zip archive and pasted below. The batch file compile.bat invokes the > command-line compiler for this scripting language. The resulting > executable, boo_fruit.exe, is about 12K in size. No other files are > needed to run the program -- as long as the .NET Framework 2.0 is > installed. >> Boo borrows syntax from Python, seeks to improve it, and combine > strengths> of both static and dynamic languages. Its home page is at > http://boo.codehaus.org > Boo resources, including the interpreter, compiler, documentation, and > examples are available from there. > > I am still learning Boo, but was able to produce a working program by > converting the first C# fruit basket program I did via a web form > available at > http://codeconverter.sharpdevelop.net/Convert.aspx > For comparison, the C# code is available in the file cs_fruit.cs. > > Jamal > > /* > content of boo_fruit.boo > Fruit Basket program in Boo > Public domain by Jamal Mazrui > */ > > namespace MyNamespace > > import System.Windows.Forms > > // define class inherited from Form > public class MyForm(System.Windows.Forms.Form): > > private lblFruit as Label > > private txtFruit as TextBox > > private lblBasket as Label > > private lbBasket as ListBox > > private btnAdd as Button > > private btnDelete as Button > > > public def constructor(): > // define constructor > // set window title > self.Text = 'Fruit Basket' > //this.Width = 328; > self.Width = 400 > self.Height = 285 > > // create two rows of controls with three controls in each > row > // label, textbox, button and label, listbox, button > lblFruit = Label() > lblFruit.Text = '&Fruit:' > lblFruit.Left = 14 > lblFruit.Top = 14 > lblFruit.Width = 44 > lblFruit.Height = 16 > > txtFruit = TextBox() > txtFruit.Left = 64 > txtFruit.Top = 14 > txtFruit.Width = 200 > txtFruit.Height = 16 > > btnAdd = Button() > btnAdd.Text = '&Add' > btnAdd.Left = 272 > btnAdd.Top = 14 > btnAdd.Width = 100 > btnAdd.Height = 20 > // make it the default button > self.AcceptButton = btnAdd > btnAdd.Click += self.OnAddClick > > lblBasket = Label() > lblBasket.Text = '&Basket:' > lblBasket.Left = 14 > lblBasket.Top = 38 > lblBasket.Width = 44 > lblBasket.Height = 16 > > lbBasket = ListBox() > lbBasket.Left = 64 > lbBasket.Top = 38 > lbBasket.Width = 200 > lbBasket.Height = 200 > > btnDelete = Button() > btnDelete.Text = '&Delete' > btnDelete.Left = 272 > btnDelete.Top = 38 > btnDelete.Width = 100 > btnDelete.Height = 20 > btnDelete.Click += self.OnDeleteClick > > // add controls to form > self.Controls.Add(lblFruit) > self.Controls.Add(txtFruit) > self.Controls.Add(btnAdd) > self.Controls.Add(lblBasket) > self.Controls.Add(lbBasket) > self.Controls.Add(btnDelete) > > // center form on screen > self.StartPosition = FormStartPosition.CenterScreen > > > // define event handlers for add and delete buttons > protected def OnAddClick(sender as object, e as System.EventArgs): > sFruit as string > sFruit = txtFruit.Text > if sFruit == '': > MessageBox.Show('No fruit to add.', 'Alert') > else: > lbBasket.Items.Add(sFruit) > txtFruit.Text = '' > lbBasket.SelectedIndex = (lbBasket.Items.Count - > 1) > txtFruit.Focus() > > > protected def OnDeleteClick(sender as object, e as > System.EventArgs): > iFruit as int > iFruit = lbBasket.SelectedIndex > if iFruit == (-1): > MessageBox.Show('No fruit to delete.', 'Alert') > else: > lbBasket.Items.RemoveAt(iFruit) > if iFruit > (lbBasket.Items.Count - 1): > iFruit = (lbBasket.Items.Count - 1) > lbBasket.SelectedIndex = iFruit > lbBasket.Focus() > > > // define main entry point of application > public static def Main(): > Application.Run(MyForm()) > > MyForm.Main() > > //End of program > > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind__________ View the list's information and change your settings at //www.freelists.org/list/programmingblind
__________View the list's information and change your settings at //www.freelists.org/list/programmingblind