Boo

Website Developer
6 min readMar 7, 2021

--

The Language

Boo is a language used primarily for .NET websites. Developers that decide to use Boo like it for its clean syntax, and it has very good extensibility features. Boo is a language very similar to Python-style syntax. Boo offers multiple advantages for .Net sites. You can create extra code and you can also create your own DSL which is something to consider. Boo is pretty versatile in how it can be used. But it also has downsides for being a code derived from other codes.

Boo’s Affinity

Boo is supported by Sharkdevelop, which means that it is a discontinued free and open-source integrated development environment for the .NET framework. This is why it is useful in .NET. Sharkdevelop also supported development in C#, Visual Basic .NET, Boo, F#, IronPython, and other programming languages. The programming language Boo is statically compiled and runs at the same speed as C#. People who use Boo can use a method called “Duck Typing” this is why python is compared to Boo as a result of its similarities. But unlike Python Boo runs slower and its speed is similar to that of IronPython.

Some may ask what is Duck Typing? Well according to Wikipedia.com “ Duck typing in computer programming is an application of the duck test — “If it walks like a duck and it quacks like a duck, then it must be a duck” — to determine whether an object can be used for a particular purpose. With normal typing, suitability is determined by an object’s type.”(Wikipedia).

More Information about Boo’s History

Boo is Object-Oriented language. Another thing is Boo is a statically typed programming language. Boo is performed by using C#. The language was developed in 2003, which makes it 18 years old, by Rodrigo B. De Oliveira. The language was then stably released on March 25, 2013, roughly 8 years ago. In addition, the language was influenced by C# and Python which is why it was previously mentioned Python was similar and C# was being used to implement Boo.

The Current State of Boo

Boo was officially released in 2013 but then sadly also was discontinued in 2014. There were a few primary reasons for this. The first and the main reason why the language suffered was due to having very tough competition with languages known as C# and Javascript. Most people who have interests in coding have at least heard of these languages. These languages are used quite a lot today especially in our current time 2020–2021. Boo was rumored to be made up of a small community. The language wasn’t as thoroughly developed as C# or Javascript. The language was less detailed than the other two languages. Boo had a fighting chance in Unity for some time but was also discontinued in 2014 due to the competition that C# had put up.

https://blogs.unity3d.com/2014/09/03/documentation-unity-scripting-languages-and-you/

Boo and platforms including Unity

Unity is a cross-platform game engine developed by Unity Technologies, The engine was first announced and released in June 2005. This was announced at Apple Inc.’s Worldwide Developers Conference as a Mac OS X-exclusive game engine. In 2018, the engine is now allowed to support more than 25 platforms. Boo struggles to compete in Unity as a result of its competitors in the same workspace. Another important attribute to mention is a scripting language called “UnityScript”. This was just as suggesting the name, a language specifically developed for usage in the Unity game engine. It essentially is the Unity version of the JavaScript coding language. Unity stopped its support for UnityScript (Unity version 2018.2). Which indirectly meant that C# is officially the only language that is supported by Unity.

Where does this leave Boo as a coding language?

Considering the fact that Boo has already been discontinued in 2014 one could argue that the language is done. And I would also agree. After taking a look at some of the basic code I can see that it is super similar to Python. For example in python to print the saying “Hello, World!” you would simply need to type in a debugger. Just type the command print(“Hello, World!”). Boo would be pretty similar, the key difference would be the non-usage of parentheses in the code. Not to mention Boo has also a similar def() function.

Also, Boo has nearly identical if statements. Considering this we can take a look at Python now. Python is one of the most popular programming languages dated today.

Taken this into account we can then see why a language that took admiration from the original wouldn’t survive if the language didn’t outperform or even compete with the original. Not including that C# another language that Boo took admiration or influence from is also a language that is very popular. If the language known as Boo can’t compete then it isn’t worth it to be used.

Why can’t Boo Compete with its competitors?

Boo is a language that took inspiration from other languages surrounding it. Those languages being C# and Python. This isn’t a horrible thing for a new language. Since languages take inspiration from other languages and the language which is more efficient and easy to learn will become the more popular choice. This is usually decided by the majority of coders. Since the programming language, Boo can’t compete with its competitors as a result of it is slower at processing. This hurt the progression of the language popularity as a result of other people used languages that could do the same job as Boo at a faster rate.

Some Benefits of using Boo

It may come as a surprise that Boo can actually be pretty useful and different from other languages. Boo can be used to build desktop or asp.net applications. Boo can implement WinForms/GTK applications. For asp.net front-end developers it is possible to directly embed Boo code inside those pages. This can look like multiple examples. Some of the best to find are simple to look at on the internet. Most things that languages like C# can do Boo can also. For example, you can make Boo tell the time and date, which allows one to reuse the header and footer. Can also have if-else statements, display database data, and quite a bit more.

Boo’s Main Issue

To be honest, Boo is a language that may lack in certain areas of the field, but all languages have their own purpose. Where one language lacks another can do the same job and even excel. Boo is a language that has uses in .Net sites. It also can be used in areas like python. Not necessarily like Python as a result of the languages have different purposes, but they have enough similarities between them that allow a user to easily transition without re-learning too much.

Last but not least, it can be easily said that Boo is a language with no future and no hope to ever be useful again. And to be honest I would have to agree with the person who created this claim. Boo is a language that had its time, even though it wasn’t a long time at all, but failed to compete with its competitors. Not only did it fail to do so, but it took inspiration from its competitors and didn’t outperform those languages. This is what inevitably caused the downfall of Boo.

Takeaway on Boo

It really can be said that there are lots of languages like Boo that pose to purpose in today’s time. A major example that some coders might know of is Ruby. Ruby is a language that is similar to Python. The language Ruby was primarily used for building web applications. However, it is a general-purpose language that is really similar to Python. Just like Boo Python is a big competitor when it comes to coding languages.

--

--