Slashdot Mirror


Mobile Game Applications Need Scripting Too

An anonymous reader writes "Mobile game developer Tom Park believes that scripting for wireless devices is important for proficiency sake. And with the need to scale mobile applications across so many different platforms, proficiency is everything. Read his thoughts on scripting, as well as his ideas on wireless application development's future."

92 comments

  1. Speed & Efficiency by InfiniterX · · Score: 4, Insightful

    I wish that wireless applications would get at least a little bit faster, first. The J2ME software for my cell phone runs like molasses in Fargo in February. I've tried three different phone models, and they all simply cannot run things well enough to be usable.

    I don't know if it's strictly a hardware issue or what, but I know that I certainly have written off mobile apps for at least the near future until I can get a phone in my hands that can actually run things well.

    1. Re:Speed & Efficiency by Zebbers · · Score: 2, Interesting

      what are you talking about

      my nokia 3650 runs things just fine
      including a gameboy emulator

    2. Re:Speed & Efficiency by John+Seminal · · Score: 1
      I think the hardware will continue to get better and better. While I do not think the apps are as slow as what you are describing, I think there is room for improvement. Right now, I know there are different JVM's for cell phones based on the hardware- how much ram you have.

      What I think would be cool is to get higher transfer speeds on wireless devices. Once that is done, I can see endless applications.

      --

      Rosco: "If brains were gunpowder, Enos couldn't blow his nose."

    3. Re:Speed & Efficiency by UfoZ · · Score: 1, Interesting

      Well, the gameboy emulator runs natively on the phone, and doesn't rely on the Java VM. You can get the Symbian SDK for free from Nokia and make your own apps in C++.

      I've tried a few Series 30-40 Java games and my only gripes would be horrible startup/shutdown times. It kind of destroys the "spontaneous" nature of the game when it takes 20-30 seconds to load.

    4. Re:Speed & Efficiency by Anonymous Coward · · Score: 0

      And what is language is the gameboy emulator implemented in? Not Java.

    5. Re:Speed & Efficiency by gl4ss · · Score: 2, Insightful

      what is your meaning of 'usable'?

      news ticker doesn't need blazing speed to be usable and neither does blogging tools.

      that being said it is possible to make, for example, an xpilot clone on 3650/7650 that runs ~20fps prettu easily(in other words dig dug and most other 80's classics can be cloned pretty well). however when writing it can be a try-and-miss effort on finding out which approach is the fastest, whether the vendors own ui is faster or not and if there are any _really_strange_ bugs(and finding out the right keys, for example on 3650 only one direction on the pad can be pushed down at once but all the other keys don't jam each other), i only hope midp2.0 fixes some of this.

      that being said for fast, efficient, small(!) j2me game i wouldn't use scripting unless i could somehow justify the scripts to be loaded over the air when needed, or if i was just bitchy enough to call levels laid out in ascii scripting.

      native symbian code runs certainly fast enough anyways(c64 and gameboy emulators among other stuff..).

      --
      world was created 5 seconds before this post as it is.
  2. BeanShell - Embeddable, Java compatible scripting by patniemeyer · · Score: 5, Interesting

    It is interesting that this article appears this morning, because I have just now posted the first beta of BeanShell version 2.0.

    For those of you who don't know: BeanShell is a light weight, LGPL, pure Java Java source interpreter with a minimal footprint of less than 150K (and getting smaller). In addition to interpreting standard Java code, BeanShell extends Java into the scripting domain in a natural way by allowing loose types, method closures, commands, and other obvious scripting language features. And because BeanShell runs in the same VM with your app, you can freely pass "live" objects into scripts and back.

    BeanShell is already widely distributed with Emacs, Weblogic app server, Sun's NetBeans/Forte, and many other commercial apps and non-commercial apps.

    With version 2.0 BeanShell adds (bugs withstanding) full Java compatibility and the ability to script true Java classes. Scripted classes appear to outside Java code and by introspection as ordinary classes but are fully dynamic and may include arbitrary scripts in their bodies, methods and constructors.

    Please check out www.beanshell.org for more and check back for updates on 2.0 in the near future.

    Thanks,
    Pat Niemeyer
    Author of Learning Java, O'Reilly & Associates and the BeanShell Java scripting language.

  3. All applications need scripting... by heironymouscoward · · Score: 4, Insightful

    What's true for the Sims and mobile apps is just as true for business applications.

    The first trick is to define a language that expresses the highest level of abstraction you can, thus giving your developers the most powerful modeling tool they can get. The second trick is to do this economically. Hehe.

    My team does just about everything with scripting, using XML languages as the scripting language and a code generator (GSL) as the metaengine. It's a good combination that lets us hit any level of abstraction we need to. Using XML is a bit clunky, but it gives us a single syntax (and single parser) for all our scripting languages. GSL... well, that's another story. Let's just say it does this kind of thing wonderfully.

    --
    Ceci n'est pas une signature
  4. All applications need scripting.... by wowbagger · · Score: 5, Informative

    All applications need scripting, scripting needs to be cross-application (one script controlling more than one app) and that scripting needs to be available to the common user if they wish to use it.

    This is one of the areas where I feel Windows fell down on the job - while COM allows all applications to make their functionality available to scripting languages, Windows does not provide a default scripting language that is universally available. Yes, Visual Basic will script things, but it is not a default part of a standard Windows install.

    DOS had scripting of a sort (batch files), and people used that feature. However, DOS could not script every application, and batch files were missing key elements needed to make them anything more than linear sequences of commands. (Yes, batch files did have IF, GOTO, and so on, but try looping over a set of files, or taking the output of one file and using it on the command line of another file).

    Unix has many scripting languages available to it (Perl, Python, TCL, in addition to bash, tch, et. al.), and at least one of them will usually be installed by default on a modern system. They can script command line apps like nobody's business, but unfortunately the more modern GUI apps provide much less scriptablity. CORBA and Kparts might help this if they were more commonly available. This is an area Unix-like environments (including MacOS) need to really improve in.

    Granted, J. Random User may not want to get his hands dirty writing scripts, but think about it - if you, the person JRU turns to for help, could KNOW that scripts were available, how much better you could help the poor guy out.

    1. Re:All applications need scripting.... by Kunta+Kinte · · Score: 4, Insightful
      Unix has many scripting languages available to it (Perl, Python, TCL, in addition to bash, tch, et. al.), and at least one of them will usually be installed by default on a modern system. They can script command line apps like nobody's business, but unfortunately the more modern GUI apps provide much less scriptablity. CORBA and Kparts might help this if they were more commonly available. This is an area Unix-like environments (including MacOS) need to really improve in.

      Right.

      That's a separate issue though. Unix needs a universally accepted binary component protocol. We need one badly.

      Traditionally we've always used libraries to share functionality amongst seperate programs. But libraries make it difficult to make decisions at runtime, and discovery of shared libraries at runtime is primative at best ( LD_LIBRARY_PATH, etc. ). Most component archs/protocols offer a registry for finding exported interfaces, ie. functionality, at runtime. The application just needs to know the version of the interface it requires. eg. the application asks 'I need SpellChecker Interface v 0.5, does anyone provide that?' A KDE module may respond, a Java module may respond or a GNOME module may respond.

      I believe GNOME with bonobo, KDE with kparts, and JCP with Java's Corba/RMI need to get together and work out a baseline common binary component standard. That's wishful thinking, granted, but doing so would do the linux community a world of good.

      --
      Based on upvotes, Ageism is the only "-ism" Slashdotters care about and think isn't SJW
    2. Re:All applications need scripting.... by fireboy1919 · · Score: 5, Informative

      I think you're forgetting about a language.

      Windows can be scripted with Jscript or VBScript using WSH (Windows scripting host). Jscript is very, very similar to javascript (I think that javascript may actually be a subset of jscript), which is universally available.

      As far as being "a part of the standard Windows install," I suspect it depends upon your version of Windows. I know it comes with W2k, and doesn't with Windows 98, but I can't speak for the rest.

      Still, I'm not sure that this is a good thing. Windows doesn't insulate itself against scripting attacks very well at all by running parts as different users. So anyone with WSH installed could be in for a world of hurt if a bad script comes along in viral form.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
    3. Re:All applications need scripting.... by mangu · · Score: 1

      However, in order to use scripting, windows applications need to be created with scripting capability from the start, right? Can you take any old windows app and create a script like this: "clink on that button, insert this text there, etc"? If this were possible, I would have a good application for it, testing changes in legacy applications.

    4. Re:All applications need scripting.... by mattkime · · Score: 2, Informative

      This is an area Unix-like environments (including MacOS) need to really improve in.

      Actually, I'd like to make the argument that Mac OS X has a perfectly good scripting environment for its GUI apps - AppleScript.

      Yes, apps do need to support AppleScript on an individual basis. All AppleScript apps can speak between each other. And with Apple's recent addition of the AppleScript Studio, the script itself can have a GUI interface as well.

      The thing that is difficult about adding a scripting language to a GUI is that your interface changes quite a bit. Components of the app need to be accessible as objects whereas most command line scripting passes around text.

      For anyone who wants to complain about the AppleScript language itself, its features can be accessed from your favorite scripting language - I believe python and perl are already available.

      --
      Know what I like about atheists? I've yet to meet one that believes God is on their side.
    5. Re:All applications need scripting.... by fireboy1919 · · Score: 1

      For the most part you can script any app. WSH works with dde and com, and that covers pretty much all applications.

      It's not done frequently, though.

      --
      Mod me down and I will become more powerful than you can possibly imagine!
  5. Scripting on a Pentium I class hardware? by tjstork · · Score: 0, Redundant


    Scripting on handhelds? For action games surely you jest.

    --
    This is my sig.
    1. Re:Scripting on a Pentium I class hardware? by mrlpz · · Score: 1

      You're right....they've got to be kidding...if you look at the crop of current J2ME-based games and compare them to the C++ apps that are out there, and there's simply no comparison for speed.

      Of the few ( XForge, Xen ) 3D engines out there, they're being written in ARM ( for those phones which are based on such ) assembly.

      Mobile Phones ( perhaps Wireless Internet connected PDA's ) are nowhere near powered enough to handle the majority of the aspirations most J2ME game developers would "LIKE" to place upon it.

      I think the problem is more financials based, than technically based. Certainly, faster processors are available in a form factor that can deployed on a cell phone. But, then you have to consider things like the extra cost of the processors, and re-engineering, heat issues ( OS CODE Issues ! ), etc, etc.

      Smartphones are FAST approaching the realm where they may be viable in the respects that the article ( and some of the posters here say ) says, but we're still a fair bit a ways away from that.

  6. didnt even scratch the surface by drfrog · · Score: 1, Redundant

    a lot of the best games out there are deployed via wap and sms

    and he didnt even mention them

    obviously this article was to push developers to use j2me!

    also xml is great for translating between different mobile devices

    --
    back in the day we didnt have no old school
  7. Pointless layers of emulation by Anonymous Coward · · Score: 0

    The previous poster rightly complains that Java is slow and impracticle on cell phones. And you propose to add a layer of interpretation? Totally impracticle.

    1. Re:Pointless layers of emulation by patniemeyer · · Score: 3, Informative

      I'm not going to argue about specific cell phone implementations, but let me just point out that Java was *designed* to run on cell phones.

      People used to complain that Java was too slow for all sorts of applications... Have you noticed that they have been very quiet for the past few years? It's all about getting a good VM wedged into the device.

      BeanShell is not the fastest implementation possible, but it does internally compile and perform many optimizations. It should be fast enough for a lot of applications to use it effectively.

      Thanks,
      Pat Niemeyer

    2. Re:Pointless layers of emulation by Anonymous Coward · · Score: 0
      No, you're wrong: Java was *designed* to run on set top boxes, not cell phones. Very different devices.

      You are trying to add another slow thick layer of emulation to Java. What are tangible benefits of your extra layer of interpretation? Cell phone developers are trying to squeeze as much performance out of the phone as possible, and your system gobbles up those scarce memory, cpu and bandwith resources, without providing any tangible benefits. The cell phone already runs Java, so what does your layer add to Java that's worth taking such a hit? None of the features you mention are difficult to program yourself or do without.

      There is no reason to actually *develop* scripts on the cell phone itself. Sane people develop code on a desktop computer with a debugger, text editor, big screen and keyboard. Nobody in their right mind actually wants to develop code on a cell phone itself, keying in Java programs on the touch-tone pad. The scripting language engine in the cell phone should execute the scripts, not support developing and debugging them.

      Have you or anyone else actually ported BeanShell to a cell phone and used it for anything practical? Or are you just jumping on the cell phone bandwagon for attention to shill your product?

      Do you have any real success stories from real cell phones running real Java applications actually benefitting from features unique to your product, or are you just another hyping Java cheerleader who loves to make stuff up like Bill O'Reiley?

    3. Re:Pointless layers of emulation by Anonymous Coward · · Score: 0

      why bother, use jython. better support, far more stable. JAUSL (just another useless scripting language) IMHO

  8. Re:BeanShell - Embeddable, Java compatible scripti by Jhan · · Score: 1

    BeanShell... pure Java Java source interpreter

    So, it's not only slow as molasses in Antartica, it's actually even slower? Giving you 3,4,5 nice abstraction layers on a platform (the article is about cell phones) that is slow in pure assembler? Gotta check that out.

    --

    I choose to remain celibate, like my father and his father before him.

  9. GSL? by SimHacker · · Score: 1

    Implementing special purpose scripting languages with XML is a great idea, and works quite well. What is GSL? And what do you REALLY think about it? -Don

    --
    Take a look and feel free: http://www.PieMenu.com
    1. Re:GSL? by Anonymous Coward · · Score: 0

      Implementing special purpose scripting languages with XML is a great idea, and works quite well

      HAHAHAAHAAHAH! PLEASE KILL YOURSELF NOW!

    2. Re:GSL? by JMZero · · Score: 1

      GSL is usually written G/S/L, and stands for "Goals/Sex/Language?". It's a common question on the "Seven Habits of Highly Effective Daters" chat rooms.

      --
      Let's not stir that bag of worms...
    3. Re:GSL? by heironymouscoward · · Score: 1

      Note that the original article discussed scripting as a development tool, not as an automation tool for end users. It's in this context that I like XML.

      Yes, it's clunky, but it works exceedingly well if you have the tools to handle it. GSL is the "generator scripting language", a tool made by iMatix and distributed as part of their RealiBase package, a rather large and eclectic collection of OSS tools.

      Personally I find GSL extraordinary, but totally outside the scope of this discussion. I simply can't imagine working without it: like I said, most of our development centres around high-level XML scripting. GSL is the engine that turns these into whatever code we actually have to run. gsl (the tool) interprets scrips in GSL (the language) which compile the XML into a target language. When we're faced with a new problem domain, we spend some time understanding it, and then we define one or more XML language that implements the highest-level scripting model we can design. We build code generators in GSL that take these models and turn them into code. GSL is beautiful for this because the language is intimately tied to XML, and very tight, and so we can build maintainable code generators of thousands of lines.

      It's very close to the model described in the article to build plugins for the Sims, except that we compile, not interpret the scripting language. This is not a critical matter: the important thing is that the language exists and allows a developer to think at a higher level, so work better and faster.

      You'll find various references to GSL on the web, but most people still use a very old and limited version. The more recent releases are closer to "normal" languages but still have the ability to swim in XML like penguins under the ice.

      Feel free to ask me more questions on GSL. I happen to know the authors quite well. I once asked them why they did not publish the tool more widely, instead of hiding it inside RealiBase. Their answer was something like this:

      "We made the tool because we needed it. We share it because we share everything we can't sell. We don't spend time publicizing it because we enjoy the vicarious pleasure of people discovering it and saying "what the heck?!" And we have other axes to grind."

      --
      Ceci n'est pas une signature
  10. Re:BeanShell - Embeddable, Java compatible scripti by patniemeyer · · Score: 3, Interesting

    BeanShell is a general Java scripting and extension language. It just happens to be small enough to be useful in some embedded applications.

    If it's too slow for a particular application then just compile that code. That's the beauty of a Java *compatible* scripting language... see?

    Pat Niemeyer

  11. What does he mean by "wireless"? by jc42 · · Score: 1

    In reading the article, while agreeing with pretty much everything, I found myself getting more and more baffled by why the term "wireless" kept appearing. I couldn't find anything that had anything to do with wireless comms at all. It was all about developing new apps, but there was nothing at all mentioned in which the wireless nature of your machine was relevant.

    I mean, I'm sitting here typing this on my Mac Powerbook G4, which has no wires attached at all, and is getting to the Net via the Airport upstairs. But other than the driver for the NIC, I don't see anything anywhere that needs to know that the machine is wireless. It's the Internet, after all; who cares how the bits get to the other machines. Well, yeah, the guy writing the device driver for the NIC cares. But why would anyone else?

    Speed? A dial-up phone connection is even slower, so that's not it.

    Portability of the machine? Why would a program inside the machine know or care about that?

    This guy seems to think you need to develop software differently for "wireless". What the hell is he talking about? I gotta admit I'm clueless.

    --
    Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    1. Re:What does he mean by "wireless"? by mikael_j · · Score: 1
      I think that what he meant with wireless was more along the lines of "Cellphone" than "Laptop".

      /Mikael

      --
      Greylisting is to SMTP as NAT is to IPv4
    2. Re:What does he mean by "wireless"? by mlk · · Score: 1

      Wireless == Phones/PDA, why I don't know, in my world it is still the Radio.

      --
      Wow, I should not post when knackered.
    3. Re:What does he mean by "wireless"? by Anonymous Coward · · Score: 0

      While you may be wireless, you're not Wireless. Sure, you can walk around your house with your laptop, but start walking down the street with it, and bye-bye goes your signal. (You're connected to your ISP with a wire).

      Also, a program inside a machine would know it's in a portable machine because it was developed for a handheld device with limited processing and (especially) battery power. Even if we had fuel cell powered phones that didn't need recharged for a week, it takes the space of a laptop to get powerful processing and video (and display real estate. heh, even if your phone could run Doom 3, just how much could you see in 300x240?).

      Also, bandwidth is an issue because most phone type plans are pay as you go. Unnecessary traffic means higher bills for the user.

      -Tim the AC Poster Child

    4. Re:What does he mean by "wireless"? by Anonymous Coward · · Score: 0

      Quote from article:

      Park contends that while wireless application development differs little from other application development, the market is changing quickly.

      and later:

      "Again, everyone should be using all the same development processes for wireless that they'd use for other software [...]"

      I think you misread this article, because it seems to me that he stresses how the development process is the same.

  12. scripted interfaces by Anonymous Coward · · Score: 3, Insightful

    i wish my phone had scripted menus and interface. you could change anything in the menu, add your own custom functions, etcetera.

    like taking a picture and uploading it to your web page and then bringing up a form for you to enter a caption.. or to run an executable to turn your voice mail into a text summary.. the possibilities are endless.

    i'm sick of hard-coded phone interfaces built for a particular type of user who is most often Not Me.

    1. Re:scripted interfaces by gl4ss · · Score: 1

      another reply pointed out to j2me.

      this is useless for the thing you're looking for, but you can do that in symbian(there's at least some apps like that for series60 phones).

      -

      --
      world was created 5 seconds before this post as it is.
  13. Is it just me.... by rollie_tyler · · Score: 1

    or is the appearance of this article and the last one a strange coincidence?

  14. Re:BeanShell - Embeddable, Java compatible scripti by los+furtive · · Score: 0, Offtopic

    So, it's not only slow as molasses in Antartica, it's actually even slower?

    Where do you get off saying this? Java hasn't been slow in ages. Repeating what others have told you is not the same as basing your opinions on fact.

    --

    I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

  15. Correction on BATs capability. by ShadeARG · · Score: 1
    (Yes, batch files did have IF, GOTO, and so on, but try looping over a set of files, or taking the output of one file and using it on the command line of another file)
    Ah, good ole batch files. Yes, they can do the first task you mention just fine (albeit extremely mundane compared to shell scripting).

    To work with a set of files, try something similar to this in a batch file:

    @ECHO OFF
    FOR %%f IN (*.txt) DO TYPE %%f


    There are work-arounds for using the output of a program to another command line in a batch file, but they involve a psuedo-command batch file to
    set the output to a temporary environment variable. Quite ugly in fact, I dare not scrawl such funk here.

    Obviously, shell scripting methods are preferred over batch files.
  16. then... by zr-rifle · · Score: 1

    unleash teh script kiddies!

    --
    Hack your mind out of its sandbox.
  17. We Do need mobile device scripting,.. viruses by Anonymous Coward · · Score: 0

    definately, we have viruses on every other platform, and even some in the moble device platform, but just think about how easy it would be to write a virus once they all have some scripting language. YAY!!

  18. Java is SLOW on cell phones by Anonymous Coward · · Score: 0

    Desktop PC's and web servers have gotten much much much faster, while Java has improved marginally while getting much much much bigger. But cell phones are still and will always be extremely limited in memory and speed, compared to desktop computers and web servers. Cell phones are NOT like desktop pc's or web servers. They run on batteries, and they're designed to be slow on purpose, so they use less electricity. Cell phones are necessarily slow, by design. So Java really is SLOW on cell phones!

  19. Makin' money selling lisences to crappy games by TyrranzzX · · Score: 1

    So, they want to flood the market with developers who make crappy games and insecure applications for the mobile phone, hence creating a market that the phone makers will make millions off of. Quarter-a-game Arcade on your phone, with cheaply produced games on demand, with phonebook on demand for a price, in otherwords.

    It boggles the mind at what kind of scams will be born out of this one, and what kind of privacy issues will come into the scene; Buisnessmen need their cellphones, but, they spend hours gaming on them instead of working, so how do we keep them from gaming? Exactly...

    Thank you God, it's a great time to be alive and to be a hacker. >:)

  20. lame by penguin7of9 · · Score: 1

    For creating mobile applications, scripting represents Park's secret weapon. "It sounds like an odd thing to do on small wireless devices, but I actually use a simple scripting engine," he says.

    People have been using scripting on small devices forever. Perhaps people still remember Microsoft Basic running on the Apple II, a 48kbyte, 8bit machine? Forth and Basic have been two of the most popular interpreted languages. And, in fact, scripts often reduce size and memory usage of programs.

    Oh, and in other news, the Pope is Catholic, and breathing air tends to keep you alive longer.

    1. Re:lame by Jonner · · Score: 1

      You're absolutely right of course. The exclamation that kept floating through my head as I read the article was, "Duh!"

  21. Yes, they need scripting - but that's not all by PierceLabs · · Score: 4, Insightful

    Having written a fair number of applications for cell phone J2ME and Symbian let me just say that all of the folks out there trying to blame Java for the woes of their cell phone being slow are barking up the wrong tree. The problem with speed is a function of the trivial amount of CPU that's available in the phone at this point. That is something that's getting better over time - as is the issue with RAM in the phone. Wireless applications need better CPUs, better input devices, and a better data network infrastructure (in the case of cellular networks) before they need scripting. That's not to belittle the position or to say that it isn't something that's important to someone out there - but the current condition of the phone from a technology standpoint is not well suited to to imposing a scripting engine that requires scarce resources. One has to look at the reality of the market as it exists and the devices within it before trying to add more stuff to it. Today as the devices stand - the vast majority of them just don't have the resources necessary to handle scripting. The situation is improving and one day we'll be at that point (12-18 months from now) - but today adding scripting to the resource starved devices is just not a good move... especially given that someone would in many instances have to download 150k of scripting framework onto the phone - a size larger than many wireless applications. When you consider that wireless users pay for this by the meg (or in some cases by the K), it becomes pretty clear that the market isn't yet ready for that.

    1. Re:Yes, they need scripting - but that's not all by greggman · · Score: 1

      Hmmm, thousands of 60hz games were made running on a 1mhz CPU (Apple 2, Atari 800, Commodore 64, NES). Maybe we should get rid of the Java :-p

  22. The Gameboy emulator is written in C, not Java by SimHacker · · Score: 0
    Here is the source code for the gameboy emulator for your nokia 3650:

    http://www.wildpalm.co.uk/GoBoy/GoBoy7650_12_src.z ip

    It looks to me like it's written in C, not Java. So how does that support your argument that Java on cell phones isn't slow?

    Since you're such a big Java fan, why don't you port the Gameboy emulator to Java, and find out first hand how fast it runs and how much memory it requires? Please report back -- it will be very interesting to know how much bigger and slower the Gameboy emulator is, after being rewritten from C to Java. Good luck!

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  23. You mean like... by exp(pi*sqrt(163)) · · Score: 1

    ...this done in the seventies? Everyone in the games business knows this. What did this guy get paid for this article?

    --
    Doesn't it make you feel good to know that our freedoms are protected by politicans, lawyers and journalists.
  24. Correction: C and Assembler Code by SimHacker · · Score: 1
    Sorry, I was wrong. The Gameboy emulator for the Nokia 3650 written in C and Assembler Code, instead of Java. It's not "100% Pure C".

    Now what are you talking about how the Gameboy emulator written in C and Assembler proves that Java runs fast on cell phones?

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  25. Disagree by DrMrLordX · · Score: 2, Insightful

    I don't have too much experience with current mobile devices, but I'd say that they need a bit more processing power/memory/etc under the hood before any really good, serious scripting can be done for them. The cell networks also need to become a good bit more reliable(at least in the US). My parents still can't get proper coverage for their cell phone at their home due to geography.

    So, while you(and the main article) make some interesting points, I think that it's a bit too early to talk about scripting.

    The article also strikes me as being a bit of a propaganda piece.

  26. BeanShell in Emacs ... or Erlang for wireless by axxackall · · Score: 2, Interesting
    BeanShell is already widely distributed with Emacs

    In my life I've downowded and installed hundreds (if not thousands) of Emacs distributions for at least a dozen of platforms. And I had never had a chance to find BeanShell there. Where do hide it? Or is it possible that you have just mistaken Emacs with vi? How dare you! Oh, by the way, what is the model of the wireless phone that has Emacs in it - I want that phone now!

    On a serious note, Java is specially designed to be not scripted - statically typed, eager evaluation, run-time only after a compiler. Every attempt to bring scriptability to Java is making it even slower and even requiring more memory. I've tried BeanShell, Jacl, Jython, Kawa - none of them are good for mobile aplications. All by exactly the same reason: Java itself is the worst case of scenario for embedded applications. Of cource due to its resource requirements.

    What's wrong to use scripting language directly, without Java? If you are addicted to imperative semantic (let's say you worked too long with C/C++, and Java and "program" for you is a sequence of commands) then use Python: compact, fast (enough for scripting, at least much faster than any scripting exte4nsion for Java), OOP, widely distributed (not with Emacs, but with many operating systems... just kidding). If you don't have such "imperative" addiction then try Erlang: that langauge has been specially designed for being used in mobile (at first in wireless, but now it's not limited to) applications, it's compact (more compact than JVME), fast (faster than JVME, often as fast as C++), high-level scripting (aka functional-logical) language for disctributed and mobile applications. IMHO ideal choice.

    --

    Less is more !
    1. Re:BeanShell in Emacs ... or Erlang for wireless by glenstar · · Score: 1

      Let's not forget Lua. Nice ANSI (or close to ANSI) C implementation, light, fast, easily embeddable, and with a simple syntax. I remember that with version 4.0 you could strip the distribution down to less than 50k. Yep... 50k. There are several commercial games that use Lua as their scripting engine. It's worth a look for mobile phones.

    2. Re:BeanShell in Emacs ... or Erlang for wireless by mlk · · Score: 2, Informative

      It comes with the JDEE.

      --
      Wow, I should not post when knackered.
    3. Re:BeanShell in Emacs ... or Erlang for wireless by mlk · · Score: 1

      I believe you need 64k min for a J2ME mobile, that is 32k for your app, and 32 for the implementation (including APIs).

      You could not fit either beanshell (at a masive 150k) or Lua (at a could-fit-it-in-a-highend-phone 50k).

      --
      Wow, I should not post when knackered.
    4. Re:BeanShell in Emacs ... or Erlang for wireless by axxackall · · Score: 1

      32K is only for compiled apps. No scripting available at such level.

      --

      Less is more !
    5. Re:BeanShell in Emacs ... or Erlang for wireless by Jonner · · Score: 1
      32K is only for compiled apps. No scripting available at such level.
      Obviously, you've never heard of Forth.
  27. What's wrong with java? by autopr0n · · Score: 1

    Sure, scripting is easy, but so is Java. Now, you're probably not going to come up with these monster projects for tiny cell phones (yet) so the lack of scalability in most "scrypt-y" scripting languages.

    And anyway, isn't the line between "Scripting" and "Compiled code" kind of getting blurred. I mean Perl is far more verbose then plain C. Scheme and Lisp (which are designed to be interpreted textually) are more difficult for more people then Java.

    To me "scripting" these days basically means a language that makes it easy to write and modify quick little one-off applications, while "programming languages" are designed to scale to huge projects. But that doesn't mean that "Programming languages" can't be used for small one-off apps.

    --
    autopr0n is like, down and stuff.
    1. Re:What's wrong with java? by mlk · · Score: 1

      After reading the article, I think you could do what he is after with Java.
      He really after extensability, which is a side production of well designed OO app, and the use of game created SPIs.

      --
      Wow, I should not post when knackered.
    2. Re:What's wrong with java? by Jonner · · Score: 1

      I agree with your general sentiment, but your details are a little off. Are you seriously suggesting that it takes more characters of Perl than C to accomplish a certain task? While the earliest Lisp interpreters may have been "pure" textual interpreters, almost all modern implementations compile either to an intermediate form or to native code.

      You're right about the line between "scripting" and "general purpose" languages being blurred.

  28. Does it have JIT? by autopr0n · · Score: 1

    One of the cooler things about Using the JVM as a scripting platform is that you can write a simple script->bytecode JIT, and have the actual JVM compiler recompile your bytecode into actual machine code.

    But I doubt most cellphones have a JIT...

    --
    autopr0n is like, down and stuff.
  29. There's windows script host by autopr0n · · Score: 2, Insightful

    Actually I think VBA comes with windows. After all, those .vbs viruses didn't seem to have much trouble finding hosts :P

    --
    autopr0n is like, down and stuff.
  30. No.. no! by TheCrunch · · Score: 1

    "No.. no! You need to set your phone to not execute scripts from uncertified SMS! And remember to always disable ActiveX MMS components!"

    Mmmmm future..

    --
    My life is one big siesta in which I'm dreaming I wished my life was one big siesta.
  31. Hum... by autopr0n · · Score: 1

    Your phone probably supports J2Me, so you might be able to write code in java and upload it to the phone. Check out http://java.sun.com/j2me/. I'm not sure how much of the cell's functionality is exposed to the jvm. But if you can get to the Camera and do IP you should be set.

    --
    autopr0n is like, down and stuff.
    1. Re:Hum... by ymgve · · Score: 1

      J2ME only exposes a SMS send capability to the app, all the rest of the phone is inaccessible..

  32. Offopic (was: Re:BeanShell) by Anonymous Coward · · Score: 0

    ok, wrong time and wrong place to say this: but as a v1 user, I have to say -- BeanShell rocks my world. Thanks for some amazing software!

  33. Re:BeanShell - Embeddable, Java compatible scripti by Anonymous Coward · · Score: 0

    Errr, most Mobile processors run bytecode natively.

  34. Just say: "No!" to XML! (Re:GSL?) by mi · · Score: 1
    Implementing special purpose scripting languages with XML is a great idea

    I totally disagree. The resulting "scripts" are just as unreadable as plain code, while taking millions times longer to execute.

    If you need a scripting language -- pick an existing one. TCL is _the_ scripting language. Python is close, but has a messy C API. Perl? Well, may be, although I tend to think of it as a "write-only" language (you can't read it)...

    But -- for the sake of us all -- don't invent a new wheel, and certainly don't wrap it into XML -- it is a _data_ description language, not _code_ description.

    --
    In Soviet Washington the swamp drains you.
  35. Re:fp by Anonymous Coward · · Score: 0

    >The only pussy round here is the pink taco.

    Who's the 'pink taco'? Commander Taco?

  36. One more thing by heironymouscoward · · Score: 1

    If you go and search for GSL, look under its old name, "gslgen".

    --
    Ceci n'est pas une signature
  37. A scripting language isnt Perl by vague · · Score: 1

    And whooooosh, there goes the article flying way above most posters head. Where did he say he thought using Python or any main stream scripting language for developing entire mobile apps on today's hardware was a great idea?

    I believe he was talking about domain specific scripting language doing high level abstraction stuff. That's not the same thing as having the full script compiler (text interpreter) and a general purpose language on the phone. That probably refers to using stuff where a few script instructions invoke speedier compiled code with simple conditionals. Stuff like
    "if (keypressed up) move ship up",
    not "if (inkey blurb blurb) plot pixel 1, plot pixel 2, ...."
    or even "if (inkey blurb blurb) erase ship, ship position = ship position - 1, draw ship".

    High level really means that. A small (and these can be really small, a _few_ k is often plenty) bytecode interpreter with special purpose high-level commands can do wonders for productivity and can be plenty speedy. It's a very attractive technique for developing software.

    --

    -
    Listen. Strange women lying in ponds distributing swords is no basis for a system of government.

  38. Heh by autopr0n · · Score: 1

    I didn't mean that it took more code to write something in perl then in C, but rather that Perl has much more syntax.

    --
    autopr0n is like, down and stuff.
    1. Re:Heh by Jonner · · Score: 1

      Perl does seem to have more complex, feature-ful syntax than C, but that's not what "verbose" usually means in the context of programming languages. Perhaps "rich" or "bloated" might better terms to describe Perl syntax, depending on your feelings on the matter.

  39. Can anyone say virus medium? by Anonymous Coward · · Score: 0
    Mobile game developer Tom Park believes that scripting for wireless devices is important for proficiency sake.

    Oh great, just what my cell phone/PDA needs. Java and Visual Basic based viruses...

  40. Re:BeanShell - Embeddable, Java compatible scripti by Jhan · · Score: 1
    Where do you get off saying this? Java hasn't been slow in ages. Repeating what others have told you is not the same as basing your opinions on fact.

    I am a programmer, and maintainer, of a large Swing application (used by many hundreds) in Sweden. We had to go to extreme measures to bring the app even remotely up to speed (2001). Never allocate a frame before you have to, pool Swing objects, and so forth.

    Even so, our program was VERY slow compared to the VB predecessor. We nearly lost the contract.

    1.2 and 1.3 helped a lot. As in slower than a 2 tonne chunk of granite versus a 1 tonne chunk of sandstone. We now have 1GHz+ machines, but we're still talking about 5-10 seconds to to bring up a complex frame that took ca. 0.1 seconds in the VB implementation. 10 second garbage collects are not unusual.

    I guess you are going to say that Swing is known to be slow. What the hell should we use? AWT won't cut it, external packages like SWT are impossible. We're firmly up shit creak here (which is why I'm so cranky :-).

    For extra credit: Write a small essay on how JIT:ed Java can be faster the C++. Then perhaps a piece on how C++ can be optimized farther that pure C, followed by a write-up on how modern C compilers produce faster assembler then a human programmer ;-)

    --

    I choose to remain celibate, like my father and his father before him.