Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boo vs C# vs Python? [closed]

Compared to C#, Boo feels a bit more Pythonic but it's also compiled down to .NET MSIL. I liked its syntax, even more than C#'s syntax. But I couldn't find a single book teaching Boo.

And I really don't know, if learning Boo is better than C# or learning C# is better than Boo. I just want to use some Python-like data types. Those are:

  • {key1:value1, key2:value2} → dictionary
  • [Value1,Value2,Value3] → List (can be edited/changed)
  • (Value1,Value2,Value3) → Tuple (can't be edited/changed)

I use dictionaries more than list and tuples. I want to know, which one is better?

like image 294
PythEch Avatar asked Oct 06 '09 09:10

PythEch


People also ask

What is Boo in computer?

Boo is an object-oriented, statically typed, general-purpose programming language that seeks to make use of the Common Language Infrastructure's support for Unicode, internationalization, and web applications, while using a Python-inspired syntax and a special focus on language and compiler extensibility.

Is Python written in c or c++?

Python is written in C (actually the default implementation is called CPython).

What coding language does Unity use?

Unity is a native C++-based game engine. You write code in C#, JavaScript (UnityScript) or, less frequently, Boo.


3 Answers

I have found Boo to be very useful in creating simple one-off scripts, while retaining my Pythonic source style. And since it compiles to runnable EXE or DLL, I can package up a single EXE with all the needed DLLs (including Boo.Lang.dll) using ILMerge, and then send that off to a client, usually for some kind of quick troubleshooting or system diagnosis.

I also use Boo to support my C# development. I often fire up a Boo interpreter to try out variations of string or date formatting, then I can replicate the final version almost directly into C#.

But it is darned difficult to find docs for Boo. I had to Google quite a bit to find the syntax for generics, since they are a relatively new addition to Boo, and not yet mentioned in any tutorials, or even reference pages. And googling for "boo" generates quite a few unwanted hits, making the search even more difficult.

So in short, don't make this a choice between Boo and C# - they actually complement each other pretty well.

like image 159
PaulMcG Avatar answered Sep 19 '22 02:09

PaulMcG


My general opinion is that it would be better to go for C# since it is from my point of view, easier to find resources, documentation and tutorials for C#.

like image 24
Jonas B Avatar answered Sep 20 '22 02:09

Jonas B


Knowing C# will be very useful to you if you want a career in .NET development. But learning Boo would allow you to use the Python-like features you are after in a .NET environment. You should probably also look into IronPython, which does have books available (Iron Python in Action)

like image 23
Mark Heath Avatar answered Sep 20 '22 02:09

Mark Heath