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.

95 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.
    1. Re:What's this "We" business? by stephanruby · · Score: 2

      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:

      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 is a step-by-step description of how to build an interpreter APK that is compatible with SL4A.
      The Way of Samurai describes how to use the interpreter.jar in your own project to interface with SL4A.
      The Way of Zen 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 shopping list), just have him pick one item, and I'll show him how he can add it to the the Scripting Layer for Android himself.

      And yes, I do realize that's really not the original question that he was asking, and to that, I'd reply that not everyone in life always get what they want. "Basic" may be at the center of his Universe right now, but it's certainly not the de facto language for everyone these days and it would be presumptuous for him to think that his opinion should override everyone else's opinion on the matter. And it would also be presumptuous to think that a big faceless corporation, with so many developers and so many resources, should cater to *his* every individual needs all because it would be so simple and so easy to do for them. I'm afraid that's not how corporations work. Corporations usually have their own agendas and their own whims to cater to.

    2. Re:What's this "We" business? by anonymov · · Score: 2

      You can, but you can't use it to run external code, just scripts packaged with the app or typed by user.

  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. Re:BASIC is an awful language by anomaly256 · · Score: 2

      I also started out on BASIC. But luckily a friend's uni professor father got me stuck into Pascal and Assembler in year 5 before too much damage was done. I do recall it being hard at the time to get my head around subroutines instead of gotos after BASIC pollution. Despite starting on BASIC, I have to agree that it's a bad choice for beginners, teaches the wrong things, and needs to be left as a footnote in history. There are much better designed modern languages that are just as easy to learn without encouraging bad habits.

    4. Re:BASIC is an awful language by Keen+Anthony · · Score: 2

      BASIC does have its limitations. Of course, most people only think of BASIC in terms of the old QBASIC, and not even QuickBASIC. Since it's Slashdot and the people here are thick, we have to reiterate that a programming language that's designed for quick and dirty coding needn't offer the kitchen sink or uphold some tech-theological principle in order to be valuable. On my old Droid, I often used Python for little random problems that I wanted to solve programmatically on the spot. BASIC on a phone is like a can opener or flash light in your car. It's utterly useless until you need it, then it's there. No reason to whine about it not being more than it is.

    5. Re:BASIC is an awful language by luis_a_espinal · · Score: 2

      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.

    6. Re:BASIC is an awful language by anonymov · · Score: 3, Informative

      $ echo 'print "hello"' > hello
      $ python hello
      hello
      $ ruby hello
      hello
      $ lua hello
      hello
      $ echo 'print("hello")' > hello
      $ scala hello
      hello
      $ ~/ringojs/bin/ringo hello
      hello

      Why would you want BASIC in modern age with all the choice of simple scripting languages?

  3. No keyboard, no programming by Anonymous Coward · · Score: 2, Interesting

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

    1. Re:No keyboard, no programming by Hentes · · Score: 2

      There are many phones with a keyboard.

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

  5. Codify for iPad by SuperKendall · · Score: 4, Informative

    We are starting to see some programming environments where you code on the device itself - one really cool one is Codify 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.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  6. Re:BASIC is a horrible language. by siddesu · · Score: 3, Informative

    Dunno about iOS (my iphone 4 is collecting dust somewhere upstairs), but there's at least ruby, perl, lua, python and several scheme dialects available for the android.

  7. Attention Old People by realinvalidname · · Score: 5, Funny

    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.

  8. TouchDevelop by Anonymous Coward · · Score: 2, Interesting

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

  9. because... by Tom · · Score: 2

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

    --
    Assorted stuff I do sometimes: Lemuria.org
  10. 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!
  11. It Is Available by Paul+Slocum · · Score: 4, Informative

    I typed in "basic interpreter" into the app store and got several results. What are they talking about?

  12. 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 InterestingFella · · Score: 3, Interesting

      Funnily, Microsoft is the only one providing stuff like TouchDevelop 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 Windows Phone 7 never catches on, while MS is the only one providing what the same crowd wants on phones.

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

    3. Re:Why BASIC? What for? by InterestingFella · · Score: 2, Interesting

      That's the whole point of BASIC and TouchDevelop. You don't have to know about the APIs, libraries, and how to load all that stuff together so that you would actually get something done. The whole purpose is to be easy to use and something that can be used to quickly throw something together, without worrying about the details. This approach does come with limitations, but it doesn't matter.

    4. 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.
    5. 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.

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

    7. Re:Why BASIC? What for? by caseih · · Score: 5, Interesting

      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.

    8. 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.
    9. 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.

    10. 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
    11. Re:Why BASIC? What for? by FairAndHateful · · Score: 3, Interesting

      Yeah and getting a paycheck is the fun side of working a job..

      I dunno, the paycheck is necessary, but it's not the only fun part. The paycheck just keeps me clothed and fed. My job gives me problems to solve and I like that. I get to demand a wage because there's a lot of people out there who are not able to do what I do. On the main thread, people who are capable of writing tools for the simps never bother because they don't need those tools. Like BASIC. The people who need BASIC can't write it. If you think Python or something else will fill that void, advertise it.

    12. Re:Why BASIC? What for? by viperidaenz · · Score: 5, Insightful

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

    13. 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.
    14. Re:Why BASIC? What for? by Sebastopol · · Score: 2


      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 of if/then.

      The "bad" habits I saw were the establishing of a paradigm (linear procedure code) that made it extremely difficult to transition to a more abstract language. All the C code looked like BASIC, massively monolithic. The notion of how to proceduralize took a lot of effort. They were literally offended by having to scope and typecase variables: everything was just globals. Clearly you can agree that monolithic non-procedural code with all global variables is a "bad" habit in the modern world, unless you're just dinking with an Arduino and don't have to worry about writing real-world code that people rely on.

      Kinda like how C programmers tend to fail on an epic scale when trying to program LISP: once you've been raised on one paradigm, it is very hard to start thinking another way.

      I don't think it is "Bad", per se, it just makes it harder to abstract for some people. But then again, there are very few good programmers out there, and there are far more bad habits picked up than starting with BASIC..

      I agree with all the python folks. I would have recommended LISP, but the vast majority of Intro to LISP texts treat it like C, unless you go to MIT. I also would have recommended PASCAL, but I didn't want to get run out of town by the angry mob...

      As per your "millions of people got started," I never saw BASIC used for anything but hobbyists. When I installed/repaired minis and micros in the early 80's, COBOL and Fortran77 were what corporate clients were programming with. In my two summers of dealing with dozens of customers for office and industry (payroll, inventory, automation), none of them used BASIC. I'd like to know more about where BASIC was used to round out my knowledge, as my evidence is largely anecdotal.

      --
      https://www.accountkiller.com/removal-requested
    15. Re:Why BASIC? What for? by Ethanol-fueled · · 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 prevents people from learning the little necessary but tedious things like the pitfalls of integer division and type mismatch problems. There are also few dev shops that use Python primarily, so a noob would be better off starting with a more familiar language like C/C++ or Java. People complain that everything in Java must be a class, but that is a good message to pound into the mind of the noob - we don't need any more aspies banging out unreadable C monoliths.

    16. Re:Why BASIC? What for? by donaldm · · Score: 3, Informative

      C is great but really - those curly braces may seem like a sexy thing in a geeky way but they seriously decrease the legibility of the code. They may have been a poor design decision.

      No the curly brackets in C and C++ are actually a very good design idea however if you don't like them you can easily replace them with "begin" and "end" or whatever words or symbols you want for a delimiter. The problem with doing that is your code is going to look strange to another programmer. Still if it's your own code and you are not going to have other people looking at it then you can do what you want.

      --
      There ain't no such thing as proprietary standards only proprietary formats. Standards are by definition open.
    17. Re:Why BASIC? What for? by anubi · · Score: 5, Interesting

      Coming up with the clever algorithm to solve a problem is what is fun

      You nailed that one as far as I am concerned.

      This week's project for me... I have this old DOS based SPICE analyzer I really like. Its short, simple, and generates great plots - on an old EPSON dot matrix printer.

      Now, I really want to get rid of that printer. That old spice analyzer is the only thing I have that requires it. What I really want is a bitmap image file that will go into anything. So, its time to dust off the ole Borland Turbo Assembler.

      I plan to hook the printer interrupt and divert the printer data to my program just like a printer capture program, but instead of just capturing the data to a file, I will take it byte by byte and convert it to bitmap format. Lots of rotate-thru-carry instructions to rearrange the data intended for the printhead into bitmap format. Its a state machine, so there is a 6-way switch for the incoming byte to be tested for "esc", tested for "L", tested for "2", store hi-byte, store lo-byte, and append into bitmap. This is easily done in assembler with an index to an array of pointers to subroutines.

      ( easy in C++ too, but I was having trouble trying to insert the data, delivered to the printhead 8 bits at a time, in a vertical format, into the bitmap when the assembler would let me use the "carry" bit to transfer the incoming byte bit by bit into the most significant bit of eight bytes in the bitmap). There is a helluva lot of looped busywork to rearrange all the bits.)

      Being all the plots are generated by the same program, all have the same size and use the same control-code sequences so I do not have to reconstruct the entire esc sequence interpreter of the Epson printers.

      I haven't had this much fun since reading Jeremy Bentham's "TCP/IP Lean" where he implemented state machines in C++ to make TCP/IP stacks, and I wanted to modify it so I could get bidirectional file transfer through the "FORM=FILE" method.

      That's the fun of this. Doing things that are not on the menu.

      As far as Basic goes, I actually still use my GWBasic interpreter at times to verify some little math loop. Its like using a hand calculator in a way, its a short sweet way of running a snippet, but I would not want to develop "serious" code on it any more than I would want to design my bitmap generator in DEBUG.

      I do enjoy doing things the old way on my old machine, where I understand exactly what and why I am doing anything, and know exactly what every byte in the code does. Its something I do not know in the new machines, and I can easily end up using hundreds of kilobytes of code along with megabytes of required libraries to execute some little algorithm I could code in assembler for 4k bytes or so of code. Its almost like trying to buy a house, signing off on reams of legal documents I do not understand, just to say "I agree to buy this house and I will pay for it in monthly payments of whatever. If I do not pay, you have the right to take the house back".

      --
      "Prove all things; hold fast that which is good." [KJV: I Thessalonians 5:21]

    18. Re:Why BASIC? What for? by cheekyjohnson · · Score: 2

      Yeah and getting a paycheck is the fun side of working a job.

      I don't see what that has to do with anything. What harm does teaching someone the "fun" side of programming bring? Why does that mean you must hand kids 20 dollar bills?

      --
      Filthy, filthy copyrapists!
    19. 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.
    20. Re:Why BASIC? What for? by OeLeWaPpErKe · · Score: 5, Interesting

      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.

    21. Re:Why BASIC? What for? by _0xd0ad · · Score: 2

      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 about anyone can learn it, and probably pick up all sorts of bad habits - but they're programming, and it gives them access to a growing set of features as browsers get faster and more complicated.

      So when I hear the question "why can't we put a BASIC on the phone", to me the question means, why can't we put a language on the phone that people can actually use and which utilizes the phone's capabilities?

    22. Re:Why BASIC? What for? by amRadioHed · · Score: 4, Interesting

      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 then? It sure looks like an attempt to enable app making for everyone.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    23. Re:Why BASIC? What for? by SQLGuru · · Score: 2

      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.

    24. Re:Why BASIC? What for? by nessus42 · · Score: 3, Interesting

      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

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

    26. Re:Why BASIC? What for? by Darinbob · · Score: 2

      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 memory. We don't have to do stupid GOTOs for basic control flow. Even if we only want an interpreted language we can do better than the BASIC on an Altair! There are so many languages that are better, and which are also easier for beginners to learn.

    27. Re:Why BASIC? What for? by digsbo · · Score: 2

      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?

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

    29. Re:Why BASIC? What for? by Jeremi · · Score: 2

      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.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    30. 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.

    31. Re:Why BASIC? What for? by chthonicdaemon · · Score: 2

      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 well-defined than you make it appear.

      --
      Languages aren't inherently fast -- implementations are efficient
    32. Re:Why BASIC? What for? by rev0lt · · Score: 2

      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 translates to "the binary will not load if not enough memory is available to load it" instead of "oops this broke because we ran out of stack space". Declaring your "heavy" variables with global scope would give you some kind of assurance that you'd not run out of memory when allocating them. Yes you could use stack monitoring, but most stack overflow check routines were computationaly expensive. In modern systems, concentrating sensitive variables in the global space allows the program to mark them as non-pageable, so you can be shure they are always present in memory (and not on some swap file). So yeah, global variables may be bad, or not. Depends on what you're trying to use.

      In the beginning of this millenium, you probably had more Basic business code running than all the Cobol code created since the language's creation. It was used from microcontrollers (8052AHBASIC as an example), automation systems (soo many RS232 control systems written in lame Basic!), business software development (TuboBasic/PowerBasic in the late 80's and Visual Basic in the 90s, and derived Basic-like languages such as Clipper.
      From what I know, Basic was mainly absent from mainframe environment, and Cobol, RPG and Fortran did sell a lot compiler licenses and programming materials such as books and courses.

    33. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 5, Informative

      WP7 has TouchDevelop.

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

      You were saying?

    34. Re:Why BASIC? What for? by Anonymous Coward · · Score: 2, Informative

      You don't know what you're talking about.

      I do serious numeric simulation every day with Python. Yes, straight Python sucks for execution speed. But using Numpy, your array arithmetic happens as C loops, so the speed is practically identical. Testing it now, doing 1e10 double-precision additions (1e5 arrays of size 1e5 in Numpy), the execution time in Numpy is 15 seconds, versus 21 seconds for C. (I assume the difference is from optimisation in the Numpy binaries.) You claimed that Numpy is slower by "a large distance", rather than being faster.

      Yes, there are vector processing libraries in C that get higher speeds. There's also Scipy, and various Numpy submodules, that do similar things. The type of tasks you need to do will determine which one has better coverage. For my part, I've found that Numpy-compatible modules do everything I need them for, and are much easier to use than their C equivalents - I can write an efficient program in much less time with Python. (This is a big deal in science, in which a particular simulation program may only be run once or twice at full-scale, so development time is critical.)

      The fact that you describe libraries as giving a "factor 200" makes me doubt your understanding of the subject, though. Libraries generally implement some clever algorithm that scales better than a simple approach. This means that they will have a speed advantage over the simpler implementation that varies wildly according to the size of the data you're working with: a fast Fourier transform, for example, might be billions of times faster or several times slower than a conventional Fourier transform, depending on the size of the data.

    35. Re:Why BASIC? What for? by anonymov · · Score: 2

      You _might_ get it to in a very specific cases, like when "c = a + b" is a part of basic block where data-flow analysis tells you that a and b are absolutely guaranteed to be plain ints on input.

      Even then you still get something like "unpack a and b from tagged value representation, check for overflow, just do asm("add a,b") if no overflow, add_and_promote_to_big_int(a,b) if overflowed, add type tag, store c".

      In most cases though you get extra weight like 'look-up JIT cache for this combination of parameter types, jump there if i'm lucky, update counters and interpret it or JIT compile it if not" and so on, and so on, and so on.

      You might get decent output in some cases, but in general optimizing dynamically typed languages is hard or sometimes just impossible.

    36. Re:Why BASIC? What for? by SiMac · · Score: 2

      JavaScript is actually quite easy to debug in IE 9, Firefox with Firebug, or Chrome, all of which contain debugging environments. CoffeeScript is harder to debug because it compiles to JS first. Python is harder to debug than JS because the debugging environment sucks by comparison.

    37. Re:Why BASIC? What for? by shiftless · · Score: 2

      Yeah and getting a paycheck is the fun side of working a job. Should we hand kids 20 dollar bills and pretend we are teaching them a work ethic? Dragging and dropping generic blocks of code outlives its pedagogical usefulness in about 20 minutes with a kid smart enough that he'll ever be a programmer anyway. Not to mention the fact that dragging and dropping a GUI is actually one of the boringest parts of programming. Coming up with the clever algorithm to solve a problem is what is fun and touchdevelop will never teach that. Basic would be much better and python would be infinitely better than that as it is a programming language that they might actually see one day and it is brain dead easy to boot.

      Apparently it never occurs to clueless people such as yourself that there are people out there in the world who think fundamentally differently than you. Shocking, I know, but it's true: what works "perfectly" for you may be utterly abysmal for anyone else.

      I guess it never occurred to you, but this is the direction that touchscreen OS-level user interfactions (i.e. shell level interactions, scripting, etc) are headed. What, did you imagine that the phone/tablet would always be a useless brick without a PC there to support it? I predict there will be a split here, and some will go that route, while others will move towards being completely independent devices on their own.

      For that to happen there will need to be a touchscreen "shell" that allows efficient interaction with system objects, files, data, etc WITHOUT having to pop up some bullshit on-screen keyboard, hours of laborious command line entries, etc. The current paradigm is horribly unsuitable. We need to be able to drag and drop commands, objects, files, applications, etc, set up pipes, all that with an easy to use interface.

      It's going to kick major ass when someone gets it figured out. Sorry the Luddites can't see it. I'm glad to see that Microsoft has stepped up to the plate with some actual innovation. Their first attempt might suck, but they'll come out with something good eventually. Hope other players are sitting up and taking note. We are seeing the PC revolution all over again....at the same time as an ACTUAL revolution in Western civilization.....which is just amazing to be living through.

    38. Re:Why BASIC? What for? by anonymov · · Score: 2

      Hate to break it to you, but it's not innovation, it's a new iteration of old idea at best. Graphical drag-n-drop IDEs count is in dozens, and they all do and will suck. Just because you didn't see any before doesn't mean it's something revolutionary.

      All of them, except for those targeted at kids in elementary school, have the only redeeming quality - good old "code block" element, which - GASP - requires keyboard and typing code. Without it, they're even more of a head-ache than old 8-bit BASICs for anything outside of "Hello, world!"-ish range.

    39. Re:Why BASIC? What for? by nessus42 · · Score: 2

      Google uses Python so Python must be a fantastic language for geniuses engineers because that hire only the smartest and brightest people they keep telling the world although they lately seem to stack failure upon failure!

      It's just nonsense to say that Google "stacks failure upon failure". Most companies keep most of what they do secret and never release most of what they do. Google seems to release everything to see what sticks. One shouldn't expect everything that is released like that to be a huge success, but they've had plenty of successes in addition to their search engine: Gmail, Google Docs, Google Maps, Street View, Android, App Engine, Google Book Search, etc.

      |>ouglas

    40. Re:Why BASIC? What for? by drinkypoo · · Score: 2

      Explain why that's a problem for beginners,

      It's a problem for beginners in that copying and pasting examples will be enough to cause them problems.
      Whitespace makes code readable, and enforcing specific rules of whitespace inhibits readability which sometimes requires me to invent my own rules of whitespace, so you actually gain nothing there.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  13. There's a 99 cent app for that! by Anonymous Coward · · Score: 2, Informative

    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

  14. Indeed, Microsoft has done exactly this by MAXOMENOS · · Score: 4, Informative

    It's available here. 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.

    1. Re:Indeed, Microsoft has done exactly this by Bucky24 · · Score: 2

      First, they're BEGINNERS. Generally beginners don't code well selling apps regardless of language (Unless they already had a brilliant idea and just are learning programming so they don't have to rely on others to develop it). And second, its BASIC. People start with BASIC to learn the basic structure of programming in a very simple form. It's a stepping stone, not a destination. Then again, there were some pretty cool things developed for BASIC systems back in the day.

      --
      All the world's a CPU, and all the men and women merely AI agents
    2. Re:Indeed, Microsoft has done exactly this by dissy · · Score: 2

      I guess I'll chip in with Basic for iPhone/iPad/iPod

      http://itunes.apple.com/us/app/basic/id362411238?mt=8
      http://www.misoft.com/

  15. For that matter by MAXOMENOS · · Score: 5, Informative

    There's also BASIC for Android. I can't imagine that it's that much better than other kinds of Android development (Android development is a bit of a PITA with lots of different aspects), but it's there.

  16. Re:Windows Phone 7 by elabs · · Score: 4, Interesting

    Yeah, you can write apps for WP7 in VB.Net or C#. It's actually pretty amazing how simple and intuititve the free tools are. You can download them and have an app running in the emulator in just minutes. Adding controls is drag-n-drop from the WYSIWYG editor. The contorl libraries are impressive, especially when you consider the freely downbloadable WP7 "Toolkit". The main thing that is different than BASIC is the powerful langauge capabilities like OOP, LINQ, properties, threading, concurrent collections, generics, closures,events, delegates, a LINQ-to-SQL embedded database, easy encryption libraries and the list goes on and on.

  17. Re:It Is Available by Anonymous Coward · · Score: 3, Informative

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

  18. you are the dumbest shit imaginable by Anonymous Coward · · Score: 2, Funny

    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.

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

    2. Re:you are the dumbest shit imaginable by Roachie · · Score: 5, Funny

      Damn, this thread went apeshit fast.

      --
      This sig is not paradoxical or ironic.
    3. 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.

    4. 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).

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

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

    7. Re:you are the dumbest shit imaginable by shutdown+-p+now · · Score: 3, Interesting

      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.

      That's not quite true. Back in the day, I was part of the user community of a little nice BASIC interpreter called Rapid-Q. The "nice" part was that it was written in C++Builder, and it exposed huge chunks of VCL under a thin API wrapper, so you could make very neat looking GUI apps with it. It also let you bundle the interpeter .exe with compiled bytecode, as a single binary, which gave you executables ~300Kb in size that did what VB users didn't dream of (and their most basic hello world was over a megabyte).

      Anyway, after the one and only developer of Rapid-Q was hired by RealBASIC and stopped working on the project, there was a bit of a commotion in the community, and a few people - myself included - set off to write our own replacements - because we actually wanted a tool like that (and the original was not open source). Some of them actually succeeded - one group ended up with another bytecode interpreter, another actually made a bona fide compiler (to assembly code, which they then ran through FASM, if I remember correctly).

      Mine was a BASIC-to-C++ translator. Definitely taught me a lot, like how to write a recursive descent parser by hand. And yes, after a few months of maintaining it, I concluded that BASIC as a language doesn't cut it anymore, and moved on to greener pastures. But I still liked it when I started working on it, and it certainly proved me capable to write it. Ditto for other guys who succeeded - most projects ended up being abandoned eventually, but not after several successful and working releases. Which, I think, disproves your original point.

    8. Re:you are the dumbest shit imaginable by martin-boundary · · Score: 4, Interesting
      That's going a bit overboard, I think.

      BASIC was invented by a mathematician, John Kemeny, and a computer scientist Tom Kurtz. They did this as part of a revolutionary change in how students were taught mathematics, and suceeded admirably.

      Here's an online version of Kemeny's book Introduction to Finite Mathematics with Laurie Snell and Gerald Thompson. What you have to understand is that this book looked nothing like the books on applied math of the day. It was truly revolutionary, and a lot of modern books have copied its ideas.

      You'll also find that BASIC is very well suited to solving the kind of problems that are in that book. It's even arguable that BASIC's suitability for solving simple number crunching problems is what made the microcomputer revolution possible (remember, the killer app for the early PCs wasn't games, it was the spreadsheet - people bought micros so they could program compound interest...).

      It's of course not so well suited for programming consumer software, but then again the language was invented 15 years before consumer software took off.

  19. Five seconds of googling later by SleepyHappyDoc · · Score: 4, Informative

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

    --
    Stasis is death. Embrace change.
    1. Re:Five seconds of googling later by geezer+nerd · · Score: 2

      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.

  20. Free Basic by Anonymous Coward · · Score: 5, Informative

    There is also Basic!, which is free as in a speech about beer.

  21. No its not by ArchieBunker · · Score: 2

    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?

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
  22. Re:Visual Studio Express by mikiN · · Score: 2

    In some cases it is, but in others, please explain the availability of Visual Studio Express. I'm thinking it has something to do with Microsoft not wanting to get people hooked on MinGW, a port of GCC to Windows, only for them to realize that GCC is on the competitors' platforms as well.

    Dope dealer: The first hit is free. Try it, you will like it!
    Junkie-to-be: Thanks mate!
    ---time passes---

    --
    The Hacker's Guide To The Kernel: Don't panic()!
  23. Because most people shouldn't be programmers by gstrickler · · Score: 2

    That includes most people currently employed as programmers.

    --
    make imaginary.friends COUNT=100 VISIBLE=false
  24. Re:exactly. by ArcherB · · Score: 3, Informative

    That was the dumbest remark possible - as the other poster indicated - and this anonymous poster we all know he'll stay one. Another "it" masturbating to the sound of it's own voice. Ayn Rand was a sociopath, who profited from the system she detested, and hypocrits one and all.

    From Ayn Rand's Wiki page:

    Rand advocated reason as the only means of acquiring knowledge and rejected all forms of faith and religion. She supported rational egoism and rejected ethical altruism. In politics, she condemned the initiation of force as immoral and opposed all forms of collectivism and statism, instead supporting laissez-faire capitalism, which she believed was the only social system that protected individual rights. She promoted romantic realism in art. She was sharply critical of most other philosophers and philosophical traditions.

    She was a capitalist. The system she detested was communism. Being a capitalist and making a profit is the exact opposite of being hypocritical. The two kinda go hand in hand. Now when a raging liberal makes a nice profit, that's being hypocritical. Learn your definitions first.

    You might want to learn a few facts about a person before you go around calling them names like "sociopath". When you are that passionate about something you are so ignorant about it really just makes you out to be a jackass.

    --
    There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
  25. 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.

  26. Re:BASIC is a horrible language. by OeLeWaPpErKe · · Score: 2

    Exactly. Python is completely unusable both in embedded systems, and in anything where performance matters the least little bit.

    Since android phone apps have a good chance of being in both categories ...

    Even if python doesn't make an application unusable it will make it 10x the battery drain it has to be.

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

  28. Android programming is expressive and elegant by Zigurd · · Score: 3, Informative

    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.

  29. We CAN stand on the shoulders of giants by symbolset · · Score: 3, Interesting

    Finding the right algorithm is definitely fun. It helps young minds develop and despite the great mass of established art a young mind can find a new path that solves a classical problem exactly because they don't know it's difficult, nor been distracted by the ways others have tried. I've been there on both sides. IBM and Microsoft both lend their engineers to high schools and colleges to gather this IP that the students don't know might be great wealth beyond their imagining - and have since the early '80's at least. There's a lot of dross to wade through, but the effort is worth the gems.

    It's also fun to know the lay of the land, to be skilled in the art of Wirth and Turing and Venn and up-to-date with the Journals of the ACM, to stand on the shoulders of giants and lift the bar just a bit higher in one little corner of the field in the hope that one day somebody might deem your work worthy to stand on your shoulder too.

    At some point the young minds must transition from the former to the latter, or you're just exploiting them. You owe some of them the bridge. BASIC isn't required (and is, perhaps, prohibitive) for any of this. It's better to teach the machine in the abstract. The effort is probably best moved to elementary schools now. Kids today are pretty far advanced relative to kids from my day. In my day access to actual computers was a special privilege reserved for folks who'd had at least a year's high school instruction. Now kids take to the Internet at 1 or 2 years of age. Finding kids who don't know proving P!=NP is difficult and yet are capable of exploring the question without that bias is going to be a challenge.

    --
    Help stamp out iliturcy.
  30. This is quite the point by symbolset · · Score: 2

    Somebody's asking for something (BASIC on a phone) and claiming that the rest of us are feeble for not providing it for him. That's lame. BASIC is so simple that if he were not so feeble he could provide it for himself and give it to us instead of complaining we didn't give it to him. While I don't dig the Randian philosophy, "Atlas shrugged" is a resonant tie for the liberal arts folks among us to engage the question. The GP ought not be modded down as it's an actual complaint about an extant social issue, topical and insightful.

    It's OK to make fun of him for demanding something so simple. It's not OK to be so hateful about it.

    Your post, it's got control issues. You seem conflicted. You should consult a professional to help you accept your maternal issues and latent homosexuality before sublimating your natural inclinations becomes a social violence issue. A stitch in time saves nine. I can offer a referral, or you can Google it. Please - get help.

    --
    Help stamp out iliturcy.
  31. Yeah, worked well for Gates, not so well for me. by reiisi · · Score: 2

    That's why he's rich and I'm poor. I bought into his line of junk back then, thinking it would do what he said it would.

    I don't want to talk about it, and I suppose I'll have to forgive him someday, but he has built up a lot of bad karma to match his fortune.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  32. Re:exactly. by Cyberllama · · Score: 2

    She detested religion, and yet she created a cult with herself at it's center. Oh, sure it's not your typical cult, but it was pretty clearly a cult.

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

  34. Not for everyone by valkenar · · Score: 2

    Coming up with the clever algorithm to solve a problem is what is fun

    Some important distinctions to make are between coding, design, and production, all of which are parts of the experience. Maybe the point of graphical programming environments isn't only to cater to the pure programming experience you're talking about, but also to give people the opportunity to experience the fun of designing, and seeing their ideas come to life.

    As a kid learning BASIC on TRS-80, I did not care in the least about coming up with a clever algorithm. Deciding what to make, creating it and seeing it work was the fun part. For some people, the clever algorithm may indeed be the only fun part of programming, but for me (even now, as an adult and a professional programmer) there is a lot of satisfaction to be had in the design and production parts of the job. Coming up with clever algorithms and solutions definitely is fun, but so are the other parts.

    You're essentially arguing that the process itself is all that is, or should matter to people, but I think that misses an important part of any creative enterprise.

    Also, as a kid, that sense of "wow, I just made this computer do something it didn't before!" was a pretty rewarding feeling. I think new programmers probably still get some of that.

  35. I'm holding out... by Old+Sparky · · Score: 2

    ...for FORTRAN.