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.
It's easy to throw together a BASIC interpreter. However, in this day and age, why would you want one?
Programming isn't a matter of a few swooshes on a capacitive touchscreen. Also, who could muster enough attention between two instant messages?
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.
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.
Microsoft Research has a TouchDevelop app for Windows Phone, maybe you can try it
https://research.microsoft.com/en-us/projects/touchdevelop/
...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
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!
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
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)
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.
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.
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
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()!
That includes most people currently employed as programmers.
make imaginary.friends COUNT=100 VISIBLE=false
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.
She was a laissez-faire capitalist, but made her money off copyright. That's hypocrisy. Copyright is a state-granted monopoly.
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.
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.
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.
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.
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.
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.
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.
...for FORTRAN.