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.

783 comments

  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 Lehk228 · · Score: 1

      I already have basic installed on my phone CellularBASIC by Mustafa Elsheikh is installed on my Blackberry Bold 9700, though I don't use it much I prefer to use BBSSH to code python on a linux server

      --
      Snowden and Manning are heroes.
    2. 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.

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

      What's a "Blackberry Bold 9700"? Is this some new Android phone I haven't heard of, or are you installing Android on a dead badger?

      --
      Help stamp out iliturcy.
    4. Re:What's this "We" business? by hcs_$reboot · · Score: 1

      If you want BASIC for your phone, make one

      On the iPhone, you can't. Apple prohibits the making of an interpreter of a scripted language. You app would not be approved.

      --
      Slashdot, fix the reply notifications... You won't get away with it...
    5. 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.

    6. Re:What's this "We" business? by Anonymous Coward · · Score: 0

      It's called Javascript. Forget the Object Oriented baloney and just use it for what it was originally for.

      Like holy crap, why did Perl. PHP, Javascript all adopt these OO C++ object crap when it makes the programming language too damned complicated for new users. Yes you don't need to use the OO stuff, but go look at many Open source projects. Can't learn anything from them. Javascript is the last frontier not yet complicated with OO stuff to make it unintelligible.

      Javascript (eg ActionScript 3) is very easy to learn if you stick to the procedural stuff, just like BASIC. The only thing the original version of Basic did that nothing does now is line numbers, and this was more of a clunky way to optimize memory that isn't needed anymore (eg GOTO 10 instead of GOTO LABEL) since it closely matched the underlying CPU's JMP instruction.

    7. Re:What's this "We" business? by Anonymous Coward · · Score: 0

      There used to be OPL on Psion devices - until phone makers got to Symbian. Now it's gone :-( OPL programming was easy, and there were thousands of useful OPL programs for Psion devices. Loosing OPL was the singlemost dumbest decision of Symbian companies.... never seen anything similar on handheld devices since.

    8. Re:What's this "We" business? by symbolset · · Score: 1

      I remember Symbian. That was a Nokia thing, from before they married Microsoft, right? How's that working out?

      --
      Help stamp out iliturcy.
    9. Re:What's this "We" business? by angel'o'sphere · · Score: 1

      On the iPhone, you can't. Apple prohibits the making of an interpreter of a scripted language. You app would not be approved.

      This is incorrect, as the many apps on AppStore show.

      True is: Apple does not allow scriptable Apps that access iOS APIs ... in other words, Scripts that access the iOS APIs.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:What's this "We" business? by Anonymous Coward · · Score: 0

      There are plenty of cloud based services, there is also an iPhone app for it (and C++, and python, and Java, and Pascal....)

    11. Re:What's this "We" business? by terjeber · · Score: 1

      before they married Microsoft, right? How's that working out?

      Depends on what you mean by "working out". The first result is that finally, at long last, Nokia has a smartphone operating system that matches their excellent hardware. They have not had that before. Nokia "smart" phones up until now have been a nightmare to use. A horrible user experience where simple tasks like sending an SMS requires many, many selections through endless menus and at least twice reading in the manual.

      Whether they are going to be able to sell these excellent phones with an excellent operating system is anybody's guess at this point in time.

    12. Re:What's this "We" business? by Anonymous Coward · · Score: 0

      This seems pretty promising:

      https://market.android.com/details?id=com.rfo.basic

    13. Re:What's this "We" business? by Snaller · · Score: 1

      Don't be a fool. People who want BASIC as a programming language CAN'T PROGRAM

      --
      If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
    14. Re:What's this "We" business? by Anonymous Coward · · Score: 0

      I did. Well, I wrote a BASIC interpreter in Java, anyway, which should be easy to put on an android. It works, you can play with it on funwithbasic.com

  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 Ethanol-fueled · · Score: 0, Flamebait

      I also miss being a kid, but for some strange reason I don't feel the need put a diaper on and run around shitting myself.

    4. Re:BASIC is an awful language by Hentes · · Score: 1

      Indeed, BASIC was a nice easy language that got me into programming. At least for educational reasons, it could be useful on a phone.

    5. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      10 CLS
      20 PRINT "I'M A RETRAD"
      30 GOTO 10

      run

    6. Re:BASIC is an awful language by n5vb · · Score: 1

      It does rather enable bad habits. It's possible to do reasonably good programming in it, but it involves knowing things one doesn't find out just by playing around with the language itself. (And it doesn't have a stack, or variable scoping, or any number of other handy things. And even C does for() better..)

    7. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      Do you know who ranks between 80-120?
      Approximately 95% of the population have scores within two SDs of the mean, i.e., an IQ between 70 and 130.-Wikipedia
      While I'm above that, I'd say having something for 95% of the population is useful.

    8. Re:BASIC is an awful language by tverbeek · · Score: 1

      Do you understand that BASIC was just an example (because it was ubiquitous back in the day)?

      --
      http://alternatives.rzero.com/
    9. 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.

    10. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      And clearly, every single thing anybody does in the world is for you, personally.

    11. Re:BASIC is an awful language by anomaly256 · · Score: 1

      And for the record, you would truly be AMAZED at how fast an inquisitive young mind would pick up something as esoteric as assembly language. The problem we have as adults isn't the learning new concepts, it's unlearning the old ones that keep interfering with our attempts to perceive and conceptualize the new ones. Young kids do not have that problem and will pick up Assembler in *days*.

    12. Re:BASIC is an awful language by narcc · · Score: 1

      And it [BASIC] doesn't have a stack, or variable scoping, or any number of other handy things.

      Wow, you couldn't be more wrong. It's like you went out of your way to be as uninformed as possible.

    13. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      E
       
        org #8000
      loop ld hl, str
        call print
        jr mainloop
      print ld a, (hl)
        and a
        ret z
        rst #10
        inc hl
        jr print
       
      str db "AND I'M NOT", 13, 0
       
      A
       
      R

      I did start programming with Spectrum BASIC, but it just left me unsatisfied and pushed me towards asm. And assembler on early PCs was not much harder for to pick up (I still have warm feelings towards Z80 assembly) than BASIC and did provide you with immediate results.

    14. Re:BASIC is an awful language by Anonymous Coward · · Score: 1

      Started out in BASIC at about 8, moved to ASM at 11, had no problem transitioning to structured and object oriented programming in c/c++ High School. None whatsoever. Its a simple mind that can't partition programming style to the language used. Oh and I skipped that brain dead Pascal language. Walked right out of a class in college because the book was written for Pascal--yes I see the contradiction with what I just said about simple minds and all that. I do just fine in ADA and PL/SQL, for the record. Wirth was a gasbag with too much USI. The big power of BASIC was PEEK, POKE, and USR. it let you launch off into ASM subroutines for critical stuff. Now, if we really want to get something going, why not FORTH for the iOS/Android phone platforms...

    15. Re:BASIC is an awful language by The+Infamous+Grimace · · Score: 1

      I learned on AppleSoft BASIC, which had 'gosub' as well as 'goto', and we were encouraged to use the former instead of the latter and build our programs as modular as possible. Still had line numbers, variables were all global (and only the first 2 letters were relevant) so you had to be careful, but I was able to write a lot with it - a BBS for example. If a program became too big, I'd break it up and pass data between the sub-apps with a text file. This was the mid-80's.

      --
      Ignorance and prejudice and fear
      Walk hand in hand
    16. Re:BASIC is an awful language by Bucky24 · · Score: 1

      s/retards/the uninformed/

      FTFY

      --
      All the world's a CPU, and all the men and women merely AI agents
    17. Re:BASIC is an awful language by Bucky24 · · Score: 1

      It wasn't until I read this that I realized GP was talking about IQ. At first glance I thought they were talking about line numbers in a BASIC program. It all makes so much more sense now...

      --
      All the world's a CPU, and all the men and women merely AI agents
    18. 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.

    19. Re:BASIC is an awful language by Anonymous Coward · · Score: 1

      I also miss being a kid, but for some strange reason I don't feel the need put a diaper on and run around shitting myself.

      Nope. For some reason you seem to feel the need to run around shitting on others instead.

    20. Re:BASIC is an awful language by Anrego · · Score: 1

      Indeed.

      I learnt on basic on a dragon32, later migrated to QBasic, then turbo c and so on until becoming what I consider to be an at least average programmer (at the very least good enough that someone continues to pay me..).

      The key is migrating away from it as you advance. Much like anything, a large part of the problem around BASIC is people refusing to adapt to the proper tools and trying to use the tools they are familiar with for things that are out of scope.

      I guess the question is whether BASIC is still an ok learning language. It's no longer a choice between basic or asm. There are lots of good intermediary languages that you can learn on and then keep right on using as you advance.

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

    22. Re:BASIC is an awful language by RogerWilco · · Score: 1

      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.

      I've started on BASIC as well, but it would not be my first choice to teach someone programming. Back then it was the only thing around, everything came with a BASIC interpreter.

      I think nowadays I would go with Python. It's not perfect either, but as an interpreted language, it has a lot of the advantages that made BASIC such a hit back in the day. A big problem is that nowadays it's harder to do graphical stuff and there is no nice IDE to hold people's hand. With BASIC graphics were easy, if your flavour supported it.

      It's one of the things that Borland had going for it with TurboPascal/Delphi: A nice language for learning and a good IDE. (TP6 and up at least). But I don't think going that route would be a good idea in 2012.

      --
      RogerWilco the Adventurous Janitor
    23. Re:BASIC is an awful language by Spacejock · · Score: 1

      For Beginners. They don't have to worry about which libraries to include, where to put the semi-colon or how many times to press TAB. They can just enter Print "Hello" and it will. BASIC is a great way to get people into programming. If they want to take it further they can move on to other languages. If they just want to write an app which beeps their phone at 7am every weekday, I'm sure BASIC would do the job.

    24. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      Eh, no I think you are the retard. And I have a 160 IQ.

    25. Re:BASIC is an awful language by OeLeWaPpErKe · · Score: 1

      Even QBasic has every datastructure you could possibly want available as add-ons.

      Besides, having a dev environment that would execute on F5 on android with similar speed to QBasic (hell even 1/10th would be perfect) would be great for a number of kinds of development. First of all games.

      Pressing run and waiting a minute each time is annoying, and quickly becomes a performance killer.

    26. Re:BASIC is an awful language by OeLeWaPpErKe · · Score: 1

      I seriously doubt slashdot has an average IQ significantly above the mean. Not even half a sigma. No site with more than 10-15 members has.

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

    28. Re:BASIC is an awful language by wonkavader · · Score: 1

      You have a warm feeling for Z80 assembler because it was EXCELLENT, dude.
      I was horrified when I was forced to use Intel's stuff.

    29. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      That is the reason I usually steer people towards python these days. You are up and running pretty quick. There are *tons* of good examples out there. Basic not so much as there are so many different flavors of it.

      These days it is python people should be cutting their teeth on. Not basic. As honestly no one really uses it anymore. Even visual basic is well on its way out (c# kicked it out the door). It went out of fashion pretty quick. If it were not for VB it would have died long ago.

      Python is even cross machine compatible 99% of the time. So you do not have to worry are they using linux, windows, apple, whatever... Most examples work whereever.

    30. Re:BASIC is an awful language by wonkavader · · Score: 1

      In fact, after reading a bunch of these posts about how one language or another stinks, maybe Z80 assembler for Android is exactly what's needed?

      Or forth.

    31. Re:BASIC is an awful language by _0xd0ad · · Score: 1

      I'd say that BASIC's real success was that it made it easy for people to do the stuff that they actually wanted to do: string manipulation, graphics-mode, and bleeps and bloops. My initial forages into C were rather discouraging - when I learned how much trouble it was to create and manipulate simple strings, I lost interest in that language quickly, since it was so easy in BASIC. Might as well have been using assembly language as C; there's not much difference. BASIC did all of that stuff for you. Perhaps even worse, none of the books that I had for C even suggested such a thing as a graphics mode, making the computer make sounds, or even rudimentary stuff like relocating the cursor or clearing the screen or even changing the color of text that you printed - basically, everything that made the computer more interesting than a teletype machine.

      Any successful beginner-orientated language needs to be similarly helpful when it comes to doing simple stuff that everyone will want to use in their programs - and note that people's expectations for computers have progressed quite a bit beyond 16-color, low-resolution graphics modes and simple bleeps and bloops.

    32. Re:BASIC is an awful language by wonkavader · · Score: 1

      Hush. Don't get them back on track. You're spoiling the fun.

      Here, have some of my popcorn.

    33. Re:BASIC is an awful language by _0xd0ad · · Score: 1

      Not sure what version of BASIC you're talking about, but the version of BASIC that I was first using didn't even have functions, much less local variables. Every variable had global scope - in fact, they didn't even go away when your program ended. You could use nested GOSUB-RETURN blocks, and BASIC managed a stack for those internally, but you couldn't actually use that stack - i.e. for local variables or parameters to the subroutines.

    34. Re:BASIC is an awful language by anonymov · · Score: 1

      Easy, just fire up Unreal Speccy. It has built-in asm and debugger, I believe.

    35. Re:BASIC is an awful language by narcc · · Score: 1

      Structured BASIC has been around for almost 30 years. BASIC did not begin and end with your C64.

    36. Re:BASIC is an awful language by hewearsmanyhats · · Score: 1

      speaking as someone two sigmas above that, my task is fixing what trolls like you code stupidly because of inadequate short-term memory

    37. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      Yup. I started in BASIC (warning! brain damage!) because it was all that was initially available on the first computer I had access to (we're talking like age 7 or so). In parallel, I was learning about analog and then digital electronics from Radio Shack kits and books. Eventually (a few months later) I found a book that talked about assembly language concepts and figure out how to start writing assembler in raw hex using the dos debugger, and went from there. It was over a year later when I finally found an actual copy of a macro assembler to write assembly in "source form", and then I stuck with mostly straight assembly programming until sometime in high school when I discovered C.

      For a kid who's got a programmer mindset (and tbh, that's most motivated geeky kids if they want to) learning assembly isn't hard. My was made difficult by lack of access (no modem, no local community, etc), but still I'd recommend even in modern times a path for a young child that goes roughly like this: (1) Analog electronics (2) Digital electronics (3) BASIC to understand fundamentals of programming (steps 2/3 could be done in parallel) (4) Assembly language (tying in with the digital electronics for understanding boolean logic and bits) (5) C (6) Higher-level Scripting languages, OO-languages, etc...

    38. Re:BASIC is an awful language by _0xd0ad · · Score: 1

      It's not clear that we're talking about those newer versions of BASIC. As far as I knew, we were talking about the original ones that did, in fact, not have any usable stacks or variable scoping.

    39. Re:BASIC is an awful language by jbengt · · Score: 1

      I do recall it being hard at the time to get my head around subroutines instead of gotos after BASIC pollution.

      Really?
      What was so hard about that?

    40. Re:BASIC is an awful language by BradleyUffner · · Score: 1

      Not sure what version of BASIC you're talking about, but the version of BASIC that I was first using didn't even have functions, much less local variables. Every variable had global scope - in fact, they didn't even go away when your program ended. You could use nested GOSUB-RETURN blocks, and BASIC managed a stack for those internally, but you couldn't actually use that stack - i.e. for local variables or parameters to the subroutines.

      VB.Net for one. Basic has come a long way. The people who call others idiots because they use BASIC don't seem to understand that things change.

    41. Re:BASIC is an awful language by _0xd0ad · · Score: 1

      I'm aware that newer versions of BASIC include those things, but I was under the impression that we were specifically talking about the old original versions that didn't, since those were all TFS had mentioned.

    42. Re:BASIC is an awful language by anomaly256 · · Score: 1

      The unlearning of habits. Hence the basis for the entire argument..

    43. Re:BASIC is an awful language by n5vb · · Score: 1

      And it [BASIC] doesn't have a stack, or variable scoping, or any number of other handy things.

      Wow, you couldn't be more wrong. It's like you went out of your way to be as uninformed as possible.

      When I was exposed to it, it had none of those things. But I did bail out of it rather early .. about the time Pascal and C first became available. It's probably evolved somewhat in the past 30 years, so perhaps you're right about its current incarnation. I haven't found myself in need of anything it offered over other languages, so what I remember goes back a ways. Which happens with people who've been doing this for that long.

    44. Re:BASIC is an awful language by n5vb · · Score: 1

      Structured BASIC has been around for almost 30 years. BASIC did not begin and end with your C64.

      One might argue that learning to code on C64's, Apple II's, TRS-80's, and other 8-bit machines taught plenty of its own lessons about how to code efficiently, both in terms of optimizing performance (bitwise logic, integer math, lookup tables, etc. vs floating point, trig, and other high-cost operations on processors that didn't even have built in multiply operations, let alone hardware floating point) and cramming code into limited space (when 64k was a lot of RAM because it was all the CPU could address). In the old-school BASIC interpreters one soon learned tricks like putting the subroutines in first, with the most performance-critical ones right at the beginning where the seek times were shorter because the interpreter stepped in from the beginning when seeking any given line reference. The performance limitations of the 8-bit machines were formidable challenges in terms of coding well. I don't knock them, and if anything, I consider myself a better programmer for having experienced coding within those constraints and I wish later generations could have had that experience, especially seeing some of the code that's come out in recent years. The only thing I can think of today that's comparable is Arduino.

      It's possible latter-day BASIC doesn't need such techniques to squeeze extra performance out of it, but if it's interpreted, somehow I doubt it..

    45. Re:BASIC is an awful language by rev0lt · · Score: 1

      The thing is that many old-time Basic programmers were casual programmers. They didn't learn to program to be professionals, they started programming for fun and, more often than not, to create software suitable to their needs. They don't need C or OO concepts, they need to lay some lines of code and see the result. Now if you want to do some "quick and dirty" simple application like many people did back then, you don't have much choice. You probably need to learn about GUI, and learn about objects and learn about compilers and packages and modules and libraries. You don't get a self-contained executable that just works - you need to "install" applications. That's why many of those casual programmers stopped programming, because it became too complex to do simple things. Many of them still use the same algorithmic concepts they learned with basic when working with spreadsheets, macro languages or database systems, but they're not programmers - they are power users.

    46. Re:BASIC is an awful language by rev0lt · · Score: 1

      But! God bless the 8086 div/idiv instruction...

    47. Re:BASIC is an awful language by narcc · · Score: 1

      I agree. Though I'd also add that those unstructured BASIC's on early-80's micros did a MUCH better job at preparing young programmers for moving on to assembly than did any other language at the time. (Thinking about how you structure and organize your code in an old unstructured BASIC mirrors how you'd structure and organize your assembly program.)

    48. Re:BASIC is an awful language by aztracker1 · · Score: 1

      My first real language (outside simple batch files, macros and bbs scripting) was JavaScript. Plenty of bad stuff there, especially with the copy/paste repositories early on... and a lot of differences in terms of language features before the v4 browsers. Now it's used as a really nice functional, event driven language. Today most features or common,or implementable in JS directly (even coffeescript, and JS compressors). Interpreters are faster than ever. It's available on just about every major user platform, and easy enough to get started. That said, BASIC isn't so bad either. I've done plenty of basic,and recently VB.Net, it actually does have a few advantages. It isn't my first choice, but it is a decent go to option.

      --
      Michael J. Ryan - tracker1.info
    49. Re:BASIC is an awful language by rev0lt · · Score: 1

      Task: Write a for() cycle in C with an integer variable increasing from 1 to 1 million. Make it so it is compilable in any architecture C is available for. Do the same in Basic.

    50. Re:BASIC is an awful language by rev0lt · · Score: 1

      I'd mod you up if I had mod points :)

    51. Re:BASIC is an awful language by shutdown+-p+now · · Score: 1

      It depends on what you understand by "old", really. I mean, QuickBASIC had full support for structured and procedural programming - multiline complex statements, functions with separate stacks and full recursion etc - and that's in 1985, over 25 years ago.

    52. Re:BASIC is an awful language by anomaly256 · · Score: 1

      I'll admit vb.net isn't as bad as it's predecessors. But if you're going to teach a CLR lang, why not just start with C#? Is it really much of a leap from vb.net to c#?

    53. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      I started on BASIC too, and I don't have much good to say about it. It stunted my progress as a programmer for almost a decade. Although I actually only used it for a couple of years, it dominated how I thought about programming, even when I wrote C. Thankfully, I eventually stumbled upon SICP and realized how wrong I'd been.

      Dijkstra was right. Learning BASIC is a horrible thing to do to your mind. Javascript, with all its mistakes and atrocious syntax, at least got most of the important bits right.

    54. Re:BASIC is an awful language by MROD · · Score: 1

      OK. That's the obvious stupid example. Now try this:

      10 FOR y=1 TO 1000
      20 FOR x=0 TO 7
      30 INK x : PAPER 7 - y
      40 PRINT "Oh! Pretty colours! Annoying sounds!"
      50 BEEP 1,x
      60 NEXT x
      70 NEXT y

      How many modules will you now have to load? How many APIs will you now have to learn?

      --

      Agrajag: "Oh no, not again!"
    55. Re:BASIC is an awful language by gbjbaanb · · Score: 1

      Pascal was designed as a teaching language, its small and tight and easy to understand. It doesn't have the wealth of libraries that other languages have, and perhaps that's a point in its favour.

      Still, Delphi was incredibly popular until recently, perhaps being used as a smartphone language would revive it, and a love of programming too.

      Python has too many quirks to make it good for true beginners. You have to make entry incredibly easy for them to keep with it - which is why PHP is so popular.

    56. Re:BASIC is an awful language by tibit · · Score: 1

      I dislike architectures that have a very limited bunch of pretty much specialized registers. If you think Z80 is excellent, then you should look at Z8, and its refreshed version eZ8 -- they are even better. Zilog (now IXYS) is still making those chips, they are called Encore! You have 12 bit internal SRAM address space, accessible using either 4, 8 or 12 bit addressing. 4 and 8 bit addressing is paged, of course. The access using 4 bit addresses is what they refer to as "registers", even though there isn't all that much difference between various addressing modes, the most impact it has is on how many fetch cycles are needed. Since it's a Harvard architecture, fetches and execution cycles overlap.

      An even cleaner, more uniform instruction set is offered by Parallax Propeller. Every instruction can be skipped based on flags, and every instruction's effects can be bypassed (you decide if it modifies flags or not).

      --
      A successful API design takes a mixture of software design and pedagogy.
    57. Re:BASIC is an awful language by HBI · · Score: 1

      Gee, that must have struck close to home.

      In regards the threats, the truth often results in same. I've outlasted the others, i'll outlast you.

      You'd think the sure knowledge that 95% of humankind annoys the crap out of me would give you some solace, at least. Judging by your comments, schadenfreude and/or sadistic infliction of misery is your bag.

      The common attitude towards geeks might be true, but at least I pity those who will never understand this shit and try to throw them a bone here and there. A BASIC interpreter qualifies as a bone. It's the net below the trapeze that tries to save them before they give up out of frustration.

      --
      HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
    58. Re:BASIC is an awful language by HBI · · Score: 1

      Thank you for understanding what I meant.

      --
      HBI's Law: Frequency of calling others Nazis is directly correlated with the likelihood of the accuser being Communist.
    59. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      I started with BASIC. To this day it often happens that I am oblivious to a recursive algorithm even if my life depended on it. (fscking gotos......)

      While there are many quotes of Dijkstra I may not necessarily agree with, the one about BASIC causing permanent brain damage is not one of them.

    60. Re:BASIC is an awful language by anonymov · · Score: 1

      How many modules will you now have to load? How many APIs will you now have to learn?

      Usually, you're one import('...') away from LINE, PLOT and CIRCLE likes.

      Many are just packaged as "game engines". For example, Lua has LÃve - I think it's not much harder to save something like

      function love.draw()
          for x=1, 255 do
              for y=1, 255 do
                  love.graphics.setColor(x,y,0)
                  love.graphics.line(x*2, y*2, x*2+1, y*2+1)
              end
          end
      end

      to main.lua and run it with "love ."

    61. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      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.

      Did you ever learn assembly language or did you just learn to use the assembler with no input?

    62. Re:BASIC is an awful language by Anonymous Coward · · Score: 0

      +1 "We were all thinking it"

  3. BASIC is a horrible language. by mhh91 · · Score: 1

    Hobbyist programmers don't write BASIC code these days, the question you should be asking is "why can't we put python/ruby on the phone?".

    1. Re:BASIC is a horrible language. by Anonymous Coward · · Score: 0

      Then why do they make the BasicStamp processor which has been used for a long time in hobby control processing?

    2. Re:BASIC is a horrible language. by Cylix · · Score: 1

      I had a few friends play with BASIC stamps. Though it runs PBASIC.

      I didn't follow it very much, but it still would indicate there are a few instance of hobbyists using basic.

      --
      "You should always go to other people's funerals; otherwise, they won't come to yours." -- Yogi Berra
    3. 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.

    4. Re:BASIC is a horrible language. by Hentes · · Score: 1

      There are Python implementations for like every phone.

    5. Re:BASIC is a horrible language. by Anonymous Coward · · Score: 1

      Because tying syntax to whitespace is anti-accessibility to the point of immorality.

      The best programming environment comprises a uniform underlying semantic with configurable syntactic sugar selectable at the Editor level. See also .NET or Mathematica or the VMS inter-module ABI.

    6. Re:BASIC is a horrible language. by imakemusic · · Score: 1

      why can't we put python/ruby on the phone?

      Because... we can.

      --
      Brain surgery - it's not rocket science!
    7. Re:BASIC is a horrible language. by errandum · · Score: 1

      you spelled java wrong (:

    8. Re:BASIC is a horrible language. by Ethanol-fueled · · Score: 1

      Much test equipment is programmed using HP Instrument("Rocky Mountain") BASIC and, damn, is it horrible.

    9. Re:BASIC is a horrible language. by JWSmythe · · Score: 1

          Perl too. :) I had it on my Android phone, before I wiped it for another install. I don't remember right off where to get it, but it wasn't hard to find for those who have heard of a search engine. :)

          All the hooks for using the system are in place for interacting with the hardware in Java. That's probably the biggest reason for development to be done in Java. I believe it was at least partially implemented in Perl. At least that's what I remember from a year ago.

          Oh look, the link for SL4A. Perl, Python, Lua, Beanshell (?), and Rhino (?). I wanted to do my own GPS tracking program to update my own web site. Since there are plenty of apps that are already written, and mostly did what I wanted, I really haven't looked too hard at continuing. I may revisit it eventually, if I find that I have too much spare time on my hands. One of the things that I got hung up on was the speed and altitude limitations. 11 miles (18 kilometers) and/or (1,853 kilometers per hour).

          One of the things I wanted to eventually try is an air launch rocket (as opposed to the typical ground launch), with the ability to bring itself home. Prevailing winds where I live would put touchdown of a high altitude flight of any significant duration about 20 miles out into the Atlantic. Besides the fact I don't have a boat, I don't want to spend the time explaining to the US Navy or US Coast Guard why I'm in a rented boat, 20 miles off shore, with a big freakin' rocket. I'd rather violate FAA rules, than be tied up in a DHS interrogation for days. If it does manage to get up to speed or altitude, it'd be lost until it dropped enough speed and altitude, which may put it way off course for coming home. I'd love to be lazy enough to just put an android phone in to handle tracking. I may have to look at gray market components, which will add to the overall weight.

      --
      Serious? Seriousness is well above my pay grade.
    10. Re:BASIC is a horrible language. by Anonymous Coward · · Score: 0

      Javascript makes BASIC look like programming nirvana.

    11. Re:BASIC is a horrible language. by Anonymous Coward · · Score: 0

      Basic is easier. Beginners is who it was designed for. Its simple. It empowers people to do things that they want. Its the first step into turning them into a Linux user with a computer science degree with an additional background in Electronics Engineering specializing in avionics. If they study cryptography while getting the degree, they can get a job in a spook house dealing with satellites, cryptography, computer networks and radar systems. This can be followed by work for local 911 call centers with GIS/GPS tracking and mapping/cartography (well ok, maybe that's just me). BASIC is easier than any of the P languages, even if they are interpreted (and JAVA has all the elegance of C++, with all the performance of SMALLTALK). If it weren't object oriented, I would say that JAVA has all the elegance of COBOL-58 (and starting with Grace Hopper, all the creators of COBOL said that if they thought it would still be around after more than 6 months, they would (and could) have done a much better job of it).

    12. Re:BASIC is a horrible language. by Anonymous Coward · · Score: 1

      Mod this guy up, he hates Apple!

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

    14. Re:BASIC is a horrible language. by siddesu · · Score: 1

      That is an interesting claim, but what facts do you base it on, trollface?

    15. Re:BASIC is a horrible language. by rev0lt · · Score: 1

      Basic Stamp is somewhat modern. Loot at the 8052 microcontroller, it had a version with a Basic intepreter in firmware (the 8052 AH-Basic).

    16. Re:BASIC is a horrible language. by shutdown+-p+now · · Score: 1

      For what's it worth, iOS has at least JS and Lua.

      Lua, by the way, is also a very nice beginner's language. It's even simpler than Python in many ways.

    17. Re:BASIC is a horrible language. by siddesu · · Score: 1

      Exactly, the headline makes it sound like there is nothing at all in terms of scripting capability on the two major phone platforms when in fact the opposite is true. I also agree that lua is a very good language to begin programming with. Maybe I'll dust off the iphone and check it out ;)

    18. Re:BASIC is a horrible language. by gmhowell · · Score: 1

      That is an interesting claim, but what facts do you base it on, trollface?

      Because you most likely paid an early disconnect fee to get a different phone than your iPhone 4? It's not proof, but it's certainly a thumb on the scale.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
    19. Re:BASIC is a horrible language. by UglyMike · · Score: 1

      Indeed, the CODEA app which is LUA based is very, very nice.
      Even I (BASIC programmer because I'm too lazy to learn something new), was able to make a program in that environment. The community is great as well.
      However, Apple being Apple, it is restricting Codea to only let the user enter his programs manually (ok, cut-n-paste is allowed too). Codea is being forced to revert some functionality that let it load external programs based on the .codea suffix.
      Pretty retarded by Apple if you ask me. I realize they do this to gain/maintain control over the applications the user can install, but their actions really rub me the wrong way.

    20. Re:BASIC is a horrible language. by siddesu · · Score: 1

      That’s a supposition, not a fact. But even if you knew that for a fact, how is that an indication of hate?

    21. Re:BASIC is a horrible language. by Clueless+Moron · · Score: 1

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

      That is complete and utter nonsense. And I say this as an embedded systems developer; we currently have a product that is almost 100% python based. It even runs a webserver in python and the performance is fine. It's a pretty complicated multi-threaded app.

      I'm not the only one, either. Only a few months back I was investigating an embedded system, and tons of stuff in it was written in python.

      Furthermore, my Symbian S60 smartphone runs python. It actually has some very impressive 3D apps written entirely in python

      Python's speed is comparable to any other typical interpreted language.

    22. Re:BASIC is a horrible language. by gmhowell · · Score: 1

      I'm not the OP, so I'm just guessing.

      --
      Jesus was all right but his disciples were thick and ordinary. -John Lennon
  4. It's called javascript. by larry+bagina · · Score: 1

    Filter error: You can type more than that for your comment.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  5. Autohotkey by wiedzmin · · Score: 1

    Screw BASIC, someone port Autohotkey to mobile platforms!

    --
    Bow before me, for I am root.
    1. Re:Autohotkey by Anonymous Coward · · Score: 1

      Hell no. And this is a person who uses it extensively.
      AHK language is terrible, inconsistent and just broken with respect to a "BASIC-like" language.
      Not only that, it is built hacks upon hacks upon hacks from the original source by several contribs over the years.

      It REALLY needs to be remade from scratch and forked as a whole different version. (AHK2)
      Then you could add some sort of compatibility layer through the library system so you can just refer to older versions of them from a single new instance of an AHK2 file to save time.
      So much of the command system is inconsistent, sometimes even confuses the hell out of me, especially some GUI stuff, such a pain.
      An official flag section for certain commands should be used over layers of optional parameters after a command or different versions of a command, it looks so horrible seeing a bunch of empty flags and trying to keep track.
      Something similar to the section for the GUI items where you define aspects of position and such, that way is really nice.
      Some other things are just annoying, such as the different kinds of loops, that is just an absolute mess.

      As long as it isn't handled by some pretentious douche who thinks certain commands are evil so must remove them to "save humanity", not mentioning any names, then all is fine.

    2. Re:Autohotkey by aztracker1 · · Score: 1

      LOL.. hey, I use that for volume control with my model-m style unicomp customizer 104-key keyboard... (among other things)

      --
      Michael J. Ryan - tracker1.info
  6. I don't have a smartphone... by The+MAZZTer · · Score: 0

    But I have gotten the impression Apple keeps iOS locked down and that even with open-source Android carriers try and restrict how you can load apps. A BASIC interpreter would either be powerful enough to work around this restriction (and thus rejected from app stores) or useless enough that no-one would want to use it. Of course, a sandboxed-type BASIC (IE for making local-only games, for instance, and not allowed to use any phone functionality) or something could strike a balance between the two. It's not like the DOS versions of BASIC I used to play around with were very powerful (unless the POKE command counts).

    1. Re:I don't have a smartphone... by Anonymous Coward · · Score: 0

      They allow scripting now. There are several Lua interpreters available for iOS.

    2. Re:I don't have a smartphone... by Jay+L · · Score: 1

      There already is a sandboxed BASIC on the iPhone. It's called C64.

    3. Re:I don't have a smartphone... by n5vb · · Score: 1

      How much fun would it possibly be if it weren't possible to save programs?

      And if you could save programs, then the interpreter would have access to filesystem I/O. Which, I'd bet, is unacceptably "powerful"..

    4. Re:I don't have a smartphone... by The+MAZZTer · · Score: 1

      Nah, you can just sandbox the I/O and only give the app access to it's own little space. All phones must do this already. You gotta have it for high scores or saved games or whatever.

    5. Re:I don't have a smartphone... by Gadget_Guy · · Score: 1
      There is a Basic for iOS, simply called Basic! It is not too bad, but as you anticipated it does not integrate any phone features nor does it allow you to use the standard user interface elements of normal apps.

      I have done a few small apps using it.

    6. Re:I don't have a smartphone... by Anonymous Coward · · Score: 0

      This is a good comment, Lua is likely a much better choice than BASIC and in line with what the poster is after. The ability to do simple programming tasks without having to wade through the morass of sewage that is the Java development ecosystem.

    7. Re:I don't have a smartphone... by Bucky24 · · Score: 1

      and thus rejected from app stores

      One of the much-touted strengths of Android is its ability to side-load apps. And side-loading is not THAT complicated. It may be out of the range of a typical user, but for someone who is trying to learn programming via BASIC it could be a useful procedure to have to work out.

      --
      All the world's a CPU, and all the men and women merely AI agents
    8. Re:I don't have a smartphone... by _0xd0ad · · Score: 1

      It's not like the DOS versions of BASIC I used to play around with were very powerful (unless the POKE command counts).

      I made some pretty cool BASIC programs after I found some code that wrapped an INT 33h call in an assembly-language subroutine to read the position of the mouse and determine if a button was pressed. (The built-in commands to read the light pen position only worked when a button on the mouse was pressed, which wasn't too useful.)

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

    2. Re:No keyboard, no programming by Anonymous Coward · · Score: 0

      Comparatively, no, there aren't.

    3. Re:No keyboard, no programming by Anonymous Coward · · Score: 0

      While I agree you want a keyboard, I knew a guy with a Timex Sinclair 1000 and I know quite a few Atari 400s got sold (though I don't think I ever actually saw one in anyone's house). People somehow make do with whatever they have.

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

    1. Re:We do, it's called JavaScript. by tepples · · Score: 1

      But do BASIC interpreters written in JavaScript run even while the device is disconnected from the Internet? (This is likely to be the case on a Wi-Fi-only tablet while the user is riding in a vehicle.) And can they locally save and load programs that the user has entered?

    2. Re:We do, it's called JavaScript. by hankwang · · Score: 1

      Javascript?? In order to get anything done in javascript, you need to grasp OOP, HTML, and DOM just to deal with user input/output; deal with implicit string/number conversions (which vary between browsers). Moreover to that that debugging javascript is even more horrible than in BASIC. In BASIC I could insert print statements to see what's happening. In javascript I have to resort to alert() which requires me to click OK all the time.

    3. Re:We do, it's called JavaScript. by anonymov · · Score: 1

      And if JS is not enough for you, go to http://repl.it/ and try your hand at a dozen languages.

      There's a lot of REPLs for different langauges and with different I/O capabilities - from plain "println" to graphics - all over the web.

    4. Re:We do, it's called JavaScript. by defcon-11 · · Score: 1

      You can use console.log(), plus you have full debugging support with all the popular smartphone simulators.

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

      javascript does not need the internet to work... and it does not need to be run in a browser.

    6. Re:We do, it's called JavaScript. by anonymov · · Score: 1

      HTML5's offline application cache, local storage and FileSystem portions are meant to handle all of this.

    7. Re:We do, it's called JavaScript. by Bucky24 · · Score: 1

      JavaScript is client-side through a browser. So as long as you could download the webpage to your phone then they should run when the device is disconnected. And with HTML5's ability to utilize local storage, it is possible for them to store user created programs.

      --
      All the world's a CPU, and all the men and women merely AI agents
    8. Re:We do, it's called JavaScript. by tepples · · Score: 1

      So as long as you could download the webpage to your phone

      I am aware that this is possible on a desktop or laptop computer. But I don't own an iOS device nor plan to buy one in the near future. Before I do so, how well does iOS support downloading a web page permanently to a phone? Google shows me a couple paid apps to do this, implying that it doesn't come standard as part of Safari for iOS.

      And with HTML5's ability to utilize local storage

      How much local storage, and how does the data that a program reads and writes get in and out of the local storage?

    9. Re:We do, it's called JavaScript. by Anonymous Coward · · Score: 0

      there is a javascript debug console in all major browsers...

    10. Re:We do, it's called JavaScript. by Bucky24 · · Score: 1

      Before I do so, how well does iOS support downloading a web page permanently to a phone? Google shows me a couple paid apps to do this, implying that it doesn't come standard as part of Safari for iOS.

      I don't think standard Safari has that option, but I imagine one of the third party browsers might. I think I remember seeing it in another app but I can't remember which one (then again I'm pretty sure I'm still running iOS 3 on my iTouch so my information is obviously a little out of date as to what Safari can do).

      How much local storage, and how does the data that a program reads and writes get in and out of the local storage?

      According to the e-book I have on HTML5: “The specification recommends that browsers allow five megabytes per origin"

      As for HOW the data gets written, there's a javascript API that web apps can use. The actual system calls are meant to be implemented in the browser itself. So it is possible that Safari Mobile doesn't even support it (though Safari on the desktop does)

      --
      All the world's a CPU, and all the men and women merely AI agents
    11. Re:We do, it's called JavaScript. by pclminion · · Score: 1

      All it would take is some sort of SDK providing "beginner level" functions to call for various things. You don't have to understand the DOM, you just need a function you can call which does it for you.

    12. Re:We do, it's called JavaScript. by Anonymous Coward · · Score: 0

      Have you tried Firebug or the debugger in Chrome? It let's you break, step through programs and inspect variables very easily.

    13. Re:We do, it's called JavaScript. by tepples · · Score: 1

      According to the e-book I have on HTML5: “The specification recommends that browsers allow five megabytes per origin"

      "And if you want to go beyond five megabytes, that'll cost you $600 plus $99 per year."

      As for HOW the data gets written, there's a javascript API that web apps can use.

      But if a user, say, wants a program to read one text document, do something to it, and write another text document, how do the files get into and out of local storage?

    14. Re:We do, it's called JavaScript. by Anonymous Coward · · Score: 0

      make a div id="debug", use document.getElementByID("debug").innerHTML to append writes

    15. Re:We do, it's called JavaScript. by Anonymous Coward · · Score: 0

      No actually you don't have to resort to alert. No you don't have to grasp DOM. No you don't have to grasp OOP, you can use OOP procedurally among other methods. How do I know this? That's me in a nutshell, and I am still capable of using javascript.

    16. Re:We do, it's called JavaScript. by Anonymous Coward · · Score: 0

      Can you run JavaScript from a command prompt on an android/iphone/et c.? Can JavaScript control every aspect of the phone?

      The reason I haven't bought a smart "phone" is that it seem very hard to:
        1) create scripts on them that solve unexpected problems while on the move (at home I just use my home PC)
        2) put my own customized or written-from-scratch applications on them (like I do at home)

      The phone part of the smart "phones", don't seem to be worth a dime and I surf the web to much at home, so I don't need another vehicle for that bad habit. I don't play games. So the only reason I see to buy a smart "phone" is because of its programmability and scriptability.

    17. Re:We do, it's called JavaScript. by aztracker1 · · Score: 1

      Umn... how about just using console.log/error/dir? first in venkman, then firebug, now native in ie and webkit (chroe/safari), let alone break points, etc... Though maybe not so simple with say NodeJS, but there are options. 2002 called and wants it's stereotypical view of JS back.

      --
      Michael J. Ryan - tracker1.info
    18. Re:We do, it's called JavaScript. by Bucky24 · · Score: 1

      But if a user, say, wants a program to read one text document, do something to it, and write another text document, how do the files get into and out of local storage?

      I'm not sure what you're asking. Are you asking the API calls, or are you asking how the browser implementation should be? Or something entirely different?
      Actually I don't think local storage can actually store FILES. From what I can tell in the API calls its possible to store key-value pairs. With a little imagination that could be used to store program code.

      Out of curiosity, where did you find that little tidbit on the "beyond five megabytes"? I didn't know that was even a possibility.

      --
      All the world's a CPU, and all the men and women merely AI agents
    19. Re:We do, it's called JavaScript. by vlm · · Score: 1

      Javascript?? In order to get anything done in javascript,

      Note, we're comparing javascript to BASIC, not ruby. We're not trying to get anything done in javascript.

      No one does modern enterprise development in BASIC. And thats OK. No one will do modern enterprise development in javascript. And thats OK too.

      As a learning language "make a program that prints your name" "make a loop that counts from 1 to 10 and displays it" both js and basic are pretty good...

      It has "tolerable" control flow. It gets the structure in the head of "decide what to do, edit the file of text, then run it and see what happens, then debug, repeat" which believe it or not, non-programmers simply don't understand. It has the concept of "a variable". Most importantly it has limitations, and most of being a programmer is figuring out how to work around limitations, and thankfully they're simple enough that a noob can run into them and start thinking, and the limitations are simultaneously complicated enough that a total noob can still do "something" before colliding with an immovable object. Its available pretty much everywhere on every machine and is more or less cross platform.

      It is very hard to outdo javascript as an intro language. Perhaps tryruby.org which has a completely different approach and requires reasonably fast internet access?

      --
      "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
    20. Re:We do, it's called JavaScript. by tepples · · Score: 1

      I'm not sure what you're asking. Are you asking the API calls, or are you asking how the browser implementation should be? Or something entirely different?

      Say the user has a piece of information somewhere in the device's file system (or whatever Apple calls it instead of a file system; I'm not an iOS programmer), and the user wants to use that information in a program. How does that user get the information into a place where the program can manipulate it?

      Out of curiosity, where did you find that little tidbit on the "beyond five megabytes"?

      Please see my other comment.

    21. Re:We do, it's called JavaScript. by Bucky24 · · Score: 1

      Say the user has a piece of information somewhere in the device's file system (or whatever Apple calls it instead of a file system; I'm not an iOS programmer), and the user wants to use that information in a program. How does that user get the information into a place where the program can manipulate it?

      I don't believe that's possible, unless the HTML5 app wrote that piece of information in the first place. It's still heavily sandboxed.

      --
      All the world's a CPU, and all the men and women merely AI agents
    22. Re:We do, it's called JavaScript. by anonymov · · Score: 1

      It's possible, just not on mobile. There's older FileReader API which lets you read files after user selects them through standard <input type="file"> field or drag-n-drops them onto browser window, and there's FileSystem API which lets you request a sandboxed piece of FS where you can do whatever you want.

      Neither is available on iOS and only FileReader on Android.

    23. Re:We do, it's called JavaScript. by Bucky24 · · Score: 1

      You're right, I should have said "I don't believe that's possible using the HTML5 local storage".

      --
      All the world's a CPU, and all the men and women merely AI agents
    24. Re:We do, it's called JavaScript. by anonymov · · Score: 1

      You can always hack together some abstraction, for example storing file index and files in WebSQL database - supported across all mobile and Webkit plus Opera on desktop. This'll let you use somewhere in tens of megabytes on iOS - it asks for permission after 5Mb.

    25. Re:We do, it's called JavaScript. by tepples · · Score: 1

      You can always hack together some abstraction, for example storing file index and files in WebSQL database

      But with Apple not supporting <input type="file"> at all, getting the files into that abstraction in the first place isn't possible because Apple has provided no way for users to select pieces of information belonging to other applications to be sent to an offline web application.

  9. They can, they don't want to. by Anonymous Coward · · Score: 0

    Obviously if we could do it then, we can do it now.

    The big tech companies don't want to.

    They don't want regular people writing little programs, they want people buying them. It's a consumption device.

  10. Why would they want to? by J'raxis · · Score: 1, Troll

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

    1. Re:Why would they want to? by 93+Escort+Wagon · · Score: 1

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

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

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

      --
      #DeleteChrome
    2. Re:Why would they want to? by mikiN · · Score: 1

      Thing hinted at in many posts above: yes your phone can do that, but you have to pull your (e-)wallet.
      There are people out there that don't have a knee-jerk reflex action like: I want a BMI calculator, lets whip out the (virtual) plastic and get me a BMI app. Now lets get my local bus time table into an app, let's whip out the plastic again.

      Back in the day, when people wanted their wood chopped, they went to the shed to get an axe, didn't pick up the phone to call for a woodchopper at $50 an hour.

      Ahh those were the days...

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    3. Re:Why would they want to? by jedidiah · · Score: 1

      > For most end users, their iPhones, iPads, and Android devices do pretty much everything they want.

      The blissful ignorant types tend to either be unaware of the possibilities or are successful at kidding themselves.

      You don't have to be able to "build your own" to know when something is crap and should never have gotten into the wild. Although it helps.

      If it were already perfect, there would be no App Store.

       

      --
      A Pirate and a Puritan look the same on a balance sheet.
  11. 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
  12. Smalltalk by Anonymous Coward · · Score: 1

    Ever since Smalltalk failed for actually trying to bring programmability to the masses, we have seen progressively less accessible development environments. BASIC was the last gasp in the '80s.

    Today development of development environments has itself become a revenue stream, not least for lock-in potential, so we have a million twisty languages, all alike. The last thing anyone wants is a simple, easy-to-use solution.

    1. Re:Smalltalk by Locutus · · Score: 1

      I was going to post that they might just as well ask for VxREXX but saw your Smalltalk post. Wow, Smalltalk was just inches from taking off when Java in the browser hit and took all its thunder. It's never been the same.

      Interestingly, there is a port of Squeak to Android though. http://code.google.com/p/squeak-android-vm/

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
  13. BASIC Is dead, Long live BASIC. by Anonymous Coward · · Score: 0

    Microsoft Research wrote an IDE for the Windows 7 Phone, called TouchDevelop. If we really wanted BASIC, we could do that too.

  14. It IS available by GlobalEcho · · Score: 1
    The linked note from the story writes:

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

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

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

    2. Re:It Is Available by GLBasic · · Score: 1

      There's also GLBasic that does not compile "on" your device, but can build machine code "for" your device.

    3. Re:It Is Available by Moru74 · · Score: 1

      And GLBasic has been used to put plenty of games and applications on both the iPhone and Android market. You do the whole development on your PC including testing, then you compile it for iPhone, Android, Linux, Windows, Mac without having to completely rewrite the code...

      (I'm a long time user of GLBasic so might be a bit biased... :-)

  15. Wrong question... by novalis112 · · Score: 1

    The question is "Why haven't *they* put BASIC on the phone?".

    The answer, of course, is simple:
    1. There isn't much demand for it.
    2. It would open up their platform and their cell network to a barrage of crappy software.

  16. There is one, but it's not free. by Dar13 · · Score: 1

    It's called the App Game Kit, made by The Game Creators. Has two 'tiers', one that's like BASIC and the other being a group of C++ libraries. Also supports more than just iOS or Android, also has support for Windows, MacOS, MeeGo, and Bada.

    1. Re:There is one, but it's not free. by Dar13 · · Score: 1

      Forgot that it's not really an interpreter, though it does have that functionality through its broadcast feature. Look on the site for how it works, I don't use it myself.

  17. Doesn't fit the consumption model by markjhood2003 · · Score: 1

    The last thing content producers want is to have consumers creating their own content on mobile devices instead of passively viewing their ad-loaded streams.

    1. Re:Doesn't fit the consumption model by Asic+Eng · · Score: 1

      The screen is too small and there is no full-sized keyboard, so phones are unsuitable to develop on. The barrier of entry to develop *for* Android is extremely low, all the tools are there for free and the quality is decent.

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

    1. Re:Attention Old People by Anonymous Coward · · Score: 0

      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.

      Hey MF, Don't lump all us old people into the clueless category. We invented all the shit that you lazy ass MF's think you know everything about.

    2. Re:Attention Old People by QuasiSteve · · Score: 1, Informative

      Excellent. So with JavaScript on a webpage, how do I access text messages on my phone?

      Oh, you mean JavaScript in an app environment?

      And you don't really mean pure JavaScript?

      Gotcha.

      Note that the story's question isn't so much about the particular programming language of choice, but about the capabilities; hence the pointing out that the Android Scripting project also has rather limited access to the platform - even if it's much better than javascript in a webpage.

    3. Re:Attention Old People by Anonymous Coward · · Score: 0

      Ever heard of Appcelerator Titanium? Check it out, it's a Javascript environment for developing applications for iOS and Android.

    4. Re:Attention Old People by the+eric+conspiracy · · Score: 1

      Congratulations. You have found the one thing in the entire multiverse that sucks more than BASIC.

      Please let us have something better.

    5. Re:Attention Old People by tepples · · Score: 1

      Ever heard of Appcelerator Titanium? Check it out, it's a Javascript environment for developing applications for iOS and Android.

      The web site didn't make it clear whether or not I would have to buy a Mac and pay $99 per year in order to run Appcelerator Titanium programs that I wrote on an iOS device that I own,* as I would with Xcode. And without reading several pages of legalese and giving them my country and state/province of residence, the web site wouldn't let me download it to try it.

      * Currently I have occasional access to but do not in fact own an iOS device.

    6. Re:Attention Old People by Anonymous Coward · · Score: 0

      Better yet, let's make BASIC...ON JAVASCRIPT!
      It will be glorious.

      But really, it'd be better to do this for sanity reasons. While I do JavaScript, it isn't exactly the best first language.
      There are a billion different ways to do things, such as accessing variables through object.variable or object[variable] (useful for dynamic variable assignments and access), or creating functions all the different ways.
      Nothing wrong with multiple ways to do things, but too much confusion for a first language.

      http://www.codeproject.com/KB/recipes/JSBasic.aspx
      Projects like this are pretty good.
      There are many abstraction layers to simplify JavaScript, but they are still pretty complex and not entirely BASIC-like.
      Although to be honest, I'd rather just see a more concise guide on how to use JavaScript.
      So many of them are filled with nonsense or missing half the important information.

    7. Re:Attention Old People by Anonymous Coward · · Score: 0

      PROTIP: Nokia Platform Services 2.0 JavaScript API reference.
      Contains:
              nokia.device object
              Calendar API
              Camera API
              Communication Logs API
              Contacts API
              Landmarks API
              Location API
              Media Management API
              Messaging API
              Sensors API
              System Information API

      There is something like this for every serious mobile OS.

      Assuming there will soon be (or already is) WebGL in every such device... (And WebAL please? My old 5800 already had EAX4-like sound hardware and Java APIs.) ...you just have so idea what you are talking about.

      (I have stopped working in the area when Nokia installed MS Suicide 2011 Elop Edition, so the above was easiest to find for me.)

    8. Re:Attention Old People by gatkinso · · Score: 1

      Your Mom *was* wearing parachute pants... right before I nailed her.

      --
      I am very small, utmostly microscopic.
    9. Re:Attention Old People by Korin43 · · Score: 1

      I still think JavaScript is only available in browsers. Further, i don't understand that browsers can access local files as well as remote ones. I also don't understand the concept of JavaScript sandboxing, or the possibility of running the same language outside of a sandbox.

      FTFY

    10. Re:Attention Old People by QuasiSteve · · Score: 1

      I'm snarky and rather than actually reading what was written (or you'll have skipped your very fist sentence altogether), I'll just try to make parent poster look ignorant while offering no actual information pertinent to the criticism he was making

      FTFY

      Try again when you've got a javascript (your suggestion, but again - the language doesn't really matter) console popping up on e.g. Android in which users can write, store and execute small tasks that actually interface with the underlying system (e.g. reading text messages, checking notifications, all of the things that actually make it more useful than just a webpage that can read/write to a very limited set), without suggesting rooting the device and pointing to the CLI - I'm sure you can figure out why.

    11. Re:Attention Old People by aztracker1 · · Score: 1

      There are other JS toolkits for android/ios that offer more. JS is a language, the web page DOM is an API.

      --
      Michael J. Ryan - tracker1.info
    12. Re:Attention Old People by Anonymous Coward · · Score: 0

      While you might be smoking crack, Javascript is actually not dependent on the browser environment, more so if we go and call it by it's proper name ECMAScript (give or take some of the standards being used)

    13. Re:Attention Old People by Anonymous Coward · · Score: 0

      yeah, riiiight.. because every beginner programmer is going to need tomaccess text messages on a phone. or access the hardware. when you are a beginner, you want instant results, not access to whatever arbitrary device feature you can think up. Javascript is the absolute best choice for beginners these days, because it is free and already runs on most devices with a display and a keyboard input.

    14. Re:Attention Old People by Anonymous Coward · · Score: 0

      Why don't you pull out a few of those dusty old books in the computer science section of the library and read about some real innovators? You see, we learned to do things on limited hardware with elegant languages that you snot-nosed brats complain can't be done without gobs of memory, OOP and a dual-core CPU. Java is really no different under the hood than the UCSD P-system system which used -- wait for it -- a virtual machine. And it ran on 8-bit platforms in under 48K of memory. So tell me what's better about the JVM? We had OOP back then too, and it was called "Smalltalk". You don't need a bloody book to learn Smalltalk either; the entire language spec fits on a single page. Think COBOL is dead and gone? Your bank -- and nearly every insurance company -- is using it because it actually works and it's reliable. And it has this amazing property called "self-documentation", something that you now call "literate programming". Don't you people ever read a bloody book? Oh that's right -- if it's old it must be outdated and not have any value. So let's cut out the "old guys get off the nostalgia trip" nonsense. We're sick of seeing things get stalled for 30 years while everyone reinvents the wheel after refusing to read the documents some of us went to great pains to write so that you wouldn't have to waste time all over again.

      This is not about age or nostalgia, it's about human nature and giving people tools they can work with as beginners before graduating to something else. You don't put a construction worker in a D5 and ask him to get going -- you start him with something like a Bobcat which he can't easily screw up (or make an enormous mess with). Bus drivers have commercial licenses, unlike us regular people who can sometimes barely steer, much less drive. For budding programmers, we have BASIC. For the rest of us, we use whatever tool works best for the job (or at least, those of us honest with ourselves do; the rest get involved in wars over which language is best).

      Sheesh.

    15. Re:Attention Old People by The+Other+White+Meat · · Score: 1

      Whatever. Those parachute pants are still getting me laid to this day.

      --

      --- Generation X: The first generation to have SIG lines inferior to their parents... ---
    16. Re:Attention Old People by Korin43 · · Score: 1

      My point was that none of those things have anything to do with the language choice. If you want to add a language to phones, it doesn't matter what language it is. JavaScript is perfectly capable of running outside of a browser, and if Google wanted to, they could do exactly what you're proposing.

      The point of my snarky reply is that you don't seem to know the difference between a language and libraries, specifically this:

      And you don't really mean pure JavaScript?

      As if "pure JavaScript" can't exist outside a sandbox (or in the case of phones, a different sandbox).

  19. Windows Phone 7 by notknown86 · · Score: 1

    What do you think the "B" in "VB.net" stands for?

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

    2. Re:Windows Phone 7 by FrootLoops · · Score: 1

      Sssh! Do you know what they do to people who praise Microsoft around here? Weird stuff. Butt stuff.

      (Said in Patrick Stewart's voice of course.)

    3. Re:Windows Phone 7 by Anonymous Coward · · Score: 0

      but who would want to ?
            I mean - you also want to use the phone for other things as well.

    4. Re:Windows Phone 7 by shutdown+-p+now · · Score: 1

      Adding controls is drag-n-drop from the WYSIWYG editor.

      Oh God. Please - PLEASE - don't design XAML UIs via drag'n'drop. It's an XML-based markup language for a reason. No visual designer is ever going to make a good UI that you can code by hand with flexible dynamic layouts and neat arrangements.

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

  21. 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
    1. Re:because... by martin-boundary · · Score: 1
      Depends entirely on what you want to do with it. BASIC is pretty nice for moderately complex calculations, and things like creating tables of information and so on, that a person might want do do for themselves with a minimum of fuss.

      It's not any good for writing modern commercial software, but that wouldn't be the target demographic anyway.

    2. Re:because... by Tom · · Score: 1

      No, let me repeat:

      Non-programmers will not write programs. No matter what programming language.

      It really is that simple.

      --
      Assorted stuff I do sometimes: Lemuria.org
    3. Re:because... by martin-boundary · · Score: 1

      Except for all the scientists and engineers...

    4. Re:because... by Tom · · Score: 1

      Who are not at all programmers, because you can only ever be one thing in your life, yes?

      I'm not talking "programmer" as a job title. I'm talking "programmer" the same way you would say "artist" or "writer". People with the interest and skills to do it, whether or not they earn a living doing it.

      --
      Assorted stuff I do sometimes: Lemuria.org
    5. Re:because... by martin-boundary · · Score: 1
      And if that's the kind of programmer you're talking about, then you're wrong about BASIC's (lack of) suitability for their purposes.

      For example, many if not most scientists and engineers write code today in languages like Matlab, which barely qualifies as a programming language. It has broadly speaking all the same kinds of limitations as BASIC in fact, and yet it's more productive than C or even Python because it fits a problem domain.

      There's a prejudice among CS people in favour of "real" languages and generally procedural/object oriented ones at that, which misses the point that subject matter experts don't usually want a full fledged real language. What they want is something that's flexible in their problem domain, and they don't care much about other problem domains. In other words, a Little Language.

    6. Re:because... by Tom · · Score: 1

      and yet it's more productive than C or even Python because it fits a problem domain.

      Exactly.

      I have no issues with special-purpose programming languages. In fact, for many problems they are the superior approach.

      But BASIC isn't one. So I fail to see how what you're even getting at.

      --
      Assorted stuff I do sometimes: Lemuria.org
  22. 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.
    1. Re:conflicting religions by Anonymous Coward · · Score: 0

      If you want a Forth-like environment on iOS, search the app store for m48, an emulator of the HP48 calculator. HP48's scripting language RPL is rather like Forth, and you can get a surprising amount of stuff done with it. It was my first programming environment, in fact.

      Having said that, I suspect Javascript can do more "interesting" stuff for most new programmers these days.

    2. Re:conflicting religions by Anonymous Coward · · Score: 0

      Forth, an easy to implement interpreter that produces very fast and very compact code

      Would you care to elaborate on what you mean by fast and compact? Granted you can basically skip most of the parts of a traditional compiler or interpreter but I would think the whole "implementing a stack machine on a register machine" would make make optimizations or good JIT quite hairy.

      Ok, granted, the JVM is a stack machine so you would think they would make a good match. But there is one big difference. Correct me if I'm wrong, but I'm guessing Forth functions are not requires to follow a stack discipline. That means the Forth stack actually can't(*) be implemented in terms of the JVM stack which does follow a stack discipline, so none of those nice JVM optimizations are any use to the Forth implementation.

      Now if you are only talking about an honest to goodness interpreter without any JIT, bytecode or otherwise, then yeah, Forth would be easy to implement and the code should come out clean (i.e. fast in the sense that it is trivial code, but not fast in the sense of it being able to optimize the code it is running). But in that case, you are talking about a language implementation technique that is slow enough, that just about anything else (JIT, etc.) will beat it.

      (IAAProfessionalLanguageImplementer; IANYPLI; IANAForthLI)

      (*) Barring an implementation that bends over backwards in contorted ways like how call/cc is (not) implemented on top of JVM.

    3. Re:conflicting religions by mdenham · · Score: 1

      I would advocate for Forth

      Cue the Reverse Polack jokes.

      Granted, that's the worst part of learning Forth (or an HP calculator).

    4. Re:conflicting religions by Darinbob · · Score: 1

      Because Forth tends to execute much faster than a typical interpreter. Of course, I do not mean this is due to the language itself (anyone who things Python is _inherently_ slow is making this mistake). But the traditional way of implementing lets it be very fast. You could use a JIT for Forth too (I think someone even does this).

      The drawback though is that to be really useful Forth will let you shoot yourself in the foot faster than C will. Stick it off in a safe sandbox though and you lose a lot of its usefulness. Most languages everyone has been talking about in here though have essentially been high level interpreted languages (not too high level like Smalltalk though) that put you in a safe sandbox. Forth is different in being a low level interpreted language.

    5. Re:conflicting religions by Anonymous Coward · · Score: 0

      Perhaps because any real programmer hates Basic...

      Gee, I'm a real (retired no less) programmer and I don't hate Basic. I've used Basic and a shitload of other languages (ranging from 4004 and PDP11, HP21xx assembler, ...., Cobol, Fortran, ..., Focal, Basic, ...., C, C++, Pascal, .... Java, Javascript) and the only language that I hate is that un-named language that thinks it knows how I should use white space and dictates how I should format my code. If the truth be know my two favorite programming languages are shell script and solder.

  23. Java is programming for the masses! by Anonymous Coward · · Score: 1

    numbnuts.

  24. What does this person want? by Anonymous Coward · · Score: 0

    Java is not terribly hard, and though it doesn't provide DEEP access to the hardware it more than suffices for easy development. The SL4A provides python and other languages, that also work with the abstracted machine.

    BUT - how the fuck would BASIC be better than what is currently there? If he has a hardon for BASIC why not just make up a retarded version for SL4A?

    Or maybe this was a troll article. Haha /. you got me again...

    1. Re:What does this person want? by Locutus · · Score: 0

      Most likely 'this person' only knows BASIC and probably MS Visual BASIC at that. MS-VB is probably what he/she's asking for too.

      When I meet someone who claims MS Visual BASIC as the/a language they know, I don't bother talking about software development any further. That was yet another product from Microsoft which dumbed down the planet some.

      LoB

      --
      "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    2. Re:What does this person want? by Darinbob · · Score: 1

      I agree. I only used VB for one project, just to demo an API a product had. Did it in VB and also in Delphi and C and via sockets, etc. VB was pretty damn ugly. Difficult to use interface (seriously it put hundreds of properties in a menu sorted alphabetically meaning that having a simple button took just a few lines of code but hundreds of clicks to get something simple done). A deficient language with no way to escape out of it to do something more advanced, except to put the useful stuff in a DLL and call that instead. And then I'd run into managers who'd rave over it as the second coming of programming and they'd try to show off their applications which were abysmally bad.

      The only thing I think it had going for it was that it was both Microsoft-Approved (no one ever got fired for wasting money on MS products) and it was the only way to automate Office apps for some time.

    3. Re:What does this person want? by xOneca · · Score: 1

      Yes, I think SL4A (with Python add-on) is much better. I can't believe nobody knows about this on slashdot!! (except we two)

  25. 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!
    1. Re:why not put BASIC on a phone? by Anonymous Coward · · Score: 0

      I have a very basic cellphone, so I understand what you are saying. I need a phone to talk to people, I don't need any other feature, I don't want music, games, Internet, etc. However, phones are becoming mobile computers. He would like to see BASIC, fine... I'd like to be able to connect a keyboard, a mouse and a screen on mine. It's just not happening for now. But wouldn't it be nice if companies would try to turn phones into real computers? You know, everyone carrying a phone is actually carrying their home computer, which just happen to be able to make phone call? Pip-boy anyone?

    2. Re:why not put BASIC on a phone? by Anonymous Coward · · Score: 0

      because it's a fucking phone....

      Then maybe YOU should go get an eight-year-old flip-phone. Some services still offer them. If it's just "a fucking phone", there's no need for a 1.5GHz dual core processor, 1GB RAM, 16GB storage, or a 1000x600 pixel display.

      WE, on the other hand, would prefer a small, handheld computer with which we can play videos/music/games, browse the internet, run a gillion apps, and also make phone calls. I've even written a few Python apps that I use for work and run on SL4A on a cheap-o Android tablet.

    3. Re:why not put BASIC on a phone? by Anonymous Coward · · Score: 0

      This AC is more deserving of a +5, Insightful than the parent. WTF? It is no longer a fucking phone. It is a computer. Get over it. I did.

    4. Re:why not put BASIC on a phone? by martin-boundary · · Score: 1

      Isn't cobbling a kind of assembly? Whoa! Infinite recursi^NO CARRIER

    5. Re:why not put BASIC on a phone? by bjwest · · Score: 1

      Smart phones aren't only phones anymore, they've combined the PDA and cell phone into one unit. They now need applications to do what the users want/need them to do, and a scripting language that's easy for non-programmers to use isn't a bad idea. I'm not sure BASIC is the one I'd choose though, but if there's a market for it, someone will make it.

      Come to think of it, they're starting to do that with the car stereo as well.

      --

      --- Keep the choice with the user..
    6. Re:why not put BASIC on a phone? by Sebastopol · · Score: 1

      Hear hear! /golfclap/

      --
      https://www.accountkiller.com/removal-requested
    7. Re:why not put BASIC on a phone? by mikiN · · Score: 1

      s/market/mind/

      Heck, add the g flag for all I care.
      "If you need an X to do Y, why not buy an Y?" This is the mentality that spells D-O-O-M for Western civilization. I mean it. Go on with that way of thinking, and soon all of us will be puppets on strings of the manufacturers, who may happen to be located in Asia for all I know. Feng Xu flicks the switch and we all cry boo for our next batch of blipblips.

      H.G. Wells may be right sooner than he thought. What do you want the world to look like? Divided between helpless consumerist Eloi and menacing manufacturing Morlocks?
      The hell I don't!

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    8. Re:why not put BASIC on a phone? by hamburger+lady · · Score: 1

      go ask all the people who have, say, iPhones if they're interested in being able to put BASIC or something on it. I think you'll be surprised at how few people are actually interested in writing computer programs on their cellphones. people like apps and shit, but no one wants to write a program that prints out 'hello world' in an infinite loop on their fucking phone. BASIC? come on. yeah, they're computers. not computers from 1983.

      --

      ---
      Is this the MPAA? Is this the RIAA? Is this the DMCA? I thought it was the USA!
    9. Re:why not put BASIC on a phone? by Rennt · · Score: 1

      It's sweet you are happy with your turn-of-the-century "phone", Dear. But see, some of us replaced ours with these powerful pocket-sized computers a while ago. Some of the more elderly users even use theirs to make calls (I know, rite?!).

      Now I know what you are going to say... yes it would have been a lot easier on old ducks like you if we just called these new devices something not-phone. Well we kind of tried, only people don't seem to like actually saying not-phone, or clever-phone, super-phone, or even phone-a-tron5000!

      No, the Great and Terrible Free Hand has spoken, and phone it stays. Adapt or fossilise you old coot.

    10. Re:why not put BASIC on a phone? by QuasiSteve · · Score: 1

      i cobbled together an assembler for my clock radio and i'm never lookin' back.

      You say that in jest (if not - awesome), but given that many clock radios still only manage at best 2 alarm settings unless you get a relatively expensive one, having one that is programmable - and presumably with enough memory to do something useful with - might actually allow you to program a different time for every weekday.

      Perhaps it'll let you automatically change channels based on the time.. you'll fall asleep to some easy listening, sleep to some ambient, and wake up to classical music.
      A programmable clock radio might just allow that (my computer does).

      Of course it's fluff, and most people won't need it, but if it's fairly simple to implement and only increases the price of the device by a few bucks, then opening it up to those who want it (even if it means prying a PIC from a socket, reprogramming that, and plugging it back in) isn't so bad.

      I figure what's holding companies back is both perceived lack of interest and (perceived, but possibly very real) support load increase.

    11. Re:why not put BASIC on a phone? by hamburger+lady · · Score: 1

      yeah, why doesn't my iphone have FORTRAN 77 and a punch card reader? WTF?

      --

      ---
      Is this the MPAA? Is this the RIAA? Is this the DMCA? I thought it was the USA!
  26. 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?

  27. Other Reasons by Anonymous Coward · · Score: 0

    1. Security of the Device for the Manufacture, Distributor and Provider Liability from Bricking to Exploits.
    2. You need 2x+ the storage and memory for the programming information and debugging.
    3. Revenue stream for selling the Programming Tools.
    4. Most users don't care any ways and just want it to work for them.

  28. Haven't done for years by Stormthirst · · Score: 1

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

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

    As for a simple language which can be used to do basic things - PERL is one solution. Love it or hate it, it's free, it's as easy to learn as BASIC was, and it has real world uses. Not sure about other platforms though

    1. Re:Haven't done for years by Anonymous Coward · · Score: 0

      It's not a GUI friendly programming language.

      well... there's Visual Basic. It's got a GUI.

    2. Re:Haven't done for years by Stormthirst · · Score: 1

      But you have to pay for it. The beauty of the original BASIC on the platforms in question was that it was free. Anyone who had half a mind to learn how to code, could do it without having to pay a small fortune for it. If you then found you had a more serious need, or talent for it, you could go out and buy something more capable.

    3. Re:Haven't done for years by Rockoon · · Score: 1

      Trouble is MS makes money from selling languages - as do other providers - so there's no real incentive to give something away for free.

      Microsoft gives away compilers and IDE's for free. VC++, C#, and VB, are just the subset of them found in their 'Express' program that have been going on for 6 years now... and thats just the visual studio languages.. microsoft offers other for free, including their assembler as well as a simple basic language.

      I mean fucking seriously.. it was so simple for you to not open your mouth.. and it was also so simple for you to verify what you were saying.. you did neither.. but instead chose to make factually barren declarations that are so trivial to prove wrong that one has to wonder what fucking rock you are living under.

      When you dont know what you are talking about, simply dont act like you do. Its not only the honest way to conduct a life with integrity.. it will save you the embarrassment of yet again being proven wrong by an asshole like me. Go fuck yourself for being a source of proactive misinformation.

      --
      "His name was James Damore."
    4. Re:Haven't done for years by Anonymous Coward · · Score: 0

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

      As for a simple language which can be used to do basic things - PERL is one solution. Love it or hate it, it's free, it's as easy to learn as BASIC was, and it has real world uses. Not sure about other platforms though

      PERL is as a terrible language as BASIC in many ways. And it's a dying language like BASIC.

      However Microsoft does provide a programming language for Windows, C#/.net, it's a modern language designed by people that knew what they were doing. The dev tools (Visual Studio) are decent and pretty much just work. There is also a version for iOS, Mono which I have no direct experience with.

    5. Re:Haven't done for years by Anonymous Coward · · Score: 0

      I remember basic as a cartridge on my atari 400 and commodore 64. I know the atari basic was not included with the computer. I don't remember with the c64.

    6. Re:Haven't done for years by Anonymous Coward · · Score: 0

      But you have to pay for it.

      Did you not even read the post you were replying to?

      Microsoft gives away compilers and IDE's for free. VC++, C#, and VB, are just the subset of them found in their 'Express' program that have been going on for 6 years now...

    7. Re:Haven't done for years by anonymov · · Score: 1

      Others have pointed out the free dev tools, I'll just mention that modern Windows come with PowerShell installed, which is very worth learning if you're doing lots of automation on Win, and before that they had Windows Scripting Host allowing anyone to write for a (godawful) VBScript and JScript environment.

    8. Re:Haven't done for years by Bucky24 · · Score: 1

      But you have to pay for it.

      No... no you don't.
      http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express
      AFAIK most of the Visual Studio tools have had free versions for over 5 years. Obviously the professional versions have more features, ect, but they are editor features. The compiler/linker shouldn't be limited at all.

      --
      All the world's a CPU, and all the men and women merely AI agents
    9. Re:Haven't done for years by Darinbob · · Score: 1

      Actually you had to pay real money for a decent BASIC in the day. Occasionally there'd be a really tiny stripped down BASIC (ie, the stuff in PC ROMs) but you'd need to buy the real thing to get all the features (such as being able to write to files). Microsoft made their original name by SELLING this stuff, not by giving it away free.

    10. Re:Haven't done for years by Anonymous Coward · · Score: 0

      I mean fucking seriously.. it was so simple for you to not open your mouth.. and it was also so simple for you to verify what you were saying.. you did neither.. but instead chose to make factually barren declarations that are so trivial to prove wrong that one has to wonder what fucking rock you are living under.

      When you dont know what you are talking about, simply dont act like you do. Its not only the honest way to conduct a life with integrity.. it will save you the embarrassment of yet again being proven wrong by an asshole like me. Go fuck yourself for being a source of proactive misinformation.

      Honestly, do you have to tell people how stupid they are in damn near every thread you post in? It really is very tiresome. It would be great if you could follow your own advice every once in a while...like, you know, the "When you dont know what you are talking about, simply dont act like you do" advice you lay out over & over & over on /.

      Sad thing is, your own claims are often so ridiculous you truly sound like a crazy person. Like your "OEM cooling determines intel 980X clocks/pricing" rant from the other day where you chose to make factually barren declarations that are so trivial to prove wrong that one has to wonder what fucking rock you are living under.

    11. Re:Haven't done for years by aztracker1 · · Score: 1

      VS' Express versions are free (as in beer), and you can make commercial apps.

      --
      Michael J. Ryan - tracker1.info
    12. Re:Haven't done for years by Anonymous Coward · · Score: 0

      But you have to pay for it. The beauty of the original BASIC on the platforms in question was that it was free.

      Bull Shit
      http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-basic-express

      And to the grandparent, if you're looking for something lighter:
      http://en.wikipedia.org/wiki/VBScript

    13. Re:Haven't done for years by oneandoneis2 · · Score: 1

      PERL is as a terrible language as BASIC in many ways. And it's a dying language like BASIC.

      Perl is both widely used and under very active development. Don't confuse the CGI crap written by Perl novices back in the 90s with modern Perl.

      --
      So.. it has come to this
    14. Re:Haven't done for years by Anonymous Coward · · Score: 0

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

      No incentive at all I guess - yet MS still do it.

      http://www.microsoft.com/visualstudio/en-us/products/2010-editions/express

    15. Re:Haven't done for years by Anonymous Coward · · Score: 0

      UMAD BRO?

  29. 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 Anonymous Coward · · Score: 0

      Last time I checked, you could do pretty much anything in any language. I still keep a copy of pre .net vb around for quick scripting-type applications. Python's use of whitespace to define blocks seems about as fun as programming in RPG

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

    5. 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.
    6. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      Oh, hello there next iteration of pro-MS/anti-Google shill. Your predecessor was off to a better start, couldn't you wait a bit for your alts to gather more mod points?

    7. Re:Why BASIC? What for? by pinkeen · · Score: 1, Interesting

      Indentation style is thing of preference. You didn't provide any justification.

      I love C and C++ and python's identation seemed weird at first. But once you get used to it, it appears very clean, elegant and efficient.

      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.

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

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

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

    11. Re:Why BASIC? What for? by oakgrove · · Score: 0, Troll

      It teaches them the fun side of programming,

      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.

      --
      The soylentnews experiment has been a dismal failure.
    12. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      The "BASIC" used by Office for scripting purposes has as much in common with the actual BASIC language as I do with a squirrel.

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

    15. 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
    16. Re:Why BASIC? What for? by kestasjk · · Score: 1

      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.

      Based on this article I would say you can't develop for a phone with it.. And frankly I wouldn't want to see peoples BASIC scripts up alongside actual applications in any app store.

      --
      // MD_Update(&m,buf,j);
    17. Re:Why BASIC? What for? by Bucky24 · · Score: 1

      You can get the Android SDK for free and start writing what ever you want.

      This is also true of the iOS SDK (though you do have to have a Mac, so I guess that could be considered a "cost"). I don't know if you intentionally left that out or not, so I'm pointing it out just in case it was an accidental mistake.

      --
      All the world's a CPU, and all the men and women merely AI agents
    18. Re:Why BASIC? What for? by slimjim8094 · · Score: 1

      What the hell are you talking about? Python is a near perfect beginner's language - teaching someone about scoping and blocks is much easier when they're easily visible. Yes, I have taught people how to program using Python, and it went much better than Java or even Visual Basic (which, I must admit, is a decent beginners' language)

      I've never heard any other serious complaint about Python, and since the likes of Google haven't managed to find any big ones, which have you found?

      --
      I have developed a truly marvelous proof of this comment, which this signature is too narrow to contain.
    19. 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.

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

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

    21. Re:Why BASIC? What for? by oakgrove · · Score: 1

      It was just an analogy but I thought it would be blindingly obvious that I was talking about just handing money out. I wasn't referring to the whole allowance concept. I guess not.

      --
      The soylentnews experiment has been a dismal failure.
    22. Re:Why BASIC? What for? by drolli · · Score: 1

      Yeah, exacly. What bad habits? These can all be learned in python: http://entrian.com/goto/

    23. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

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

      And even to this day, I am dealing with bullshit software developers that use GOTO in C/C++ and all of the fucking bugs/problems that cause when the software is updated. Where do you think they learned that from? - they are the unwashed "masses" you refer to.

    24. 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.
    25. Re:Why BASIC? What for? by Bucky24 · · Score: 1

      Sorry, it's been a long day for me. The blindingly obvious becomes the not so obvious after 8 hours sitting in front of a screen.

      --
      All the world's a CPU, and all the men and women merely AI agents
    26. 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
    27. 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.

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

    30. Re:Why BASIC? What for? by dbIII · · Score: 1

      You can do almost as much with LOGO and more with nearly any shell scripting language. It's no simpler to use as a beginners language than FORTRAN and nowhere near as useful. So there you have it, by the late 1980s there wasn't much point in BASIC, even ignoring simple languages like pascal and modula-2 that seem to have vanished. Moving on to today there's a lot of other choices that are better than BASIC.
      Going back to the apple stuff, even then Microsoft had started their trend of mass producing something that was second rate (but often more affordable so it's not always a bad thing). Integer BASIC was superior in a few ways to the Mirosoft version (Applesoft BASIC), integer BASIC even came with an assembler.

      After using BASIC (and a bit of 6502 and Z80 assembly) for about five years I had to learn how to program again almost from scratch when I encountered other computer languages. That is why I think it a complete waste of time when there are many other options available.
      Also I don't need BASIC on my phone when the bash shell can do the same things. Remember that to a beginner all syntax is new and confusing so there is nothing superior about different ways to mark ends of blocks of code.

    31. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      Fuck you. Don't be so fucking elitist. If there were a widely available BASIC for smartphones it wouldn't be used like C to program whole new operating systems & device drivers etc., it'd be used for small programs on a fricken PHONE.

      Bad habits? What, like learning how to program for the first time without having to read in-depth books and potentially take a college or online course to learn a programming language just for dabbling with simple programs on a phone?

      Yeah, you're absolutely right, learning a new skill is a bad habit...

    32. Re:Why BASIC? What for? by afidel · · Score: 0

      Huh? I used subs in my BASIC code before moving on to C (and then pre-standard c++ which at the time was a set of precompiler macros for c). I had no problem adjusting to OO languages like Eiffel and JAVA, if someone gets stuck in a rut of one structure it is their failing, not the first language they happened to learn.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    33. 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!
    34. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      This interests me how you could think that. I make a damn good living writing VB.Net code for a corporation's internal use and I don't know what you mean about it not being useful. I can do anything in it that you can do in say C#. For the one off weird problem with interop, I just write a DLL in C to handle it - and C# has the same problem (they are few and far between by the way as most interop works fine when properly declared). Python is used by folks that mostly only know scripting. Not for fully functional programs. What's wrong with you?

    35. Re:Why BASIC? What for? by oakgrove · · Score: 1

      Printer hack sounds awesome. Have fun!

      --
      The soylentnews experiment has been a dismal failure.
    36. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Wrong on all reasons.
      You can't get BASIC on your phone because nobody wants what BASIC does. What part of BASIC helps you write a simple GUI app? How about a network app? BASIC does none of the things that people want to do today. You can't get BASIC for your phone because nobody gives a shit.

    37. Re:Why BASIC? What for? by oakgrove · · Score: 1

      Nothing is actually being taught.

      --
      The soylentnews experiment has been a dismal failure.
    38. 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.
    39. 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.

    40. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      This is why I really hate the dumb end of Open Source, it is full of religeous nuts who want everypone to do everything THEIR WAY(TM).

      First, you can use Java without all the Eclipse, ant, ... multi-million API, needs lots of template code stuff, thou you would never guess
      that reading the Java books who have all bought into the Java Development in the Enterprise Cool Aid.

      Best, if you want to write simple 20 line hacks use Perl, that is what it was designed for, at slightly greater cost modern shells like BASH can
      do much more than most people expect.

      Listen NOT to the gurus who say you need "an extended Object Oriented Paradigm" to write HelloWorld.

      Otherwise, if you need more complexity, or access to more extensive libraries use a co-native, Objective-C, on Apple or
      just cross-compile an ELF binary. See Android, Dalvik, ELF-ARM and binfmt.

      NB When Google beats Oracle in court look for lots for lots of cross compilations into Dalvik byte code.

      MFG, omb

    41. Re:Why BASIC? What for? by cheekyjohnson · · Score: 1

      But what if something is being taught? What if someone actually does learn something from it?

      --
      Filthy, filthy copyrapists!
    42. Re:Why BASIC? What for? by narcc · · Score: 1

      Remember that to a beginner all syntax is new and confusing so there is nothing superior about different ways to mark ends of blocks of code.

      Spoken like someone who's never taught a programming class...

    43. Re:Why BASIC? What for? by oakgrove · · Score: 1

      You have to balance that witu available resources. With something like the scripting layee for Android, you learn a real language that can help you be more employable. You even have your choice. Python, perl, php, javascript, etc. And Python is super easy. You can learn to code by *gasp* actually coding. Instead of fiddling around with drag and drop crap that only does what the tool designer thought of you can make real applications and actually upload them to the Android market.

      --
      The soylentnews experiment has been a dismal failure.
    44. 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?

    45. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      The problem is nobody starts out by writing "real" apps. They start by writing stupid little programs and work their way up from there.

    46. 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
    47. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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.

      This really needs to be explained.

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

    49. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      It is not and I say that as a programmer of 25 years. I have programmed in at least 10 programming languages but I find python very awkward.

    50. Re:Why BASIC? What for? by fisted · · Score: 1

      "They do not want people writing their own apps easily. It's not profitable to allow everyone to write their own custom apps."

      Microsoft doesn't want that either - that's why they shipped BASIC. At best it creates the illusion of being able to do something useful with it. At worst it teaches bad habits which are near impossible to unlearn, rendering the masses incapable programming, long term.

    51. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      Have you ever thought why PHP is so popular and python is not? That's because people learn PHP easily and even a 25 years programmer like me finds python awkward.

    52. Re:Why BASIC? What for? by Darinbob · · Score: 1

      Agreed. There's no point to BASIC on a phone. It's a bad language and has no useful purpose. Even visual basic was an abomination which mostly taught a generation of managers that programming was easy and that their staff must therefor be lazy idjits when they fall behind schedule.

      If you want a simple beginners scripting language then we need something BETTER than BASIC. BASIC isn't necessarily any simpler to learn than a lot of other languages. Avoid the complicated stuff (in the same what that you avoid peek/poke) and you could put in Ruby or Python. Maybe snaz it up a bit with Smalltalk, or maybe let experts do something useful by adding Forth.

      At the very least how about Pascal? After all Borland's Delphi was superior to Visual Basic in every way.

      Now you're going to run into some snags really fast. What do people want to actually DO on their phones? If they want to do something non-trivial, more than just reading and writing text to a console, then the job is going to get very complicated very fast. You can't avoid learning APIs or libraries forever. My guess is that people who want something like BASIC are thinking in the back of their heads "I can write an app and make a fortune!" Best bet is to have a phone-specific language/environment oriented to getting simple stuff done, but then you're basically just reinventing Visual Basic.

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

    54. Re:Why BASIC? What for? by Darinbob · · Score: 1

      Wow, BASIC and Y combinators mentioned in the same post.

    55. Re:Why BASIC? What for? by countertrolling · · Score: 1

      it's just not useful.

      You obviously don't play gorilla.bas

      --
      For justice, we must go to Don Corleone
    56. Re:Why BASIC? What for? by arth1 · · Score: 1

      It worked pretty well for Bill Gates, and didn't seem to have ruined his career.

      The point about BASIC is that it's easy. Easy to write, easy to run. You don't need a boatload of compilers, linkers and an integrated developer environment. Write a small text file and run. To say that you can do so much more with e.g. python is missing the point entirely - that's like taking the crayons away from a two year old and give him a set of watercolors instead. He'll make a holy mess, cry and stay away from painting for a long time, if not forever.

      And I would also claim that GOTO is a strength at this early learning stage. Because that's how the underlying machine works - there's absolute branching all the time.
      Understanding the pitfalls this can create as well as when it's beneficial to cut a gordian knot is what separates good programmers from the sheep.
      And someone who abhors absolute branching because he's been taught to will never become a low level embedded programmer.

      Bad gotos are bad, but so are bad catch()es. It's not the tool, it's how you use it, and whether you understand it. And most "programmers" have no clue.

    57. Re:Why BASIC? What for? by _0xd0ad · · Score: 1

      Yes, but all of the I/O has to go through the DOM, which is awkward and event-driven. Basically, it requires you to create an I/O library if you want to do anything more complex than prompt() and alert().

      For a while I was working on a project which I intended to eventually be a BASIC-in-browser, kind of similar to the Club Compy project... but once I got the basic I/O libraries written (it uses a canvas with named-similarly-to-BASIC Javascript functions to do things like print, locate, and change colors), I got kind of tired of working on it when I realized that it'd probably make a lot more sense to just do everything in Javascript using the I/O engine that I'd built rather than try to make it interpret actual BASIC code.

      It was kind of a fun project, though, and it gave me an excuse to delve into things like BASIC's internal storing of floating-point numbers (which for some reason I wanted to reproduce exactly - well, partly because it'd be necessary in order to implement the MKS$ and MKD$ functions anyway). It's not a IEEE standard float, but it's similar.

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

    59. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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!

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

    61. Re:Why BASIC? What for? by anonymov · · Score: 1

      Nah, their engineers are great, it's just engineers make bad managers and marketers.

    62. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Why not Python?

      oh god, not this again. why is that python fanatics more than anyone else spout this "whee! my pet language is good for beginners *and* experts!" crap?

    63. Re:Why BASIC? What for? by Darinbob · · Score: 1

      I helped teach beginning programming in university. The students with the most difficult times understanding the concepts were the ones who already thought they knew how to program because they did a lot of BASIC stuff. Students who had never touched a computer before (this was a long time ago :-) did better than the BASIC experts. A lot of them felt it was a waste of their time to learn new stuff because they were already programmers. But they couldn't understand structured programming or felt that it was too limiting, they'd forget to declare variables, they had trouble understanding variable scoping much less something like recursion.

      Modern Visual Basic is not really BASIC; it's just a Microsoft proprietary language that vaguely resembles BASIC if you squint. The fact that VB is structured at all and more closely resembles a normal language should be a big hint that even Microsoft recognized that there were massive problems with BASIC.

    64. Re:Why BASIC? What for? by MightyYar · · Score: 1

      I am bitter that Epiphany chose to tear out python and replace it with Javascript of all things.

      Javascript is an unholy mess to debug, and it often fails silently in browsers, but I do have to admit that one can write fairly Python-like code in it.

      I haven't personally used it, but CoffeScript is a really neat concept and very Pythonic.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    65. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Why not Python ...

      Any language that makes white space part of the syntax is very seriously brain damaged and despite any other redeeming characteristics needs to die

    66. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

      you Python zealots refuse to recognize the serious problems with your favorite toy" ... Bullshit. What serious problems are you imagining...

      Python took the single common worst aspect of both Cobol and Fortran, the handling of white space, and raised it to a high art

    67. Re:Why BASIC? What for? by MightyYar · · Score: 1

      Basic:
      10 Print "Hello World"

      Run

      Python:
      print 'Hello World'

      Run

      Maybe you meant because of the need to load modules? I find learning from other people's Python to be almost as easy as BASIC as well - the exception is some of the advanced features like list comprehensions. But you don't need to use those - they are just convenient.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    68. Re:Why BASIC? What for? by Ethanol-fueled · · Score: 0
      Woooo, MIT!

      You asked,

      Are you saying that you know better than the entire MIT Electrical Engineering and Computer Science faculty.

      Wow, you didn't ask it as a question like most folks would, you demanded it. But when you're at MIT, you can do shit like that, because you're special. Hell, George W. Bush graduated from Yale and flew planes, when you're from a big-name school you shit rainbows and roses. On the other side of the country, you got this well-balanced guy from Caltech. I was lucky enough to have an MIT grad as a professor, and he was drawing across 2 huge boards to explain a problem that we got in 5 seconds and were walking out afterward.

      You guys are good at what you do, but we pay you that excessive salary to stay in the basement and not try to talk to us.

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

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

    71. 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.
    72. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Actually, despite the ad hominems which are present - for the internet they're quite trivial, and if they bother you, other posters must make you cry to sleep at night - you ignore several valid points, and instead double back to write your own ad hominem.

      Put up or shut up. Now you just look like a hypocritical fool.

      (Posting AC due to moderation)

    73. Re:Why BASIC? What for? by Anonymous Coward · · Score: 1

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

      Nitpicking here, but if you had to work for it, it's not an alllowance, it's wages.

    74. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Oh? Care to enlighten everyone?

      Or do you just prefer to try to put others down and boost your ego?

      (Posting as AC due to moderation)

    75. Re:Why BASIC? What for? by TrancePhreak · · Score: 1

      Precisely this! Someone mod this guy up, please.

      --

      -]Phreak Out[-
    76. Re:Why BASIC? What for? by javaman235 · · Score: 1

      I agree, I use Python calculator all the time, and back when desktops had the same CPU phones have today, people were using Jython to get things done. It seems like we should be able to get one of these up and running on phones.

      --
      -The art of programming is the pursuit of absolute simplicity.
    77. 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.

    78. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      python is easy to learn! yay python!

    79. Re:Why BASIC? What for? by chthonicdaemon · · Score: 1

      "It's easy to "magically" do things in Python without being forced actually come up with real algorithms," - you mean like all the stuff packaged in the STL, or .NET?

      --
      Languages aren't inherently fast -- implementations are efficient
    80. Re:Why BASIC? What for? by narcc · · Score: 1

      What? VB is a different animal, surely, but it's not the structured part that you're students are having trouble with -- it's that it's event-driven. (Didn't everyone stop using VB by 2001?)

      Unless your students are from the past, then whatever BASIC they learned is likely a structured basic, will all the features of any procedural language.

      I've found that teaching beginners using BASIC to start to be much more productive than other language if for no other reason that it "stays out of the way" and doesn't force you to include code that a beginner has no hope of understanding.

      Now, you say that "Microsoft recognized that there were massive problems with BASIC" but you haven't told me what they are. Structured BASIC is just as capable as any other structured language, it just happens to be very well suited for beginners (That's what the "B" in BASIC stands for, after all.)

      So, what are these supposed "massive problems"? No one seems to be able to tell me what they are! I suspect people who make these claims are just parroting nonsense, and don't actually have a reason.

    81. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Explain why that's a problem for beginners, who need to learn good habits about how to organize code to be readable, and not just for crusty old hands, too set in their ways to bother.

    82. Re:Why BASIC? What for? by cgenman · · Score: 1

      BASIC also doesn't fit the phone. It's a terminal-and-keyboard based language that doesn't really understand graphics and mice, let alone touches.

      What we need is a language that works well with touches. But short of some experimental graphical languages from the 90's that never gained traction, there is no clear frontrunner there.

      You might as well teach them Javascript / HTML5.

    83. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      I see we've gone on a bit of a tangent, but I'll bite...

      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

      On the other hand, that could teach them to only do work if they are given money to do it.

      The GAAP (Generally Accepted Art of Parenting) says that you should give your kids an allowance and give your kids chores, but not connect the two. Giving an allowance will teach your kids how to manage money, and giving your kids chores will help develop a work ethic. Connecting the two could have unintended consequences.

    84. 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
    85. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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)

      Clearly you do not understand languages and libraries at all - the use of libraries is what makes these tools powerful, but also results in significantly more complexity to get to the result.

      I defy you to produce a actual C, C++, or Java program that is actually only one assembly instruction.

      I am not suggesting that Python, Perl, PHP, etc are as efficient as C/C++, but the rest of your rant gets lost when you begin with wildly inaccurate statements

    86. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      are you counting the 2500 instructions for program startup?

      startup is a lot more than 2500 instructions. two addition operations are more than 5000 instructions. python is slow.

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

    88. Re:Why BASIC? What for? by aztracker1 · · Score: 1

      There are already a number of toolkits to go from html5 to platform app. For that matter, there's MonoTouch if you really want basic.

      --
      Michael J. Ryan - tracker1.info
    89. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0, Informative

      Python is a joke, even the author confessed it was made just to get him cred, position and money from selling the docs and manuals. The more problems you have with it, the more traffic on his site and more manuals moved. He is now at Google, "a happy employee". Also you identified C/C++ is so much better, thats because it has been created to solve urgent problems at hand.. and it clearly shows. Python is borderline fraud.

    90. Re:Why BASIC? What for? by msauve · · Score: 1

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

      Is there something in the language spec which requires that? Otherwise, it seems to me that it's an implementation (compiler/interpreter) issue, and not problem with the language. Why can't Python reduce a simple addition to a few machine (BTW, it's not assembly) instructions?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    91. Re:Why BASIC? What for? by Larryish · · Score: 0

      I used to wear an onion on my belt like you, until I took an arrow to the knee.

    92. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

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

      Depends on the job. Sometimes the paycheck barely covers the grief incurred.

      As for how kids learn - here's an analogy - my kid spend years editing little videos in Windows Movie Maker. I tried to introduce him to more professional editors like Premiere or Final Cut, but Movie Maker was all his young brain could comprehend at the time. As he got older, he finally did start using a more serious editor, but only after he cut his teeth on something nobody ever used in production.

      For similar reasons, Basic may simply be the language some people use as the entry point. Who cares if it's used in production or not, it may be all that some new brains can comprehend. If learning it lights a fire and someone gets serious, they'll move on to more structured languages when they're ready.

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

    94. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      It's why Office scripting is done with BASIC and not C#

      Office scripting is done with C# for, what, 7 years now?

    95. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

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

      If by "modern structured BASIC" you mean the like of VB, then you're still wrong, very wrong. A friend of mine is QA on VB team, and I am amazed by various extremely weird corner cases he keeps coming up with for automated testing. The language grammar is seriously an incomprehensible mess, and most of it comes from legacy syntax like type characters. What's worse is that BASIC is very irregular in its syntax and semantics - what you learn once is not broadly applicable to all similar cases. This is in comparison to e.g. Java, which sometimes suffers from an opposite problem (like not letting you meaningfully compare strings with ==).

      Anyway, Python is a very reasonable middle ground. It has a highly regular syntax that is nonetheless more "instinctively readable" than any curly braces family language, and quite lightweight. It doesn't saddle you with an overly tight type system (why the hell should a beginner understand the difference between e.g. INTEGER and LONG?), but it does have types with clear functional boundaries and makes you be conscious of them. Most importantly, it has a good set of libraries for introductory programming, from easy console I/O to turtle graphics to PyGame.

    96. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      It's a terminal-and-keyboard based language that doesn't really understand graphics and mice, let alone touches.

      Ironically, it does understand touch very well. Standard BASIC had a bunch of statements and functions dedicated specifically to light pen input, such as ON PEN etc. This all could be appropriated for touch in a very straightforward way, though you'd need minor modifications for multitouch.

      And I'm not sure what you mean about graphics. BASIC always had a decent if peculiar set of graphics primitives.

    97. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

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

      Please; you are getting the cart before the horse, and frankly, your argument has a slight taint of snobbishness. There are thousands of us who got started writing a piece of BASIC code as a first project. Moreover, a lot of those old arcade machines that became home computers (Atari 800, Commodore 64/128, etc.) had hardware assist for things like graphics and sound that made it possible to do amazing things on an old, slow, 6502 8-bit CPU directly from the BASIC interpreter, things that got beginning programmers enthusiastic enough to pursue the next step. I'm sorry, but Python is an overcomplication for a lot of things and it is most definitely unsuited as a first language. For one thing, it assumes a lot of background knowledge that new programmers won't have.

      For those who are not going to wait for someone to come up with an equivalent of CBM Basic V7 for the Android, there are things like Frink (http://futureboy.us/frinkdocs/android.html) that may be what some are looking for.

      For my own part, I eventually graduated from BASIC to assembly after getting interested in digital synthesizers and tired of waiting hours for a 256-point FFT, but it was good old Commodore BASIC with all its flaws that got me started. I might add that those platforms had interpreters which gave direct access to the hardware, which made it a lot easier to transition to assembly after you got the fundamentals of programming down. Incidentally, I learned to write code when machines capable of even hosting a compiler were far out of my financial reach; I could not afford a used CP/M 2.2 system, much less something like a 68k-based supermicro running AT&T UNIX ($700 for UNIX alone). If those like me had not had inexpensive BASIC systems, we could not have gone as far as we did as quickly as we did.

      There is flat-out no substitute for interactive results which then encourages further exploration, and I think that is what the OP is saying; I heartily agree with his sentiments as have many other well-seasoned programmers (some of them being of some note). BASIC has a singular lack of syntatic sugar thanks to its simplicity while being readable, and this considerably shortens the learning curve. Those who want more out of their computers quickly graduate from BASIC to "real" languages, but I might point out that many successful business applications were written using structured BASIC (with compilers for speed) on Z80 and 68000-based supermicros during the mid-80's. PICK BASIC as an example is still widely used in business apps for good reason: It's relatively fast, very stable, and comes with an integrated database engine that stores hierarchical data very neatly without requiring awkward language "enhancements" or third-party database servers. You can even get a GUI front end.

      The point is that there has not been, so far, a comprehensive app available for most platforms which can be downloaded and used as an interactive development environment. Most are difficult to work with, or require an external IDE, or the use of a terminal session. Phones just don't have the physical real-estate to support a multisession development environment (my phone has an 800x400 display but it's too tiny for multiple windows -- and no comments please about the greybeard geek needing reading glasses).

      As for BASIC forming bad habits, it's a poor programmer indeed who cannot learn a new paradigm with new tools. I went from BASIC to 6502 assembly, then from there to UCSD Pascal (bloody awful slow, but the whole JVM thing is strangely reminiscent), and thence to Fortran-77 and on to C. I even wrote some major applications in Prolog, a beautiful language (with structural parallelism) which is nothing like all the nauseous combinations of Algol-68 and Smalltalk that pass for innovation these days. My point is that I've used languages

    98. Re:Why BASIC? What for? by pandronic · · Score: 1

      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.

      You know that everything you do with OOP, can also be done with procedural programming ... Also you can write messy code, no matter what programming paradigm you choose.

    99. Re:Why BASIC? What for? by tombeard · · Score: 1

      FWIW, I used to write self modifying code in Rocky Mountain Basic. The editor was the user interface on HP200 computers. My programs interfaced with spectrum analyzers, multi channel data recorders, programmable tracking filters, and a matrix switch to shuffle all the signals. You actually can use basic for very useful work. There are a number of Basics available for unix if you look for them. My most recent programs have all been in perl, but I am just a language slut.

      --
      The reason we subjugate ourselves to law is to better procure justice. If law does not accomplish this purpose then it m
    100. 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.

    101. Re:Why BASIC? What for? by narcc · · Score: 1

      If by "modern structured BASIC" you mean the like of VB

      What? No, by structure BASIC I mean, well, what everyone else means when they say structured BASIC. That is, the procedural variations of the language (dig up an old structured BASIC textbook and you'll see what I mean). I don't know that I'd count VB, as it's so far removed from what most people consider structured BASIC that I don't know that a meaningful comparison could be made. VB had its place (for better or worse), but it isn't what I'm talking about here at all.

      What's worse is that BASIC is very irregular in its syntax

      Care to give examples? I can't think of any case where this is true save one exception (The LINE and CIRCLE routines from BASICA & QBasic) Though I'd hardly call that "very irregular".

      Anyway, Python is a very reasonable middle ground.

      Not really. Python is a nightmare as a beginning language -- and it's not terribly good as a production language. (I think we've had this discussion before. I doubt we'll come to any agreement here.)

      (why the hell should a beginner understand the difference between e.g. INTEGER and LONG?)

      When I teach beginner programming I spend a good bit of time talking about data types. Of course, I stick with a few simple types (int, float, boolean, character, & string). I find it helps to have a language that will yell at them a bit if they stray too far.

      Sure, they may not need to know the difference between int and long early on, but I do take types all the way down to their binary representation. If they have any hope of using bit-wise operators, they'll need to know this. It's good to expose them to these concepts early, so that it's both not magical and not a surprise when it becomes important later. The last thing they need is to stop caring about types because the language is too forgiving (see: PHP).

      most of it comes from legacy syntax like type characters

      Oddly enough, it's one of the reasons that I prefer BASIC as an introductory language. Those goofy characters really are helpful for beginners. It may be an extra thing to remember, but they're also still learning about types. I find that they're a helpful reminder for students. (Remember Hungarian Notation? Yeah, that turned out to be a bad idea, but I've found that the $ behind strings is a good thing for beginners.)

      Still, I don't see why this makes the syntax and grammar a mess? You'll need to explain yourself a bit more here.

    102. Re:Why BASIC? What for? by zbobet2012 · · Score: 1

      Your speed arguments are essentially ones which boil down to python being an interpreted language. PyPy is a JIT compiler for python thats is on average 5 timers faster than normal CPython. Shed Skin is a python to C++ compiler which works decently as well.

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

    104. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      Care to give examples? I can't think of any case where this is true save one exception (The LINE and CIRCLE routines from BASICA & QBasic) Though I'd hardly call that "very irregular".

      If we are talking about traditional structured language, then it's pretty much the whole thing that's irregular. Why is OPEN a statement and not a function? Ditto for NAME, and why isn't it RENAME? Why the special syntax not just for LINE and CIRCLE, but for all graphics primitives - PSET, PRESET, GET, PUT etc? Why do you need to use LINE with a special flag to draw a rectangle? What about all the ON ... GOSUB ... stuff, and why aren't there any structured programming equivalents that'd work with proper functions (that have their own stack frames)?

      When we get to semantics, it's also a non-orthogonal mess. Why can't you have arrays of arrays (as opposed to just multidimensional arrays)? How do you organize a linked list, a tree, or any other structure where you need links between nodes?

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

    106. Re:Why BASIC? What for? by shiftless · · Score: 1

      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.

      It did a lot for me. When I was in 2nd grade I stumbled across a book on BASIC programming in the school library. I remember thinking, "hey, my dad has a computer!" So I checked it out and took it home. He set me up on his 286 compatible (12MHz, 1MB RAM, DOS 5.x, two 40MB MFM drives, ATI VGAWonder and 15" Samsung SyncMaster!) in Professional Write and showed me how to save my programs and run them with GWBasic.

      I spent a lot of time copying in the example programs from the book line by line. My favorite was an interactive detective story, kinda like a Choose Your Own Adventure book. I started making changes and was amazed to see that the computer did exactly what I told it to do...or didn't, if I screwed up something.

      A couple years later I got bored of BASIC and with the help of a DOS program called LearnC (which now I can't find *anywhere*) and Turbo C I learned that language too, then Turbo Pascal, and others. The rest is history.

      So yeah, I'd say that BASIC could still be a very useful language.

    107. Re:Why BASIC? What for? by thogard · · Score: 1

      Most programmers use the C { as just part of the loop. The first C compilers treated the { as a "create a stack frame" and } to close the frame.

    108. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Hear, hear!

    109. Re:Why BASIC? What for? by shiftless · · Score: 1

      I love the fact that due to the archival nature of the Internet, posts like this will be preserved for all time to demonstrate just how clueless the poster is, in regards to his arrogantly expressed inability to understand that this is exactly the direction user interfaces are going in, thus making his post laughably wrong when viewed in a 5-10 years down the road perspective.

      Being able to "script" things together by dragging items/objects/commands together into sequences and combining these sequences in various ways is THE way to solve today's touch screen interface problems. What, you think you can just slap a touch keyboard UI in there and BAM, that's the future of how things will always be done? All the misery of fat fingers pressing wrong buttons and triggering the wrong actions, now and for good? Come on.

      Today we are seeing a new PC revolution. Well, some of us are anyway....sorry if you get left behind. Kudos to Microsoft for developing this technology and bringing it to market. I'm no Microsoft fan, but I have a feeling Windows 8 Mobile is really going to shake up the smartphone market.

    110. Re:Why BASIC? What for? by gl4ss · · Score: 1

      Explain why that's a problem for beginners, who need to learn good habits about how to organize code to be readable, and not just for crusty old hands, too set in their ways to bother.

      it's not for making more readable. whitespace rules are for making the code easier for the python vm to compile...

      --
      world was created 5 seconds before this post as it is.
    111. Re:Why BASIC? What for? by nessus42 · · Score: 1

      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.

      Whoever said that Python is the best tool for every problem? That's a strawman. Every programming language has its limitations. No programming language is perfect for every task. Because a tool isn't perfect for every task, doesn't mean that it isn't well-suited to a large set of particular tasks. In this case, the particular task under consideration is to be an introductory programming language, and even more particularly, a substitute for Basic. The fact that it makes a great introductory programming language is well-proven by the fact that it is used as the introductory programming language at one of the three finest Computer Science programs in the world. The performance of tight loops for this particular task is of little relavance. Likewise for the vast majority of scripting tasks, which is one of Python's primary niches. Scripting is typically limited by i/o, not by cpu.

      If you don't wish to be subject to ad hominem, post something thoughtful and reasoned rather than merely lazy flamebait.

      |>ouglas

    112. Re:Why BASIC? What for? by sosume · · Score: 1

      Yes (the f) it is.
      Beginner All-purpose Symbolic Instruction Code. Learn to wiki. The fact that Basic has been matured into tools which use its syntax does not change the point for which it was developed,

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

    114. Re:Why BASIC? What for? by anonymov · · Score: 1

      Being able to "script" things together by dragging items/objects/commands together into sequences and combining these sequences in various ways

      Your "revolution" was done so many times and in so many ways, and it always stumbles into the "make it simple enough for even fool to use and only fool would use it" problem.

      Graphical programming scales incredibly bad - doing simple things is OK, but once you step away from trivial 5-10 line scripts it all devolves in colorful spaghetti.

    115. Re:Why BASIC? What for? by gl4ss · · Score: 1

      python doesn't know it's a simple addition and can't.

      --
      world was created 5 seconds before this post as it is.
    116. 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.

    117. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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.

      Oh noes, entire hours spent setting up your environment! You mean you have to learn how to install software before you learn how to program? Oh, the Horror!

      Back when BASIC was still popular, sure you could open up the interpreter, but instead of spending hours googling and asking for help you went to the bookstore and spent hours reading reference books, or bought the book and took it home. You can get more help, information, and assistance in five minutes on google today than you could in five hours in the early 90's, absolutely for free.

      There are three reasons nobody is bothering to make an IDE for smarphones and tablets.
      First, the UI is approached in an entirely different fashion so the IDE itself needs to be completely re-built because nobody wants to spend an hour typing two pages of code on a freaking touchscreen.
      Second, you have to deal with all sorts of crazy permissions which differ between devices- if you think it takes a lot of time and trouble installing something like Eclipse on a PC then you would shit yourself over the headache installing an IDE on a phone or tablet would cause.
      Finally... there just isn't much demand for it.

      Phone makers already have their devices loaded to the hilt with bloatware and other bullshit, and you want them to add a development suite on top of it, in the default distrobution? No. Do not Want. Plenty of idiots with no talent, skill, or even desire to program root their phones and install custom ROMS every day. If it kills your interest in programming to have to deal with setting up the environment, then quite frankly you aren't cut from the right cloth to make a decent programmer.

    118. Re:Why BASIC? What for? by rtb61 · · Score: 1

      For example ruby http://code.google.com/p/android-ruby/ or even http://www.robmiles.com/journal/2011/1/7/running-ruby-on-windows-phone.html. It seems there is a bit of interest http://www.ibm.com/developerworks/web/library/wa-ruby/index.html?ca=drs-.

      It seems that Ruby is becoming the default beginners language, with compact easily readable code. So go Ruboto http://ruboto.org/ interesting video http://www.youtube.com/watch?v=3074P4juuXs.

      --
      Chaos - everything, everywhere, everywhen
    119. Re:Why BASIC? What for? by nessus42 · · Score: 1

      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.

      That would indeed be pretty awesome! I bet it would make a great anime too.

      It's too bad that I do most of my programming these days in Scala, though. Maybe we should work on a giant Scala programmer too.

      |>ouglas

    120. Re:Why BASIC? What for? by symbolset · · Score: 1

      We don't do that here.

      --
      Help stamp out iliturcy.
    121. Re:Why BASIC? What for? by nessus42 · · Score: 1

      You guys [MIT grads] are good at what you do, but we pay you that excessive salary to stay in the basement and not try to talk to us.

      Ah. Could you remind me why I'd want to talk to you?

      |>ouglas

    122. Re:Why BASIC? What for? by toriver · · Score: 1

      Not if you want it dynamic; look at .Net Workflow: You can write your CodeActions in C#, but you exchange data between workflow actions in Visual Basic. This is because they have interpreters for runtime evaluation of VB but not of C#.

    123. Re:Why BASIC? What for? by Urkki · · Score: 1

      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.

      Python with libraries is huge. Python language itself is pretty huge too, and trying to read anybody elses code, or just trying to read stuff found by Google when trying to get help on a problem, pretty much requires you know almost all of the language. "Just ignore some parts" isn't a working approach. Also, Python can't really do anything much itself, you need to import a bunch of modules for anything interesting, such as graphics. BASIC is self-contained, you don't need to learn API of some module in addition to learning the langauge itself, because there are no modules.

      A BASIC replacement could be built around Python, by making selected modules as part of the core language, and stripping out some of the more advanced stuff from the language itself. But "real Python" is not much of a competitor in the niche where BASIC is. No modern, generally useful language is, because simplicity (including all libraries) and being generally useful are not compatible features.

    124. Re:Why BASIC? What for? by narcc · · Score: 1

      Why is OPEN a statement and not a function?

      Why should it be? Are there other functions that return a handle to a resource? OPEN works the same for resources other than files (in variations I'm familiar with anyhow). That's consistent, not inconsistent.

      Ditto for NAME, and why isn't it RENAME?

      Why isn't it MOVE? I don't see what this has to do with consistency?

      Why the special syntax ... for all graphics primitives

      This is the one I agree with, though it's the only place where I've found the syntax to be irregular. (This seems limited to only a few BASIC variations, however.)

      What about all the ON ... GOSUB ... stuff, and why aren't there any structured programming equivalents that'd work with proper functions

      You'll find that in structured BASICs, there are proper structured equivalents (CASE, in this case) that replace ON ... GOTO type statements. (You'll find that ON ... GOSUB is only included for compatibility with unstructured BASICs in older structured BASIC variations)

      Why can't you have arrays of arrays

      Again, I don't see anything wrong here. That is, arrays are arrays of primitives of some type. An array isn't a type, so to allow arrays of arrays would be inconsistent! (Er, that's terribly unclear and a bit misleading, but I think you can still figure out what I mean here.)

      How do you organize a linked list, a tree, or any other structure where you need links between nodes?

      This has absolutely nothing to do with "semantic consistency" and is instead a feature of the language that you think should be included. Anyhow, you can model those kinds of structures fairly easily with muti-dimensional arrays. Some BASICs even let you dynamically resize an array (you have to specify the largest size you'll think you need otherwise) Still, it can be done, though you may want to look elsewhere if you need those kinds of structures. (Present-day structured BASIC variations may have better support for creating these kinds of structures, but I'd need to look.)

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

    126. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Python took the single common worst aspect of both Cobol and Fortran, the handling of white space, and raised it to a high art

      That's better than taking endless repetition of braces and semicolons and turning it into bad art.

      |>ouglas

    127. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      There are no interpreters for runtime evaluation of VB.NET. That said, it doesn't matter, because there's programmatic access to the compiler (via CodeDOM) for both VB and C#, which is dynamic enough for this purpose.

    128. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      Why should it be? Are there other functions that return a handle to a resource? OPEN works the same for resources other than files (in variations I'm familiar with anyhow). That's consistent, not inconsistent.

      Why shouldn't it be? Opening files is handled by a function in pretty much all languages I know of, other than BASIC. Why does it have to be a statement, with its own distinct syntax that's completely unlike a function call?

      You'll find that in structured BASICs, there are proper structured equivalents (CASE, in this case) that replace ON ... GOTO type statements. (You'll find that ON ... GOSUB is only included for compatibility with unstructured BASICs in older structured BASIC variations)

      I was not talking about ON n GOTO ... I was talking about various "event handler" type routines, like ON PLAY or ON STRING. These only exist in GOTO/GOSUB versions.

      . That is, arrays are arrays of primitives of some type. An array isn't a type, so to allow arrays of arrays would be inconsistent!

      Well, why array isn't a type, then? It's a type everywhere else. Has been since Algol-58.

      And if it's not the type, then what's the type of expression "a" after "DIM a(10)"?

      This has absolutely nothing to do with "semantic consistency" and is instead a feature of the language that you think should be included. Anyhow, you can model those kinds of structures fairly easily with muti-dimensional arrays.

      Yes, this wasn't an example of "semantic inconsistency", but rather "messy semantics". I dare say that linked list or binary tree is one pretty damn basic (pardon the pun) data structure - if the language cannot handle it, it's not good for much. And yes, I know the array workaround - wrote a lot in QB back in the day - and it's messy as hell. Hard to write, non-obvious when reading, and very inefficient to boot - it's like, take the worst three...

    129. Re:Why BASIC? What for? by ath1901 · · Score: 1

      I do C++/Python hybrid programming for a living. I do it exactly because it is so easy to rewrite performance/memory sensitive parts in C++.

      And no, you will not "rewrite half the project in C/C++". I'd say at most 1/5th. I spend the majority of a regular working week programming in Python. Every now and then when speed becomes an issue, I find the bottlenecks and move them to C++ (if necessary, sometimes numpy is enough). Since I'm probably twice as productive in Python as in C++, about 1/10th of the program is in C++.

      Oh, and I do numerically intensive work (for example, monte carlo simulations). Most often the major bottlenecks can not be removed by switching programming language. If it takes forever to calculate stuff on long time series in C++, it hardly matters if it takes an additional 2500 instructions to use the final result in Python.

      Python is great for it's intended use.

    130. Re:Why BASIC? What for? by mobby_6kl · · Score: 1

      Java is used in a lot of respectable universities in introduction (and/or higher level) courses, yet we all know it's shit and should not be used. I don't see how MIT is relevant here.

    131. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      varation on the traditional first basic program

      10 Ring
      20 Say Hello
      30 goto 10

    132. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      "I would not recommend crawling to any babies that are seriously interested in learning to walk because it prevents people from learning the little necessary but tedious things like how to balance on two feet instead of four and how to swing their arms properly."

      Python does not prevent you from learning about data types. It just allows you to put it off until a bit later. This is advantageous because the hard part of programming is concocting algorithms for transforming given input into desired output. Everything else is a distraction.

      Integer division exists in Python.

      I learned Python, then C, then C++. In no way did my previous Python knowledge hamper my learning of C. If anything, it allowed me to focus on the particularities of C programming (manual memory management, pointers, etc.) because I already had a good grasp on algorithmic thinking.

      Object oriented programming is a valuable tool for code organization and world modeling, but it is fairly pointless for the kind of small "toy" programs that beginners need to write. I'm thinking of thinks such as string manipulation utilities, tic-tac-toe games, etc. There is usually so much boilerplate involved in class definitions, etc., that the OOP version of such a program ends up significantly longer than the straight-up procedural version. Again, it's an unnecessary distraction for beginners, who will still be able to pick it up later when they get to writing larger programs and can grasp the benefit of it. Using it from the start just because someone told you to is nothing but cargo-cult programming.

    133. Re:Why BASIC? What for? by hairyfeet · · Score: 1

      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.

      Why the fuck did this guy get modded troll? Ya know the FOSSie fangirl BS really does get old. Its fricking operating systems NOT ball clubs okay? You fangirls remind me of that old Mel brooks bit "Let them all go to hell except cave 76 rah!" and is about as fricking useful.

      FYI for those that don't wear Saint iGNUcious buttons what he is talking about is damned near 20 years old now, which is the windows way of programming VS the Unix way. with Windows its all about GUIs and letting the IDE take care of the low level stuff, with unix based you get a command prompt and a list of commands. BOTH have their places, BOTH have their strengths and weaknesses, in this case he is pointing out that for the target platform (touchphones) that the Windows way takes a lot of the work out of it for the programmer.

      Man I miss the days when we could actually discuss things like costs VS benefits for various programming methods, file systems, designs, ya know actual tech shit? Now its nothing but ACs everywhere and more fangirls squeeing and squicking than at a fricking Justin Beiber concert. How fucking sad it is and how far /. has fallen when something as old and as well known as Windows VS Unix program design gets modded down because the fangirls can't fucking stand any post that has the word Microsoft in it unless its followed by "They burn babies and kill kittehs ZOMFG!". In the old days one would have pointed out that ease of use comes with an overhead cost and then there would have been a discussion on how much overhead and whether it was worth it, but not now, ooooh no. its all flag waving fangirl crap now.

      Does anybody know where the actual geeks went so I can actually read insightful comments and intelligent discussions again? because i swear all the fangirls and flag waving is making my head hurt and I sure as fuck ain't learning anything here anymore.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    134. Re:Why BASIC? What for? by hattig · · Score: 1

      The reason that Python is the introductory language at MIT is probably the same as why ML was (is?) the introductory language at Cambridge. The students are not likely to have used it before. It puts the students on a more equal footing at the beginning of the university course as they all have to learn something new.

      Does Python make a good introductory language in the modern age? Why not? I don't know enough about it to comment one way or the other, but compared to interpreted BASIC it's probably a reasonable match. Indentation thing is annoying, then again FOR ... NEXT or WHILE ... WEND aren't ideal either.

      What is really missing however is magazines with coding tutorials and type-ins, that make people learn to program by rote repetition of entering programs, then wanting to edit the programs to add features, change the maps, graphics, etc, and so on.

    135. Re:Why BASIC? What for? by OeLeWaPpErKe · · Score: 1

      Thanks I didn't know about shed skin.

      The difference between python and languages like perl is that perl is utter rubbish for calculations yet python's syntax is kinda handy. But then it makes absolutely zero progress on your real dataset and you've got to rewrite the whole thing. This keeps happening to me and it's frustrating.

      Pypy sadly is only fast when compared to normal python. It's a nice improvement, true, but it's far from sufficient.

    136. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Where's '-1 pathetic' when you need it?

    137. Re:Why BASIC? What for? by narcc · · Score: 1

      I was not talking about ON n GOTO ... I was talking about various "event handler" type routines, like ON PLAY or ON STRING. These only exist in GOTO/GOSUB versions.

      Well, ON [event] really only exists in QBasic, you'll find that more modern structured BASIC variations handle events more sensibly (though you won't find ON PLAY and the like outside of QB) Of course, events aren't something that you teach to beginners unless you're teaching at a trade school. There, you likely aren't concerned about teaching a student to program as you are hoping they pick that up as you walk them through the "text book" so that they "know how to use [tool x]". Yuck. (Events come much later, long after they've written a few event loops already. Doing so otherwise is like expecting them to fully understand linked-lists because they've used the equivalent object in Java. [Madness!])

      Well, why array isn't a type, then? It's a type everywhere else.

      Hence my disclaimer. Arrays are collections of primitives of some type, but not really a type themselves (if that make sense) Think of them like arrays in C, where the identifier is just a pointer to some type, except that BASIC doesn't have pointers in the proper sense. (Wow, I've made this even less clear. Horray!) Anyhow, I can't speak to more modern structured BASICs where this feature may very well be present. (Even to ones I've used as this isn't something I'd be covering while still in BASIC.)

      if the language cannot handle it, it's not good for much.

      Well, the language can handle it, though it can be a bit messy (at least in older BASIC variations). Still, whatever limitations this puts on the users, it certainly doesn't limit the language so significantly that it's useless for the purpose that I'm proposing it be used for (as a beginners language).

      Now, if the structured variation you're using supports records, making linked-lists isn't as nasty or illegible as it is in QB. Still, by the time I'm teaching about those structures, we've already moved past BASIC (to C, of course, the greatest language for teaching data structures!) Heh, if you think teaching linked-lists in BASIC would be bad, you should try doing it in Java! :)

      Anyhow, if I get your meaning it's not that BASICs syntax is necessarily inconsistent -- only that it differs significantly from other structured languages? Well, I can't argue that.

      Still, I haven't seen this as an impediment to learning other languages. Quite the contrary, in fact. A billion years ago when I tutored VAX assembly, I'd have students work out an assignment in unstructured BASIC first, then convert their solution to assembly. It was a remarkably effective technique which turned more than one students' grade around.

      We we move to C, to keep with your examples, I've found that students find things like file handles obvious, having worked with the # thing in BASIC. The # system is great for learning -- it eliminates questions like "so if I print this to the screen, will I see what's in the file?" (#1 isn't obviously a variable, but it does clearly represent the open file, so the question never comes up. #1 is just "the first file opened" in their minds. Once we get to C, the idea of a file handle is obvious, again avoiding the question!)

      Done right, most students pick-up C in a few days, once they've been introduced to the syntax. The details come as they need them, but it's not nearly the struggle it would be had we started with the language. (Why a struggle? Even in C there is too much "cruft" for the beginner -- that is, necessary code that the student has no hope of understanding for several weeks or months -- magic code, if you will. When they can understand everything they've typed, it's empowering. When they can't, it's disheartening.)

      Anyhow, that's really one of the greatest advantages of BASIC as a beginners language. There isn't

    138. Re:Why BASIC? What for? by Lord+Duran · · Score: 1

      Nobody else did, so I'll state the obvious.

      Python is slow, that is true. From a little experience doing some heavy math, a good rule of thumb is about 1000 times slower than C (for simple stuff, you can safely assume that that's as fast as it gets). The point is that this doesn't mean Python is a bad language, nor that it doesn't have its uses, it only means that when doing heavy duty work, you shouldn't use Python. I wouldn't write a database, a 3D graphics engine, or a quantum mechanics simulation in Python.

      That said, 99.99% of what you do these days is not performance-critical. One has to appreciate the fact that if I have a .csv file containing fields in one order, and I need to manipulate the fields a little, rearrange them, and dump them into a different file format - it takes 5 minutes back to back with Python, when it'll take me half an hour in C. Unless that file happens to be quite large, a few gigs at least, there's no way I'll write in C. If I want to solve an exercise, say, finding a fiveleaper's tour, Python will take me much less time. If I want to write an interactive web interface, I'll probably use Django.

      The last point in favor of Python is that beyond mere development speed, Python is much, much more user friendly and I believe more beginner friendly. Compare:

      #include <stdio.h>
      int main() {
              printf("Hello world!");
              return 0;
      }

      with

      print "Hello world!"

      Try writing a simple TCP socket chat client/server, and the difference becomes much more obvious.

    139. Re:Why BASIC? What for? by jez9999 · · Score: 1

      Why not Python?

      Because teaching that whitespace before keywords is significant is unnecessary and arguably counterproductive. I like to be able to SEE my code.

    140. Re:Why BASIC? What for? by hattig · · Score: 1

      I remember learning Pascal during A-Level (UK - 16-18 post-secondary; pre-university level), after coming from BASIC on the Amstrad CPC.

      What BASIC did was allow you to create visual things very easily - this is a great way to learn to program because you get a lot of feedback. You didn't have to worry about files or streams or so on, you just INPUTed and PRINTed, you DRAWed and so forth. If you needed data, you'd put it in DATA statements, rather than read it from storage (although you could do that too), thus making the language even more accessible (and allowing for program listings in magazines!).

      Pascal, however, taught programming concepts far better. Variable declaration, structure, etc. But the I/O was purely text, it was very dry and un-engaging. This is also the problem with many other modern languages - although Javascript now has a canvas. There's probably a BASIC interpreter online implemented in Javascript that draws on a canvas...

      The hidden opportunity was LOGO. A language taught in secondary school merely as a "move the turtle around to draw" mechanism. Underneath was a powerful functional language that was never touched. :-(

      Anyway, BASIC was a 'hook' back then, it got many people into computers, and acted as a gateway to assembler and other languages. Some BASICs even included assembler - e.g., BBC BASIC - which was probably the best home computer BASIC of the 80s as it also included PROCedures.

    141. Re:Why BASIC? What for? by shiftless · · Score: 1

      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.

      Python's forced formatting/indentation makes it a non-starter for me...for ANY use. Not into bondage and discipline, sorry.

    142. Re:Why BASIC? What for? by angel'o'sphere · · Score: 1

      The fact that it makes a great introductory programming language is well-proven by the fact that it is used as the introductory programming language at one of the three finest Computer Science programs in the world.

      I learned a few weeks ago here on /. that this kind of logical fallacy is called "begging the question".

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    143. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      Think of them like arrays in C, where the identifier is just a pointer to some type, except that BASIC doesn't have pointers in the proper sense.

      That is even more confusing, actually. Arrays in C are types. Expressions of array types do decay to pointers in most contexts, but not all (e.g. not inside sizeof). Pointers are types also.

      Heh, if you think teaching linked-lists in BASIC would be bad, you should try doing it in Java! :)

      There's no problem teaching linked lists in Java, because object references (which are essentially pointers) are a fundamental part of the language.

      Anyway, I'm not arguing for C as a first language. There are other languages that suit this purpose well - Python is arguable, but Lua is really nice with its simple type system and clean syntax. Then there are languages specially designed for this purpose, such as ABC or Pascal.

      BASIC, on the other hand, is, today, mostly a baggage of old syntax and old semantics with no real redeeming qualities - and I say that as someone who wrote in it preferably for about 5 years back in the day. Even back then, there was nothing special in it as a language - it just happened to be easily accessible (especially QBASIC, which was literally on every DOS system), it had decent documentation readily available, and it had an integrated "library" for full-screen graphics which let one write more interesting things like simple games. Today, other languages fill this niche. It's time to move on.

    144. Re:Why BASIC? What for? by TheRaven64 · · Score: 1

      I can give some real examples. First, there's the fact that Python uses spaces for indenting. Two characters to indent one level. Fine... except when someone's editor inserts a tab. Then they've got code that looks correct visually but does the wrong thing. I spent ages chasing a Python bug where this was exactly what had happened - the code where it was dying looked fine when inspected it, but it was a code path that wasn't tested by the original developer - it looked right to him, it looked right to me, and it broke. That would not happen with explicit blocks. That's more of a problem with Python than with the idea though: you could use tabs, one tab per indent level, and have the parser error on any statement that had any spaces before the first non-whitespace character.

      Then there's the matter of line continuations. In both C and Python, it's quite common to have a flow control statement (for / if / whatever) with a condition that you want to wrap, so you put it on the next line. Python allows you to implicitly break lines in the middle of parenthetical expressions without needing an explicit continuation character (which is actually quite nice), but this means that you then - in both C and Python - have a second line that is indented but is part of the same block. This is not a problem in C, because you then have an explicit start-of-block marker. In Python, the next line can have the same indent level as the one above it, but be in a different block.

      The human visual system is very good at matching symmetrical pairs of things, especially if they are lined up. If you put braces on their own lines, you can spot the start and end of a block very quickly. This makes navigating a big chunk of code trivial - you can quickly see where the start and end are. You can only do this in Python (or any other whitespace-sensitive language) if you have no blank lines (they break the visual flow, but are usually encouraged to break statements into semantically related groups) and if you have no wrapped lines. These two constraints generally only apply to toy code.

      --
      I am TheRaven on Soylent News
    145. Re:Why BASIC? What for? by shiftless · · Score: 1

      Interesting you mention Clipper. I seem to recall that was the language for/used by dBASE back in the day. My dad used that language to write a DOS application for the Air Force to keep track of technical manuals, and a similar program for a local junkyard to keep track of vehicles/parts on the yard. Menu driven, etc., and pretty nice. I think a lot of people don't understand that the BASIC language doesn't have to be just limited to just 10 PRINT "HELLO" type stuff, as specific implementations widely differed, and in a good implementation it can be used to build real apps that don't suck.

    146. Re:Why BASIC? What for? by zr-rifle · · Score: 1

      Python programmers are the only ones not complaining about indentation in Python.

      --
      Hack your mind out of its sandbox.
    147. Re:Why BASIC? What for? by Electricity+Likes+Me · · Score: 1

      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.

      Because in THE REAL WORLD you will totally be paid a fair living wage for doing basic households tasks...OH WAIT NO YOU WON'T.

    148. Re:Why BASIC? What for? by drinkypoo · · Score: 1

      BASIC always had a decent if peculiar set of graphics primitives.

      Which BASIC? Some of them were written for systems with no graphics.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    149. 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.'"
    150. Re:Why BASIC? What for? by drinkypoo · · Score: 1

      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.

      I hate this argument. I heard it with manual transmissions, too. I bought a car with a stick having never driven one before and it worked out great, since I already knew how to drive, and now I only had to think about shifting and clutching. I had problems with the car (not the trans though) and if I'd had to think about how to drive and how to clutch and what was wrong with the car all at once I don't think it would have gone as well as it did. It's better to work on a language that handles these things for you magically at first, because you don't need the full power of manual type conversion as a noob.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    151. Re:Why BASIC? What for? by drinkypoo · · Score: 1

      LOGO is a great beginner's language, and as it was designed to be a teaching language, perhaps it has some advantages there. As a kid who made fractals in LOGO in junior high school, I found it quite easy to understand. Too bad that was the last time I was offered anything with computers until college. Further, it's even more too bad that when I went to college the first time, you had to take discrete mathematics before they'd let you take programming. Math makes my brain hurt, but I can still program a computer... just not as well as I think I would have if I'd had some training in it when I was young.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    152. Re:Why BASIC? What for? by dkf · · Score: 1

      [Python] is much faster than either Ruby or Tcl.

      It also depends on what you're doing. Badly written code in one language is slower than well-written code in another (no surprise!) and benchmarks are hard to write so to give a fair picture. Hell, they're hard within the scope of a single language, and across languages you have the problem that most people who suggest benchmarks tend to suggest ones that are on things that their language does well and which others have a problem with (or think to be totally irrelevant).

      CPython's pretty quick at some things though.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    153. Re:Why BASIC? What for? by gbjbaanb · · Score: 1

      that's true. Though, I don't think its the language so much that's any easier (except that whitespace thing in Python that's going to annoy a beginner a lot - you need to make it easy, and not realising your code's broken because you're forced to be disciplined about whitespace is not going to help you focus on the difficult, new coding problem).

      The problem is the ecosystem of Python. With PHP you install (or its already there usually) and off you go. My experience with python is that it requires one of 3 different versions of the language, eggs that are difficult to obtain and/or compile and an environment that doesn't easily configure in Apache.

      That's the main reason PHP is really successful. When you're an 'amateur' programmer, any obstacles to getting your code working are much larger than we realise.

    154. Re:Why BASIC? What for? by gbjbaanb · · Score: 1

      Office scripting is done with VB.net because of the greater COM integration with that language. C# and VB might be the same thing under the covers but they focus on different tasks. Nobody sensible would write Office scripts in C# when there's a system that's better designed for that type of task.

    155. Re:Why BASIC? What for? by tibit · · Score: 1

      I think that the language is a close-runner but of secondary concern. The first concern is making the development process work on a touchphone's/touchpad's man-machine interface. That's hard. It pretty much requires building the entire environment, including the language, from the bottom up. Reusing something that has been designed for keyboard entry, like BASIC, will suck, and then it doesn't matter much if it's BASIC, Python, Java, OCaml, FORTRAN, or what have you. I have yet to see real innovation in program entry. We have "block builders" like Scratch, Labview, Scade, ladder logic for PLCs, schematic entry for programmable logic, etc., but none of them leverages the two-dimensional multi-touch entry. Heck, all of those seem to be conceptually very thin and awkward front-ends to a completely textual language.

      Those graphical program entry systems have been designed by people who did not have any demonstrated insight into man-machine interaction, and they have serious design shortcomings -- they all fail to leverage the 2D display efficiently. Ladder logic is like a flattened list of connections -- it uses screen real estate about as efficiently as a PDF viewer showing a netlist printout would. Labview and Scade are marginally better -- they are about as efficient as a schematic, with all of its viewing-a-big-landscape-through-a-porthole issues. Scratch is exactly like a BASIC listing using graphical wrappers around various elements of the AST. Oh, it takes many times more screen real estate than a listing would!

      Most applications are UI-centric, as long as you're past the green-screen way of thinking. This means that whatever graphical language concept you come up with must be able to efficiently and safely represent UIs and their underlying logic. This pretty much kills the javascript- and similar event handler approaches right on the outset: those all sprinkle the state of the interface everywhere, and don't explicitly expose the hierarchical state machine that most UIs are. But a state machine is merely a convenient abstraction, it doesn't mean that just throwing, say, a UML statechart builder together will solve anything. Those still suffer from horribly low utilization of screen real estate, and have serious porthole shortcomings. Try doing anything of essence in the freely downloadable QM graphical modeling tool. It is, on the technical side, a rather brilliantly done piece of software (debugged to hell and back, it seems), yet suffers from horrendous usability. That's partly because UML statecharts of any significance occupy a lot of screen real estate, but also because this approach hardly uses any of the touchy-feely goodness available on a tablets/touchphones.

      We need some real innovation here, and there are no canned solutions.

      --
      A successful API design takes a mixture of software design and pedagogy.
    156. Re:Why BASIC? What for? by tibit · · Score: 1

      Agreed. The current state-of-the-art of graphical code builders does not utilize much of the available input. Pointer location shouldn't be only relegated to placing things on a virtual sheet of paper, just as mouse gestures shouldn't be only used to pan and zoom on that sheet.

      --
      A successful API design takes a mixture of software design and pedagogy.
    157. Re:Why BASIC? What for? by gbjbaanb · · Score: 1

      amen. Pascal was designed as a teaching language. The only reason it didn't catch on for business apps was because it didn't have a standard library. Something that was rectified with Turbo Pascal and Delphi. And look how popular they became

      Perhaps the BASIC for smartphones should be a Pascal renaissance, Whoever owns Delphi might like to think about that and get Google to preinstall it on all Androids :)

    158. Re:Why BASIC? What for? by tibit · · Score: 1

      Java is not something you want to use to develop on an man-machine interface without a keyboard, without a big autocomplete system, and without all the documentation handy -- preferably on a second monitor, so as not to obscure your code. Development on a "small" screen with touch-based interface requires a paradigm shift. Anything less will be useless. If you can't code on it significantly faster than you would using a glass teletype, then it's not living up to its potential. The bandwidth of a multitouch input beats a teletype by an order of magnitude or more, I'd think. It must feel that way when you use it, too.

      --
      A successful API design takes a mixture of software design and pedagogy.
    159. Re:Why BASIC? What for? by putaro · · Score: 1

      Many of the system utilities for RSTS/E, a DEC PDP-11 operating system, were written in BASIC-Plus. That included the login utility. The older versions of RSTS/E came with the utilities as BASIC source so you could mess with them.

      BASIC-Plus was pretty advanced but it still lacked some critical things like scoping. I don't think it was possible to do recursion in it.

    160. Re:Why BASIC? What for? by tibit · · Score: 1

      Are you saying that you know better than the entire MIT Electrical Engineering and Computer Science faculty.

      An appeal to authority, I see. Well, they had a few choices, really: Pascal, C/C++, C#, Java, Python, and maybe assembly but for a sane architecture (I'd take Parallax Propeller over x86 anytime). Short of coming up with something brand new, anything they chose would have shortcomings one way or another. I would choose Pascal, but that's just me.

      --
      A successful API design takes a mixture of software design and pedagogy.
    161. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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.

      Actually, expressing algorithms is generally considered Python's greatest strengths. It's often used in academics because in that environment algorithms are the whole point. Magic programming is more a BASIC thing in my experience.

    162. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      You mean that product that they are cancelling and on Jan 1 will cease to exist?

      Have you tried that? it's a PITA to use, not documented, and honestly it's easier to just learn how to write an app using libraries.

      I love how people that know nothing at all about something try to present it as an answer...

      "How about this dead squirrel? it can keep you warm!"

    163. Re:Why BASIC? What for? by transporter_ii · · Score: 1

      You can't get a reasonable BASIC for your average GNU/Linux distro? http://www.mono-project.com/VisualBasic.NET_support

      Yeah, I kind of understand the hate, but a person can do almost everything in Visual Basic that they can do in C#, but for some reason, VB is a red headed step child. If it is just MS hating, there are a lot of people that like C#, and both C# and VB compile to the exact same byte-code.

      --
      Doctors destroy health, lawyers destroy justice, universities destroy knowledge, religion destroys spirituality
    164. Re:Why BASIC? What for? by rev0lt · · Score: 1

      They already invested on mobile platforms (iOS) http://www.embarcadero.com/products/delphi .
      Unfortunely, it may be a little to late to keep the interest in Delphi.

    165. Re:Why BASIC? What for? by cheekyjohnson · · Score: 1

      you learn a real language that can help you be more employable.

      Not everyone cares about being immediately employable. Others may just use it as a small starting language (and it's possible that they don't want to use any others). It's just a matter of preference.

      --
      Filthy, filthy copyrapists!
    166. Re:Why BASIC? What for? by msauve · · Score: 1

      If it doesn't know it's a simple addition, and can't, then it won't, and it doesn't matter.

      Did you mean to say it doesn't know until runtime? I don't know Python, but from your statement, my guess is that it supports untyped variables, so when a=5 is done, it's not known whether it a holds a string, or integer, or real until it's used in some other operation. Is that correct? Is there no facility to explicitly type variables?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    167. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      You're doing the indents for code blocks like if and for in any language.

    168. Re:Why BASIC? What for? by Given+M.+Sur · · Score: 1

      You have to pay $99 a year to run any of your code on an iOS device though.

      --
      nil
    169. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Amen! BASIC sucks! Let it DIE!!!!

    170. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      Office scripting is done with VB.net because of the greater COM integration with that language.

      There's no special "COM integration" in VB compared to C#, because COM interop is handled on .NET level. Historically, VB had certain language features that made working with COM (and especially the not-so-well-designed Office interfaces) easier - specifically, the ability to do runtime dispatch by name simply by calling methods on a variable typed As Object, and support for default parameter values (very useful when you have a 20-argument method with 18 parameters defaulted to null). Today, C# 4+ supports both features just as well, and is equally good at working with Office and COM in general.

    171. Re:Why BASIC? What for? by shutdown+-p+now · · Score: 1

      Some version of the original BASIC had it, if I remember correctly. It was definitely there in the ANSI language standard, which itself was an amalgamation of the popular BASIC dialects of the time.

      I only had personal experience with Spectrum BASIC and later with a bunch of DOS dialects (Turbo BASIC and QuickBasic), all of which had it.

    172. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      bad habits? you mean like a language mere mortals may be able to learn and implement? as far as im concerned any OOP lang should die a horrible and painful death.

    173. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Python is nice, Erlang is nicer. Yes, you can have Erlang on n900.

    174. Re:Why BASIC? What for? by martyros · · Score: 1

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

      Coming up with a clever algorithm is certainly one thing that many people find fun about programming. But there are lots of other ones: having the satisfaction of a well-designed and finished product is another one (just as using a lathe may be fun, but seeing the finished table is also fun). Another thing that's fun about programming is the magic of having your creation come to life.

      It's this last one that's the most accessible at the beginner level. To a beginner, making two buttons, one of which turns the screen blue when pressed, and the other of which turns the screen red when pressed, will be as rewarding as casting the first cantrip would be for someone studying magic. This part of programming has never lost its appeal for me; whenever I create a new program or a new feature in an existing program, it still feels like magic.

      The purpose of having something really simple, like BASIC, is to allow people to get the taste of the magic of programming -- just enough to convince them that it's worth all the time and effort of learning a real language. It's then that the other enjoyments, of designing good algorithms and so on, become available to them.

      --

      TCP: Why the Internet is full of SYN.

    175. Re:Why BASIC? What for? by makomk · · Score: 1

      What happens when whatever you're trying to do exceeds the functionality that your "easy to use" development platform chose to expose? If you don't have a way to access the full underlying native APIs, you either have to give up altogether or start from scratch with native code.

    176. Re:Why BASIC? What for? by makomk · · Score: 1

      The reason that Python is the introductory language at MIT is probably the same as why ML was (is?) the introductory language at Cambridge.

      Well, Cambridge University here in England actually used to recommend to Computer Science applicants that they should familiarize themselves with programming through Python if they hadn't already, presumably because they considered it a good beginner's language.

    177. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      >speed

      Shedskin Python compiler (and PyPy) gives you the same speed as C++ if you are willing to limit yourself to sillyness like variables which have a fixed limited type (addition? We can't do no addition in C, i.e. on 32 bit machines 2**31 * 2 == 0 - you have to see it to believe it).

      Jython gives you almost the same speed as Java.

      >python can be used to do calculations, python claims to be capable of them. And indeed it's syntax seems to allow for more.
      >1) C, C++, hell even Java : c = a+b (1 assembly instruction)

      Yeah, and the result in c is wrong*. This is unacceptable except for toy programs.

      * as opposed to what the result of (+) should be by all mathematicians in the last several thousand years

      >2) CPython: c = a + b ( > 2500 assembly instructions)

      CPython is the reference implementation. Do you have the same demand of other reference implementations? It's supposed to be simple to understand and extend, not optimized for helluva speed and therefore not adaptable at all anymore. Just use Jython or Stackless Python or Shedskin.

      >rewriting half the project in C/C++.

      You do know that's automated, right? You don't sit there and manually rewrite it... But your point stands, you actually do "rewrite" it, by calling shedskin -e slowmodule.py

      Caveat: It must be actually possible to express whatever you are trying to do in C++. So no continuations as first class objects, no funargs, ... - but that's unavoidable, otherwise C++ would be isomorph to Python - and it isn't.

      >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 don't know what to say about this. "some sort of obligation" to actually implement correct mathematics.

      But let's just throw all the maths away, what use it is anyway. Let's return to bit-twidding like in the 1960s. Not.

      And the variable has no type. The variable is just a symbol, a placeholder. A value [cell] has a type (only for implementation efficiency, for nothing else).

      Algebra specifies the rules the objects have to obey, not what the objects themselves are. Who cares what the objects themselves are?

      >Same for adding members to class instances after creation time. Horrible.

      You mean great, right? This is the single greatest dynamic feature I can think of. Transparent proxies anyone can write, great for debugging and caching, memoization, tagging, rewriting, automatic interfaces, ...

      >only become valid useful objects after 3-4 method calls and dependant on all sorts of stuff succeeding.

      Yeah, just like in C++. That's called object oriented programming and it's what you get in a language with mutable variables - otherwise, use Haskell or some other statically typed strictly typed functional language - no mutability by default and can't write half of the programs you want to without resorting to mutability anyway - if there.

      >Sixth, you can't use static analysis on python programs.

      "static" analysis? Is that like having your cake and eating it, too?
      Just run the tests (the ones that test the algebra rules, see above).

      In order to determine whether a program works, you have to run it. There is no other way. There's this famous paper called "The Halting Problem" by Alan Turing, might want to check it out.

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

      Haskell is nice, yes :D

      They are completely different classes of language, though, and the designers of Haskell were aware that what they were doing is limiting the language for the common case to be simple and many cases to be unimplementable in Haskell (or any other statically typed languages).

    178. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Oops, I meant to write 2**31 + 2**31 instead of 2**31 * 2. It's still 0 in C (on 32 bit machines). Sorry.

    179. Re:Why BASIC? What for? by MightyYar · · Score: 1

      It all depends. Firebug is just my favorite thing... I can't express how thankful I am to the developers. That said, the debugger doesn't always work that well - but at least with Firebug you can spit out an entire object to console.log and go nuts on it. My complaints regarding debugging of javascript mostly center around it failing silently.

      There are good Python debuggers. There are even Eclipse and Visual Studio debuggers for it. Heck, there's even a Firebug plugin if you really like that environment :)

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    180. Re:Why BASIC? What for? by dbIII · · Score: 1

      Good to see that you are getting the personal attack in so early which saves me the trouble of having to take you seriously.

    181. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

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

      I don't think you actually know what that term means since there was only one in the post you replied to. The post was:
      1. Pointing out that speed issues are irrelevant to whether or not a language is good as a learning tool, the topic of discussion.
      2. An appeal to authority logical fallacy.
      3. Pointing out that dynamic & statically typed languages have trade-offs with respect to speed v. ease of writing v. ease of debugging.
      4. Pointing out that Python fares comparably to other scripted languages.
      5. Calling you uniformed for ignoring the above points. A mix of ad hominem (for implying that the rest of your points are born of ignorance, which they aren't, though they're quite off-topic) and a statement of belief, which flows logically from his thesis, that your ignoring of the issues the author favors is spreading ignorance.

      Calling the entire post nothing but ad-hominems, when it did raise some good issues is, well, a bit hypocritical. Not to mention your own fallacy by implying that Pythons overhead for a single mathematical op scales equally across multiple ops.

    182. Re:Why BASIC? What for? by sidthegeek · · Score: 1

      Because in THE REAL WORLD you will totally be paid a fair living wage for doing basic households tasks...OH WAIT NO YOU WON'T.

      It could have been possible.

    183. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0
      Hey, jackass, when I can just tell the computer what to do and it Just Does It, I'll be skipping the doo-da as well. It ain't happened yet and it'll be a long while before it does. Like you, I have to live in the present which means not using substandard shit like touchdevelop et al to write actual programs.

      P.S. Fuck Off

      -- oakgrove

    184. Re:Why BASIC? What for? by Rosy+At+Random · · Score: 1

      I thought indenting was purely down to personal style and how the text editor is set up, not regulated by the languages at all. Does Python have some funny requirements with whitespace?

      --
      Would you like a slice of toast?
    185. Re:Why BASIC? What for? by SQLGuru · · Score: 1

      I'd argue that even having to learn to manipulate the DOM (or using ubiquitous libraries such as jQuery or learning AJAX techniques or, or, or) will help you more in the long run than trying to learn a language like BASIC or Python or whatever else. As I mentioned, Javascript is available on every modern operating system (even smart phones) and has a very established community.

      Javascript is a very good candidate for use as a "learning" language. You can use it in an unstructured manner initially and then layer more Object Oriented techniques later on (albeit forced).

    186. Re:Why BASIC? What for? by sydneyfong · · Score: 1

      Well, ad hominem it is then.

      Because obviously you don't know what the heck you're talking about.

      You first claim you are "very, very tolerant of speed issues in scripting languages", then complain that python isn't as fast as compiled languages (like C/C++/Java) because of its "dynamic aspects of the language" (i.e. freaking scripting language features).

      It's really hard to take you seriously. And what are the mods smoking here, pushing both of your stupid posts to +5?

      --
      Don't quote me on this.
    187. Re:Why BASIC? What for? by mcgrew · · Score: 1

      You've never heard of janitors and housekeepers? Do you think the trash cans at your work empty themselves every night, or that your hotel room is cleaned every day by magic?

    188. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      The problem with python is there *isn't* a one to one correspondence between paper output (pseudocode or otherwise) and the source. The stupid thing about their syntax decision that they refuse to make optional, is that a single tab can sneak in, and be completely invisible in a printout, yet completely change the logic of the program.

      Oh. And for extra fun, copying and pasting a python snippet from an e-mail or web page is not guaranteed to work without cleanup, unlike sane languages :)

    189. Re:Why BASIC? What for? by iMadeGhostzilla · · Score: 1

      I have to agree with that. In my mind, the magic of the first

      10 INPUT "What's your name? " ; A$
      20 PRINT "Hello "; A$

      is still fresh almost 30 years later.

    190. Re:Why BASIC? What for? by dwightk · · Score: 1

      and it has a very steep learning curve. It's easy

      I don't think that means what you think it means

      --
      Like anyone can even know that
    191. Re:Why BASIC? What for? by Bucky24 · · Score: 1

      That's true, but you were talking about downloading the SDK, not the actual deployment of the apps..

      --
      All the world's a CPU, and all the men and women merely AI agents
    192. Re:Why BASIC? What for? by Sebastopol · · Score: 1

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

      Thanks for the personal attack, you almost sounded like a grownup. In your rush to assert your authority, you started talking about how a compiler works, rather than coding style, which was the topic at hand. There's a great book called "Code Complete" you might want to read if you you like this subject, it covers modern language coding style and is quite useful. Anyway, to your point about my point: there are plenty of reasons for not scoping variables as close to the procedure as possible, but almost all beginner programmers won't be writing device drivers or embedded code with severely limited resources; it is a much likelier scenario they will be benefit from scoping style. So while compilers in the old days may have run out of local heap space during compilation, that really isn't relevant for most first-year programming jobs today (again, except for the most severely restricted embedded environments, but those aren't first-year jobs).

      --
      https://www.accountkiller.com/removal-requested
    193. Re:Why BASIC? What for? by jeffporcaro · · Score: 1

      There is a Visual Basic for smartphones (compiles to iPhone and Android) - NS Basic. I've been using their stuff for 10 years (when they did the same thing for the Palm platform), and they're quite good.

      --
      It is not the doing of things that is difficult. What is difficult is getting in the right mood to do them. ~~ Brancusi
    194. Re:Why BASIC? What for? by obsess5 · · Score: 1

      Donald Knuth made a similar point to your last paragraph in his reply to the Gotos-Considered-Harmful article way back when. Good programmers will write structured code in any language, whether it allows gotos or not, whether it is a high-level language or assembly language. Conversely, bad programmers will write unstructured code in a language with only structured statements and no gotos.

      (Disclaimer: I learned programming on a TI SR-56 programmable calculator and, later, a TI-58 programmable calculator. That experience didn't seem to hobble my later education and career in computers.)

    195. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      For programmers, including those who do it as their main vocation and those who do it out of necessity (e.g. engineers, physicists, and so on), Python's indenting scheme is fine. You either like it or don't, and then you get on with what needs to be done.

      But for complete beginners, especially kids, it's much more likely to be a distraction. Every kid can intuitively understand begin-end pairs or opening/closing braces, but the whitespace indentation has too much potential to be an occasional roadblock for newbies. Consider that most kids aren't as diligent as career programmers (should be). Even old-school BASIC's while-wend is better for them. Requiring logic paths based on lexical elements that aren't immediately obvious, let alone the potential for problems arising from tabs vs. spaces, detracts from the rapid gratification needed for most kids to develop an interest in the topic. Every phone platform I'm aware of has a "real" language available for "real" development. They'll be there for any kids inspired and excited by their initial programming forays using some "toy" language.

      And please let's not trot out the "BASIC rots the mind" canard. We all appreciate the notion, but if anyone truly believes that learning a particular programming language can actually do real harm, they should try walking around on the firmament surrounding their lofty soapbox for a while. I dislike VB, LotusScript, and other BASIC dialects as much as the next guy, but the idea of permanent intellectual damage is hyperbole. I also believe it was intentionally provocative - simply asserting that "BASIC is a suboptimal language" wouldn't have had the same longevity.

      - T

    196. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Oh, and WHAT exactly can't you do with BASIC?

      Write a generic sort function? There's a reason most BASIC books taught bubble sort.

    197. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      I love this argument. Only people who never really program in Python say that white space is an issue.

    198. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      > before you even get through the tutorial.

      It seems to me that you never got further than failing to finish the tutorial.

      I use Python quite extensively and never find execution speed to be a problem, nor any other of your complaints about it, which mainly seem to boil down to: "it ain't C++".

      There was a old saying "Real Programmers can write FORTRAN program in _any_ language". Writing C++ programs in Python doesn't work.

      Though I did re-implement a C program in Python and got a speed increase of around 10x as well as it being about 1/10 the code size.

    199. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      BASIC was first available on mainframes, on timesharing systems. Later it was used on 'mini's such as DEC 20 which were still roomfulls. It was first used in the early 60s, around a decade and a half before it found its way to micros.

      But BASIC is not _a_ language, it is a class of mostly incompatible languages which may have some vague similarities. While COBOL is one language that has grown over time, and so is FORTRAN, 'BASIC' is a diverse as PERL is from Ruby.

    200. Re:Why BASIC? What for? by anonymov · · Score: 1

      There's a reason most BASIC books taught bubble sort.

      And the reason is that they're targeted at absolute novices in programming and algorithms, as bubble sort, insertion sort and selection sort are simple iterative algorithms and easy to comperhend?

    201. Re:Why BASIC? What for? by LWATCDR · · Score: 1

      I was just trying to avoid the whole. Free to write but cost to distribute issue. I am an IOS developer and you are correct that you can get the SDK for free you just have to pay to distribute it.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    202. Re:Why BASIC? What for? by LWATCDR · · Score: 1

      Thanks I never saw that. It is useless to me because I am not a visual basic user/developer but someone will find use for it.

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

      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.

      Nevermind the fact that you can download the Android SDK and use it for free, the only cost is publishing it on the market.

    204. Re:Why BASIC? What for? by Snaller · · Score: 1

      "...the underlying assumption that these things don't exist is simply untrue."

      You didn't supply proof of this claim.

      You link to development packages, which proves nothing, since nobody has said there wasn't development packages for these things - obviously there are since there are millions of apps. But people asked for for something easy and quick like basic.

      (and i did supply a link for Basic for Android in another post)

      --
      If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
    205. Re:Why BASIC? What for? by Darinbob · · Score: 1

      I agree something visual is nice. Early BASIC didn't have this. But when I learned Pascal it had turtle graphics. Graphics on BASIC as I recall was a lot of poking into the right locations.

    206. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      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.

      Those curly braces mean "scope" and they tremendously increase the legibility of the code. They are an excellent design decision.

      Obviously you haven't spent any real time in C/C++.

    207. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Ugh. NOT THIS.

      Basic is not a language set in stone. Whatever limitations you are referring to apply to a specific implementation of the language, not to the language itself.

      As to the notion that you can't do anything useful in Basic, you do know that 10-15 years ago, Visual Basic was one of the most commonly used apps for developing vertical business applications, right? EVERY company that I've worked for in the last twenty years had programs written in VB that did important work, and certainly not trivial applications.

      VB.Net has, for all intents and purposes, language parity with C#. The only reason that so many VB programmers migrated to C# is that the jump from VB to VB.Net was a large one, and for most of programmers, if they were going to be making a leap to a new language, it made sense to go ahead and migrate to C#. The VB to C# jump is no bigger really, and C# developers get more respect. That, and Microsoft was reticent in releasing code examples for VB.Net, leading many to believe that the language was falling out of favor at Microsoft.

      (and if you are planning to tell me how all VB code is poorly written and unmaintainable, I present you: twenty years and twenty billion pages of html+javascript)

    208. Re:Why BASIC? What for? by LWATCDR · · Score: 1

      Visual Basic is not basic. You are correct that True Basic and Visual Basic where used for real apps. Since the author was referencing the Basic from the 8 bit days I pointed out that very few really useful programs where written in Basic back in the day.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    209. Re:Why BASIC? What for? by narcc · · Score: 1

      No, it's not. The above is an example of an "appeal to authority".

    210. Re:Why BASIC? What for? by rev0lt · · Score: 1

      It is not a personal attack, and knowing how a compiler works is paramonut to decide which coding style is appropriate. I haven't read the book you mentioned (but yes I'm familiar with the title and its reputation). I'm shure the book is awesome, but the habit of following those decade-old "good programming practices" and abuse of local variables has had some interesting side effects that probably aren't covered in the book. I'm talking of a decade of buffer overflows and other stack smashing techniques, that use and abuse both the proliferation of local variables and the lack of boundary detection in many base functions, and orphaned allocated memory blocks. In fact, the problem is SO severe, that the 2 features most advertised on "modern" compiled languages is precisely the impossibility of stack smashing (because local vars are no longer in the stack), and garbage collection, to avoid the memory pollution problem. What do you think will work better, to have a C++ business database app opening and closing datasets somewhere inside methods as needed, or having well defined generic datasets with global scope? Which approach you think the programmer is more likely to learn? Yes, you can have a broker delivering those datasets as needed (and then you wouldn't need to declare them explicitly in the global scope), or create even more complex solutions to a simple problem, but I'm shure you get my point. The prejudice against global vars is largely unfunded (regardless of what any book would say).

      And not everyone is writing code for xeon workstations - there is a ton of C code being written for PICs, microcontrollers, 8 bit microprocessors and DSP devices, where the available stack space is limited. Amost every modern EE is capable of programming in C or an equivalent language, even on their first-year jobs.

      Don't take my words as any kind of attack on you, it is not my intent. I believe it is important that programmers know how things actually work, so they can make their own decisions. Relying on gospels and dogmas do more harm to the field than good, because no innovation will come out of it.

    211. Re:Why BASIC? What for? by angel'o'sphere · · Score: 1

      Perhaps it is both?

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    212. Re:Why BASIC? What for? by narcc · · Score: 1

      I don't see how. My guess is you just got a bad definition -- hey, you learned it on slashdot after all :)

      "Begging the question" is a very similar to the "circular argument", which the quote we're talking about superficially resembles. In this case, however, the poster is claiming that "python makes a good beginner language" because these various institutions say that it is. (Hence, it's an appeal to authority, and not a circular argument or begging the question)

      You can think of "begging the question" as "begging the question to support the premise" In that for a premise to "beg the question" the truth of that premise rests on the conclusion. (That is, for the premise to be valid, it must assume the conclusion of the argument.)

    213. Re:Why BASIC? What for? by Electricity+Likes+Me · · Score: 1

      I know that the people who do that also have to a great deal more then just watering some houseplants or emptying a dishwasher.

      Unless you're paying your child market rates, you aren't teaching them anything. In fact you're probably harming them - the reason to keep your own place of residence tidy and clean is not because someone pays you to.

    214. Re:Why BASIC? What for? by nessus42 · · Score: 1

      2. An appeal to authority logical fallacy.

      First let me state that you seem like a far more reasonable person than the vast majority of the denizens of Slashdot. For the most part, the right answer to any question posed on Slashdot is precisely the opposite of the consensus here. However, since this property is so reliable, this actually makes Slashdot somewhat useful.

      That being said, your claim that I made an "appeal to authority logical fallacy" is absurd. I made no claim to making a logically deductive argument. Logically deductive arguments are notoriously difficult to produce for any topic of substance, and even when you do manage to compose a good one, the logically valid argument is usually unsound anyway due to questionable premises.

      An appeal to authority is a perfectly good prima facie reason to believe a proposition, given a fairly reliable authority. I take it as a given that MIT as a whole is seen as a fairly reliable authority. If MIT were not, it would be unlikely to have the reputation that it does. A collection of good reasons doesn't comprise a knock-down argument, but the more good reasons that one has, the more solid ground one is on. I may not always be right, but I'm always on solid ground. The majority of Slashdot is treading quicksand.

      |>ouglas

    215. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Java is used in a lot of respectable universities in introduction (and/or higher level) courses, yet we all know it's shit and should not be used. I don't see how MIT is relevant here.

      I have probably many more specific complaints about Java than you do. I've programmed in it professionally, and I continue to do so. We've largely switched from Java to Scala, however, due to our complaints with Java. All this being said, Java makes a decent programming language to teach Software Engineering in.

      |>ouglas

    216. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Are you saying that you know better than the entire MIT Electrical Engineering and Computer Science faculty.

      An appeal to authority, I see.

      There's this strange meme on Slashdot that appeals to authority are innately bad. This is an absurd claim. I know that certain things are true because Isaac Newton said so, and I know that other things are true because Einstein said so. Unless I'm willing devote quite a few years of my life to fully understanding General Relativity, it's going to have to remain this way.

      Unlike with General Relativity, I could actually expound on and on about why Python is a great language for beginners, ad infinitum. But that would aggravate my carpal tunnel syndrome too much.

      Well, they had a few choices, really: Pascal, C/C++, C#, Java, Python, and maybe assembly but for a sane architecture (I'd take Parallax Propeller over x86 anytime). Short of coming up with something brand new, anything they chose would have shortcomings one way or another. I would choose Pascal, but that's just me.

      Yes, that's just you. No one teaches in Pascal anymore. And MIT never did. At MIT before Python was used for introductory programming, Scheme was used. I'm actually pretty sad that MIT doesn't still use Scheme, but Python is a decent alternative.

      Btw, none of the languages that you mentioned, other than Python would work at MIT, because MIT's introductory programming class makes heavy use of higher order functions, which are a non-starter in Pascal and C. You can use them in Java, but doing so is extremely cumbersome. I know that C++ just added support for function literals in the latest standard, but I don't think this has been widely implemented yet, and it is sure to also be very cumbersome.

      |>ouglas

    217. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Python's forced formatting/indentation makes it a non-starter for me...for ANY use. Not into bondage and discipline, sorry.

      If you can't be bothered to indent your code properly, why would anyone ever want to hire you?

      |>ouglas

    218. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      PyPy is a stunning achievement. Python is normally about 50x slower than C; with PyPy it becomes more like 14x slower than C.

      For a relatively small team, they are kicking ass. Nobody expected them to get the kind of speed they have already gotten, and they are still going.

      Theoretically someday they may acheive something kinda close to the speed of C.

    219. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Could you remind me why I'd want to talk to you?

      Heh. Game, set, match.

    220. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Did you mean to say it doesn't know until runtime? I don't know Python, but from your statement, my guess is that it supports untyped variables, so when a=5 is done, it's not known whether it a holds a string, or integer, or real until it's used in some other operation. Is that correct? Is there no facility to explicitly type variables?

      You could answer this question if you read through a simple tutorial on Python. But I'll answer it for you.

      Python keeps all data in "objects". That 5 in your example becomes an object of type "int", with the value 5.

      When you perform the operation "a=5" you are binding the name "a" with the specific value "object of type int with value 5". It is perfectly legal Python to then rebind the name "a" with any other value with any other type.

      However, Python is in fact strongly typed. If you try to execute the instructions "a + 'x'" you will get a TypeError exception, because the operation of adding an integer and a string is not a defined operation. Likewise, after you bind "a" with the value 5, the expression "a + 'x'" would raise an exception. But you could then bind the name "a" with the value 'a', and then "a + 'x'" would be well-defined and would return the value 'ax'. (In Python strings can be quoted with single quotes, double quotes, or a few special-purpose quoting operators. By default, the Python interpreter prints strings in single quotes.)

      If you think about the above paragraph, you will realize that Python doesn't even know how to do the operation for '+' until it has evaluated the expressions on both sides of that '+'. If there is an int value on each side of '+' then the operation is well-defined: integer addition. If there is a string value on each side, then the operation is well-defined: string concatenation. An int and a float will follow Python type promotion rules and you get float addition. You can overload operators, and effectively make any combination of operands work. (If you really care how operator overloading works in Python, find a tutorial. The above explanation isn't a good tutorial and I don't want to rewrite it to become one.)

      So, the Python interpreter does not know the types of variables until it evaluates the expression. It looks up each name, every time, because it doesn't know whether the name has been rebound to some other value since the last time it looked up the name.

      PyPy, however, has a JIT, and it will figure out that within the scope we care about, the name "a" will always have type "int" and it will be able to get rid of the name lookup, and I think it even gets rid of the object-of-type-int, and it just does the addition with integers. PyPy is a lot faster than the baseline Python interpreter.

      P.S. In principle, Python could use just one object to represent the value 5 everywhere in your program. You could have many different names all bound to an integer 5 value, and they could all be pointing to the same single object. For the values 0 and 1, I believe the Python interpreter does in fact always use a single object to represent them, but for 5 I think you can pretty easily get multiple objects with the same value. Use the "id()" builtin function to get an object ID value and see for yourself.

      Huh, I just tried it. I bound three different names with the value 5, and all three names return the same id() value. I wonder if that would remain true in nontrivial programs.

    221. Re:Why BASIC? What for? by angel'o'sphere · · Score: 1

      Well, read his full post, I was reffering to another sentence of him.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    222. Re:Why BASIC? What for? by tibit · · Score: 1

      Certain things are true not because Newton said so, but because that's how Nature happens to work ;)

      As for Pascal: it's pretty much C without syntax insanity. You can still shoot yourself in the foot with pointers, but you have to be more explicit about it. I think that using a language that completely obscures pointers is not a good choice for teaching at college level. You can do high order functions in both Pascal and C, you just need a library for it, and the syntax would be devoid of sugar since the language doesn't support it with built-in primitives. I do high order functions using C++'s template syntactic sugar, but that's a very light dusting. I have done them in Pascal back in high school, without even knowing what they were called.

      Taking a function as an input is of course supported directly in both Pascal and C. Returning functions is trickier, depending on whether it's a bare function or a continuation -- and I admit that the distinction is entirely artificial when you lack native support. That's when you use virtual methods and function-classes; in C glib, er, GObject, will do that part of the trick.

      --
      A successful API design takes a mixture of software design and pedagogy.
    223. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Very little 'teaches' kids shit my friend. BASIC is a great way to go and I for one as a kid got into it. I wrote all kinds of things, had two programs published in programming magazines - pretty cool. The internet can obtain for you virtually anything you'd need to know whether the version you turn up though is accurate or not is up to debate.

      I read of a kid visiting grandma and granny asks kid to get some ice cubes out of the fridge. Granny's fridge didn't have an ice machine thing. Granny points to the upper door on fridge. Kid opens it, finds ice cube trays and was positively baffled at what to make of them or what to do. So, she Googled on her phone and got the answer. Pretty cool until you realize what shape that kid is in when and if Google ain't there. Kids are a button press away from answers to most things, why learn? Why remember anything except what you want to? Why reason? Why speculate? Why care?

      Scary.

    224. Re:Why BASIC? What for? by Urkki · · Score: 1

      I can give some real examples. First, there's the fact that Python uses spaces for indenting. Two characters to indent one level. Fine... except when someone's editor inserts a tab.

      You don't use hard tabs in python code. And if you have legacy Python code which you don't want to mess up, it's exactly 8 spaces for tab, no more and no less. To suggest anything else is heresy against the Python BDFL, and heretics have no business commenting on a language.

      Anyway, if you mix tabs and spaces in your code, you're being blatantly evil. And if you use only tabs, you're being subtly evil and/or wanting to feel smugly superior, and just trying to hide it behind "let everybody decide their own tab size", when you full well know people will not bother, and will feel miserable when they run out of horizontal screen space because default tab size is usually 8 (it's also the only right tab size, but because there's no non-evil way to actually use tabs, it doesn't matter much).

    225. Re:Why BASIC? What for? by ResidentSourcerer · · Score: 1

      Very cool. Would that I could do this for my Nikon D70.
      Anyone know of a similar project for Nikons?

      --
      Third Career: Tree Farmer Second Career: Computer Geek First Career: Teacher, Outdoor Instructor, Photographer.
    226. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Could you remind me why I'd want to talk to you?

      Heh. Game, set, match.

      You are apparently a true challenger in the Special Olympics. Good for you!

      |>ouglas

    227. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Certain things are true not because Newton said so, but because that's how Nature happens to work ;)

      I didn't say that they are true because Newton said so. I said that I know that they are true because Newton (and other authorities) said so. It doesn't hurt that I can verify some of what he claimed for myself, but I'd have a much harder time doing that for General Relativity.

      As for Pascal: it's pretty much C without syntax insanity. You can still shoot yourself in the foot with pointers, but you have to be more explicit about it. I think that using a language that completely obscures pointers is not a good choice for teaching at college level. You can do high order functions in both Pascal and C, you just need a library for it, and the syntax would be devoid of sugar since the language doesn't support it with built-in primitives.

      So what you are claiming is Greenspun's Tenth Law. No thanks! To achieve a goal you should use a tool which provides a natural solution, if one such tool exists, not an awkward and cumbersome solution.

      Also, when you sing the praises of Pascal, you are talking about a language that was so inflexible that for years it didn't even support functions that can operate on arrays with unspecified dimensions. I'm sure it got better, as there were ultimately quite a few dialects of Pascal, but personally, I'd much prefer to use a language got off to a more auspicious start, and one that provides automatic memory management. Life is too short for explicit memory management, unless you are writing an OS. With automated memory management, you can also do a much better job of teaching the concepts of encapsulation and modularity.

      Re pointers, I got an extremely good CS education at MIT without us ever using a language with explicit pointers. I did of course implement an interpreter and a Modula II compiler and designed and built my own CPU on a breadboard using and-gates and adders, plus my very own microcode, etc., etc. These things are all significantly easier when you start off with powerful tools, rather than ones that make you waste your time counting beans.

      Besides, IIRC, we were talking about replacing Basic, which is more appropriate for the junior high school level than the college level.

      |>ouglas

    228. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      "Bullshit. What bad habits are you imagining?"

      GOTO

      "Oh, and WHAT exactly can't you do with BASIC?"

      Recursion, for starters. Functional programming. OO.

      "Of course, you Python zealots refuse to recognize the serious problems with your favorite toy."

      Name one?

      You're not really a programmer, are you?

    229. Re:Why BASIC? What for? by hattig · · Score: 1

      C64 owner? :-)

      The thing about the C64 was the BASIC was so bad people learned how to poke and then assembler, leading to a lot of programmers for the platform.

    230. Re:Why BASIC? What for? by OeLeWaPpErKe · · Score: 1

      In theory jitting VMs should be able to beat direct machine code because they can apply optimizations that are impossible for static compilers.

      Example :
      int8 fib(int8 n) {
          if (n == 0) return 1
          if (n == 1) return 1
          try {
              return fib(n-1) + fib(n-2)
          } catch (OverFlowError) {
              jump _recompile_this_function_with_int16;
          }
      }

    231. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Hi, I'm the AC who posted the GP comment ("Game, set, and match.") I'm not sure what you thought I meant, but here is exactly what I meant:

      Your "Could you remind me" comment was funny. It was also a very devastating comeback, which as far as I am concerned means you won the game, the set, and the match. "Game, set, and match" is (as far as I know) a very common idiom expressing a complete win in some sort of contest, or often in an argument.

      http://www.urbandictionary.com/define.php?term=game%2C%20set%2C%20match

      I'm not sure exactly what you meant by your reply to my post, but here is what I think you meant: that I am some sort of idiot. From which I deduce that you thought I was insulting you or something. Or perhaps you thought I was saying that you FORFEITED the game, set, and match?

      Sadly, your invoking of the Special Olympics takes my formerly high opinion of you down a few notches. It's not exactly Godwin's Law but it's kind of unsavory to make a derogatory comment that references the Special Olympics. Leave those people alone, okay? If you want to call me an idiot for complimenting you, just call me an idiot.

      And for my part, I apologize for being overly terse. I didn't mean to either insult you or to make you think I had insulted you; I thought the "Game, set, and match" idiom was widely known and self-explanatory.

      Well, back I go to the AC cave. Have a nice life.

    232. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Oops, I apologize then. Clearly you are a person of taste and refinement. I thought you were the same person that I was originally replying to, and he or she was claiming that my reply was lame, and consequently, that he or she had thereby won the game. There are far too many Anonymous Cowards around here taking pot-shots for me to keep proper track of them all. Me, I just let it all hang out, and let my karma go where it will. As of yet, it is stuck on "Excellent".

      Re the Special Olympics, you are right. I hereby apologize to the numerous Special Olympics athletes who participate here on Slashdot.

      |>ouglas

    233. Re:Why BASIC? What for? by shiftless · · Score: 1

      1) What you consider "proper", I consider to be "fucking stupid, unreasonable, and unreadable." It is the height of arrogance to believe that one's preferred way of indentation is more "proper" than someone else's, because it's completely subjective.

      2) What makes youthink I need "a job" from anyone? I'm self employed...I create my own job. And no, my job won't ever involve having to put up with other people's arrogant and stupid design decisions.

    234. Re:Why BASIC? What for? by nessus42 · · Score: 1

      1) What you consider "proper", I consider to be "fucking stupid, unreasonable, and unreadable."

      Indenting sub-blocks is what is proper. This is all that Python requires. Furthermore, it does away with the requirement for braces or "begin" and "end" statements. By your own argument, it's the height of arrogance to believe that requiring braces is proper.

      If you don't think that indenting subblocks is the right thing, then (1) you're unemployable as a programmer, and (2) you're nuts.

      It is the height of arrogance to believe that one's preferred way of indentation is more "proper" than someone else's, because it's completely subjective.

      No it isn't. Many facts about how the vast majority of humans process visual information has been studied to no small degree, objectively and scientifically.

      Of course, your entire argument is inane: Why should anyone be bothered to use the correct syntax? One's preferred syntax is no more proper than someone else's. Consequently, we should all use whatever syntax we want!

      2) What makes youthink I need "a job" from anyone? I'm self employed...I create my own job. And no, my job won't ever involve having to put up with other people's arrogant and stupid design decisions.

      That sounds to me more like the attitude of someone who is unemployed and living in their mom's basement.

      |>ouglas

    235. Re:Why BASIC? What for? by shiftless · · Score: 1

      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.

      Yeah, that's exactly what they said about the iPod, and the iPad too. Just because nobody has figured out how to do it right, doesn't mean they won't. In fact you're foolish to bet they won't.

      Refining a revolutionary concept so that it's usable and powerful, then bringing it to market so that the masses can experience it IS revolutionary, whether one originally "thought" of the idea or not. Ideas are worthless; the implementation is the only thing that really counts, especially when it's in a market full of lame ass companies who keep dredging up the same boring ass shit.

    236. Re:Why BASIC? What for? by shiftless · · Score: 1

      Indenting sub-blocks is what is proper. This is all that Python requires. ....and that's all it takes to make it a completely worthless language. Because guess what happens when one starts transferring files back and forth between different programmers and text editors, cutting and pasting, with tab indentation vs space indentation, or even code generation tools that add or subtract code. Somehow one space somewhere is off and now the pile of garbage won't compile.

      Yes, this is one perfect example of how the brain dead design decisions behind Python killed the language's shot at becoming more popular.

      No it isn't. Many facts about how the vast majority of humans process visual information has been studied to no small degree, objectively and scientifically.

      All to no avail it seems, because they completely forgot to realize that some people don't like being forced into one specific way of laying out their code. It is [b]important[/b] to many people to be able to make these petty design decisions. This is why there are endless flame wars, or were, over different styles of source code formatting, and why it's such a contentious issue amongst passionate and independent programmers who come together to volunteer on the same project. Python's designers incorrectly concluded they could just "legislate" all this away by making it impossible to do anything other than their one way of doing things. Bzzzt....wrong. This is one of several reasons why Python will never become much more of a niche language than it already is.

      That sounds to me more like the attitude of someone who is unemployed and living in their mom's basement.

      Wow, you sure told me.

      Maybe one day you'll be mature enough to have a real conversation without having to call people names.

    237. Re:Why BASIC? What for? by Anonymous Coward · · Score: 0

      Like you, I have to live in the present

      Sorry, I don't have to do any such thing.

      Nobody is advocating "using substandard shit like touchdevelop et al to write actual programs." The only thing anyone is advocating is using A FULLY FLESHED OUT AND WELL THOUGHT OUT version of this CONCEPT to write actual programs.

      And what the fuck is wrong with that?

      Oh yeah, it doesn't exist yet. Well no shit, I suppose that's why there are groups who are thinking about and working on it? Including Microsoft. Including myself. Including others I'm sure.

      If you don't believe in the concept, fine. Doesn't change the fact that you're wrong and it will take off like gangbusters when someone hits the right formula.

    238. Re:Why BASIC? What for? by nessus42 · · Score: 1

      Indenting sub-blocks is what is proper. This is all that Python requires. ....and that's all it takes to make it a completely worthless language. Because guess what happens when one starts transferring files back and forth between different programmers and text editors, cutting and pasting, with tab indentation vs space indentation, or even code generation tools that add or subtract code. Somehow one space somewhere is off and now the pile of garbage won't compile.

      Since you've apparently never worked a real job, I'll tell you what happens in the real world as opposed to what happens in the imaginations of those who live in their moms' basements: everything works fine. And the reason that everything works fine, is that if people in the real world didn't already have this sort of thing well in hand, their Makefiles would also break and so would all of their data files. Data files for which a single missed character can be mean the difference between the rocket making its way to Mars and the rocket blowing up on the launch pad. Also, any programming language has string literals for which whitespace must be preserved properly, and if it isn't, bad things happen.

      Yes, this is one perfect example of how the brain dead design decisions behind Python killed the language's shot at becoming more popular.

      Would you mind telling us all just what scripting languages you think are more popular than Python?

      Only PHP is, if you consider that to be a scripting language. And PHP isn't more popular than Python for any reason other than the fact that PHP is tailored to a very specific problem domain for which there is a lot of demand, and Python is not tailored for that particular domain.

      All to no avail it seems, because they completely forgot to realize that some people don't like being forced into one specific way of laying out their code.

      What the designers of C completely forgot to realize is that some people don't like being forced into typing lots of unnecessary "{"s and "}"s and being forced to end each line with a semicolon. It should be up to the individual programmer to make their own little design decisions, like whether their lines should end with semicolons or not.

      Face it, if Python had been invented and then adopted in the '60s, and then later someone came out with a new programming language that forced you to type a lot of useless crap like "}", "{", and ";" when you didn't really have to, that person would be laughed out of the programming community. Jut look at all of the hostility for Lisp because it makes you type a few extra parentheses. How is being forced to type ";" everywhere that Lisp would make you type ")" any better than that?

      It is [b]important[/b] to many people to be able to make these petty design decisions.

      It's important to many people that they not have to type useless extra characters that serve no purpose except to aggravate their carpal tunnel syndrome.

      This is why there are endless flame wars, or were, over different styles of source code formatting, and why it's such a contentious issue amongst passionate and independent programmers who come together to volunteer on the same project. Python's designers incorrectly concluded they could just "legislate" all this away by making it impossible to do anything other than their one way of doing things. Bzzzt....wrong.

      First of all, in the real world, you don't get to make these petty design decisions. They get decided for you by the style guide that you and your coworkers use. And then when you get a different job, they use a different style guide, and it's difficult for you to read your own code, because now you're required to put all your braces in a different place from where you're used to seeing them.

      Secondly, no one argues over how to indent code. They only argue about where the braces go. Since these braces are compl

    239. Re:Why BASIC? What for? by bar-agent · · Score: 1

      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.

      I would say, for a beginner, manifest typing is obviously the right choice compared to the alternative — which I will call invisible typing.

      Python-style dynamic typing sucks. Unless you can look at a piece of code and see what the types should be and thus what operations are available, you're coding by guesswork. It is a deplorable habit.

      Another deplorable Python habit is haphazardly adding members to objects. You're going to end up with name collisions and randomly replace data that other code is expecting to find there with something the other code knows naught of.

      And while it does not instill deplorable habits, Python's super() function sucks rocks. And why the fuck doesn't Python have a switch statement!?

      tl;dr Python ain't all that. Don't use it as a first language.

      --
      i'd hit it so hard, if you pulled me out you'd be the king of britain [bash.org]
  30. 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

  31. Sounds like a not so smart programmer by Anonymous Coward · · Score: 0, Troll

    One thing is not liking a language ... for whatever reason, another is not having the skills to work on a pure object oriented language like Java.

    The fact that the author is wanting to go back to such a poor, highly limited language as BASIC shows that he does not have what it takes to do real world programing.

  32. Do you mean FOR phones or ON phones? by Anonymous Coward · · Score: 0

    If you include the former, see Monkey for a games-oriented language as readable as BASIC but with the most important features of Javascript, C++, etc.

    The core language and compiler tools/source code are in the public domain (just download the demo), while the main games toolkit costs money but targets HTML5, Flash, Android, Windows (OpenGL), iOS and XNA (for X360 and Windows Phone 7).

  33. TouchDevelop ? by Anonymous Coward · · Score: 0

    maybe you can try this TouchDevelop app from Microsoft Research
    https://research.microsoft.com/en-us/projects/touchdevelop/

  34. I dont even want it on my Apple II by Osgeld · · Score: 1

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

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

  35. there is already a basic for this by Anonymous Coward · · Score: 0

    Not free but cheap - GLBasic (google it)

  36. Microsoft has TouchDevelop for WP7 by Anonymous Coward · · Score: 0

    Microsoft Research has TouchDevelop, an educational app that lets people write simple programs right on a WP7 phone. It's sandboxed to limit the potential for malicious use but still fairly capable.

    The one thing I fault about it is that it's a new programming language; it would have been nicer if they'd been able to re-use an existing language such as BASIC or even PASCAL.

    1. Re:Microsoft has TouchDevelop for WP7 by oakgrove · · Score: 1

      Why not just use the http://code.google.com/p/android-scripting/">scripting layer for android and avail yourself to several real programming languages like python, perl, Lua, PHP, beans hell, JavaScript, etc. that can also be used right on the phone. I wrote a great barcode scanning app with it and made a lot of money at garage sales.

      --
      The soylentnews experiment has been a dismal failure.
  37. 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 elabs · · Score: 1

      Yeah, the free tools are very polished. It's got a great WYSIWYG editor that lets beginners drag and drop control onto their apps. The langauge is every easy and intuitive but has tons of powerfu features, like LINQ. WP7 is definitely the most friendly OS to develop for if you are beginner.

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

      Can you point me to any particularly great apps that have been developed by one of these beginners and sold well?

      --
      The soylentnews experiment has been a dismal failure.
    3. Re:Indeed, Microsoft has done exactly this by InterestingFella · · Score: 1

      Can you point me to any particularly great apps that have been developed by one of these beginners and sold well?

      You're completely missing the point of this story and having a simple BASIC interpreter or TouchDevelop on phone.

    4. Re:Indeed, Microsoft has done exactly this by oakgrove · · Score: 1

      Asking the person that is raving about how good a particular development tool is what apps have been developed with it is "missing the point"? Sure. I can provide you links to several popular apps in the android market right now that were developed with the scripting layer for android. Why mess around with touchdevelop when you can use a real language like python that is very popular in real environments yet also very easy for beginners to learn and write real apps with?

      --
      The soylentnews experiment has been a dismal failure.
    5. Re:Indeed, Microsoft has done exactly this by Anonymous Coward · · Score: 0

      I know several apps developed in b4A, and use the tool professionally. it is rough around the edges, but very powerful. for my work, I needed to go beyond the builtins and make some libraries in java for our image analysis - but I found it preferable to use b4a for the gui and main development environment. as for sales by app - I can't speak to that as ours is privately distributed free to customers in support of a industry specific product. thats code for android in the enterprise bitches.

    6. 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
    7. Re:Indeed, Microsoft has done exactly this by oakgrove · · Score: 1

      I just asked a simple question. A lot of electrons have been spilled today telling me in so many words that there are no examples of successful apps written with the tools mentioned on windows phone. Thank you.

      --
      The soylentnews experiment has been a dismal failure.
    8. 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/

    9. Re:Indeed, Microsoft has done exactly this by zippthorne · · Score: 1

      Indeed it is. An interpreter in a phone would be to allow the users of the phone to do things they want it to do.

      They won't be writing apps to sell, they'll be writing one-off scripts for personal use either to do something specific, or to just play with programming. If they turn out the be useful, they can aways be re-written in a more efficient language and polished for distribution.

      BASIC probably isn't a good choice either, for the small screen of a touch phone. What is really needed is a graphical scripting language with well-designed hooks into the phone's databases (like the address book and calendar), and sensors.

      --
      Can you be Even More Awesome?!
    10. Re:Indeed, Microsoft has done exactly this by shutdown+-p+now · · Score: 1

      It would be hard to say, since you can't determine whether any particular WP7 app was written in C# or VB (it's the same IL in the end, after all). You could probably decompile the binaries and look for VB's helper functions like MID, but you definitely won't be able to tell the difference just by running the app.

    11. Re:Indeed, Microsoft has done exactly this by Electricity+Likes+Me · · Score: 1

      No you asked a rhetorical question. Now you're backpedaling because your condescending point has been so thoroughly shot down.

      If you make a stupid comment own it, don't be a coward.

    12. Re:Indeed, Microsoft has done exactly this by lord_mike · · Score: 1

      And for the Android ecosystem:

      https://market.android.com/details?id=com.rfo.basic&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5yZm8uYmFzaWMiXQ.. (Already mentioned above. What's not mentioned is that it is from the maker of Atari BASIC in the 70's and is fully 100% GPL...pretty cool! It also has a strong user/developer community from what I can see from the forum, which is also pretty cool).

      https://market.android.com/details?id=com.mintoris.basic&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taW50b3Jpcy5iYXNpYyJd
      (Not GPL, but quite powerful)

      https://market.android.com/details?id=pix.arts.lightbasic&feature=search_result#?t=W251bGwsMSwxLDEsInBpeC5hcnRzLmxpZ2h0YmFzaWMiXQ..

      It's a shame that Apple has run so far away from its roots that it discourages true native development on their mobile devices. The iPad would be ideal for a hypercard app of some sort for kids and novices to actually be creative with their devices... It's very sad that Apple still claims to be an educational/creative company that encourages users to "Think different", when there is one glaring omission--creating something for your Apple device.

    13. Re:Indeed, Microsoft has done exactly this by dissy · · Score: 1

      It's a shame that Apple has run so far away from its roots that it discourages true native development on their mobile devices. The iPad would be ideal for a hypercard app of some sort for kids and novices to actually be creative with their devices... It's very sad that Apple still claims to be an educational/creative company that encourages users to "Think different", when there is one glaring omission--creating something for your Apple device.

      Agreed, sadly.
      I used to be a huge Apple fan, way back in the Apple// day. I don't speak out in their favor much anymore.
      Lately they are not a company to be too proud of, and most of their new products are much less appealing to me.

      As for your iPad/Hypercard comment, I recently just found an iPad app called Codea (Previously Codify) which does exactly this.
      It was marked down to $1 for a Christmas special, so I went ahead and bought it to take a peek (Normally $8.) It's pretty sweet so far.

      http://twolivesleft.com/Codea/

      It uses the Lua language, and provides an IDE that takes advantage of the touch interface for auto-complete and parameter fill-in's.
      There's a video on the front page to showcase some of the IDE features.

      As an example, if you type out the function as: background()
      It will add a bubble between the () that when touched gives you a color picker. You select your color and it inserts the RGBa values.

      It doesn't appear to 'compile' down to any distributable form, so others would also need to buy Codea to run any app you might make, however that was also true of the Basic interpreter for iPhone I posted up above.

      The state of scripting languages in Cydia for us jailbroken users is still sad.
      All that is included are: Perl, Python, and Ruby (And Bash/CSH)
      I've attempted to compile TCL nativity but had a great number of problems. I wasn't even about to attempt porting TK however, which is TCLs main advantage.

    14. Re:Indeed, Microsoft has done exactly this by oakgrove · · Score: 1

      Fuck you, bitch. Rhetorical this dick in your mouth.

      --
      The soylentnews experiment has been a dismal failure.
    15. Re:Indeed, Microsoft has done exactly this by Bucky24 · · Score: 1

      Such a wise remark. I am in awe of your debating skills.

      --
      All the world's a CPU, and all the men and women merely AI agents
  38. Money. by trum4n · · Score: 1

    If the thing ran BASIC or even C, then we wouldn't need quad core 25ghz phones. That would mean current hardware wouldn't suck. That would mean we wouldn't need a new phone the day we bought our current one. It's all about money. Java is a damn mess, so it keeps our 1ghz phones slow enough that we want faster.

  39. What about this? by Anonymous Coward · · Score: 0

    I believe these are the droids that you're looking for:
    http://www.basic4ppc.com/

    Makes developing simple apps very quick and compiles down to bytecode so no interpreter is necessary.

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

    1. Re:For that matter by Anonymous Coward · · Score: 0

      ...and Basic4ppc has also the Windows Mobile version! (actually the Android version came later).

      It works GREAT for my good old HTC Touch 2!

    2. Re:For that matter by UglyMike · · Score: 1

      I can find a Windows Mobile version on the site.... Any idea if there available somewhere else?

    3. Re:For that matter by Snaller · · Score: 1

      Oh its a lot better, a simple easy visual design interface. You can make layouts for different aspects and resolutions and when your app starts just check which layout to load.

      --
      If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
  41. If it is so important to you I will code one up by MichaelSmith · · Score: 1

    Give me a couple of weeks. Its no big deal, really.

    1. Re:If it is so important to you I will code one up by Anonymous Coward · · Score: 0

      Don't do it, http://unknownlamer.org is actually a terrorist! They admit it themselves!

  42. Dijkstra Says... by Anonymous Coward · · Score: 1

    It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

                          — Edsger W. Dijkstra, EWD 498

  43. Like a Graphing Calculator by Anonymous Coward · · Score: 0

    Basic is a lousy language but... over the years, as a working engineer, I have used BASIC to write lots of quick ugly programs on my graphing calculators. Most of them were ugly, slow, and crude, but it didn't matter because they solved some problem I was working on at the time. If I had basic on my phone, I might use it the same way.

  44. programs for the masses by Anonymous Coward · · Score: 0

    It's because they don't want programming for the masses. Yesterday's leaders wanted to share their tech gifts with the world. Today, they want to provide the best consumer experience, and programming, especially in BASIC, is not a part of that experience.

  45. Wrong question by tverbeek · · Score: 1

    Rather obviously they can. They just don't want to.

    So why don't they want to? There are all sorts of reasons, some more valid than others:

    • A standard compiler or interpreter on each machine is one more attack vector. Not enough users running your malware or using the wrong OS for it to work? Try sending them the source code and launching it in their crossplatform programming environment.
    • That programming environment runs the risk of supplanting the companies' distinguishing user environments (Finder, Explorer, the iUI, Metro, etc.) This is mostly a variation on their old nightmare of the web browser (or one of its plugins like Java or Flash) rendering the underlying OS interchangeable.
    • It would make the machine more intimidating to technophobes. Seriously, one of the selling points that made Windows and Mac OS popular (compared to DOS PCs and the Apple ][ line) was the pitch line that you didn't have to "program" it, you just pointed and clicked.
    • Poor ROI. Even if you don't scare people off with it, the vast majority of users really don't have the interest (or aptitude) to program their computers. That's why such a small percentage of students sign up for CS courses. Why spend money developing something that's just going to cost them even more money to support?
    • It's simply not necessary. Ye olde TRS-80, Apple ][, C64, and even IBM PC came with BASIC in ROM because without it, the machine was borderline useless. No longer true.
    • Producers make poor consumers. LPs/CDs/MP3s sell better than guitars/keyboards/mikes. Video players sell better than video cameras. Building a content delivery system is a major objective of any computer manufacturer, and a device whose users spend it creating rather than consuming (music, games, movies, adverts) is one that the professional content providers will view askance.

    I'm not saying all of these are good arguments. But they're (some of) the reasons why your iPhone has no standard BASIC (or whatever) interpreter. I wish it were otherwise. But if wishes were horses, we'd all be riding LOGO-controlled ponies.

    --
    http://alternatives.rzero.com/
  46. Is BASIC that relevant, really? by damn_registrars · · Score: 1

    Sure, I learned BASIC just like millions of others back in the day. But I can't recall the last time I actually did something with it. There are plenty of great programming languages out now that are great introductions to programming that would make more sense to have on a phone. I have my favorite that I do 90% of my coding in, but I won't start a flamewar by naming it or suggesting it to be better than other choices.

    --
    Damn_registrars has no butt-hole. Damn_registrars has no use for a butt-hole.
  47. Nope by MAXOMENOS · · Score: 1

    Then again, how would I know? They wouldn't exactly advertise it, because the customer isn't going to care. In any case, I don't see how it's relevant. The question is whether a BASIC exists for smart phones. There's at least two.

  48. Sales are not the point by Aqualung812 · · Score: 1

    The point isn't to great a killer app that sells. The point is that almost every user has the need that isn't met by an existing app.

    Sometimes, what the want the phone is out of reach without considerable programming skills.

    Most of the time, though, some simple scripts or macros would make the phone do what they want.

    I'm not a programmer by trade, but I've taught myself some basic scripting (BASIC, .bat & .cmd) because it makes my primary job easier.

    I'm not going to make killer-app.bat that sells tons, but I have a few I've kept for a few years because they suit me perfectly since I could make them to my specs. THAT is what is missing from phones right now.

    --
    Grammer Nazis - I mod you "troll" unless you actually add something on-topic. Yes, I know I have mispellings in my sig.
    1. Re:Sales are not the point by oakgrove · · Score: 1

      I didn't say sales was the point. I was merely asking if anything he could point to was both successful and written with the tools he was extolling. To use your definition of useful, are there any interesting utilities or anything else written with it. If you can't find anything at all, how good can it really be? There are several examples of useful apps in the android market made with the scripting layer for android so it has merit.

      --
      The soylentnews experiment has been a dismal failure.
    2. Re:Sales are not the point by Aqualung812 · · Score: 1

      Nevermind, I just saw the requirements:

      Instructions
      First install the System Requirements above, including Visual Studio 2010 Professional, Premium, or Ultimate and the Windows Phone Developer Tools RTW.
      Then click on VBWP7SetupENU.msi from the files in the download section above, to install the necessary components for Visual Basic.

      GP doesn't know what they're talking about. If I need Visual Studio, this isn't for laypersons to make apps with.

      --
      Grammer Nazis - I mod you "troll" unless you actually add something on-topic. Yes, I know I have mispellings in my sig.
    3. Re:Sales are not the point by jedidiah · · Score: 1

      > The point isn't to great a killer app that sells. The point is that almost every user has the need that isn't met by an existing app.

      Which is what stuff like python, perl and shell scripts are for.

      Why is there not something called "BASIC" for PhoneOS and Android? Perhaps because it would be kind of redundant given the underlying Unixy underpinnings of both operating systems.

      Although Apple tends to be uptight about things like interpreters.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    4. Re:Sales are not the point by Darinbob · · Score: 1

      So what they want is a way to do what expert programmers do but without having to be expert programmers. Ie, so that they don't need considerable programming skills in order to look like they have considerable programming skills. This sounds much like the visual artists who walk around spouting nonsense about string theory when they can't even do the equations. At some point you need to be an expert in order to be in the expert's arena, you can't just get a shortcut.

      There are probably things out there on the phones that do what you want, only it isn't BASIC. You'll have to learn something though before you can start, the same way that you had to learn DOS before you could write a BAT file that did something useful.

    5. Re:Sales are not the point by Anonymous Coward · · Score: 0

      To use your definition of useful, are there any interesting utilities or anything else written with it. If you can't find anything at all, how good can it really be?

      That definition of "useful" is completely irrelevant to the discussion. If a complete novice can use it to play around with and get interested in programming, it fulfills the requirement stated by the submitter.

      I didn't write anything worth a shit in BASIC back when I was learning to program in the 6th grade. That wasn't the point. The point was entering code and typing run and seeing "Hello, World!" appear on the screen.

      There are several examples of useful apps in the android market made with the scripting layer for android so it has merit.

      Yes, that's another example which proves the submitter is a complete fucking retard.

  49. In soviet russia by Joe_Dragon · · Score: 1

    BASIC is the only code that run's on your pc.

  50. Honestly... I don't get it! by errandum · · Score: 1

    n the Sixties, we could put a man on the moon. Nowadays, laments , America's tech giants can't even put a rotary dialer on the phone. Almon Brown Strowger managed to crank out a patent circa 1891.So did many others! So, why — at a time when development has never been easier — can't Google, Apple, and Microsoft manage to use rotary dialers? Or other retard proof dialers for landlines, mobile phones and even VOIP clients!?

  51. Stupid story by ceoyoyo · · Score: 1

    What a stupid story. Python is installed with every copy of OS X and Linux, just like BASIC was with the Apple II (well, not quite, it's not in ROM). A cut down version of Python is also available for iOS, or you can have the full thing if you jailbreak or run a remote interpreter on any number of web pages. Speaking as someone who learned to program with BASIC almost three decades ago, Python is a far better language, for learning or anything else.

  52. Hypercard by Anonymous Coward · · Score: 0

    Who's forgotten to port it?

    1. Re:Hypercard by PacMan · · Score: 1
      It's Apple that have "forgotten" to port Hypercard. They are probably sorry that anybody still remembers it, since it doesn't fit their new business model.

      It's a pity really. I think that that programming model (or something similar) would fit the phone/tablet quite well.

  53. 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: 0

      Something about scratching an itch.

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

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

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

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

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

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

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

    10. Re:you are the dumbest shit imaginable by Joce640k · · Score: 1

      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.

      We have a winner...!

      --
      No sig today...
    11. Re:you are the dumbest shit imaginable by Hognoxious · · Score: 1

      They might want to produce a BASIC interpreter, but why on phones? If the object (sorry) is to teach programming, that'd be better done on a proper computer withe a proper keyboard and big screen. Plus think how many different models of phone there'd be in a typical class - supporting them all would be a nightmare.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    12. Re:you are the dumbest shit imaginable by Anonymous Coward · · Score: 0

      an intelligent culture is fostered by the democratization of coding

      i picture a dozen happy bunnies hoping around in the grass moments before the wolves feed.

    13. Re:you are the dumbest shit imaginable by Grishnakh · · Score: 1

      You gotta wonder about someone who goes around telling other people what they should be doing with their spare time, that they should dedicate it to some pet cause this person has. What cause have you donated your time to lately, which wasn't something you were personally interested in?

    14. Re:you are the dumbest shit imaginable by Anonymous Coward · · Score: 0

      The last time I wrote something in BASIC, it was on a brand new TRS80. I might have kept using it, but it didn't fit in my pocket and I had a bitch of a time trying to find a belt clip for it.

    15. Re:you are the dumbest shit imaginable by RockDoctor · · Score: 1

      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.

      While you do have a point, there is at least one significant counterpoint data : the UberBorg Gates.

      Accepting that it was a few years ago (before I started programming even!), but Gates did start his business by writing a BASIC interpreter - for Altairs, I think, but it may have been a more generic 6502-usable program - and selling sufficient to keep the food on the table and pay for at least one set of plane tickets to meet IBM. The rest, as they say, is history. And over the succeeding years, Gate's company kept on churning out variations on the theme of BASIC despite varying (and increasing) degrees of opprobrium at the time, until ... well, I'd have to search to find out. I never used the piece(s)-of-shit BASICs included in various Office products (more than I absolutely had to), but they were there until I stopped having to fuck with the innards of broken Word documents in the mid-00s. That suggests that someone influential at M$ thought that BASIC was important. The Borg Himself is the most likely head to wear that hat.

      Whether the Borg could actually write a BASIC interpreter himself these days, I neither know nor really care. But I wouldn't be surprised if he still could if he wanted to, onto bare metal ; and that he might think it a worthwhile idea. But it would always be more efficient use of his time to hire someone (several someone-s) to do the job for him. Spending $5M-worth of his time to do what he could get done by contractors for $0.2M would be an irrational use of resources (which few people have seriously accused him of deliberately doing).

      (No, I'm not a Gates fan-boi. But I am realistic.)

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    16. Re:you are the dumbest shit imaginable by nobaloney · · Score: 1

      Bill Gates came from what some of us would call a well to do family; he most likely could have gotten the money to visit IBM if he needed it. But he didn't need it; IBM went to him, immediately after their trip to visit Gary Kildall.

      They wanted Kildall's CP/M and Gates's BASIC. But Kildall didn't think they were important enough to meet personally so he went out to deliver some software to Bill Godbout, and left negotiations to his wife. His wife wouldn't sign the standard IBM non-disclosure form without his approval, and of course cellphones hadn't been invented yet, so before he could be reached, IBM folk left for a prescheduled meeting with Gates to negotiate for his BASIC. They mentioned to Gates they needed an OS as well, and Gates said he could deliver that (he didn't own one but he was shrewd, and he knew which one he could buy and sell of to IBM as his own).

      Good article here: http://en.wikipedia.org/wiki/Gary_Kildall

      but supplemented by my personal knowledge; I knew Kildall and Godbout personally.

    17. Re:you are the dumbest shit imaginable by RockDoctor · · Score: 1
      Ah, slightly different to the legends I'd remembered. If I was a student of computing history, I'd sharpen the edge of my keyboard and commit seppuku. But I'm not. So I won't.

      Without reading the articles ... Kildall and CP/M were subsets of Digital Research of "DR-DOS", GEM and such things?

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    18. Re:you are the dumbest shit imaginable by nobaloney · · Score: 1

      Much of what you ask is in the Wikipedia article. Gary and his first wife founded Intergalactic Digital Research (nowadays we need URLs so we use short company names which often make no sense; in those days we used long company names which likewise didn't make much sense but were at least grandiose), to market his CP/M (Control Program for Microprocessors), one of the first (if not the first) operating systems which enabled microprocessors to control floppy drives. He wrote CP/M in PL/M, a language he also wrote. The command set was very similar to the early MS-DOS command set, which was modeled to some extent after CP/M.

      (As a complete aside, I ran both CP/M and TRS-DOS on my early TRS-80 Model 1 with lowercase mod, and later my TRS-80 Model III with 80-column mod.)

      DR-DOS and GEM came much later, after such projects as CBASIC and CBASIC Compiler, both fully capable BASIC implementations offering functions and linking so huge programs could be written in only 64KB of memory.

      CBASIC was written by Gordon Eubanks, later CEO of Symantic, specifically for CP/M, and was sold by his own company, Compiler Systems, which was acquired by Digital Research in 1981.

      There appear to be a bunch of minor mistakes in the Wikipedia articles, though none of them critical, and I won't attempt to change them as Wikipedia doesn't like entries without citations, and they don't count memory as a citation, as I found out years ago when I corrected a reference to a restaurant chain my family owned.

      Nevertheless there's a lot of good historical stuff in Wikipedia; good searches are Digital Research, Gary Kildall, CP/M, CBASIC, and Gordon Eubanks.

    19. Re:you are the dumbest shit imaginable by RockDoctor · · Score: 1

      (nowadays we need URLs so we use short company names which often make no sense; in those days we used long company names which likewise didn't make much sense but were at least grandiose)

      Today "AMI" ; yesterday "American Megatrends Incorporated".

      If I worked in the printing ink industry, I know which name I'd be more rather more favourably disposed towards.

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
    20. Re:you are the dumbest shit imaginable by nobaloney · · Score: 1

      If you were in the printing ink industry you'd probably be looking for a new career. I was in my mid 20s when the 70s began; I spent almost a decade moving around the country working as a typographer; in every city I visited, the day I looked at the paper there were at least multiple jobs in typesetting and typography. Now there are a grand total of none. Per year. None.

      And now printing is going in the same direction. Except for the newspaper industry (and they're consolidating/dying fast) there really aren't any more pressman jobs. Most small presses have gone the way of on-demand digital printing, even for books you may buy from Amazon. The digital presses require at most one person to oversee the paperfeed and one to oversee the binding.

  54. Plenty of phone-friendly web-based interpreters by Anonymous Coward · · Score: 0

    As much as it pains some of us, the web is the ultimate platform nowadays. There are plenty of web-based interpreters that are usually accessible from modern phones. repl.it has client-side online REPLs for Basic, Python, Scheme, JavaScript and a bunch of others. This post mentions alternatives for other languages, including Dart, Closure and F#.

  55. So BASIC better than Java? what the F.... by Anonymous Coward · · Score: 1

    Basic Nostalgia aside, Java is one of the most brain dead, easy languages to code.

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

    2. Re:Five seconds of googling later by SleepyHappyDoc · · Score: 1

      Well, I did say it was only five seconds of googling. I doubt the BASIC of 'Bill Gates and Woz' would be appropriate for a modern device, anyways. I have some very unfond memories of trying to produce graphics in BASIC on my VIC-20 when I was very young, and it only had 176 x 184 pixels.

      --
      Stasis is death. Embrace change.
    3. Re:Five seconds of googling later by hattig · · Score: 1

      It had 22x23 character blocks - hence generating graphics required some effort!

      Namely - set VIC20 into high-characters mode and set the display size to 22x11 with each character cell being assigned a unique character (do this vertically to get a display that is 22 characters of 176 pixels in height), then write a graphics library that will treat characters 0..241 as a funkily arranged bitmap.

      Of course coding on a 22x23 display is extremely unpleasant in the first place. It is a shame that the VIC couldn't create a 44x23 display mode in higher resolution.

      Most home computers since then had pixel-addressable graphics modes and higher resolution editing modes thankfully, making BASIC far more visual on those systems.

    4. Re:Five seconds of googling later by Andy_R · · Score: 1

      ...and for iPhone/iPad, BASIC in a web app: http://virtual-gs.appspot.com/gsbasic/index.html

      --
      A pizza of radius z and thickness a has a volume of pi z z a
    5. Re:Five seconds of googling later by Urkki · · Score: 1

      You should have bought the Super Expander. It was not really problem with BASIC langauge generally, it was problem with Commodores decision to not give access to most of the computer's features...

      That being said,

      FOR I=7680 TO 8191:POKE I,99+(I AND 3):NEXT

      Now do that with any modern language on PC in about as many chars of source code!

  57. It took Apple long enough by tepples · · Score: 1

    Yeah, but it took Apple long enough to finally acquiesce and approve BASIC. Early versions of C64 emulators that came with licensed games were pulled from the App Store precisely because the user could reboot the emulated C64 and switch from the bundled games to the BASIC REPL.

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

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

    1. Re:Free Basic by QuasiSteve · · Score: 1

      Thanks, AC - you and parent poster (though I did find basicppc before but it didn't look as promising as your suggestion) are a lot more useful than the snarky guy further down.

  59. Why not C? by ElmoGonzo · · Score: 1

    There was an OnBoard C for the PalmOS -- before Palm decided to screw it up and ended up killing it.

    1. Re:Why not C? by shutdown+-p+now · · Score: 1

      There's actually a simple C IDE (really just an editor + compiler) that runs on Android.

  60. LUA by Anonymous Coward · · Score: 0

    Lua is an embedded language, There could be a mobile Lua.

  61. web app? by Quiet_Desperation · · Score: 1

    Javasvript?

  62. Visual Studio Express by tepples · · Score: 1

    Today development of development environments has itself become a revenue stream, not least for lock-in potential

    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.

    1. 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()!
    2. Re:Visual Studio Express by Anonymous Coward · · Score: 0

      MinGW is a port of GCC as well as a linker and assembler.
      Visual Studio, even the Express version, is a full-blown IDE, of which the compiler, linker, and assembler are small components. The two aren't really comparable. At any rate, Visual Studio is a class IDE and Microsoft is providing a version of it for free. Try to stop speculating about MS's motives and just thank them for releasing a version of the software they spent money developing for free.

    3. Re:Visual Studio Express by shutdown+-p+now · · Score: 1

      In some cases it is, but in others, please explain the availability of Visual Studio Express.

      GP is simply wrong. The time when you could charge for a simple IDE are long gone. What with Eclipse and NetBeans available in their full glory for free, and the likes of Qt Creator catching up quickly, IDEs become a commodity as far as users are concerned. And for their makers, they become expense items that you need to invest to to support your platform, not products in their own right.

    4. Re:Visual Studio Express by terjeber · · Score: 1

      So you've never tried these products and you are just talking out of your ass right? I guess that is appropriate, your ass is the orifice closest to the organ forming your "thoughts".

    5. Re:Visual Studio Express by tepples · · Score: 1

      Visual Studio, even the Express version, is a full-blown IDE

      As is the IDE commonly used with MinGW.

    6. Re:Visual Studio Express by mikiN · · Score: 1

      Instead of ad hominem attacks (there must be a free-to-download template library for those methinks), try to support your own argument with facts instead.
      On topic, here is a StackOverflow question (dealing with VSE 2008) whose answer may interest you. And yes, I have had to deal with Every One of the mentioned limitations, and there are more which aren't mentioned.
      You can call me a cheapskate, to which I will reply that for all listed limitations, there are free (non-M$, non-Windows) alternatives available which suit me fine.

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    7. Re:Visual Studio Express by terjeber · · Score: 1

      The question is about development for Phone development. The vast majority of issues listed in those lists are irrelevant for Phone development. You don't need threaded debugging. You don't need MFC. Source Control integration is for whimps, use Git from the command line or one of the excellent Git graphical front ends. You don't need ASP for the phone. You don't need report design for the phone. So, for mobile development, which specific feature are you missing from that list?

    8. Re:Visual Studio Express by mikiN · · Score: 1

      Item #9: No mobile platform support

      'nuff said.

      Okay, okay, so VSE 2010 does support WM7, but after VSE 2008 I've switched away from M$ completely.
      I simply can't take a company which circulates memos 'internally' on how to defeat the competition by cheating (FUD, Halloween documents, 'embrace&extend' industry-standard protocols, pressuring PC vendors into shipping Windows with their kit, 'Windows tax' etc.) seriously, so I switched away years ago.

      Well, I've run out of troll fodder for today, so I'll move on, if you don't mind.

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    9. Re:Visual Studio Express by terjeber · · Score: 1

      "Troll fodder" - best you could do? I pity you. Who'd you switch to with a better track record? "You are the product, and we'll sell you to whomever we god dam will" Google or "When Steve says 'no' it means no, and besides, who do you think owns 'your' device and 'your' data anyway?" Apple?

  63. Let's Play Mad Libs by retroworks · · Score: 1

    In the Sixties, we could put a man on the moon. Nowadays, laments ________________ (grumpy person), America's tech giants can't even ____________________________ (something that's already available, something no one wants, something cranky). Slashdot can write a program to submit these "stories", and we can all log in to write how dumb the idea is, how already done the idea is, etc.

    --
    Gently reply
    1. Re:Let's Play Mad Libs by Anarchduke · · Score: 1

      Sounds like a great idea for a steady stream of submissions. Now all you have to do is automate the process. I know, write up a quick program in BASIC.

      --
      who prays for Satan? Who in 18 centuries has had the humanity to pray for the 1 sinner that needed it most? ~Mark Twain
  64. Groovy? by miles+zarathustra · · Score: 1

    The nice thing about groovy is that it interoperates with java smoothly, since I'm gathering that the native Android APIs are in Java.

    However, I think what you really want is a scripting language that's geared for writing miniature touchscreen/phone apps. Which is something that may not exist yet.

    I picture things like location and orientation incorporated into the native language, the way threads are in Java. Mind you, I do not have one of these devices, but I like Groovy.

  65. Bunch of elitists by Anonymous Coward · · Score: 0

    You gotta keep programming, networking, databases etc HARD.

    Why? If it got easy, many of you would be out of work.

    The alternative to learning BASIC at school has largely become learning how to use the MS Office suite. Way to go badmouthing BASIC guys, at least you guaranteed MS would dominate in schools and offices for a generation.

  66. The closest you get is... by JavaBear · · Score: 1

    HTML and Javascript, and for most that'll be enough for smaller tasks. The downside is that there are no access to the local file system.

    1. Re:The closest you get is... by SendBot · · Score: 1

      The downside is that there are no access to the local file system.

      Ah, but you CAN:
      http://www.html5rocks.com/en/tutorials/file/filesystem/

  67. What cell network? by tepples · · Score: 1

    It would open up their platform and their cell network to a barrage of crappy software.

    What cell network? The iPod touch and iPad (with Wi-Fi) don't connect to a cell network. Nor do the Archos 43, Galaxy Player, Chinese 7" tablets, Honeycomb tablets, or Kindle Fire.

    1. Re:What cell network? by novalis112 · · Score: 1

      Those aren't on cell networks because they aren't phones.

    2. Re:What cell network? by tepples · · Score: 1

      Then let me rephrase: Even if carriers won't allow BASIC on a phone, why can't we have BASIC on computing devices that are identical to phones except for the lack of a cellular radio?

    3. Re:What cell network? by novalis112 · · Score: 1

      In addition to my own (There isn't much demand for it) I think we've seen a variety of answers to that in other posts.

  68. Congratulations by symbolset · · Score: 1

    It only took a year to find a WP7 USP.

    --
    Help stamp out iliturcy.
  69. No decent GUI, not the best to type on. Why phone? by duguk · · Score: 1

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

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

    As for a simple language which can be used to do basic things - PERL is one solution. Love it or hate it, it's free, it's as easy to learn as BASIC was, and it has real world uses. Not sure about other platforms though

    This. Though I disagree on the 'terrible' bit.

    BASIC is a great language to learn in, it's simple and *can* teach some good concepts. But without a decent GUI, most won't be interested. Having BASIC on a phone seems an odd idea; it's not the most ideal platform to type on - or research on. Why the author thinks a phone is a good development platform; I have no idea.

    I think it'd be of limited use - but I like the idea of re-introducing BASIC as a good educational tool.

  70. You wanted an appliance.... by westlake · · Score: 1

    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.

    You wanted an appliance. You have an appliance.

    The single purpose device whose internals are inaccssible to the user.

    But don't come back here to complain when every high-tech consumer product is built on the same model. The smartphone. The touch tablet. The set-top box and video game console.

    Want Internet radio or video in your car?

    Download the app from the walled garden of your Ford app store.

    1. Re:You wanted an appliance.... by Anonymous Coward · · Score: 0

      Serious question...do you still work for Microsoft?

    2. Re:You wanted an appliance.... by mikiN · · Score: 1

      Sad but oh so true.

      We The People let stores like Circuit City, Handy Andy et cetera go out of business by not getting off our lazy butts and build stuff in our shacks (and found Apple fer cr|ssake). Now we're barely strong enough to click on a link on DealXtreme or Ebay.

      Nowadays it's easier to get a datasheet for some electronic part at a bus stop in Chengdu, China (thousands of miles away from Shenzhen, mind you) than it is to get one from the farking HQ of its producer in the US of A. Personal experience.

      Kids over there on the other side of the Pacific still have what it takes, they swap code snippets and app ideas on forums like many yankees swap movie quotes and celeb gossip. Again personal experience.

      I could go on blathering about all this but I need to go get a hanky to wipe my tears. It's that bad. Wessies, it was nice knowing you, I'll come back on Museum Night to see a Kinect-enabled M$ fundraiser where you can fly the rrreal Wright plane all by yourself, watching your act on that nice whopping-ass 160" Samsung widescreen.
      Me? no thanks, I'm going over to kung-po-kai-land to get my brains some real workout. And a massage, too.

      --
      The Hacker's Guide To The Kernel: Don't panic()!
    3. Re:You wanted an appliance.... by Anonymous Coward · · Score: 0

      erm... don't take this the wrong way (i agree with everything you say), except if i wanted an internet radio for my car, wouldn't it be easy enough to just go buy one? what exactly are some people expecting their phone do to? be a toaster oven? i doubt even basic could allow you to make an app for that

  71. Basic is an Abomination by stargazer1sd · · Score: 1

    Programming languages are more than just syntax and semantics. Basic is a terrible programming language. Not just for a lack of rigorous language constructs, but for the programming culture that surrounds it. Visual Basic has morphed into something that has little relationship to its ancestors, but still suffers from hokey syntax and inconsistent semantics.

    It was the best we had for computers that don't even have the power of a modern microcontroller. But we have better ways of doing things now. Let's leave languages that embody the best we could do with very little, and start people with something that's consistent, useful, and doesn't embed so many dysfunctional programming constructs.

    And before you flame me for not knowing basic, I know Basic well. I use it frequently in my work. I still don't recommend it to my clients.

    --
    Play it cool, play it cool, 50-50 fire and ice.
    1. Re:Basic is an Abomination by Anonymous Coward · · Score: 0

      WTF? Programming languages are little else than syntax and semantics. "Modern" languages seem designed to consume a great deal more time, effort, memory, and cpu to accomplish simple tasks than the more "primitive" ones did, without noticeably better results (in very many cases worse). The current paradigms contain some seriously flawed assumptions consistent with the concept that all programmers are inept morons who can't even keep track of the type of their variables. Oh, wait ...

  72. 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
    1. Re:No its not by OeLeWaPpErKe · · Score: 1

      You used the right -but currently unpopular- tool for the job.

      Like any large site, slashdot's opinion has more to do with fashion-du-jour than actual tool quality. There's lots of things most of these new languages are hardly useful for. And quick development is certainly not the strong suit of android's default language, java.

    2. Re:No its not by MacGyver2210 · · Score: 1

      You should read a C tutorial. It's akin to realizing "Wow, it's like BASIC but it makes more sense, and I can DO more!"

      You can also program PICs with it. Check this out.

      --
      If the only way you can accept an assertion is by faith, then you are conceding that it can't be taken on its own merits
    3. Re:No its not by rev0lt · · Score: 1

      If you want to DO more (whatever that means) in a PIC environment with C, you might as well use Assembly and spare the trouble of actually having to learn a 3rd party language.

  73. Please... by Ian-K · · Score: 1

    Somebody just SHOOT the OP in the head!!!

    This was my first programming language and thank God I never went to VB after that. (my path was Lisp, prolog, c, java, haskell and so on - yes, I did a CS course)

    Why the hell would one want this "programming language" on the iPhone? It's like starting a Ferrari with a hand-crank

    You don't learn how to program even with VB (this we were told quite emphatically at uni on Programming 101, so to say), let alone BASIC.

    We have more than enough "beginner" languages as it is, and BASIC - I think you will all agree - is pretty much the worst there is -sorry, WAS-. There's Python, Ruby, Go and a ton of other newly-minted languages-for-the-masses out there to get you started. But BASIC??? That's 2011 man, not 2001. But if you want something that will run on the iPhone and you want to cleanse yourself for this disgraceful question, go over at PhoneGap and start learning their kit.

    It's late in the night on this part of the globe. I really hope I'm having a bad dream and I wake up in the morning and realise that I never actually read this question...

    --
    I'm no longer fed up with MS Windows: I go rid of them :)
  74. A BASIC what? by Anonymous Coward · · Score: 0

    For chrissake, /. is not the Wall Street Journal. You can't really believe you can simply coin a new turn of phrase like "a BASIC" and the world will follow...

    Since BASIC stands for "beginner's all-purpose symbolic instruction code," it makes no sense to use an article in front of the acronym. It's like saying we need "a C" or "a Perl." It simply makes no sense, and makes you (the lamer who posted this article) look really stupid.

  75. Do you really want Basic or just something easier? by Walter+White · · Score: 1

    A better question to ask: "Is there a way for users to easily program their own apps for an Android phone?" At least I think that is what you are asking. In that case you might look at App Inventor produced by Google Labs. (http://www.appinventorbeta.com/about/) I have not tried it myself, but I thought the point was to produce a more accessible development environment.

  76. Some absurdly small quota by tepples · · Score: 1

    HTML5's offline application cache, local storage and FileSystem portions are meant to handle all of this.

    I was under the impression that the offline application cache and local storage were limited to some absurdly small number of megabytes, and file system portion not implemented at all, on a lot of these mobile devices.

    1. Re:Some absurdly small quota by anonymov · · Score: 1

      True, but you don't need a lot of storage for an interpreter and source code. You'll even have some space left for a few art assets.

    2. Re:Some absurdly small quota by tepples · · Score: 1

      So where does the interpreter store the files that the program reads and writes, as in Dim objReader As New System.IO.StreamReader("kitten.txt") Or the art assets that are used by the program?

    3. Re:Some absurdly small quota by anonymov · · Score: 1

      Hmm, iOS still lacks even FileReader API? Well, sucks then, but still.

      I assumed we're talking about educational use of interpreters on the phone, so it's still useful - you can store predefined art in app cache and user generated sprites and whatnot in local storage.

      It might still have some limited I/O outside that if iOS/Android do support "downloading" from data: URIs.

    4. Re:Some absurdly small quota by hattig · · Score: 1

      Yeah, because a beginner wants to deal with File I/O...

      1000 DATA "A small kitten, miaowing."
      1010 DATA "A glowing kitten, chasing a mouse."
      1020 DATA "..."

      VB.NET is not the BASIC this article is talking about. It's about removing complexity. If you have file I/O then you want it on the level of the following:

      kittah$[] = FILE "kitten.txt"
      kitten = IMAGE "kitten.png"

      Maybe people who have been programming for years and years aren't the best people to talk to about introductory programming languages!

    5. Re:Some absurdly small quota by tepples · · Score: 1

      VB.NET is not the BASIC this article is talking about.

      Yeah, I was just using it as an example of "a file I/O facility in a language commonly BASIC". A function reading a file and returning an array of strings representing lines looks a lot more friendly to beginners.

  77. Processing. by Anonymous Coward · · Score: 0

    Processing (processing.org) is a language that's probably what you want. It uses Java syntax, but with some of the nasty, hard-to-learn bits removed. Can compile into a .jar file or to an an Android app.

  78. Different paradigm by Anonymous Coward · · Score: 0

    Thanks to Alan Kay, Bjarne Stroustrup, and other pioneers we have Android that is built on a completely different paradigm from when BASIC was created. I'm not sure if you still want to PEEK and POKE your way around your system at the low-level, but any type of 'exhaustive' access to the hardware level is now considered to be a HUGE security risk for your application and potential users of your application built using that platform.

  79. Download the NDK by gatkinso · · Score: 1

    and make one yourself (or port one).

    But then again, this is a body who can;t handle Java, so the chances of this happening are nil (that that he or she would understand Pascal either).

    --
    I am very small, utmostly microscopic.
  80. Why not Applesoft? by Anonymous Coward · · Score: 0

    I think that there's an app on the market, androidappleemulator, that may allow one to program in applesoft. If that isn't good enough one could allways port the apple//e emulator to droid.

  81. 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
    1. Re:Because most people shouldn't be programmers by oneandoneis2 · · Score: 1

      This.

      The last thing the world needs is yet more crap code written by people whose only development methodology is to keep screwing with the code until it seems to do what they want.

      --
      So.. it has come to this
  82. 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.
  83. Re:exactly. by Anonymous Coward · · Score: 0

    "It is own voice"? What creative use of grammar, sir! "Hypocrits"? A blood test?

  84. The real problem is the environment! by Anonymous Coward · · Score: 0

    BASIC is fine.. But what made BASIC so easy in the 1980's was not the language itself but rather the fact that you didn't need to spend 3 weeks learning how to use the development environment, O/S API's, etc. You could just power on your computer, and start typing.

    I've been complaining for years that we need some kind of standardized easy-to-use programing environment that doesn't require the programmer to know anything about the operating system, libraries, compilers, linkers, or any of that garbage. Doesn't matter whether it is BASIC, Python, Pascal, C, whatever...

  85. You can write Windows Phone apps in VB.net by netsavior · · Score: 1

    You can write whatever you want for WIndows CE/Phone7/Phone8 in Visual Basic.net.

    This is one of my favorite things about Slashdot, "Why doesn't windows exist? Somebody should make something like windows."

    I mean sure it's like 1.5% of phone market share, but that never stopped us from talking about great development tools for Linux.

  86. Wow, what a post by Anonymous Coward · · Score: 0

    If you really want it that bad, you can get ZX Spectrum emulators for most phones and off you go.

    I suspect that the reason nobody cares for basic is that basic is (and always was) crap. Nobody in their right mind should use it, mostly because you can't do anything with it apart on toy computers of the '80s and for MS toy-programs in the '90s. Forget it. Move on.

    On another note, haven't you gone over the top with the choice of words to describe Java and ant? First, on account of not using eclipse, why not use the right tools for the job? It's like complaining that scissors wont push nails in a wall. The whole damn thing was put together that way so that tools can do the work you shouldn't be bothered with.

  87. I learned BASIC in about 1974 by russh1451 · · Score: 1
    ... but I got over it. Thankfully, I'd learned assembly first (not to mention having a decent understanding of digital electronics). Otherwise, I might have been permanently damaged (those of you who actually know me, keep your mouths shut).

    FWIW: Dijkstra nailed it with "the teaching of BASIC should be rated as a criminal offense: it mutilates the mind beyond recovery." -- Dijkstra

  88. How about a BASIC dialect? by Anonymous Coward · · Score: 0
  89. Um because, by roc97007 · · Score: 1

    ...nobody wants it?

    It's not April yet. Why is this even an article?

    --
    Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
  90. Re:exactly. by Anonymous Coward · · Score: 0

    who profited from the system she detested

    Even if someone hated capitalism, making money in such a society wouldn't make them a hypocrite. They still hate capitalism. The thing is, they might believe that capitalism is slightly better than the current alternatives (such as wandering off into the woods and living alone forever).

    And hypocrisy is not an argument.

  91. Go play with your new compilers by kuhnto · · Score: 1

    For Christ's sake it's the day after Christmas... Don't you have some toys to play with or something?

    --
    "A 'person' is smart. 'People' are dumb, panicky animals and you know that."
  92. Re:exactly. by amnesia_tc · · Score: 0, Flamebait

    Capitalist, sociopath, same thing, really.

  93. Apple wants you to be stupid and a serf by Anonymous Coward · · Score: 0

    "Plow my field or you won't get the new iOS upgrade!" - Steve Jobs' ghost

  94. Corona SDK by shawn.fox · · Score: 1

    I think with the OP is really asking for is an easy to use development environment although of course he suggested BASIC. While BASIC is really a pretty crappy language it was easy to use on Windows to produce decent applications. Corona SDK isn't quite that easy (yet), but it is vastly easier than Java for sure and also allows you to produce apps which run on Android or iOS. At $199/year for a single target or $349 to make apps for either iOS or Andriod it is very reasonably priced and of course you get free upgrades any time they release them (so long as you keep paying the yearly license). Free to try as well, great product in my opinion (I am not affiliated in any way with Ansca Mobile).

  95. Ruboto IRB by Anonymous Coward · · Score: 0

    Try ruby for Android https://market.android.com/details?id=org.ruboto.irb&hl=en

  96. GET A EXCELLENT BASIC INTERPRETER NOW! by Anonymous Coward · · Score: 0

    http://laughton.com/basic/versions/v01.39/index.html

  97. EXACTLY!!! by Anonymous Coward · · Score: 0

    The entitlement drones expect OTHERS to do the work. Never want to dig in themselves. Atlas Shrugged is becoming reality.

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

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

    1. Re:Because by Anonymous Coward · · Score: 0

      Is this a troll? Google releases sl4a .
      Holes are not related to the languages available.

    2. Re:Because by cadeon · · Score: 1

      It's not the languages available. It's the accessibility of the ability to create and execute code.

      Jumping through a few hoops to get your code running on the device or, at a minimum, distributed to a wide audience, gives the developer the feeling that someone is watching and therefore ... is supposed to... cut down on malware and generally increase code quality. If it actually works is yet to be seen in my opinion, and even if it does work, I'm not convinced it's worth the functionality loss- but it's where we are in the mobile space.

    3. Re:Because by izomiac · · Score: 1

      Given how much their design favors profitability and marketing over security and utility, I think we need to look at the former for the answer. My theory is that the people who solve their own problems (e.g. potential programmers) are not the same type that buy "solutions", hence not the target demographic. They'd far rather you buy an app to do something or become frustrated and return to being a helpless consumer.

    4. Re:Because by Anonymous Coward · · Score: 0

      That's why Apple gives away the OS X and iOS development suite to anyone who wants it. For Free. Because Apple doesn't want people running their own code.

      There are enough valid reasons to criticize Apple without making stuff up.

    5. Re:Because by Anonymous Coward · · Score: 0

      Yea right... Quick everyone hide their code! Batman, to the obfuscationmobile!

  100. Attention young people by SilverJets · · Score: 1

    Pull up your damn pants your @ss crack is showing and you look like a dork.

    PS Get off my lawn!!

  101. dangerous by Anonymous Coward · · Score: 0

    BASIC is dangerous and unsafe, and so cannot be made available on a modern system. BTW, knives, guns, hammers, pliers, nail clippers, and more than 3 ounces of any gel or liquid also pose such a threat to national security that we need to give unlimited power to untrained and uncertified TSA "agents".

    There is no need for you or the other unwashed masses to have access to something as powerful as BASIC. You aren't qualified for it and programming should best be left in the capable hands of your betters, just like knives, guns, and nail-clippers. We haven't decided yet, but we also believe that you are incapable of regulating your own sugar consumption. As soon as we've decided how much you should be allowed, we'll inform you.

  102. Because it would really suck by Animats · · Score: 1

    Do you realize how bad BASIC would be on a phone? No objects, so an API for dealing with a DOM would have to represent everything as a string. No callbacks, so dealing with an event-driven environment would not work well. BASIC would have to be extended substantially (essentially up to the VB level) to be usable at all. At that point, you'd have something that does what Javascript does, but lamer.

    There is a BASIC for the iPhone. It emulates a green-screen terminal running BASIC. So there.

    1. Re:Because it would really suck by drussell · · Score: 1

      It emulates a green-screen terminal running BASIC. So there.

      Sometimes all you really need is the green-screen :)

      I did just "re-code" this one the other day (from memory / re-make it up) to dump an old hard disk on a Wang 2200 minicomputer, though:

      10 PRINT HEX(03020402000E); "SHEXDUMP";HEX(0F); " - WANG 2200 ";HEX(0E); "S";HEX(0F); "erial port ";HEX(0E);"HEX DUMP";HEX(0F) ;" disk utility ";HEX(0E); "Version 1.0";HEX(0F);
      20PRINT "Copyright (C) 1988-2011 by Saturn Computer Technologies Inc.":PRINT
      40PRINT "Enter valid data dump parameters:"
      60INPUT "Starting sector number",B
      70INPUT "Ending sector number",E
      80IF B < 0 OR E < B THEN GOTO 30
      90PRINT :PRINT "Parameters OK...":PRINT "Reading from FIXED disk...":PRINT
      95S=E-B+1
      100PRINT "Prepared to HEX dump";S;"sectors (";S*256;" bytes ) to this serial terminal"
      110PRINT :PRINT "Press <Y> to continue, any other key to exit...";
      120KEYIN K$
      130IF K$="Y" OR K$="y" THEN 150
      140PRINT :PRINT :PRINT "Dump aborted...":END
      150DIM D$(256)1
      160FOR S = B TO E
      170PRINT : PRINT "SEC";S-B;",";S
      180DATA LOAD BA F (S) D$()
      200FOR C = 1 TO 256
      210PRINT HEXOF(D$(C));
      220NEXT C
      230NEXT S
      250PRINT :PRINT "SEC -1 , -1"
      260END

      Still worked like a charm... What more could you ask for? LOL :)

    2. Re:Because it would really suck by angel'o'sphere · · Score: 1

      Most old school BASICs have a nice work around for call backs. It is called ON "event" GOTO/GOSUP.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  103. AMOS (Amiga) by Anonymous Coward · · Score: 1

    I think something like AMOS would probably do well on Android/iPhone.
    Develop on your home PC and deploy the Basic code through AMOS to you mobile device.

    http://en.wikipedia.org/wiki/AMOS_%28programming_language%29

    Of Note in the wiki
    The source code to AMOS has since been released under a BSD style license by Clickteam - a company that includes the original programmer.

  104. BASIC? BAH! by Anonymous Coward · · Score: 1

    If you're going for computer archaeology, forget BASIC and let's get back to FORTRAN on Hollerith cards!

  105. Re:exactly. by EzInKy · · Score: 1

    Being a liberal I never bothered to read the book, but I have to say the movie really, really sucked! Seriously, we are supposed to feel empathy for people who want to suck their fellow human beings dry?c

    --
    Time is what keeps everything from happening all at once.
  106. 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.

    1. Re:Android programming is expressive and elegant by gl4ss · · Score: 1

      yep. java is the best point in doing android programming. it is for the masses. and the tools are free. no plunking down 400 bucks just to get a perhaps working build chain working with a non-functional emulator..

      the question poster should have tried some symbian circa 2003..

      --
      world was created 5 seconds before this post as it is.
    2. Re:Android programming is expressive and elegant by khipu · · Score: 1

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

      I have to disagree. The original Java language was simple and clean, but it was too limited to do anything with. The current version of the Java language is a bloody mess, with extensions and features tacked on haphazardly. And the Android APIs are extremely tedious, just like most Java APIs, in part because of the limitations of the language.

      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.

      Languages that actually address Java's shortcomings need to perform dynamic code generation, which isn't supported on Android. They also tend to need large new libraries to fix the Java and Android library mess, leading to large executables. That's the reason why languages like Scala, Jython, JRuby, and Jabaco haven't caught on. If a language just compiles in a straightforward way to JVM bytecodes, it is going to have pretty much the same problems that Java itself has, because Java's limitations are part of the byte code.

  107. WTF? by Anonymous Coward · · Score: 0

    1) Write a BASIC to C/Objective C/C++ transcompiler
    2) Release it
    3) ???
    4) PROFIT!

  108. javascript doesn't run when disconnected? by reiisi · · Score: 1

    Say what?

    Is there some fundamental difference between a PC browser's javascript and a phone browser's javascript? Or is there some threshold of code volume beyond which you have to have a connection?

    I mean, it was some really simple code, but I have javascript code demonstrating the calculation of pi by hand that runs in an off-line browser. And I have a nice tool for demonstrating rot13 encryption to jr. high kids that runs nicely off-line.

    I smell a whole bunch of shills.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  109. 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.
    1. Re:We CAN stand on the shoulders of giants by Urkki · · Score: 1

      It's better to teach the machine in the abstract.

      The point of BASIC is, it doesn't need to be taught, it can be learned without teaching, without the abstract.

    2. Re:We CAN stand on the shoulders of giants by anonymov · · Score: 1

      Nope. Same fallacy as with COBOL, "It's just like English, must be easy, right?"

      Writing actual code is 10% of programming, constructing algorithms and structures is 90.

    3. Re:We CAN stand on the shoulders of giants by Urkki · · Score: 1

      Nope. Same fallacy as with COBOL, "It's just like English, must be easy, right?"

      Writing actual code is 10% of programming, constructing algorithms and structures is 90.

      My point exactly. Basic BASIC lacks the data structures beyond arrays, and algorithms will be very simple like "adjust xpos variable by key presses but keep it in valid range". BASIC is for the case of wanting to make that 10:90 ratio to 90:10 ratio. And that's just fine when learning by doing, when there's nobody to teach the theory part. Algorithms and data structures and other stuff that needs to be taught or researched can be done later. Today, when real programming languages with good IDEs are a dime in a dozen, there will be natural transition to some "real" programming language, when learner wants to do something more complex, and starts hitting their head against limitations of BASIC, unlike the olden days when BASIC was often the only real alternative, and large programs became sanity-threatening monstrosities.

      I mean, with BASIC, to make a simple game, you start by drawing stuff on screen. With a "real" framework, you might start by defining a bunch of classes representing different game objects. The simple game in BASIC can be test-played sooner than just the class definitions (without code) have been written with a "real" framework used "properly".

    4. Re:We CAN stand on the shoulders of giants by symbolset · · Score: 1

      10% is way over. Maybe 0.1% on the high end. It's an O(n) thing.

      --
      Help stamp out iliturcy.
  110. donkey.bas by decora · · Score: 1

    anything more than trivial in basic actually takes a lot of 'programmer thinking' to do.
    donkey.bas, (with bill gates programming participation) is a perfect example. its hundreds of lines of spaghetti code that are almost impossible to understand. what does it accomplish ? it has a picture of a car, and pictures of donkeys coming down the screen you are supposed to dodge.

    for the 'ordinary person' looking at this program, python would be far, far easier to understand than the mass of PEEK, POKE, hex-code, and other stuff that was in your average IBM PC BASIC program

  111. javascript sucks more than BASIC? by reiisi · · Score: 1

    Seriously.

    I suppose you mean that Microsocks' shiny new BASIC is not the old MSBASIC or even VB, but I really smell a paid wave of shills.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  112. There IS a BASIC for Android anyway by jsonnentag · · Score: 1

    There -is- BASIC of a sort for Android. Just look in the "marketplace" and see: https://market.android.com/details?id=com.rfo.basic The associated comments seem to be mostly positive.

  113. mod parent up! by reiisi · · Score: 1

    Unfortunately, I've posted.

    But this entire article is clearly a ready-made-for-MShills article.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  114. Illumination Software Creator by jroysdon · · Score: 1

    Hmm Radical Breeze's Illumination Software Creator seems to fit the bill pretty good. They even have a couple Hello World examples posted.

  115. Correct me if I am wrong by Anonymous Coward · · Score: 0

    The iOS sdk costs $100 for a licence, doesn't it? Its not an arm and a leg, but its certainly not free.

    1. Re:Correct me if I am wrong by toriver · · Score: 1

      No, the SDK (part of XCode) is free, it's distributing that has a fee attached to it.

  116. How much did they pay you? by reiisi · · Score: 1

    Shill.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    1. Re:How much did they pay you? by symbolset · · Score: 1

      I realize now I failed to respond to the question. No, I did not get paid, nor induced to post that post. It was my own organic opinion. Normally that would be implied, but the times are what they are.

      --
      Help stamp out iliturcy.
    2. Re:How much did they pay you? by reiisi · · Score: 1

      No, actually, I think you did deny it pretty thoroughly.

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    3. Re:How much did they pay you? by symbolset · · Score: 1

      Since you're the one who asked the question and consider it answered, I'll move on to the next question. With due respect, regards.

      --
      Help stamp out iliturcy.
  117. So, the whole point of this article is to shill? by reiisi · · Score: 1

    MS has a shiny new VB for phones and wants everyone to say how wonderful it is and how it is again ahead of the wave (when it is in fact behind the wave on every platform but its own)?

    That's the point of the story, right?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  118. free tools? by reiisi · · Score: 1

    So, this poster is mad? Or lying?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  119. It's not "BASIC," it's the background work. by Anonymous Coward · · Score: 0

    It's not about "BASIC" the language, it's about the IDE. Coding a program in Visual Basic involved dragging controls onto the screen, and then writing the code to tell the computer what to do when that button was pressed. Not having to code the button, then inform the button that it needs to call a certain class.method when pressed, and then create that procedure. The VB IDE allowed you to throw the button on the screen and then make it work. You didn't have to add the button and it's code to a master archive list that tied everything together. It happened in the IDE background without you. You need a tabbed interface, drag a tab container onto the form and add your tabs. No need to add code to the OnCreate() method to look in the resource file to get the list of tabs that need to be added to the tab container. That was handled for you so that you could create the functionality of your program without worrying about the nuts and bolts that held it all together, so that I'm debugging my creation, not trying to track down the tiny misspelling or improper capitalization in all of the necessary config files.

  120. Re: Perfect computer language? by EzInKy · · Score: 1

    Python is no where near the perfect computer language. The perfect computer language would allow humans to decide what is and what is not correct syntax. I understand what "a + b" and "{a + b}" mean, why can't Python?c

    --
    Time is what keeps everything from happening all at once.
  121. The tool is what YOU make of it. by Anonymous Coward · · Score: 0

    I would NEVER use that Phillips screwdriver. It sucks and the screw heads always get chewed up. There's so many different sizes and you need al these expensive tools, blah, blah, blah ...

    Really people. BASIC is BASIC, C++ is C++, and phones are not Alienware PCs. You use the tool you need to get the job done and sometimes you use the tool at hand because it's what you have. Who cares why someone would want BASIC on their phone? If enough people want it, someone will write it.

  122. 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.
  123. Re:exactly. by rubycodez · · Score: 1, Informative

    confiscating wealth to support the willfully lazy, that's sucking a fellow human being dry.

  124. Congratulations. by reiisi · · Score: 1

    You got that one posted pretty high in the article, before anyone could point out the basic false assumptions in the story. It even looks natural.

    Maybe you'll get a bonus ten-spot for that.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  125. 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.
  126. Oh, but you can get BASIC on Android. by reiisi · · Score: 1

    Not that I've used B4A or any of the others, but they are available.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  127. Why? I'll tell you why... by guttentag · · Score: 1

    Why can't we have BASIC on our phones? All I need is 5 lines of code to explain this:
    5 LET S$=0000000000
    10 DIAL S$
    20 PLAY REFINANCE_SALES_PITCH.MP3
    30 S$ = S$ + 1
    40 GOTO 10
    Can you imagine what the world would be like if people could do this? There would be computers calling all the time. You'd hang up on them but they wouldn't care, because they'd just move on to the next number, and some other computer would call you a few minutes later, also not caring that you hung up on them. The phone companies would grow fat off the revenues from all these calls, which would be paid for by the 1% of morons who actually bought something from our purely-hypothetical (fingerquote) ROBO DIALER (fingerquote).

    A world like that would be totally insane. This is why we don't allow junk mail in the postal service. Can you imagine? Or self-aggrandizing sociopaths in Congress. We'd be in serious trouble... thank goodness we don't live in that world.

    1. Re:Why? I'll tell you why... by hattig · · Score: 1

      BASIC on any mobile phone today would be sandboxed so it couldn't get access to the telephony capabilities.

      Writing a robo-dialler in the native APIs probably isn't that hard either.

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

  129. From someone who has taught a programming class -- by reiisi · · Score: 1

    People who haven't ever messed around at some level tend to not understand why there has to be any rules, and, yeah, all the rules seem arbitrary.

    And why wouldn't they seem what they are? It's just that when you've never dug into formal languages, arbitrariness is not seen as useful.

    Erg, new and confusing to the bulk of users, and no clear reason why one set of arbitrariness is better than another until they get in a ways.

    And the ones who've done some mucking around with code, well, the rules they are used to are the ones they find familiar and simple.

    The thing with BASIC is that it was/is designed as a calculator language, so that's what it works with most seamlessly -- simple calculator problems.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  130. Things I don't want to do with BASIC by reiisi · · Score: 1

    Things I don't want to do in BASIC:

    -- and for very good reason --

    parse a web page for more than one or two items of interest;

    write a note tracker that will eventually be integrated into a document system;

    write the back-end functions of a genetic analysis system;

    build a time tracking system that I plan to ask people besides myself to use;

    calculate pi beyond about the thirtieth place; ...

    Basically, any problem beyond the easy answers. You know, I'm talking about the easy answers that, at one time were hard to get to, but now are not, and are known to be very limited in their context of application.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    1. Re:Things I don't want to do with BASIC by narcc · · Score: 1

      So ... what is your "very good reason" (or reasons, as the case may be)

      On #1, some time last year I used QBasic to write a simple program that parses an archive of email from our bounce address and creates a list of addresses to be removed from our contact list. I did it to annoy a co-worker, but it turned out to be a reasonably good choice. The code is really easy to understand, and took all of 10 minutes to put together (including hunting down a copy of qb45)

      Sure, there are places where BASIC isn't well suited, but that's true of all languages. BASIC shines as a first programming language, and it's the only place where I really advocate it's use. That doesn't mean that it's not well-suited to other areas, it's that there are reasons external to the language that may inhibit its use.

      Still, I want to know your "good reasons" as I've yet to see anyone articulate an actual "good reason".

    2. Re:Things I don't want to do with BASIC by reiisi · · Score: 1

      From someone whose sig currently says nothing scales like COBOL, well, is that sig supposed to be sarcastic? Or are you taking about as long as you don't have to change the program any?

      On your use of QBasic to write a simple program that parses an archive of email from your bounce address and creates a list of addresses to be removed from your contact list, tell me, would you have chosen QBASIC if you hadn't been doing it to annoy your co-worker?

      And, if you now wanted to take that annoyance program and change it to try retrying the addresses once before clearing an address from your contact book, how hard would that be? And if you had chosen to use perl instead?

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  131. You took the bait. by reiisi · · Score: 1

    Various forms of BASIC are, indeed, already available for Android.

    Not so much for iOS, except for those who are registered developers, as I understand, but reading the posts to this point, there may even be ways around Apple on that.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  132. the excuse for this article by reiisi · · Score: 1

    The carriers put some pressure on Apple to avoid letting users abuse the wireless network with automation.

    At least, that was the excuse.

    Not sure how Android is avoiding that.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  133. Processing.org gets you mostly what you want. by kobotronic · · Score: 1

    Processing.org is a favorite learning tool for a lot of educators wanting to get a painless "basic" introduction to proper programming. It also lets you make quick and dirty android apps without having to configure eclipse and setup a bunch of toolchain components.

    To get started with Processing you just download the all-in-one free package from processing.org and launch the app and you have an IDE with a blank sheet waiting for you to put in code and several dozen practical examples ready to run. Just press play and watch.

    All the fiddly bits are taken care of for you - you just have to write two pieces of code that represents what you want to happen when the program starts, and then what happens "per draw" - i.e. every time the screen is re-painted. The language is a "simplified" java - same syntax, curly brackets and all, but intentionally limited in scope to mainly focus on achieving graphics rendered in a single "window" and putting in namespace shortcuts so you don't need to remember which library contains basic text and math functions.

    You don't need to use objects - the whole app "wrapper" hides that for you, but you can use objects and most Java goodies if you want. With simple tricks you can access most of the userland Android functions such as accelerometers, GPS, buttons, sound and cameras functions. It's slightly more tricky to get "permissions" for your Processing app to do things like make phone calls and that's probably for the best.

    I think it's generally a fairly good "basic" programming environment for novices or those who for whatever reason can't or don't want to just spend the not excessive effort required to learn proper java and Android programming and get the much richer eclipse IDE setup.

    However, Processing's IDE is almost as awful and primitive as BASIC interpreters for 1980s micros so if you're just nostalgic for unhelpful ?SYNTAX ERROR school of debugging you should feel right at home.

  134. example of what? by reiisi · · Score: 1

    You do understand that the whole hypothesis is just false?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    1. Re:example of what? by tverbeek · · Score: 1

      Yes, I do, but a discussion of the actual hypothesis would be better than a bunch of bloody tiresome regurgitation of old debates about the de/merits of BASIC.

      --
      http://alternatives.rzero.com/
    2. Re:example of what? by reiisi · · Score: 1

      Microsoft did the world a lot of damage with their versions of BASIC. You have to allow for a bit of residual acrimony.

      (Metroware's basic09 was kind of fun, way back when.)

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  135. calculators on phones by reiisi · · Score: 1

    If I want a calculator on a phone, I'll take bc or dc.

    Or lisp, or forth, or ruby, or, ....

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    1. Re:calculators on phones by Hentes · · Score: 1

      But none of those has GOTO!

    2. Re:calculators on phones by reiisi · · Score: 1

      Heh.

      But Forth does have a goto, you just don't usually teach the bootstrapping words. (BRANCH and 0BRANCH, or whatever your version of Forth calls those. Some manage to build the thing without leaving the words in the resulting vocabulary, but that's kind of like deciding you don't need some version of <BUILDS / DOES> .

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
    3. Re:calculators on phones by crutchy · · Score: 1

      pascal does, but with delphi you can also jump freely into asm. never found an app that required a goto yet, but i've reworked plenty of really old unstructured stuff that was full of em. same with fortran, which i reckon is a dog of a language even though its used a lot by some really smart people.

    4. Re:calculators on phones by Hentes · · Score: 1

      never found an app that required a goto yet

      Most languages would stay Turing-complete without it so it's not required, but can make life easier. Although most of its idiomatic uses have been incorporated in modern languages as separate structures like else, break or continue. The only thing I sometimes use it for is to simulate a Python-style break...else construct in C (strangely enough this can actually be done in Java without goto).

      But that wasn't my point. I said that BASIC, being a simple language could be used to get kids into programming. When I was a kid, I had a relatively short attention span, so I really liked that I didn't have to learn a huge complicated language, LET, IF and GOTO were enough to do anything.

  136. beyond 5 megabytes in BASIC? by reiisi · · Score: 1

    That's the whole point of the flame wars over BASIC.

    Friends don't let friends right large, complicated, or otherwise serious applications in BASIC. (Yeah, I'm talking about the range of about 50,000+ lines of code, which is about where you start bumping into the 5M barrier for data and code.)

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  137. There's an App for that(tm) by tlhIngan · · Score: 1

    I mean, really?

    BASIC

    Logo (for iPhone)

    Python

    No perl, unfortunately. But there's probably more available as well.

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

  139. NO. Disclaimer. by symbolset · · Score: 1

    I don't - and haven't ever - worked for any of Microsoft, Apple, IBM, Nokia, Google, Dell, HP, ASUS, Acer, Nokia, HTC, LG, Lenovo, nor contractors thereto, nor any of their direct competitors - nor ever held any of their securities to date, nor expect to. I'm a small business kind of guy. My opinions here on /. are my own, and are of no relation (and quite dissonant to) my employer's position. I post here only on my own time and give only what I've got of my own opinion. My account predates my present job, and they're quite tolerant of free speech where I work so they'd be fine with me putting my opinion on their time and dime but I still don't do it because I don't want the suspicion of taint. If you're wondering about some other company then please do reply with the name so I can deny it, because it's unlikely you'll guess who I work for - it's a really small company and way off the radar.

    I work in IT of course, so sometimes when some of the above companies have the best answer for the customer I recommend them - but in that case I'm working for the customer, not the vendor - and I have no preference for a vendor. The best fit, the latest reliable tech is what I recommend. I recommend many millions of dollars worth of gear a year and the best recommend for a particular customer is a complex metric best not aired here. You were better off trying to educate me than just calling me a shill.

    I'm not in marketing, and I'm not some geek in his mom's basement either. I'm a systems architect in servers, storage and networking. If you'd been paying attention to /. these last eight years you'd know better than call me a shill. Your account is too old to be part of the bangalore astroturf crew, so I'm guessing you're a Microsoft new hire with an old /. account yearning to prove your worth. Try again with somebody else, but don't fight with me here unless you want to lose because I don't put stuff here I can't back up. This is /., and the standards are strict.

    I'll close with this recent link, where Nokia and Microsoft astroturfers were calling shill on other blog posters: http://www.guardian.co.uk/technology/blog/2011/dec/19/nokia-microsoft-lumia-comments

    --
    Help stamp out iliturcy.
  140. hear, hear! by Anonymous Coward · · Score: 0

    Someone who gets it. Entitlement culture today is that no one wants to do work, and complains everyone else won't work for them. These are the very looters in Atlas Shrugged.

  141. Lots in Common by Anonymous Coward · · Score: 0

    http://www.youtube.com/watch?v=4j3A5DzJepA

  142. snarky? by reiisi · · Score: 1

    Talk about not following your own conversation, and not knowing the facts you are trying to invoke ...

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  143. Python by Linegod · · Score: 1

    It's on the Playbook, and will be on the BB10 phones.

    http://peterhansen.ca/blog/category/PlayBook.html

    --
    -- I care not for your foolish signatures.
  144. the porpoise of the story by reiisi · · Score: 1

    This was the whole purpose of this story, right? To let MS pretend it's at the front of the pack again?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  145. Microsoft has TouchDevelop by limitedmage · · Score: 1

    Microsoft Research has a nice little app called TouchDevelop that lets you program simple scripts on a Windows Phone device. It even has access to certain files like the music library. You can build all sorts of tiny apps, games and utilities right on the phone with it.

  146. Where do you think they learned that from? by numbscholar · · Score: 1

    You dad, I learned how by watching you. Parents who use GOTO have kids who use GOTO. Just say no to spaghetti code. GENERATION 26: The first time you see this, copy it into your sig on any forum and add 1 to the generation.

    --
    GENERATION 26: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
  147. Shill party's over, guys. by reiisi · · Score: 1

    We've found BASIC for Android and iOS, it does not require the dev system, and I think someone already noticed that the dev system for WP7 isn't really free as in beer, either.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  148. Lots of stuff is available! by zippthorne · · Score: 1

    That quite is especially weird - Included with every mac (I think. I installed Xcode before checking):
    gcc (man page suggests it can compile c, c++, objective c, fortran 90, fortran 95, ada, assembler and java source), perl, python, ruby, shell (bash and csh, I think), all available from the terminal app. You can edit the source files with vim (included, and which has its own scripting language - ed), but a beginner would probably just use textedit.

    It also includes a graphical language (automator) that isn't that functional (can be looped, but has no branching, and a limited selection of hooks into other apps. But you can make applescript/perl/shell nodes), and of course applescript (available from the terminal if you want to, but the applescript editor is more useful and better documented.

    Next, you can get Xcode for no extra fee with Lion, (and you can't get a new Mac without getting Lion), and that includes the iOS development tools.

    I'm sure I've missed a bunch of stuff, and I deliberately didn't mention all the unix core utils stuff that can be used instead of scripting for certain types of tasks. Apple machines (other than iOS) actually come with some pretty powerful tools right out of the box.

    A beginner would need to obtain some documentation for many of those tools (perldoc is pretty bare by default for instance), but the tools themselves are all there. I'm not sure why Apple got lumped in with Microsoft in the quote you found.

    --
    Can you be Even More Awesome?!
  149. who says you can't? by Anonymous Coward · · Score: 0

    On Android: search for BASIC in market.
    On iPhone: you can't because you don't want TO.

  150. MS-DOS emulator by Anonymous Coward · · Score: 0

    There is an MS-DOS emulator for Android. Search for DosBox in the Market. It'll let you run old DOS programs (like Doom, and Duke Dukem), and I assume you could run GW Basic or Turbo Pascal. Some people have even been able to run Windows 3.11 under the DOS emulator.

  151. Re:exactly. by Anonymous Coward · · Score: 0

    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.

    Define cult, describe how Objectivism fit that definition, illustrate how Ayn Rand intended it to be that way, and then tell me how that contradicts her criticisms of religion.

    Your criticism is extremely vague. "She opposed BroadConceptX (undefined). She created BroadConceptY (undefined), which is different from but similar to BroadConceptX. Therefore, she is a hypocrite."

  152. Re:exactly. by Anonymous Coward · · Score: 0

    Your definition of a cult must be extremely broad to include Ayn Rand's followers in it. Or perhaps your definition of cult is simply: Anything you disagree with strongly, but has passionate believers in. Where are the mind-control, dependence and isolation, community preventing members leaving (these are individualists, for crying out loud) etc? It does not even offer an institution, much less a controlling one. Its just her books.

  153. The article is wrong. by Anonymous Coward · · Score: 0

    I just checked the Android Market and found at least one version of a BASIC app which I could download and use on my phone right now.
    Doesn't Slashdot do any simple research to verify the stories before puting them up?

  154. Re:The article is STILL wrong. by Anonymous Coward · · Score: 0

    In the Android Market there are (at least) these versions of BASIC:
    Mintoris Basic
    BASIC! + SQL

    There are also a smattering of other interpreter and compilers also.

    Basic research is basic.

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

  156. Just asking for it by Anonymous Coward · · Score: 0

    That's like saying "hey, wouldn't it be great if our phones had a really easy to use virus delivery system?"

  157. Re:exactly. by Anonymous Coward · · Score: 0

    I have no idea who john galt is but i know it pisses off libruls when i ask them. yee haw

  158. Trivial by sgunhouse · · Score: 1

    Doesn't your phone have a web browser? I'm sure someone must have implemented a BASIC-like environment in javascript. Okay, I guess that wouldn't work in Opera Mini (poor javascript support), but should work in Opera Mobile or Safari or Android's default web browser. Okay, no access to phone resources from inside the browser, but if all you want is IF and PRINT - or graphics - then you could certainly do that in a browser. And at a lot faster speeds than your 6502 ever achieved.

  159. If you want BASIC for your phone - download it by dmesg0 · · Score: 1

    Don't know about other phones, but quick search in the Android market shows a few basic interpreters, some of them free. So instead of asking slashdot, why don't you just download them?

  160. Basic4Android by Anonymous Coward · · Score: 0

    You guys have no idea what you're talking about. Get Basic4Android, it's similar to visual basic 6, and debugs like visual studio. I've already got an app on the market called LG Esteem Optimizer using this tool.

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

  162. Symbian again by Anonymous Coward · · Score: 0

    YAWN!!!

    I guess you're all too young to remember Python for S60 running on Nokia phones YEARS ago....

    Once again, Nokia -- remember them? Still the World's largest, most innovative mobile phone maker....they guys that Apple and Google copied....

  163. Look at widgets by Anonymous Coward · · Score: 0

    Widgets are usually written in Python or JavaScript or some other sort of scripting language. And many of them are written by hobbyists and 15 year olds. What are you missing?

  164. NS Basic/App Studio is BASIC for the phone! by Anonymous Coward · · Score: 0

    Check out NS Basic. They have been making great BASIC development environments for mobile devices since 1993. The latest version is called App Studio. It creates apps for iOS, Android, BlackBerry and more.

    You develop on the desktop. It converts your code (which is very VB like) to JavaScript, HTML and CSS and creates an app which can run standalone on the device. You can distribute your app directly from your website or use PhoneGap to submit it to an App Store.

    It comes with a nice drag and drop IDE, with many of the same controls VB desktop apps have. It's easy to start using. Since it is layered on top of HTML5 and JavaScript, it inherits all their goodness and is actually quite powerful: you use SQLite as a database, can access the web, accelerometer, GPS, etc. Support is excellent and there is a really helpful community.

    Have a look at all the customer comments - people really love this product.

  165. BASIC is easy to write on paper! by gl4ss · · Score: 1

    most people miss that point of basic.

    --
    world was created 5 seconds before this post as it is.
  166. Then you were being sarcastic in a different sense by reiisi · · Score: 1

    One of the problems with sarcasm is that sometimes it is too subtle.

    And one of the problems with whack-a-mole shill hunting is that it's sometimes hard to tell where to wield the hammer.

    One thing's sure, this article was definitely fertile ground for shills.

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  167. SL4A is great by bergelin · · Score: 1

    I've been using the Scripting Layer for Android to code a small python app. It uses the voice recognition and speech synthesizer to do do things like read the weather for me, and connect via socket to my home computer where I have a server running to execute some commands like playing music and such.
    It work great! The entire python standard library is included and some things like Twister works as well.

    The Android API is not entirely fully fledged, but I've been able to access all functions I want (sensors, speech, build menus among other things). If you need full control and access to all API-functions though, java is the only way to go.

    I could't imagine why you would want to use BASIC instead of Python. If for some reason you dislike Python, you've got Ruby, Perl, Shell and more.

  168. Re:exactly. by Hognoxious · · Score: 1

    I believe she lived off benefits for a time. That's the hypocrisy.

    --
    Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  169. which BASIC? by khipu · · Score: 1

    The original BASIC is unsuitable to programming phones or doing anything of interest on modern machines, simply because it can't handle modern APIs and OOP. If you're talking about a modern BASIC like VisualBasic, that really is pretty much the same as programming in JavaScript and Python.

    So, if you want to do easy development for you phone, use JavaScript. You can write cross-platform apps in it, and you get a choice of running it in the browser or making it a phone app.

  170. back in the day... by speculatrix · · Score: 1

    there were some great programming tools for the Atari and Amiga which allowed people to write some great applications and build up their skills.. blizzard basic, and the like.

    anyone remember arexx, which was a powerful tool?

    How about Lua on android and iOS?

    it seems this particular wheel keeps getting reinvented.

  171. Re:Then you were being sarcastic in a different se by symbolset · · Score: 1

    With sarcasm you leave some clue that the stated is intended humor, though it might only be understood such later. This is difficult to do online when you don't have vocal cues to work from. Sometimes it can be worked out from absurd pretext. To do it in a single printed word is high art. You didn't do that. I do admire the audacity of the attempt though. It's a trick I've only achieved twice.

    --
    Help stamp out iliturcy.
  172. Tools? by Atzanteol · · Score: 1

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

    Yeah, I find walking to be a bit limiting too (at least after I cut off my feet and blindfold myself).

    --
    "Ignorance more frequently begets confidence than does knowledge"

    - Charles Darwin
  173. Re:Then you were being sarcastic in a different se by symbolset · · Score: 1

    BTW: that's twice out of hundreds of attempts. I'm not trying to pretend I'm good at it.

    --
    Help stamp out iliturcy.
  174. I'm holding out... by Old+Sparky · · Score: 2

    ...for FORTRAN.

  175. TAB characters by mangu · · Score: 1

    Whitespace by itself could be tolerable, or even a positive attribute sometimes.

    Having two different whitespace characters is Hell.

    There's absolutely no need to have a character that was intended to program mechanically a typewriter to write tables.

    The tab character not only creates an unneeded extra whitespace character, it also has two different interpretations. In mechanical typewriters and in many alphanumeric terminals it was programmable, the user could set which columns would be tab stops. In many recent environments it represents only a fixed number of spaces.

    In you old VT100 terminal, as in mechanical typewriters, pressing TAB could jump your cursor straight to column 27 then to column 39, or whatever set of columns you choose. In your modern editor all you can do is to program how many columns each tab press will jump.

    TAB sucks. Allowing TAB characters in Python code is enough to make whitespace formatting suck as well.

  176. Deccan Odyssey by Anonymous Coward · · Score: 0

    Thank you,
    The given information is very effective.
    I’ll keep updated with it.

    Royal Orient

  177. About ufo by Anonymous Coward · · Score: 0

    Thank you,
    The given information is very effective.
    I'll keep update with the same.

    ufo

  178. iOS does not support file uploads by tepples · · Score: 1

    Is there some fundamental difference between a PC browser's javascript and a phone browser's javascript?

    No, but there is a fundamental difference between a PC browser's DOM and a phone browser's DOM. Phone browsers are less likely to implement certain HTML5 APIs. For example, Apple claims that Safari for iOS doesn't even support <input type="file">, let alone the File API.

    Or is there some threshold of code volume beyond which you have to have a connection?

    Yes. Phone browsers are likely to impose smaller quotas on the application cache and local storage, as I mentioned in another comment.

    1. Re:iOS does not support file uploads by reiisi · · Score: 1

      Granted on the Safari limitations, but Safari is not all there is and Android is not iOS.

      This whole article just smelled at the time like an excuse for shills to trumpet Microsoft's latest attempt to come from behind and claim the leading edge it never has been able to actually get. I probably misread a bit of sarcasm in the posts.

      The reason for the knee-jerk reaction is that Microsoft has consistantly pushed much better products out of the market with its unreasoning need to pretend it is leading-edge. They use their weight, whatever weight they can exert or conjur up, to re-define the market to not include whatever need the better stuff answered, and then they trumpet about how great a job they do while they secretly try to re-create the functions they've suppressed in their own products.

      It's a tactic of repressive regimes from time immemorial. And BASIC gets a bit of the acrimony because Microsoft used it.

      Anyway, it's nice to have a good programmable calculator built into devices with the processing power and enough extra storage, but I prefer bc/dc to BASIC for that purpose. Lisp, Ruby, Perl, Python, lots of other options, and even Javascript is not a bad option. And Microware's basic09 was a nice BASIC, too, back then.

      --
      Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  179. What happened to "Batteries Included"? by mangu · · Score: 1

    Whoever said that Python is the best tool for every problem?

    Guido van Rossum. Next question, please?

    I used to be a big Python fan, but Python 3 cured me of this disease. Python 3 was a big blunder from some theorists who never actually had to develop a complex software system. The most dangerous fuck-up was changing the way division works.

    It used to be that (3 / 2) in Python returned 1, now it returns 1.5. That's a big no-no to everyone who works with professional software. If you work with toy systems like class assignments that will be run once and then forgotten, it's no problem changing the way an operator works. If your software does something important, you cannot accept a change that means you have to go through every line of code with a fine-toothed comb looking for every division and verifying if it will be affected or not by the new rules. Remember, Python has dynamically typed variables.

    Yes, I know, there's a PEP somewhere that said to use // whenever you wanted an integer result from a division. This means that when you learn Python the first thing you must do is to read a collection of several hundreds of PEPs before you write your first line of code. Is that a great introductory programming language?

    I think Python 3 was a blunder of first magnitude. A computer language should be about easing the use of the computer, not creating needless tasks. As a matter of fact, every single change introduced by Python 3 makes the language harder to use. Compare the old formatting operator with the new format method, for instance. How much more typing you need just on the off-chance that someday somewhere someone will want to use both position and name to locate the arguments.

    Python now has walked very far from the "batteries included" principle. If I have to learn a programming language just to need to learn a new programming language when I start using a computer, what use is it? Better to start learning C instead.

    The first computer language I learned was Fortran, I know people who never learned another language because Fortran was all an engineer used to need. Pascal was also used as an introductory language in the 1970s and 1980s, and I think it's much better than Python in that respect. Knowing Pascal you can jump effortlessly to C.

    I have used Python a lot for what it does best, which is prototyping scientific calculations using NumPy and SciPy. It's much better than Matlab for this because it has a better syntax. Unfortunately, since I run the risk of getting new bugs from Python 3 or other future versions, now I feel I must convert all those programs I wrote in Python to C. My approach used to be that if a program is not used often enough for the lack of speed to bother me I left it in Python, alas, no more.

    1. Re:What happened to "Batteries Included"? by nessus42 · · Score: 1

      Whoever said that Python is the best tool for every problem?

      Guido van Rossum. Next question, please?

      Guido never said any such thing.

      The rest of your post is riddled with equally sloppy reasoning.

      |>ouglas

    2. Re:What happened to "Batteries Included"? by Anonymous Coward · · Score: 0

      Guido van Rossum. Next question, please?

      Uh, no, GvR never said that. Thanks for lying though. I guess you could be joking than lying, but this seems more like you thought you were being clever.

      I used to be a big Python fan, but Python 3 cured me of this disease.

      I'm not sure I believe you. You could be just lying. "This criticism should have extra impact because I used to love Python! Really! Swearsie!"

      Python 3 was a big blunder from some theorists who never actually had to develop a complex software system.

      Actually, Python 3 was developed by mostly the same people who developed Python 2 and Python 1. They collectively have man-centuries of managing a complex software system, viz., Python and its libraries with the many many users (a/k/a "customers") all using Python for different things.

      The most dangerous fuck-up was changing the way division works.

      Sez who? "dangerous" is a pretty serious charge; want to back that up? Cause you didn't. And I don't believe you.

      They spent YEARS laying the ground work for this change. They advertised the new "//" operator, added a "from future import _division_" so people could try it, etc.

      It used to be that (3 / 2) in Python returned 1, now it returns 1.5. That's a big no-no to everyone who works with professional software.

      Really! I work with professional software, so I am part of that "everyone" and I disagree completely.

      Try "print 3/2" in GNU AWK and get back to us with what happens. I have version 3.1.7 and I get "1.5" printed on my screen. Is that a "big no-no?" Someone tell the FSF!

      And if you take a Python 2.x program and run it through the "2to3" converter program, it will put in the "//" operator for you and your program will still work. Every competent Python user who upgraded from Python 2 to Python 3 found out about "2to3" and took advantage of it. If you didn't, and you are now crying about possible bugs, then you aren't a competent Python user. In which case we should just ignore anything you are saying about Python. I know I will!

      If you write programs that are so delicate that they will fail if an integer expression gets promoted to float, then you are writing lousy programs.

      If you are going to use a programming language, you should learn how it works. Python 3 has different rules for division than Python 2; just deal with it. Or don't use it if you hate it.

      The first computer language I learned was Fortran, I know people who never learned another language because Fortran was all an engineer used to need.

      Wow, that was completely irrelevant to whether Python is broken or not.

      By the way, did you know that Fortran will change the type of a variable when you change its name? Variables that begin with certain letters (such as "i") are integer, and variables with different letters are float.

      http://en.wikipedia.org/wiki/Fortran_95_language_features#Implicit_and_explicit_typing

      That's crazy! Now it's dangerous to rename variables! I'll bet nobody uses Fortran for serious work. Oh wait, lots of people use Fortran for serious work. I guess they just learn how it works and just deal with it.

      I have used Python a lot for what it does best, which is prototyping scientific calculations using NumPy and SciPy. It's much better than Matlab for this because it has a better syntax. Unfortunately, since I run the risk of getting new bugs from Python 3 or other future versions, now I feel I must convert all those programs I wrote in Python to C. My approach used to be that if a program is not used often enough for the lack of speed to bother me I left it in Python, alas, no more.

      "since I run the risk of getting new bugs"? Man, are you a tool? You sound like a tool.

      I'd try to refute you here if there was any sort of statement in there to refute, but this is all about your

  180. Re:exactly. by TapeCutter · · Score: 1

    Laissez-faire capitalism is the reason why the US economy is in the toilet now, socialism (in the form of bi-partisan bailouts) saved it from being flushed. And yes I'm sure there are plenty of opposite examples since AFAIK, reality is still steadfastly refusing to conform to any particular political philosophy.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  181. Re:exactly. by LDAPMAN · · Score: 1

    What "planned/regulated economy"? Your trying to say the early-mid twentieth century US had a planned economy??? She did benefit from the rule of law which has the proper purpose of preventing one person from abusing the rights and property of another through force. You seem to saying she was an anarchist who thought there should be no law or government. That is not the case.

  182. Re:exactly. by LDAPMAN · · Score: 1

    Citation please? She did not. However, if you look a little deeper into her writings you will find that she fully supported participating in the system to get back some of what had been taken from you. She considered it stupid to not setback what benefit you could.

  183. Re:exactly. by LDAPMAN · · Score: 1

    Unfortunately, government programs to redistribute wealth fail to make any distinction between the willfully lazy and someone who's misfortune is due to some other circumstance. She didn't support exploitation of anyone. She supported the willing and free exchange of value/labor in which each person rationally decided what exchanges were in their best interests, free of outside force and coercion. That hardly sounds like someone advocating exploitation.

  184. There is a nice Matlab - clone for Android by neurophys · · Score: 1

    Addi with Addi -plot is a Matlab clone build on the Octave project. Seems to work nicely. Pretty close to BASIC

  185. Re:exactly. by Anonymous Coward · · Score: 0

    In addition to the above points, let's mention a few other things:

    She opposed Medicare, Social Security, and all other forms of welfare, but not so much that she wouldn't draw upon them herself later. Apparently, you're not a looter if you were forced to pay into the system in the first place. And if you're not someone else, I guess.

    She opposed the draft, but called draft dodgers bums. Apparently, beliefs are fine so long as you don't stand for them. (See last point.)

    She wrote a philosophy opposed at its core to taxation as the the seizure of private property by government force, but supported the US government taking away land from Native Americans by force rather than allow them to continue living like savages, since they did not have a concept of property in the sense she did. She also claimed to oppose racism in all its forms, but reviled Native Americans and actually had the gall to call them racists for thinking that they were entitled to the land they were born on, and vociferously supported the "civilizing" influence of white men. (Essentially, if you didn't believe in her system, you had no rights. Period.)

    Now when a raging liberal makes a nice profit, that's being hypocritical. Learn your definitions first.

    Profit and liberalism aren't opposed. Perhaps you should learn your definitions, instead of just stereotyping everyone who disagrees with you as the worst, straw-man exaggeration of the beliefs furthest from you.

    Then again, if you're a big fan of Ayn Rand, I think you've probably had some really terrible influence in that matter considering how she became increasingly incapable of portraying anyone not in step with her own beat as anything other than a mustache-twirling, evil for evil's sake villain. I swear that woman became utterly incapable of seeing other points of view as human by the end of her life.

  186. F00L by Anonymous Coward · · Score: 0

    The person lamenting the loss of BASIC also had difficulty with Java and Android app development? You. don't. say.

  187. Re:Do you really want Basic or just something easi by gweilo8888 · · Score: 1

    Yup, I'd point towards both App Inventor and Simple (http://code.google.com/p/simple/) as answers to the submitter's request, at least for Android users.

  188. Re:exactly. by rubycodez · · Score: 1

    I am not talking about someone who is incapacitated, nor someone who finds themselves thrown out of a job. I'm talking about the willfully lazy who refuse to work because the state pays them to be so, and I have plenty more derogatory terms for such parasites. Most workers in first world countries are not exploited, but most of those who have never worked are the willfully lazy.

  189. not really by khipu · · Score: 1

    The scripting framework for Android is unstable and not very usable. The last release was in August. I don't think there has been a single application written in those languages. Jython and JRuby are extremely slow on Android. The Scheme interpreters I have seen are toys. So, I don't know of a usable, practical language other than Java for programming Android apps.

    If you can point me to a usable Ruby, Perl, Lua, Python, or Scheme implementation for Android that is good enough to write real applications in, please do.

    1. Re:not really by Anonymous Coward · · Score: 0

      Well, I've written a few applications in python and lua that are very usable to me. I think you can contribute to the project if you need anything better.

    2. Re:not really by Anonymous Coward · · Score: 0

      Python and Lua on Android are useless to me and most other people. If they are good enough for you, fine, then your needs are modest.

      The fact that languages like Python run like sh*t on Android is a fundamental problem with Android: their use of Java and their use of Dalvik. I don't want to "contribute to the project" of creating work around for Google's idiotic design decisions, and in the long term, that's not going to be effective anyway.

      Google needs to kill Dalvik and replace it with a decent high performance runtime. Given that dynamic code generation isn't working in Dalvik anyway and that they don't rely on Java's security features, one avenue for them would be to switch to a gcj/llvm combo. That might also help with their patent problems.

  190. Are you a man or a clown? by Anonymous Coward · · Score: 0

    I don't understand why you want something so out of time, prone to errors and lame as Basic on your phone. Excuse me if I offend you but if your skills are so week to deal with Java (and Java it's no complicated as C++ or other languajes) then you shouln't develop. Are you a man or a clown?

  191. We can! (And have) by Snaller · · Score: 1

    Well, almost, it depends on what the OP wants, if its actually to sit and noodle in Basic on an Android device, well, can't help you there.

    But if its developing something quickly and easily on the PC in a language which is pretty much like basic, then you can, you can buy the inexpensive "Basic4android"

    It has its own designer, which looks much like the visual basic one: You chose what element you want to add, say a button, you drag it on the screen until it has the right size, enter new text in it etc.

    You program in a basic like language, with auto complete and runtime debugger. When you develop you can either run it in the Google Android emulator on the PC, or test it right on your connected device.

    Your code is converted from this basic code to Java source, which is then compiled to native bytecode with Googles standard tools. Its a signed apk you could sell on the Google Market and the apk runs on Android 1.6 and up to 4 - on phone or tablet (Of course if you have need some of the new Android core functions in say 3.0, that will limit compatibility, but that is your choice)

    Compile time libraries support most of what you need in a simple fashion (and new libraries are coming all the time, and if you had the skills you could write your own), but you can already access things like Admob, Multitouch, GPS, Bluetooth, SMS, Camera, Webservices, XML,JSON, SQL, POP3, TCP, FTP, Text to speech, OpenGl etc - (that's not an exhaustive list, just some things I remember)

    So you can write something big or complicated, or just whip up something very specific in a few moments, then it it looks like something like this:

    If File.Exists(File.DirDefaultExternal,"mytestfile.txt")=False then
      Msgbox("Hey, the file is not there","Information")
    End if

    Or

    Dim FTP As FTP
     
        FTP.Initialize("FTP", "ftp.example.com", 21, "user", "password")

    Here is their example of how to make Hello World in Android (in 2 minutes) http://www.youtube.com/watch?v=p4wh0IksOfg

    Or read more here http://www.basic4android.com/

    No, I don't work for them, don't know them personally, and don't get a cut of anything - Just a satisfied customer :)

    --
    If Google really cared they would fix Android Chrome to reflow text, instead of discriminating
  192. Commodore 64 iOS app has BASIC! by wikthemighty · · Score: 1

    Commodore 64 on the iPhone/iPad has had BASIC for some time...

    --
    "There are people who do not love their fellow human being, and I _hate_ people like that!" - Tom Lehrer
  193. a BASIC by josepha48 · · Score: 1
    WTF is a BASIC? It should be a BASIC Compiler or Interpreter not a BASIC. BASIC stands for Beginner's All-purpose Symbolic Instruction Code. Which really should have been BAPSIC but they hyphenated the All Purpose.

    Why would you want BASIC anyway, it is such an antiquated language, you should be asking for Ruby instead, as NOONE does BASIC as a new shop anymore.

    --

    Only 'flamers' flame!

  194. Re:exactly. by Anonymous Coward · · Score: 0

    I oppose Medicare, Social Security and all other forms of welfare, but I'll be damned if I won't accept it. I lose upwards of 40% of everything I earn to these crap handout programs, so when my time comes to get some back I will.

    I oppose a draft as well (I prefer the volunteer system and I did volunteer and did a full tour in the Army), but if it was the law and people dodge it I'd call them bums as well, no different than I call undocumented workers criminals. If you don't like the law, change it, but be prepared to be called a criminal or bum if you break it.

    She's right on taxation, it is government imposed thievery with the intent of social engineering and vote buying. Go to a national consumption tax (exempt food and medicine) only and every pays their fair share because if you can afford it you can pay tax on it.

    And I'm sick to death of this Native American bullcrap. If you are born in this country you are native. Indian tribes have no more claim to being more native than anyone else. Archaeological evidence (that is regularly attacked by the tribes) shows their ancestors arrived when there were others already here, so they did to the previous waves what Europeans did to them. That's f**king life.

    I've never considered myself a big fan of Rand, but I don't disagree with what she said and kudos to anyone who can make a profit in their life's endeavors.

  195. Why Can't We Put a BASIC On the Phone? by Anonymous Coward · · Score: 0

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

    10 PRINT "Because your phone was not designed to be a useful tool...it is a media purchasing device."
    20 GOTO 10
    RUN

    Because your phone was not designed to be a useful tool...it is a media purchasing device.
    Because your phone was not designed to be a useful tool...it is a media purchasing device.
    Because your phone was not designed to be a useful tool...it is a media purchasing device.
    Because your phone was not designed to be a useful tool...it is a media purchasing device.
    Because your phone was not designed to be a useful tool...it is a media purchasing device. ...

  196. not just basic on the phone by Anonymous Coward · · Score: 0

    i see the original post more about the state of the modern programming than basic on the phone. now one cannot wipe butt without an enterprise crap load solution. simplicity and efficiency of old school (turn on the computer and start developing) is unknown to programming kids these days. they cannot print hello world without decoupling it first and then writing 1000 lines spring xml.

  197. Gate did not write BASIC for 6502 by Anonymous Coward · · Score: 0

    It was for the Intel 8080.

  198. Android Scripting Layer by Anonymous Coward · · Score: 1

    Android has the Android Scripting Layer. It's not BASIC, but it has several easy to learn languages available.

  199. Forth would be better choice by Anonymous Coward · · Score: 0

    Forth would be a much better choice than Basic. Smaller, faster and much more flexible but still something anyone can learn. Best of all, if you don't like the language, change it.

  200. SPICE source code by emil · · Score: 1

    SPICE was originally written in Fortran, if I remember correctly. In '94, I ran across a public tarfile with the Fortran source, and tweaked "f2c" output which I was able to compile on HP-UX PA-RISC. I also wrote an X-Windows frontend with Motif. It could pipe the "dot-matrix" output into the xmgr graphics package. I think that I still have the source code somewhere. Mail me if you want it. http://rhadmin.org/

    1. Re:SPICE source code by anubi · · Score: 1

      Thanks for the offer, Emil. I believe you have the Fortran source code (2G5 - University of California - Berkeley) that the guys in the aerospace company I worked for recoded into C for the PC. ( With your three digit Slashdot ID, I know you are no spring chicken in these woods ;) ).

      Boy, those were the days. We were all artists, really enjoying the challenge of creating. There is something so beautiful in an elegant algorithm or mechanical design. The closest thing I think of is the beauty of fine music.

      With about 15 years of circuit snippets I have collected over the years, this particular SPICE analyzer has become a part of me, and losing it would be like losing a finger.

      With your experience in piping the dot matrix output to a graphics package, you know exactly what I am doing. Its a heckuva lot of pixel by pixel manipulation on the bit level. The assembler has instructions that will do this. Especially the rotate-thru-carry.

      Again, thanks for your generous offer, but I will pass for now. I figure once I code my little "bitmap capture" program, every time I "print" a plot from Spice, I will see another bitmap file appear in the directory. Finally I will be able to import my plots into modern presentation software.

      That's the fun of this. Its the pleasure of seeing your creation come to life and do its thing.

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

  201. Oh wonderful... by anwe79 · · Score: 1

    We now no longer need to read the comments to get obvious flamebait, let's just post it as stories... Slashdot just got more efficient.

  202. Re:No decent GUI, not the best to type on. Why pho by Rockoon · · Score: 1

    I think the point is that for more and more people, the phone and tablet are the only day-to-day computing devices, and that as time goes on this situation will continue to grow especially in the 2nd and 3rd world countries.

    The idea that hobby development should be done on these devices, rather than end on these devices, seems to be to be an interesting one. BASIC probably isnt the best choice, but not because any of the other text-based choices are any better. I could see a programming language and IDE based upon positioning icons and tying them together to be something worth considering.

    --
    "His name was James Damore."
  203. confusion between Metrowerks and Microware:-%lt; by reiisi · · Score: 1

    erk

    Microsoft did the world a lot of damage with their versions of BASIC. You have to allow for a bit of residual acrimony.

    (MetrowareMicroware's basic09 was kind of fun, way back when.)

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  204. I give up. Stupid not-plain-text. by reiisi · · Score: 1

    Or am I forgetting what the strikeout tag was?

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  205. Blitz Monkey is BASIC by Anonymous Coward · · Score: 0

    http://www.monkeycoder.co.nz/

  206. We've come full circle by BanjoBob · · Score: 1

    While Java is a high-level platform independent language, the coding enviornment has degraded back to the stone age.

    From early days on the Model 33 Teletype coding FOCAL into a PDP-8 or ALGOL on the Burroughs B-5000 to Assembler on 808x/Z80/6502 platforms everything was one line at a time. Then, the world evolved to environments like Smalltalk or the wonderful Interlisp-D on Xerox' D machines. The super friendly and efficient coding environments died soon after. Microsoft's Visual series of environments for the C family of languages is also great.

    Enter java. No pretty environment for such a nice language. We're back to command line coding. No more reverse execution, DWIM, Edit on Break and continue functions. We're back to the stone age. Sun and the Java Community missed the boat by developing a wonderful language with a coding environment that basically sucks the big time. We have de-evolved the coding world with Java. We're back to a Model 33 mentality for coding.

    --
    Banjo - The more I know about Windoze, the more I love *nix
  207. Attention Young People by MobileDude · · Score: 1

    All of us old farts did your mom in the basement computer lab behind the VAX 11/750 on top of the HP1000. Or was it the Honeywell Bull? Whatever, she was a freak.

    --
    10 MD .\crash 20 CD .\crash 30 GOTO 10
  208. Re:exactly. by amnesia_tc · · Score: 1

    Let's see, Insightful, Troll, Flamebait, Insightful. I was going for Funny, personally.

  209. Re:exactly. by TheCouchPotatoFamine · · Score: 1

    objectivism is a cult in that it's members cling to each other's repeated lies to validate their position that boils down into selfishness, pure and simple. It is a cult in that SHE is the center - the self-appointed lightning rod - of an entire group of people who hold a religious belief (i.e not founded on a rational argument) that it's okay to screw people, so long as it fits a personal notion of "progress", bill of rights, et. al. included.

    So there.

    --
    CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
  210. Re:exactly. by TheCouchPotatoFamine · · Score: 1

    objectivism is a cult in that it's members cling to each other's repeated lies to validate their position that boils down into selfishness, pure and simple. It is a cult in that SHE is the center - the self-appointed lightning rod - of an entire group of people who hold a religious belief (i.e not founded on a rational argument) that it's okay to screw people, so long as it fits a personal notion of "progress", whether for or against the bill of rights, the constitution, or any other moral limitation. In other words, a dangerously immoral people looking to a single person as justification; a cult.

    So there.

    --
    CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
  211. Re:exactly. by TheCouchPotatoFamine · · Score: 1

    taxation is in no way government theft. Ghandi wrote that if you oppose a thing, do not participate. Have fun with your privatized fire departments. Oh wait, fire depts are run by volunteers. I guess volunteering is against your damned political agenda, too. It all boils down into misguided selfishness - you have no idea what it takes to make you stay alive. And that's why america is great; you don't have to. lucky for you.

    --
    CS majors know the time/space tradeoff, but they never get taught the 3rd, crucial, tradeoff of the set: comprehension!
  212. qt? by hardeep1singh · · Score: 1

    you can develop on symbian using qt, python and ruby.

  213. Re:exactly. by TapeCutter · · Score: 1

    Compared to the economy of where I live the US economy is definitely in the toilet and it has nothing to do with mythical BMW give-aways.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  214. RealBasic by Anonymous Coward · · Score: 0

    RealBasic is truly OOP. It compiles executable for Win, Mac, Linux, and Web. It can be extended via it's API Plug-in system.

  215. nse bse mcx ncdex trading tips by Anonymous Coward · · Score: 0

    If you are trading in NSE, BSE, MCX and in NCDEX then let sharegyan give you all stock trading gyan

  216. Scripting Layer for Android by kbahey · · Score: 1

    There is a project that provides scripting language capabilities for Android.

    This means Python, Lua, Ruby, Perl and more ...

    See sl4a for more details.