Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Google Microsoft Programming Apple

Why Can't We Put a BASIC On the Phone? 783

theodp writes "In the Sixties, we could put a man on the moon. Nowadays, laments jocastette, America's tech giants can't even put a BASIC on the phone. Woz managed to crank out a BASIC interpreter for the 6502 in the '70s. As did Bill Gates and Paul Allen. So, why — at a time when development has never been easier — can't Google, Apple, and Microsoft manage to support a free BASIC or other programming-for-the-masses development environment on desktops, laptops, tablets and phones?" My limited experience with Android development showed using Java to be obtuse and downright obnoxious to do anything (at least without Eclipse, and even with it doing anything non-standard required digging through horrendous ant buildfiles). And, of course, without a REPL things were even more obnoxious. There is the android-scripting project, but it doesn't provide particularly exhaustive access to the platform.
This discussion has been archived. No new comments can be posted.

Why Can't We Put a BASIC On the Phone?

Comments Filter:
  • by symbolset ( 646467 ) * on Monday December 26, 2011 @07:15PM (#38498022) Journal
    If you want BASIC for your phone, make one.
    • by impaledsunset ( 1337701 ) on Monday December 26, 2011 @07:32PM (#38498230)

      You can't get BASIC for your phone for the same reason you can't get a reasonable BASIC for your average GNU/Linux distro. It's just not that good and it only teaches you bad habits, and in the end - it's just not useful. It's not that good language for the masses as it is advertised, and you can't do much in it.

      Why not Python? It's a very easy language in which you can write something significant with the least effort and it has a very steep learning curve. It's easy, it's powerful, and if you ever plan to become a real programmer - it teaches you good programming habits.

      That said, I've added CHDK to my Canon camera, and it allows you to extend it with UBASIC scripts. It's one case where a BASIC variant is actually useful, because it's rather easy to implement, and it's used mainly for tasks that are quite suitable for it in their extreme simplicity. Can you give an example - what do you like to script in BASIC on your phone? Maybe you can support BASIC in your app in a way similar to CHDK!

      • Re: (Score:3, Interesting)

        Funnily, Microsoft is the only one providing stuff like TouchDevelop [microsoft.com] for their phones. It even says on their page "bringing the excitement of the first programmable personal computers to the phone", so it's particularly well suited for what this whole story is about. It's better than Python too, as it's specifically targeted at touch phones (and Python is horrible with its indents for code blocks like if and for - seriously?). Yet Slashdot crowd likes to discredit MS everywhere they can and hope that Window
        • Re: (Score:3, Insightful)

          by Anonymous Coward
          Touch develop is a cut down limited pile of shit. The scripting layer for android [google.com] walks all over it. Furthermore, if you don't like python, you can use perl, beanshell, PHP, ruby, shell script, JavaScript and more. Much more of the android API is exposed through the sl4a than with touchdevelop. As far as slash dot giving Ms credit, you're a slash dot poster and you're giving them credit. Disingenuous credit but credit nonetheless so stop bitching.
        • by caseih ( 160668 ) on Monday December 26, 2011 @08:11PM (#38498612)

          If you say so. Sounds like you haven't done too terribly much with python. I dislike a lot of things about a lot of languages, but I can't say that any of them (well maybe except PHP) are "horrible." I despise curly braces but I can't make the claim that Java is a "horrible" language. Some are more awkward than others sure. There are many things you can complain about in python but whitespace formatting falls pretty far down the list. Having a 1:1 correspondence between my psuedo-code on paper and python code is extremely nice and productive too. Broken web sites and e-mail clients do make cutting and pasting python code problematic, I'll grant you that. But my experience with python has been much the same as ESR's. (And he had the same initial reservation as you.)

          I am bitter that Epiphany chose to tear out python and replace it with Javascript of all things. Sort of makes sense given that Javascript is an integral part of browsers. But still makes me sad. Python is such a good language for writing extensions in.

        • by symbolset ( 646467 ) * on Monday December 26, 2011 @08:57PM (#38498988) Journal

          The entire basis for this slashdot article is a Y-Combinator blog post from a poster with 3 Karma with 4 comments from 7 hours ago lamenting that there's no full package for developing for phones produced by the OS vendors. The "Boot to BASIC" thing is a retrocon issue more appropriately stated "and we wore onions on our belts" (a sin of which I am also guilty). While I applaud the /. rapid response on this critical issue the underlying assumption that these things don't exist is simply untrue. You'll find the Android SDK here [android.com]. If you prefer an easier install - especially if developing for nVidia Tegra (but not exclusively) you will find that here [nvidia.com]. The equivalent iOS version is here. [apple.com] If you must have it, the Windows Phone SDK can be found here [microsoft.com].

          And yes, all of these things are for developing the app on a PC and deploying and testing on a phone or tablet. Much like the designers of landing gear for the 787 don't machine their prototypes out on the tarmac at Boeing field like their progenitors did, mobile app designers now prefer sitting in a comfortable workstation with a comfortable chair with decent compile times, multiple monitors, a reasonable keyboard and mouse, printing and debugging support rather than developing software on the device itself.

          Booting to BASIC (or as was the case on the IBM 5100, APL) was very useful at that time because there were no apps - in some cases no media reader to store or load apps if you could get them on media. We got our apps by buying magazines or such, and manually typing the code in and debugging the typos. That day is long gone, and that's a good thing. Even Windows Phone has thousands of apps and a publicly available SDK - though for me the cyanogen and Android route would be more fun.

          Now how did this manage to hit the front page of /.? I smell a rat.

        • by shutdown -p now ( 807394 ) on Tuesday December 27, 2011 @01:40AM (#38500338) Journal

          WP7 has TouchDevelop.

          Android has several BASIC interpreters, JS, Lua , Ruby, and a couple of custom-designed languages in the Market.

          You were saying?

      • by Lumpy ( 12016 ) on Monday December 26, 2011 @07:54PM (#38498444) Homepage

        "You can't get BASIC for your phone for the same reason you can't get a reasonable BASIC for your average GNU/Linux distro. It's just not that good and it only teaches you bad habits, and in the end - it's just not useful. It's not that good language for the masses as it is advertised, and you can't do much in it."

        This is the exact same mantra the computer geeks had about Microsoft BASIC when it came out for the altair. they were wrong then and you are wrong now.

        Microsoft got RICH off of that useless language, and it was pirated like crazy. BASIC is very useful for the average joe as they can do simple things with it. It's why Office scripting is done with BASIC and not C#

        That said, the reason we don't have a nice "visual basic" for phones is because Apple and Google does not WANT that on the platform. They do not want people writing their own apps easily. It's not profitable to allow everyone to write their own custom apps.

        • Re: (Score:3, Insightful)

          by LWATCDR ( 28044 )

          We don't have a nice "Visual Basic" for smart phones because.
          a. Visual Basic is a Microsoft language.
          b. Most programers don't want Basic at all. Really Basic is so limited in it's standard from that it is about useless.
          Java is not hard to use. Really take a look at the vast number of apps on Android and IOS and the whole idea that Google and Apple do not want people writing their own apps is just dumb.
          You can get the Android SDK for free and start writing what ever you want. Add in the fact that you have a

        • by amRadioHed ( 463061 ) on Monday December 26, 2011 @10:13PM (#38499460)

          That said, the reason we don't have a nice "visual basic" for phones is because Apple and Google does not WANT that on the platform. They do not want people writing their own apps easily. It's not profitable to allow everyone to write their own custom apps.

          Whey did Google create this [appinventorbeta.com] then? It sure looks like an attempt to enable app making for everyone.

        • Because BASIC on the Altair was useful. BASIC on a smart phone though? On the Altair you were highly limited in memory. BASIC let you write useful stuff while being highly compact in a chunk of memory that would not support compiler. When people used BASIC on the Altair they were doing very advanced stuff much of the time, ie, PEEK and POKE to make the hardware do what they wanted, stuff learned from writing assembler not stuff that beginners would do.

          We've advanced beyond those days. We have more mem

      • by narcc ( 412956 ) on Monday December 26, 2011 @08:05PM (#38498556) Journal

        it only teaches you bad habits

        Bullshit. What bad habits are you imagining? I'm willing to bet that you're just parroting nonsense, and that you don't actually know.

        Even old unstructured BASIC taught you the skills and techniques necessary to structure and organize your code when you moved on to an assembly language. Moden structured BASIC is a nearly perfect introductory language. (That is, the language stays out of your way, letting let learner focus on the task, not niggling details.)

        . It's not that good language for the masses as it is advertised, and you can't do much in it.

        Bullshit. It WAS the language for the masses for decades. Millions of programmers got their start with BASIC -- Either via teletype or their home micro. From the early 1970's all the way into the mid/late 1990's

        Oh, and WHAT exactly can't you do with BASIC? I seriously doubt that you can answer that question, or have even put a moments thought into your ridiculous comment.

        Why not Python?

        Don't get me started. Python as a beginners language is a JOKE compared to BASIC. Of course, you Python zealots refuse to recognize the serious problems with your favorite toy.

        • by Anonymous Coward on Monday December 26, 2011 @08:26PM (#38498738)

          "you Python zealots refuse to recognize the serious problems with your favorite toy"

          Bullshit. What serious problems are you imagining? I'm willing to bet that you're just parroting nonsense, and that you don't actually know.

          • Re: (Score:3, Interesting)

            It's easy to "magically" do things in Python without being forced actually come up with real algorithms, though that's a strength as well as a weakness. It's good as a time-saving abstraction to all those academics with no background in programming who now have to program, especially for bioinformatics. SciPy and NumPy come to mind.

            I would not recommend it as the first programming language of a noob seriously interested in computing because of the automatic type handling and all the other stuff that prev
          • by A12m0v ( 1315511 ) on Monday December 26, 2011 @09:30PM (#38499212) Journal

            White spaces

          • by OeLeWaPpErKe ( 412765 ) on Monday December 26, 2011 @09:32PM (#38499228) Homepage

            While I am very reluctant to mention this problem : speed. Now I am very, very tolerant of speed issues in scripting languages, as I know it doesn't really matter. But python ... python is an absolute disaster. Python claims execution speed doesn't matter because it's easy to use, then encases your legs in concrete. The argument justifying that one ? "It's very easy to move 0.01 cm".

            So here's the issue : you always get the impression python can be used to do calculations, python claims to be capable of them. And indeed it's syntax seems to allow for more. So let's compare:
            1) C, C++, hell even Java : c = a+b (1 assembly instruction)
            2) CPython: c = a + b ( > 2500 assembly instructions)

            This means that a C program running on an 8086 will actually calculate faster than a python program running on a current pc.

            The speed of CPython is so bad that it regularly becomes a problem, and requires all sorts of complex solutions from massively parallellizing using numpy to rewriting half the project in C/C++. That's my main gripe with python. And numpy may approach (from a large distance, but at least not a factor 200 anymore) the performance of normal C/C++ loops, but if you use a numpy like vector processing library in C/C++ (there's many) you're back to a factor 200 or more distance from numpy.

            Second is memory usage. I made the mistake of loading in a year's worth of monitoring data using the obvious method : a class representing a datapoint. Result : 12 GIGS (in C++ doing the same thing to the exact same data resulted in 120 megabytes) ... Yes, again numpy can solve this ... but only by greatly increasing complexity and destroying the utility of 90% of python's language features.

            Third is the fact that python is very much a typed language, but the only available variable type is a void*, and it actually allows changing the type of a variable, which is a horrible, horrible mistake (and why ? out of some sort of obligation to the idea of dynamic languages supporting this monstruosity). Same for adding members to class instances after creation time. Horrible.

            Fourth, the massive complexity and time-dependencies that result from actually using dynamic aspects of the language, introducing tons of non-obvious dependencies on the exact execution order of the program. If these features are used they directly lead to classes that only become valid useful objects after 3-4 method calls and dependant on all sorts of stuff succeeding. Our style guide outlaws actually using the features that make python dynamic, and I doubt we're the only ones.

            Fifght, the fact that the dynamic nature of python makes it very hard to document libraries that make use of it.

            Sixth, you can't use static analysis on python programs. So ipython just about the best possible autocomplete you can get (ie. autocomplete can only work by executing the program you're trying to develop)

            *sigh*

            Program a bit in haskell. Now, haskell's pedantic too, no question there, but you will find 10 places python could be improved before you even get through the tutorial.

            • by nessus42 ( 230320 ) <doug AT alum DOT mit DOT edu> on Monday December 26, 2011 @10:50PM (#38499648) Homepage Journal

              While I am very reluctant to mention this problem : speed. Now I am very, very tolerant of speed issues in scripting languages, as I know it doesn't really matter. But python ... python is an absolute disaster.

              You apparently weren't all that reluctant, since you went on for quite a few paragraphs, and yet little of what you said had any merit. First of all, what does anything you have to say have to do with whether or not Python makes a decent introductory programming language? Python is the introductory programming language at MIT. Are you saying that you know better than the entire MIT Electrical Engineering and Computer Science faculty. Furthermore, you seem completely oblivious to the tradeoffs between dynamically typed and statically typed languages. As a result of these tradeoffs dynamically typed and statically typed languages excel and different sorts of things. For large projects, statically typed languages often fair better, due to catching errors earlier. For smaller projects, however, the flexibility of dynamically typed languages is often a huge boon. For instance, I've completed programming projects in a day in Python that would have taken me a month in C++. On the other hand, I'm not so sure I would have wanted to work on a project with a couple of dozen programmers all working on a giant Python programmer.

              Regarding speed, Python is not particularly slower than other scripting languages. It is about the same speed as Perl. It is much faster than either Ruby or Tcl. The kind of rant you have made, which demonstrates absolutely no understanding of the tradeoffs involved or of the advantages of the technology that you criticize, is almost always uninformed flamebait that speaks more about the author of the flamebait than of the topic under discussion.

              |>ouglas

              • by OeLeWaPpErKe ( 412765 ) on Monday December 26, 2011 @10:56PM (#38499672) Homepage

                Seven: each time you mention the speed issue, which obviously exists and thoroughly limits python, the only response consists of ad-hominems.

                I almost forgot about that one.

              • by Jeremi ( 14640 )

                I'm not so sure I would have wanted to work on a project with a couple of dozen programmers all working on a giant Python programmer.

                Actually, that sounds like it would be pretty awesome, if only because once we finished we could use him to intimidate Stroustroup.

            • by digsbo ( 1292334 )

              So let's compare: 1) C, C++, hell even Java : c = a+b (1 assembly instruction) 2) CPython: c = a + b ( > 2500 assembly instructions)

              This means that a C program running on an 8086 will actually calculate faster than a python program running on a current pc.

              Honest question - are you counting the 2500 instructions for program startup? If there are 2 addition operations, is it 5000 assembly instructions, or 2501? If the latter, does this matter for the majority of user applications? If you think it matters, tell me why would I care if a program takes a hundredth of a second to start up, but executes reasonably quickly once it's loaded?

            • by rev0lt ( 1950662 ) on Tuesday December 27, 2011 @12:50AM (#38500134)

              1) C, C++, hell even Java : c = a+b (1 assembly instruction)

              Actually, in most environments that would be compiled as at least 2 instructions, assuming the compiler was optimizing for register use. There are some marginal cases where you can actually combine the operation if calculating a offset address, but by your code I doubt that's the case. And that is, of course, assuming a and b are <=16-bit integers, so you can actually compare them on a 8086.

              This means that a C program running on an 8086 will actually calculate faster than a python program running on a current pc.

              Probably yes. But do not assume that a 8086 will execute 1 instruction per clock cycle (heck, a 8/16/32bit mul on a 486DX takes up to 11 clock cycles!), and most modern processors with out-of-order execution will execute up to 3 instructions per cycle. The cache and RAM timing is often the limiting factor of the processor, so you can say many modern processors idle very well while they wait for memory operations, when executing code not specifically optimized for their prefetch queue size and memory alignment requirements.

              I'm not a python user nor a python fan. I use other dynamic languages such as PHP that suffer from some of the problems you mention, but I think you are mixing apple and oranges. Just because you _can_ use python to prototype some calculations, it doesn't mean it's the right tool for the job. Sometime in my career I worked as a Cobol programmer, and I've used DirectX with Cobol just for kicks. It doesn't mean it's the right tool for the job (and believe me, Cobol is NEVER the right tool for the job :D). The problems you describe with memory consumption are what I consider "rookie mistakes" (maybe in your specific case aren't, but as a generic example they are) - classes aren't the answer for everything, and variable sized datasets should always be windowed, regardless of language.

              I should point out the pain that is to work with both basic datatypes (byte, int, long) and strings in languages as C and C++. If your compiling your simple example above on a 8086 and b happens to have the value 70000d, you'd need at least 4 or 5 instructions in a loop to complete the operation. You usually cannot make strong assumptions about the size of your datatypes, at the cost that the compiler will figure it out. Most often than not, it won't, and that's why an algorithm in plain C written on a 32 bit processor can fail on a 16 bit one.

              Regarding language learning, I am a strong supporter of both Pascal-styled languages and Assembly. People should learn how the machine actually works, because knowing the details of execution WILL make them better programmers. I somewhat understand the void left by "old basic", as you could access and change memory contents and device addresses directly, and it was simple enough to learn the basic structure of a program. Touting OO languages as a first language is a horrible horrible idea that will dumb down future programmers to "one-size fits all" solutions.

            • You say: "Third is the fact that python is very much a typed language, but the only available variable type is a void*, and it actually allows changing the type of a variable, which is a horrible, horrible mistake (and why ? out of some sort of obligation to the idea of dynamic languages supporting this monstruosity)" I'm not sure, but it seems you are willfully ignoring different typing schemes. Static, manifest typing (where variables "have type") versus dynamic typing (where values "have type") is more

        • Bullshit. What bad habits are you imagining? I'm willing to bet that you're just parroting nonsense, and that you don't actually know.

          Yes, I agree that it is much simpler to do "10 PRINT "HELLO, WORD!" and type RUN. The first time I taught C classes in highschool in the late 80's, most kids were coming off the aforementioned hardware, and the idea of having to compile and link was a big obstacle. As was the lack of line numbers, and ambiguity of goto/gosub in C (or lack thereof), even the limited scoping o

          • by rev0lt ( 1950662 )
            Most business-oriented BASIC interpreters and compilers available in the mid-80's did allow a fairly complete procedural approach to application writing - it's not their fault if you insisted on using GWBasic or the ZX Spectrum basic interpreter.
            While I get the point you were making, the notion that excess global variables are always "bad" is an amusing one, and shows how little serious coding you actually did back then. In compiled languages, global variables are usually defined in program space, and that
      • I read that exactly the opposite of the way that you appear to have read it. You read it and thought of the ancient, dead language that was written in the 80s. I read it and thought of the language for ancient, dead computers that was both usable by average people and, more importantly, gave access to most of the functionality that those computers had - slowly - and it wasn't much, but it was there.

        To extend on that line of thought, I'd say that Javascript "put BASIC on the web", so to speak. Yes, just abou

      • by SQLGuru ( 980662 )

        Really, the most accessible language at this point is Javascript. It's built in to every browser, only requires a text editor (but there are plenty of tools that provide a better IDE). Debugging is easy with each browser (FF has Firebug, Chrome and IE have their developer tools). There are tons of examples and documentation on the web.

        Python may be great and all, but Javascript is the BASIC of today in terms of being prolific and accessible.

      • Re: (Score:3, Insightful)

        by daver00 ( 1336845 )

        The Android scripting environment already gives you Python, and a bash shell. This article is completely retarded.

    • It's available here [microsoft.com]. Of course, it's only for Windows Phone, and it's a compiled language instead of an interpreted one. I'm pretty sure that Mono is trying the same thing.
    • Normally, I'd say that the parent was being unhelpful, but in this case with the the Scripting Layer 4 Android (SL4A) already having done most of the work for you, it would actually pretty easy to do this. Here are the beginning of their instructions [google.com]:

      Introduction
      Part of the SL4A project is to define an API for others to develop new interpreters that SL4A (or any other compatible project) can support. Currently, this standard is for interpreters that can be run as a binary in a separate process. This standard will be extended in the future to also support running JVM based interpreters in process.

      The Easy Way [google.com] is a step-by-step description of how to build an interpreter APK that is compatible with SL4A.
      The Way of Samurai [google.com] describes how to use the interpreter.jar [googlecode.com] in your own project to interface with SL4A.
      The Way of Zen [google.com] describes the API in detail.

      [...]

      And yes, I'm aware that the original question mentions SL4A, but says that that it doesn't provide "exhaustive" access to the platform, which triggers the question for me, what access does he want? Just tell me one thing that he wants (please not a fully shoppi

  • by hpa ( 7948 ) on Monday December 26, 2011 @07:17PM (#38498046) Homepage
    It's easy to throw together a BASIC interpreter. However, in this day and age, why would you want one?
    • by Anonymous Coward on Monday December 26, 2011 @07:25PM (#38498138)

      BASIC is an awful language

      You obviously never used BBC BASIC [wikipedia.org], which had procedures, functions, repeat until, do while, case, local variables, recursion, inline assembler... Hey, it still exists [bbcbasic.co.uk].

    • I'm not a CS major but on occasion I've need to do some simple projects with a PIC microcontroller. Rather than enroll in a 6 week evening course at the local community college I used PICBasic.

      In a few hours my program was up and running and the task was complete. Did I not use the right tool for the right job?

    • It's easy to throw together a BASIC interpreter. However, in this day and age, why would you want one?

      Why not? Many DSP algorithms were once implemented in BASIC, and for a good reason. Structured, modern variants of BASIC (which resemble nothing of the old GW-BASIC or PickBasic), are very useful and capable for application-level development. I do have my preferences over BASIC (Ada, C or Python come to mind for different tasks), but I find people's aversion to it to be simply misinformed, fan-oriented knee-jerking.

  • Screw BASIC, someone port Autohotkey to mobile platforms!
  • by Anonymous Coward

    Programming isn't a matter of a few swooshes on a capacitive touchscreen. Also, who could muster enough attention between two instant messages?

  • by Anonymous Coward on Monday December 26, 2011 @07:19PM (#38498072)

    We do, it's called JavaScript. With its shortcomings, it's still a better language than BASIC. There are BASIC interpreters written in JavaScript if you really want that.

  • The purpose of these devices is to make people stop thinking of computers as computers, and as mere appliances that do for you only what their manufacturers want them to do.

    • The purpose of these devices is to make people stop thinking of computers as computers, and as mere appliances that do for you only what their manufacturers want them to do.

      While I agree that people are thinking of them more as appliances than computers, I believe your "do only what their manufacturers want them to do" comment is really only applicable to a tiny segment of the population - Slashdotters. For most end users, their iPhones, iPads, and Android devices do pretty much everything they want.

      The only time I see or hear a "why can't I do zzzzz on an iPhone" comment is, frankly, here on Slashdot.

  • Codify for iPad (Score:5, Informative)

    by SuperKendall ( 25149 ) on Monday December 26, 2011 @07:21PM (#38498082)

    We are starting to see some programming environments where you code on the device itself - one really cool one is Codify [blogspot.com] for the iPad. They have really thought through how to make entry of code easier using the on-screen keyboard, and you could learn quite a lot of programming concepts developing using this tool.

  • The linked note from the story writes:

    Getting a programming environment is indeed a barrier which I have experienced a number of times. This contrasts with schooldays when I could start writing a basic program simply by switching the computer on. Why don't Apple, Microsoft etc. package the stuff you need to get start programming with their OSes? (So one could begin learning with 5 mouse clicks or less.)

    It is available for iOS, at least, as Python Math [sabonrai.com]. It's at least as good a getting-started environment as BASIC was on the old C64, Apple ][, or TRS-80. It seems probable Android has something similar.

  • The last thing content producers want is to have consumers creating their own content on mobile devices instead of passively viewing their ad-loaded streams.
  • by realinvalidname ( 529939 ) on Monday December 26, 2011 @07:26PM (#38498144) Homepage

    Today's BASIC is JavaScript. And it's already on all the mobile devices. Even evil control-freak Apple's stuff. Young people already know this and do not need your Commodore/Apple/Atari nostalgia trips.

    Also, parachute pants are no longer a thing.

    Please update your expectations and wardrobe appropriately.

  • TouchDevelop (Score:2, Interesting)

    by Anonymous Coward

    Microsoft Research has a TouchDevelop app for Windows Phone, maybe you can try it
    https://research.microsoft.com/en-us/projects/touchdevelop/

  • by Tom ( 822 ) on Monday December 26, 2011 @07:26PM (#38498156) Homepage Journal

    ...BASIC sucks.

    And it doesn't do what you allege it does. There is no such thing as a "programming language for the general public" anymore than there are nuclear power station DIY kits.

  • Perhaps because any real programmer hates Basic. I would advocate for Forth, an easy to implement interpreter that produces very fast and very compact code, and can cleanly be tied to the hardware (not so easy in Basic unless you like lots of peeks and pokes). But, of course, there will be plenty of anti-Forth heretics that say it is a bad choice, so the complaints will likely go on. However, a quick Google search tells me that there already is an AndroidForth, so if you really want a powerful and useable p
  • by hamburger lady ( 218108 ) on Monday December 26, 2011 @07:28PM (#38498184)

    because it's a fucking phone. should i put BASIC in my car stereo too? how about my toaster oven! i cobbled together an assembler for my clock radio and i'm never lookin' back.

  • It Is Available (Score:5, Informative)

    by Paul Slocum ( 598127 ) on Monday December 26, 2011 @07:29PM (#38498200) Homepage Journal
    I typed in "basic interpreter" into the app store and got several results. What are they talking about?
    • Re: (Score:3, Informative)

      by Anonymous Coward

      Don't confuse Slashdotters with fact. (I have Basic and Lua on my still-in-jail iPhone 4S)

  • Last time I recall MS putting BASIC on a PC was with Windows 3.11 and MS-DOS. It's not a GUI friendly programming language. It's also a terrible language.

    I do however wish they would put a programming language on Windows for creating Windows apps (and other platforms). Trouble is MS makes money from selling languages - as do other providers - so there's no real incentive to give something away for free.

    As for a simple language which can be used to do basic things - PERL is one solution. Love it or hate it,

  • by Anonymous Coward

    On the iPhone or iPad, there is a BASIC programming environment (sandboxed). It's called BASIC!, and can be found here:
    http://itunes.apple.com/us/app/basic!/id362411238?mt=8

  • I would much rather have pascal in rom than basic, why would I want it on my phone?

    10 ? "Get with it man"
    20 GOTO 10
    RUN

  • by SleepyHappyDoc ( 813919 ) on Monday December 26, 2011 @08:10PM (#38498596)

    http://www.basic4ppc.com/ [basic4ppc.com] comes up with Basic4Android.

    • This Basic4Android looks pretty slick. It is NOT putting Basic on an Android device. The development is done in an IDE on a Windows machine. The code of the app is written in what looks to me like Visual Basic. It is not the old BASIC of Bill Gates and Woz like we learned 30-40 years ago. The IDE then generates APK code to install on the Android device, and it runs there like other apps. If I were interested in ever doing development again, I might get it, but I am a better Java coder than VB anyway.
  • by gstrickler ( 920733 ) on Monday December 26, 2011 @08:50PM (#38498938)

    That includes most people currently employed as programmers.

  • Because (Score:4, Insightful)

    by cadeon ( 977561 ) on Monday December 26, 2011 @10:01PM (#38499386)

    IMHO, Apple (and to a lesser extent, Google) see any easily user-accessible build-and-run-able code as a potential security hole. Doesn't matter if it's compiled binary or interpreted script, in order for it to do anything interesting, it would need hooks into the OS. And, well, that means holes.

    If users can copy and paste a script off a website and run it on their phone, they will. And when that script deletes everything on their phone just after sending everyone in the phone's contact list an SMS to go download the script, people will blame the OS vendor. By making it a bit less accessible, they are trying to make it a bit more 'secure' - and while that may work for a while, it's going to frustrate us who just want some BASIC (or Hypercard, or whatever else) to be available on our platform.

  • by Zigurd ( 3528 ) on Monday December 26, 2011 @11:06PM (#38499714) Homepage

    Java is much complained about, on the one hand by people who think it is too hard, and on the other hand by people who think it is not sufficiently expressive. But the evidence is you can build a world-beating OS with a Java userland. And evidently it isn't urgent to augment or replace Java, either with more expressive JVM languages like Scala, or supposedly simpler languages available for the JVM like the BASIC-like Jabaco, even though this could be done for Android since the translation to Dalvik bytecode is downstream of compiling into Java bytecode.

    Java has great static code analysis tooling and great refactoring. There are books like Thinking in Java and Effective Java that will make you fluent in the idioms that make Java understandable, debuggable, and maintainable. For a programming beginner I'd suggest Learning Android and Head First Java. Android's documentation, tutorials, and examples are enormously improved since Android first came out.

    Every language has screws, but a good case can be made that Java has fewer of them than many other languages.

Avoid strange women and temporary variables.

Working...