Friday, October 5, 2012

The BOOmers: BOO Programming Language

BOOOOOOO!!!!!!


INTRODUCTION

You thought it's another horror story or movie, eh? But it's NOT!

Ladies and gentlemen, say "hello" to a relatively new language named after something that is scary.

We give you... BOO!


A LITTLE HISTORY...

Boo is a kind of Object Oriented Language that is based from another object-oriented programming language, Python. It was designed and developed by Mr. Rodrigo B. De Oliveira, back in 2003. It's latest version is version 0.9.4 that was released last January 2011. Let's not forget that this language is "free, and always will be".

According to Mr. De Oliveira, he has been loving the Common Language Infrastructure and the .NET framework by Microsoft. He added that he cannot use Python in his projects and systems that are used in his company, and that lead to his frustration.

He wanted a programming language that will satisfy his cravings for the .NET framework. Since he is already an "expert" in Python, he also wanted to have that as well. And thus, Boo was born.


SAMPLE CODES


To print a message, Boo uses the keyword print just like in Python. For example, the famous "Hello, World!" program:

print "Hello, World!"

Declaring functions in Boo is the same as in Python. Begin the function with the keyword def, followed by function_name(). Here is an example given by Progopedia, that prints the result of the factorial of a number:


def factorial(n as long) as long:
    if n == 0:
        return 1
    else:    
        return n * factorial(n - 1)

for n in range(0, 17):
 print("${n}! = ${factorial(n)}")


ALL ABOUT BOO (ALL YOU NEED IS BOO XD)
  • Once again, Boo is an object-oriented programming language
  • This programming language is directly influenced by Python 
  • It has a type inference
  • It also has a generator (a function that contains the keyword yield)
  • It is compatible with .NET framework
  • To declare a variable, we use "variable as type = value"
  • To put inline comments, we use "//"
  • Unlike the rest of object-oriented programming languages, Boo doesn't have any concept about classes

WHAT DO WE SAY ABOUT THIS "SCARY" PL?

"Boo is an easy and cool programming language. Even it's name is cool, it looks like a ghost. But this programming language is very easy to use, especially to us who have experienced programming in Python. It is very much alike to the Python programming language, we just need to change some syntax. Python also have cool features and it's logo is very cute."
- Mark Albert G. Lorenzo

"Object-oriented programming languages, by far, are my pick when it comes to computer programming. Ever since CMSC 22, I have been loving them. While searching for languages to post, Boo suddenly popped out, and it became interesting me, most especially, it is a 'dialect' of Python. Indeed, Boo is the language to go."
- Edward Daniel J. Baldeviano


WHAT DO OTHER PEOPLE SAY ABOUT BOO?

"BOO is a powerful domain-specific language specifically for building domain-specific languages. It would be hard to write a meaningful text on DSLs without at least bringing it up."
- Jekke

"Boo is another .NET language; it's as good a choice as any. The author of your material is probably familiar with it, or thought that it made a good example language. You might want to see the Boo web site for more information on the language itself."

- Michael Trausch

"Boo has a nice clean syntax and some syntax features that make it DSL friendly. In my opinion, Boo makes a few cool choices around syntax deviation from Python"

- brun

"Boo is a very interesting language. The more I look at the more I wonder why it isn't much bigger then it is. I am a VB.NET, C# sort of guy. I have taken a look at Python and love the syntax so much that I have written a few apps that I used as utility applications at work."

- Monoman


REFERENCES
MEMBERS

Edward Daniel J. Baldeviano, a.k.a. edjb93 (2010-70035)
Mark Albert G. Lorenzo, a.k.a. Mhara (2010-24943)
CMSC 124 T-8L

1 comment: