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.
If you want BASIC for your phone, make one.
Help stamp out iliturcy.
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.
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
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.
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.
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.
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.
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!
I typed in "basic interpreter" into the app store and got several results. What are they talking about?
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!
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.
Finding God in a Dog
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.
Finding God in a Dog
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.
Don't confuse Slashdotters with fact. (I have Basic and Lua on my still-in-jail iPhone 4S)
http://www.basic4ppc.com/ comes up with Basic4Android.
Stasis is death. Embrace change.
There is also Basic!, which is free as in a speech about beer.
Damn, this thread went apeshit fast.
This sig is not paradoxical or ironic.
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.
Touch everywhere, even when inappropriate.
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.
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).
Why would you want BASIC in modern age with all the choice of simple scripting languages?
She was a laissez-faire capitalist, but made her money off copyright. That's hypocrisy. Copyright is a state-granted monopoly.
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.
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.
I wrote parts of this stuff
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.
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...
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.
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.
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.
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.