Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Boo is core of UnityScript?

Discussion in 'Editor & General Support' started by shinriyo_twitter, Aug 7, 2012.

  1. shinriyo_twitter

    shinriyo_twitter

    Joined:
    Aug 12, 2011
    Posts:
    328
    Hi there
    Sometimes, Boo.Lang.hoge error happens when I use UnityScript without Boo language.

    I think Boo is core technology, but I can't find literature
     
  2. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    Unityscript is written in Boo. Same developer.

    --Eric
     
  3. Foam

    Foam

    Joined:
    Jun 13, 2012
    Posts:
    322
    Boo is awesome. :)

    (more seriously, Boo is very generous with the exposing of its own parser, so it's pretty LISPy as far as extending/parsing goes)
     
  4. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    Why, as someone who does not know, think that Boo is far less powerful than C#?
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,169
    Maybe because there is very little/no documentation? I've never see the point of learning it when hardly anyone uses it, and there's nothing to really teach you.
     
    Last edited: Aug 7, 2012
  6. Tiles

    Tiles

    Joined:
    Feb 5, 2010
    Posts:
    2,481
    BOO is meant for the folks that comes from Python and already knows it. There is no documentation for it as there is no documentation for C# neither. You can find example code snippets in the Unity Scripting Reference though.

    BOO may be hardly used, but it gets used. Having the choice is always a good thing.
     
  7. Foam

    Foam

    Joined:
    Jun 13, 2012
    Posts:
    322
    If you're used to the over 9,000 books available on C#, then, yes, the Boo documentation can seem lacking. However, it's not bad. There's plenty of info online and at least one good book that goes into serious detail regarding Boo macros. If you know how to write software on any serious level then it's no big deal picking it up.

    There's also a number of features of Boo that are significant improvements over C# that make it worth learning.

    It also isn't that similar to Python. The syntax is similar, but, the actual implementation varies enough that it's a fairly hard break with Python. Even with duck typing.

    In general it would be best for most people here to write at least a partial implementation of their software in Boo; the entire point of using Unity is to decrease development time and using Boo decreases development time even more over C#. It's a very quick language and anyone who's serious about using Unity for "professional" reasons would be wise to take a serious look at it. It would not be an exageration to suggest that you could shave off 30% of your development costs by switching to Boo.
     
    Last edited: Aug 7, 2012
  8. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Already there sniffing around in Boo. I love how you can practically generate your own language style from it.
     
  9. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    But is it powerful?
    I dont know, again I am not qualified to say, but it seems limiting. No? I am getting the feeling it is just as powerful. How is it with MonoDevelop?
     
  10. stimarco

    stimarco

    Joined:
    Oct 17, 2007
    Posts:
    721
    I honestly do not understand why people make such assertions while admitting they don't know enough to make such comments. In the same sentence, no less.

    Boo is a modern programming language. Anything Unityscript can do, Boo can do just as well, if not better. It can also do things C# cannot do.

    A programming language is a tool.

    A toolbox should have more than one tool in it.

    A good programmer learns more than one programming language.

    Like natural (i.e. human) languages, a programming language defines how you express your thoughts.

    An Italian does not think in exactly the same way as an Englishman or a German. Our cultures and societies are as much defined by our languages as they are bound by them. The more natural languages you know, the more ways of thinking you learn.

    Programming languages are how we communicate instructions to computers. Unityscript defines one way of conveying those instructions to the computer. C# defines another way. Boo a third way. Objective-C yet another. As do COBOL, Ada, Modula-3, and so on, and on, and on. Each language is different. Each has its strengths and weaknesses. There is no "best".

    Only you can possibly know which language is best suited to your specific requirements. There is no One True Language. So the onus is on you to learn some programming languages. And to keep on learning them. Each one becomes a new tool for your software development toolbox. And the more tools you have, the more options you have.

    If all you have is a hammer, all your problems had better be nails.
     
  11. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    Thanks,
    It just "seems" not as robust.

    Oh well. When I have the time I will look into it.
     
  12. Moonjump

    Moonjump

    Joined:
    Apr 15, 2010
    Posts:
    2,571
    I had never considered Boo, but this thread makes me think it is worth a look. Is there a resource you would recommend that gives a quick overview?
     
  13. BIG-BUG

    BIG-BUG

    Joined:
    Mar 29, 2009
    Posts:
    457
    As I understand it Unity Script gets converted to Boo which then is compiled. Some time ago I saw a video where this was explained, but maybe this has changed or I mixed it up and Unity Script is just written in Boo as already stated by Eric5h5...
     
  14. Eric5h5

    Eric5h5

    Volunteer Moderator Moderator

    Joined:
    Jul 19, 2006
    Posts:
    32,398
    No, there wouldn't be much point to that. The Unityscript compiler is written in Boo (the source code is publicly available somewhere (intentionally) if you look around a bit, so you can see for yourself). Also that would be impossible since Unity iOS used to run C# and Unityscript but not Boo (later Boo was made to work with iOS). The fact that Unityscript is written in Boo should give some indication as to whether Boo is "powerful" or not.

    --Eric
     
  15. renman3000

    renman3000

    Joined:
    Nov 7, 2011
    Posts:
    6,680
    Not to get carried away here, but going on what hippo said, "I love how you can practically generate your own language style from it" and that Boo is more modern, created post C# and JS, will we see the day where programming language becomes like writing a paragragh in an email?


    example:
    ball.bounce.3Meters.Up.Fall@9.8Meters/second.
    When ball lands bring in sound effects, and score card.
     
  16. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Thats oldschool
    Thats what LiveCode is for with stuff like

    put the y of theMouse into the y of theBall

    and more or less 'natural language' text processing and alike