MIT creates picture-driven programming for the masses
networkworld.com
networkworld.com
I found this piece interesting:
>The Sikuli Search prototype has a database of 102 popular computer books covering various operating systems (e.g., Windows XP, MacOS) and applications (e.g., Photoshop, Office), all represented in PDF4. This database contains more than 50k screenshots. The three-feature indexing scheme is written in C++ to index these screenshots, using SIFT [11] to extract visual features, Tesseract5 for OCR, and Ferret6 for indexing the text surrounding the screenshots. All other server-side functionality, such as accepting queries and formatting search results, is implemented in Ruby on Rails7 with a SQL database. On the client side, the interfaces for searching and annotating screenshots are implemented in Java.
... and the scripting engine is in Python.
Sometimes I wonder if Computer Science wouldn't have been better off with a constantly evolving C rather than all this mess. Every time I build a web application I feel as if I am building Frankenstein's body with different animal parts.
There were two major attempts to bring computers to the masses COBOL and SQL and they both managed to produce the opposite result rather than the masses using them a demand was created for very highly paid Programmer jobs! Electronic Engineers never attempted to teach the masses how to build TV's. In the late 80's I was teaching laymen things like 'How to Use MSDOS' and 'Introduction to Wordperfect' which paid for the rent but overall was a depressing experience. I also taught at the same time 'Pascal' and 'C' to Mechanical Engineers, my conclusion was that some people take to programming - like some people take to maths, they enjoy it and after an initial push they will teach themselves the rest and the rest will never touch programming even if their life depended on it.
In my mind the only successful 'programming for the masses' products are Excel and partly HTML.
ADD YEARS TO AGE
A similar motivation was for SQL. We will give you a database and a query language that anyone can use: SELECT title FROM Book .....
During the early days of computing the thought prevailed - pretty much like now - that it was a matter of 10 years before computers would be able to talk in natural languages and AI was around the corner.But, you are right about BASIC that was my first language as well, quickly dropped for Turbo Pascal which was the sort of the in-thing for a while.
"GUI Testing Using Computer Vision"
http://groups.csail.mit.edu/uid/projects/sikuli/sikuli-chi20...
EDIT: It appears it cannot grab the actual text using the Native APIs so you would have to include a pipeline to OCR black-on-white text
That's actually the problem I forsee with the visual scripting environment. There is no better single point of instruction than a compiler error or syntax error highlighting. If you try to circumvent that process to make it more "accessible" to the public, you're going to keep your visual programmers in the dark as to what is actually occurring.
Edit: here's a paper with examples. http://groups.csail.mit.edu/uid/projects/sikuli/sikuli-uist2...
I do quite a bit of research in machine learning, and I can say that these systems are never perfect. Building an abstraction on top of an image processing technique is interesting, but I really wonder how a system like that can be debugged if something goes wrong.
Programming languages are an abstraction. G is just another abstraction. I've used BASIC and C compilers with terribly cryptic, useless errors too; the errors had more to do with flaws in the compiler and IDE than the language itself. If errors in LabView are cryptic or obtuse, I would assume something similar.
(it isn't)