Remember though you have the mode in visual studio that you can interactively test VB and C# so this is not exactly true. Ken -----Original Message----- From: programmingblind-bounce@xxxxxxxxxxxxx [mailto:programmingblind-bounce@xxxxxxxxxxxxx] On Behalf Of Jamal Mazrui Sent: Sunday, October 21, 2007 5:12 AM To: programmingblind@xxxxxxxxxxxxx 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 without > punctuation 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