Slashdot Mirror


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

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.

30 of 783 comments (clear)

  1. What's this "We" business? by symbolset · · Score: 3, Insightful

    If you want BASIC for your phone, make one.

    --
    Help stamp out iliturcy.
  2. BASIC is an awful language by hpa · · Score: 2, Insightful

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

    1. Re:BASIC is an awful language by Anonymous Coward · · Score: 5, Insightful

      BASIC is an awful language

      You obviously never used BBC BASIC, which had procedures, functions, repeat until, do while, case, local variables, recursion, inline assembler... Hey, it still exists.

    2. Re:BASIC is an awful language by InterestingFella · · Score: 5, Insightful

      Yes, thanks for calling almost any programmer who started with BASIC a retard. When I was 7 years old I obviously should had went with ASM instead of something that was easily understandable and gave instant results, and hence motivated me to keep programming all the way to the current day.

  3. We do, it's called JavaScript. by Anonymous Coward · · Score: 5, Insightful

    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.

  4. conflicting religions by frovingslosh · · Score: 1, Insightful

    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 programming language for Android I suggest finding out if this suits your needs.

    --
    I'm an American. I love this country and the freedoms that we used to have.
  5. why not put BASIC on a phone? by hamburger+lady · · Score: 3, Insightful

    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.

    --

    ---
    Is this the MPAA? Is this the RIAA? Is this the DMCA? I thought it was the USA!
  6. Why BASIC? What for? by impaledsunset · · Score: 5, Insightful

    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!

    1. Re:Why BASIC? What for? by Anonymous Coward · · Score: 3, Insightful

      Touch develop is a cut down limited pile of shit. The scripting layer for android 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.

    2. Re:Why BASIC? What for? by Lumpy · · Score: 4, Insightful

      "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.

      --
      Do not look at laser with remaining good eye.
    3. Re:Why BASIC? What for? by narcc · · Score: 5, Insightful

      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.

    4. Re:Why BASIC? What for? by InterestingFella · · Score: 4, Insightful

      Using something like touchdevelop where you have no real access to anything doesn't teach kids shit. At least with the android scripting layer, you have access to many of the underlying api's and actual real apps can be written and distributed in the market.

      It teaches them the fun side of programming, which is even more important for beginners. If you're starting out and just want to try something, you shouldn't have to spend hours putting up your environment and do lots of googling and asking for help. It takes the fun out of it and kills your interest in programming completely.

      Everything else you can learn later anyway, but first impression counts hugely. You can either throw something fun together in a hour or go read tons of material about APIs, pros and cons of different programming languages, libraries you need to import and best coding practices. Guess which one gives better first impression to novices.

    5. Re:Why BASIC? What for? by LWATCDR · · Score: 2, Insightful

      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 huge number of online resources for documentation and help and the simple fact is that it is now easier to write a "real app" today than it ever was back in the day of the Bit fun.
      BTW very few "real" programs where written in basic even then. You used Assembly if you where lucky or a machine language monitor if you where not to write real apps back in the 8 bit days.
      The simple truth is that if you sit down and learn the SDKs that are available you will have a much better development platform than anyone back in the AppleII, C64, Atari 400/800 days ever dreamed off having.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    6. Re:Why BASIC? What for? by Anonymous Coward · · Score: 4, Insightful

      "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.

    7. Re:Why BASIC? What for? by Bucky24 · · Score: 3, Insightful

      Should we hand kids 20 dollar bills and pretend we are teaching them a work ethic?

      My parents did that for me. They called it an "allowance". Then again I actually had to work for it (and I grew up on a farm so it wasn't just 'clean up your room'). I have seen many parents that just give their kids money, which doesn't really give a strong work ethic at all...

      Giving your kids money will teach them a strong work ethic if you make it clear that they only get the money when they are doing something (usually basic household chores like filling the dishwasher and watering the planters, ect). If you just give them money, it will teach them the opposite ethic: that they shouldn't have to work and will get things for free.

      --
      All the world's a CPU, and all the men and women merely AI agents
    8. Re:Why BASIC? What for? by viperidaenz · · Score: 5, Insightful

      You're both mammals, so what... 90% common DNA?

    9. Re:Why BASIC? What for? by symbolset · · Score: 5, Insightful

      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. If you prefer an easier install - especially if developing for nVidia Tegra (but not exclusively) you will find that here. The equivalent iOS version is here. If you must have it, the Windows Phone SDK can be found here.

      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.

      --
      Help stamp out iliturcy.
    10. Re:Why BASIC? What for? by A12m0v · · Score: 5, Insightful

      White spaces

      --
      GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
    11. Re:Why BASIC? What for? by OeLeWaPpErKe · · Score: 4, Insightful

      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.

    12. Re:Why BASIC? What for? by daver00 · · Score: 2, Insightful

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

    13. Re:Why BASIC? What for? by rev0lt · · Score: 4, Insightful

      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.

  7. Re:you are the dumbest shit imaginable by Anonymous Coward · · Score: 2, Insightful

    How the fuck is a person looking for BASIC on phones going to be the one who writes an interpreter?

    Stuff your Ayn Randroid bullshit up your fat geek filth ass, you dumb motherfucker.

    You kiss your mother with that mouth? Never mind the likelihood that your description of the OP probably suits yourself perfectly as well.

    There are thousands of people who have written software to suit their desires, because no one else has. The only dumb motherfucker here is you, and me for replying to an ignorant jackass AC.

  8. Re:you are the dumbest shit imaginable by PyroMosh · · Score: 5, Insightful

    The vulgar one has a point though. There are classes of software that are aimed at audiences that wouldn't want them if they had the skills to write them on their own.

    Do you think that most children's games would exist if they had to be written by kids?

    BASIC is this kind of problem. I suspect that nobody who ever wrote a BASIC interpreter had a practical use for it themselves. Maybe during the Apple II / TRS80 days, but certainly not more recently than that. In recent times, it's a tool for less experienced programmers to learn with and solve very simple problems, not a tool someone who could write software would employ to solve a practical problem.

  9. Re:you are the dumbest shit imaginable by Grishnakh · · Score: 5, Insightful

    Exactly right. Anyone who has the skills to write a BASIC interpreter will also be someone who thinks BASIC is a POS, and won't have any interest at all in doing such a thing without a handsome paycheck to compensate them for that time lost. There's no shortage of free and open-source language compilers/interpreters: C, C++, Java, PHP, Perl, Python, Erlang, etc. Some of these have some corporate backing (probably the Java compilers), but many are totally free projects done by volunteers. But obviously, these volunteers are working on compilers for languages they actually like and would want to use themselves, not languages they would sneer at in derision.

    So if someone wants a BASIC interpreter for phones, the only way it's going to happen is if they do it themselves (not likely as pointed out above), or if they pay someone else to do it. As that effort is non-trivial, it would more realistically take a corporate project to do it, and that's only going to happen if some company or companies think they can profit off that effort somehow. I seriously doubt there's enough aspiring BASIC programmers out there demanding BASIC on their phones (with wallets open to pay for it) to justify this project for any company. Anyone who really wants to do some serious programming on their phone already has the tools available to them (i.e., Java on Eclipse), and won't want to be hamstrung by a crappy language (Java's crappy too, but relative to BASIC it's wonderful).

  10. Re:exactly. by Anonymous Coward · · Score: 3, Insightful

    She was a laissez-faire capitalist, but made her money off copyright. That's hypocrisy. Copyright is a state-granted monopoly.

  11. Because by cadeon · · Score: 3, Insightful

    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.

  12. Re:you are the dumbest shit imaginable by jythie · · Score: 3, Insightful

    Actually, teachers are a category of people who might do this. There have been a number of simple languages that have been developed specifically to get kids (or other students) interested in programming. For instance, someone did port LOGO to android, but as an app rather then a development environment... though this is probably how it would look for BASIC I would assume... an interpreter app.

    Now, if the OP is looking for a PC app that takes BASIC and compiles it into a final Android app... that I have trouble picturing anyone bothering with...

  13. Re:exactly. by jythie · · Score: 1, Insightful

    She profited heavily from a planned/regulated economy, which is what she was fighting against. She and her supporters wouldn't last 10 minutes in an actual capitalist country for the same reason anarchists rarely would survive in actual anarchies.. she depended on the regulation, planning, and protection of her host country while imagining that if those same rules only applied to other people how much better off the elite would be.

  14. Re:you are the dumbest shit imaginable by bistromath007 · · Score: 5, Insightful

    Alternately, the programming community could go back to its philosophical roots, from the time when it was programming rather than developing, and realize that an intelligent culture is fostered by the democratization of coding. "Normal" people cannot learn C without a teacher. These are the kids we always hear and talk about on /. who, despite not having the talent to ever become great mathematicians or comp-sci oracles, can still benefit from the practice of well-ordered thought that a basic (woah) understanding of coding provides.

    Today's programmers need to be less like the financial industry jackasses of today and more like the programmers of yesterday. You don't need to do everything for a paycheck. Sometimes when you do something, it's for the people, and for the future.

  15. Re:exactly. by toriver · · Score: 3, Insightful

    People who use the derogatory term "willfully lazy" lack empathy and cannot be bothered to examine what makes people unemployed. "Fellow human beings" that exploit workers and profit form misery are not fellows, they are leeches.