Official Boo Scripting Resource Thread

I did some digging.

Q:“On the features page, it states that Boo is NOT supported on iPhone”
Rodrigo B. de Oliveira (Word of God when it comes to boo) states: Oh, it does? That’s wrong.

source:Redirecting to Google Groups

So I for one am happy to continue using boo in my IOS projects, without worrying too much about sudden breakage.

geothefaust: Being a fairly young language your probably wont see any actual books for a while. But http://boo.codehaus.org/ is a venerable goldmine of information (as it should be )

Hopefully we’ll get a good boo community going here on the Unity forums.

I am curious how many people would like a Boo book, be it Unity orientated or just a general Boo programming book?

I don’t think Boo is a mature enough language to justify someone undertaking the massive project of writing an authoritative book on it.
At the moment, what Boo need is a solid community, and it almost seems natural that such a community starts here at the Unity forums.
Boo needs articles, tutorials and blogposts, not a book.

I for one am exited about the future of the Boo language. The guys over at http://boo.codehaus.org/ are extremely talented, and I trust that they can create a solid language. Now it’s up to us early adapters to get out there and convert the unbelievers. You need to answer questions using Boo, write all your code in Boo, write a blogpost about Boo. Tell your weird friend about Boo, he’ll appreciate it.

So to summarize this rather lengthy post. I for don’t see the need for a book just yet. We need a solid Boo community first.

(Not in any way affiliated with the Boo project)

Very cool initiative, thanks a lot ! Being at the beginning of a new project, I will try the Boo approach for the first time in 5 years of Unity JavaScript… just because this thread made me think of Boo as a great alternative to those horrible brackets in brackets in brackets… :smile:

EDIT : OMG, this is so stupidly easy : I used the C# → Boo translator Lucas mentions in his video introduction, and converted a C# camera script that works as good, but is so much more readable now ! No more , || and the likes : now I can type “or” when I mean “or”, “and” when I mean “and”… and it only took me 5 years to get to this point ! :wink:

Just discovered a neat little thing, thought I’d share.

Take this C#

 other = GetComponent<OtherScript>();

First of all, ew :slight_smile: Second of all, you might think that the Boo version is:

other = GetComponent[of OtherScript]()

Which actually isn’t that much more appealing… So imagine my delight when I found that one can just type:

other = GetComponent of OtherScript()

You still need the parens.
Now that’s knowledge you can use. (I hope)

This way should be a programming language nowadays.
I will definitely consider it for my next project.

Tears of joy in my eyes!

Can we clear this up.

  1. Does Boo work on iOS?

If yes, what limitations compared to UnityScript and C#, and why the limitations, if they’re all mono based?

If no, why not? And what’s the roadmap for putting it on there, fully functional?

  1. What’s up with Unity not supporting, sporting and sprouting Boo?

It seems like the logical thing to do.
ie
– C# for programmers: they’ll figure their own way around that and Unity, they’re already bright and capable and educated.

– UnityScript for those who think that works for them…

– Boo for mere mortals

  1. Boo as an education and marketing tool for Unity seems like common sense.

Correct me where I’m wrong

Unity:
“hey, come learn programming with us, and Boo. It’s fun, friendly and readable” (insert example here [make totally original and unique WoW clone button code]); {([ + “the Unity way” hyperbole ])];

Public:
“Boo = cool name, Unity = cool and slightly profound name, I’m in: ‘fun, friendly and readable’ WOW, I never did see code like that before”. – Runs to Mom’s credit card, taxes it for $3k for Unity Pro and iOS Pro licenses:-

Yes, yes, a thousand times yes. :slight_smile:
http://forum.unity3d.com/threads/80428-boo
It would be so awesome if Unity Technologies updated the manual to reflect reality.

Depends on what you mean by limitations I think…

I disagree, Boo might be easier to pick up for the absolute beginner than C# or even UnityScript (which is written in Boo, so there we go). But as for what “programmers” use… The language you use to write code is nothing but a tool. Just as there is more to being a carpenter than knowing how to use exactly one kind of hammer, there is more to being a programmer than than the language chosen to do the job at hand. Boo just happens to be a very,very nice tool. A tool with syntactic macros, type inference, and Python like syntax. :sunglasses:

But I agree that Boo should be fronted more heavily. Now it’s sort of hidden away, parsing UnityScript behind the scenes.

Umm, I don’t find C# to be that much harder than UnityScript. Or at least I really don’t agree with how you labeled each language and their uses in unity.

@ AcidArrow and @NorSlacker

My original sentences would have made more sense if I got it right…

try this:

– C# for C# Programmers, they’ll figure their own way… etc etc.

In other words, the choice of UnityScript or C# is for everyone else doing programming that’s not from the world of C#

Leaving the kooks, like me, to work with Boo. or Lua.

I agree with dissidently :face_with_spiral_eyes:

I’m just starting with Boo and some of the syntax is a little weird, but for the most part it results in shorter code. The big exception is this:

//C#
[SerializeField] protected int a, b, c;

//Boo
[SerializeField] a as int
[SerializeField] b as int
[SerializeField] c as int

I like not having to write protected on all my stuff (it is the default visibility level in Boo, unlike C# where private is default), but that’s not what I’d call wrist or eye-friendly. Is there really no way to declare a group of similar variables?

Came across this: http://mysite.mweb.co.za/residents/sdonovan/boo-book.html Thought it might be helpfull.

@Daniel, Yeah, I don’t know what’s up with that. You could ask on the mailing-list, if it’s just an exceptionally well hidden feature. Or not supported.

I am brand new to the Unity engine, and gaming scripting in general. I’ve worked for the past two years with Python almost exclusively, with some Perl and C# on the side. I wanted to get an understanding of just how similar boo and Python actually are.

For instance, I notice that a lot of times we’re declaring variable types as almost a verbal sequence, i.e. “a as int.” In Python, you can declare a variable outright; for instance: int(a)… is there a difference I am missing? Or do they do the same thing?

Also, does boo support Python conventions like list comprehension? For instance, to use Daniel Brauer’s post as an example:
[[SerializeField] n as int for n in (a,b,c)]? Or, to relate to my first question: [[SerializeField] int(n) for n in (a,b,c)]?

I am eager to get started with this language, I have little interest in picking up another language if I can avoid it but I just wanted to make sure I understand the scope of boo before I start making stupid assumptions.

Thanks!

I have very little Python experience, and I’m only just learning Boo, so I can’t answer questions about list comprehension.

Right now I’m trying to get a macro working that will apply SerializeField to a bunch of fields, but I’m having trouble. If anyone can provide any pointers, I’d really appreciate it.

Hey everyone,
I was hoping someone could answer this question for me. I have read the entire forum but didn’t see a reference to this.

Currently I have a fair bit of python scripting experience, this makes Boo the most attractive language for me.

I have absolutely no interest in learning JavaScript as I doubt I would ever use it in my day job, C# is interesting, but I would rather just jump in and start developing games instead of learning a new scripting language

So because of this Boo is the choice that I want to make

In order to make this choice I have one remaining question

According to the forum, iOS is now supported, which is good news, but will I be able to compile Android games as well?

Yes.

@Daniel have you tried [serializedfield] a,b,c as int That would work in python(although there is no “as” sttement in pyhon), and I dont see why it wouldn’t work in boo. I dont have a computer at the moment so please excuse me not typing a lot.

Can some one Make a Text Intro to boo for me? I don’t have any sound so I can’t watch any vids with no subs. Please and Thanks