Roku Developer Program

Developers and content creators—a complete solution for growing an audience directly.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Level 7

Why BrightScript?

I am just curious, and don't want to discuss the merits / demerits of the language. Why create a brand new language? It would seem that choosing an existing language (JavaScript, LUA, python, whatever) would be a much more practical choice, both in terms of ease of development and for quickly building a knowledgeable developer community. I would imagine the proliferation of interesting channels / games / etc is vital to Roku's success, and in my opinion a proprietary and slightly mysterious language is a big impediment to that goal.

I am curious to hear what the other members of this board think of this, I love my Roku and I learned BrightScript anyway (even though I personally don't like it) so that I could code my own channels, but I wonder how many others will do the same.
0 Kudos
4 Replies
Highlighted
Level 8

Re: Why BrightScript?

"aisaacs" wrote:
I am just curious, and don't want to discuss the merits / demerits of the language. Why create a brand new language? It would seem that choosing an existing language (JavaScript, LUA, python, whatever) would be a much more practical choice, both in terms of ease of development and for quickly building a knowledgeable developer community. I would imagine the proliferation of interesting channels / games / etc is vital to Roku's success, and in my opinion a proprietary and slightly mysterious language is a big impediment to that goal.

I am curious to hear what the other members of this board think of this, I love my Roku and I learned BrightScript anyway (even though I personally don't like it) so that I could code my own channels, but I wonder how many others will do the same.

Wild speculation follows. Smiley Happy

I think there's more overhead involved with those languages. The roku, being an embedded system, has limited amounts of on-board storage, memory, and processing power. They (again, wild speculation) have probably heavily optimized the routines Brightscript uses to get the most performance out of the least amount of code possible.
Remoku.tv - A free web app for Roku Remote Control!
Want to control your Roku from nearly any phone, computer or tablet? Get started at http://help.remoku.tv
by Apps4TV - Applications for television and beyond: http://www.apps4tv.com
0 Kudos
Highlighted
Roku Employee
Roku Employee

Re: Why BrightScript?

There's no shortage of interesting channels written in Brightscript pouring in here (more like a tidal wave of channels), and Roku is not the only application platform with a proprietary language. That being said, I'll see if we can dig up some detailed information on the history of Brightscript, I understand that it was first created for BrightSign's programmable signage devices.

- Joel
0 Kudos
Highlighted
Level 8

Re: Why BrightScript?

I agree that Brightscript is difficult to understand at times, however, once you work with it, it becomes much easier. The example apps that Roku gives are far better than any other device producer and the documentation is far more complete. It's come a long long way from when the SDK was first released.
0 Kudos
Highlighted
Level 10

Re: Why BrightScript?

"aisaacs" wrote:
I am just curious... Why create a brand new language? It would seem that choosing an existing language (JavaScript, LUA, python, whatever) would be a much more practical choice, both in terms of ease of development and for quickly building a knowledgeable developer community.


When i researched Roku history to satisfy my curiosity, I found that Roku's founder and CEO Anthony Wood (also founder of ReplayTV) is an old-time fan of BASIC language, for historical reasons like Tandy TRS-80 computer from 1980s. See http://awsoftware.org/ and http://www.hotud.org/component/content/ ... zzle/24073

BrightScript is not a new language, it is BASIC inoculated with object-oriented features. But the main syntax constructs are oh-so BASIC.
0 Kudos