RE: Fruit basket program in Boo

  • From: "Ken Perry" <whistler@xxxxxxxxxxxxx>
  • To: <programmingblind@xxxxxxxxxxxxx>
  • Date: Sun, 21 Oct 2007 07:55:48 -0700

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

Other related posts: