toggle

AAPL Stock: 111.78 ( -0.87 )

Printed from http://www.macnn.com

First Look: Revolution 2.9, cross-platform compiler

updated 11:00 pm EDT, Mon April 7, 2008

First Look: Revolution 2.9

Programming a computer generally isn't difficult, but requires mastering a specific language along with a handful of programming tools. Unfortunately, most programming languages and tools are geared for professional programmers who can devote time learning a particular programming language and operating system. For someone who just wants to write a full-featured program without getting bogged down in technical details, there's Revolution 2.9, a cross-platform programming tool that uses a programming language based on plain English syntax. Revolution makes programming easy for novices while offering advanced features for more experienced programmers.

Perhaps the most important part about programming is designing the user interface. To simplify this process, Revolution provides a toolbox of commonly-used controls, such as buttons, sliders, pop-up menus, and check boxes. By just clicking on the control you want and dragging it in place over a blank window, you can create a working user interface without writing any programming commands at all.



After you design the user interface, you can customize each control, such as giving it a distinct name, defining its exact placement or size, modifying its colors, or defining how it formats text. Every control provides dozens of properties, giving you complete control over the appearance of your program's user interface.

To make your user interface do something useful, you need to write commands, called scripts, using Revolution's programming language. Unlike traditional programming languages that consist of arcane symbols and abbreviations (such as x+= 5;), Revolution's language consists of descriptive English words. A typical Revolution command might look like this:

put 5 into field "Age"


Revolution's programming language is based on the AppleScript programming language, which comes with Mac OS X, and the HyperTalk programming language used in the once-popular HyperCard program. Although Revolution's language may seem wordy compared to the sparse commands of C++, Revolution's language makes programs easier to read, write, and understand.

More importantly, Revolution's language allows you to perform functions that might require a dozen or more equivalent commands in any other language. For example, to retrieve a stock quote from Yahoo! might take a page or more of C++ commands. However in Revolution, you can retrieve a stock quote using a single command such as:

get URL "http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d`=.csv"


The Revolution command is simply "get URL" while the complicated string that follows is required by Yahoo to define the stock data you want to retrieve.



Unless you're already familiar with AppleScript or HyperTalk, Revolution's programming language may seem confusing at first. To help you learn its language and its tools, Revolution provides a 300+ page user manual as a PDF file along with plenty of tutorials and sample projects for you to tear apart and examine. For more help, Revolution provides an online dictionary that explains how to use every Revolution command.



Perhaps Revolution's greatest feature is its cross-platform ability. Revolution runs on Windows, Mac OS X, and Linux, which means you can write a program once and compile and run it on multiple operating systems with little or no modification.



Best of all, Revolution compiles your programs into a single file so you can easily copy and share your programs with others without worrying about any additional files needed to make your program work, which is often a problem with other programming languages such as Java or Visual Basic.

If you want to write programs quickly and easily without feeling like you need to study computer science, consider Revolution. Revolution's language is simple enough for anyone to learn and understand, and its ability to create Mac OS X, Windows, and Linux programs is an added bonus.

Revolution comes in three versions: Media ($49), Studio ($399), and Enterprise ($999). Both the Media and Studio versions only let you compile programs for a single operating system while the Enterprise edition lets you compile programs for Windows, Mac OS X, and Linux.




by MacNN Staff

toggle

Comments

  1. whelkboy

    Joined: Dec 1969

    +1

    It's awesome!

    Rev isn't just suitable for the hobbyist but also for the commercial application developer. Whilst the basics are easily accessible, there's an awful lot of extra power and some wickedly advanced commands available.

    Plus it's backed up by a huge community of developers!

  1. unconvinced

    Joined: Dec 1969

    -1

    Unconvinced

    A problem with this product is that it sits in between two chairs. It is not really meeting the needs of the person who wants to learn to code the easy way. It is not meeting the needs of a person who would want to get things done without having to code

    - For persons with no prior coding experience and wants to learn to code, a problem is that the language is like nothing else. This means that it is not possible to easily transfer knowledge to other programming environments. It's a bit like learning Esperanto. Sure, it was designed to be an easy and flexible language. Problem is it is really not easy to find anybody else speaking it. You cannot easily find books written in it. You would be quite limited in what you can do if you were to have Esperanto as only language. Anybody who wants to learn to program should choose another language that is in wider use.

    - For persons who don't want to learn program and be bothered by technical details, features are far too limited. There is no decent table object. There is no library for charts, pie graphs, etc. In fact there is no library for doing most things. The structure of the language and the small-size of the community doesn't encourage third-party development. Without taking a few months to learn the basics of programming, not much can be done but slideshows or basic multimedia presentations that mix graphic, videos, and images. This can be done with simple html or other software out there, for free.

  1. unconvinced

    Joined: Dec 1969

    -1

    overstatements

    "huge community of developers!". This is somewhat of an overstatement. The total number of contributors to the mailing list was about 130 for last month.

  1. unconvinced

    Joined: Dec 1969

    -1

    unconvinced

    One of the examples given is quite amusing:

    -----------------------------------

    However in Revolution, you can retrieve a stock quote using a single command such as:

    get URL “http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d`=.csv”

    -----------------------------------

    What you get back is a file in CSV (comma separated values) format. Most programming languages have functions to parse such data. Revolution doesn't.

    Have this as a set of data: "AA,PL",155.89,0.00 Define the comma as the item separator and ask to display item 2. You will get PL" instead of the expected 155.89

    Revolution doesn't have either functions to parse JSON data.

  1. sribe

    Joined: Dec 1969

    -1

    also unconvinced

    One of the examples given is quite amusing:

    -----------------------------------

    However in Revolution, you can retrieve a stock quote using a single command such as:

    get URL “http://download.finance.yahoo.com/d/quotes.csv?s=AAPL&f=sl1d`=.csv”

    -----------------------------------

    Unless of course you're on a Mac using Carbon and use one of the Core Foundation CFURL functions, or on a Mac using Cocoa and use one of the NSURL functions, or on Windows using .NET, or on Windows using, well, any one of a huge number of frameworks or libraries...

  1. bjdevlin

    Joined: Dec 1969

    +1

    see for yourself

    "Unconvinced" seems rather biased. Every language has nuances, and CSV means different things to different people. Rev's text-parsing facilities are extremely good. Don't be put off - give Revolution a try. It is one of the most useful tools I have at my disposal.

    I've been using Revolution, Java, SQL, VB, Python, and Javascript for the last 5 years or so. When it comes to a language for dynamically scripting cross-platform GUIs, Rev is really out in front and is at least on a par with Flash and Laszlo, if not ahead of those in many ways. Indeed, there are even some complex server-side data-processing tasks where Java+SQL was too slow, but Rev was blazingly fast, even though Rev is not principally aimed at such GUI-less work.

    If someone wanted to develop their own applications I would unhesitatingly recommend that they use Rev rather than any of the other languages listed above.

    The lack of libraries in Rev is really less important than in many other languages. I recently needed to interface with XMPP servers. Whilst there was a Java library available, it took me longer to get everything working using the available library in Java than it took me to write my own library in Rev. And which library do I understand better and which library is going to be more easily extended?

  1. JerryDaniels

    Joined: Dec 1969

    0

    Convinced, also!

    I have to say that some of these "unconvinced" posts are more than a little biased. I've used Revolution as a handy tool in corporate IT situations and for commercial development and very good at what it does.

    The support community is very responsive and the price of the package is very reasonable. There is no better way to quickly and and easily parse text, IMO.

  1. trevordevore

    Joined: Dec 1969

    0

    Impressive Release

    I've been using Revolution for a number of years now and while I can't speak as one who started using Revolution to learn programming I have found it to be a great development environment for our commercial applications.

    I was originally attracted to Revolution for it's ability to create native cross-platform applications but have also found it be an excellent tool for creating tools to manipulate data. It's simple to whip up a quick GUI and create a little app that automatically performs some mundane task.

    2.9 has been an interesting release. Revolution was getting some complaints from their customers about the quality of the product. 2.9 is the response to those complaints. The quality improvements coupled with the new features that were introduced in 2.9 makes for a very impressive product that gives me confidence in the platform moving forward.

  1. Zuidema

    Joined: Dec 1969

    0

    Convincing pt.1

    uc: "a problem is that the language is like nothing else" The core benefit of Revolution is that it is like ENGLISH. This makes it accessible to anyone who can organize their thoughts, who is able to break a challenge into its component parts and steps needed to solve those problems. If you are able to construct a flowchart to process what you want to do, then you can use Revolution to articulate that in program code, then generate a true standalone application on Mac, Windows, and Linux. No other development platform enables a reasonably analytical person to create software for just about every desktop computer in use today.

    uc: "not possible to easily transfer knowledge to other programming environments" This is simply ridiculous on the face of it. That is like saying a C++ programmer doesn't have an advantage when it comes to JavaScript. Revolution is a mature programming environment with nearly every element of third-generation high-level languages. All the core constructs are there including if-then-else constructs, case statements, looping, arrays, message passing, etc. While the particular syntax will differ from one language to another, the concepts are quite transferable. Rev is a great starting point that doesn’t require a painful and extended learning curve before one achieves results. As a learning strategy, it certainly makes sense to master concepts first and implementations second. The concepts will apply to multiple languages. Concepts employed by Revolution are absolutely sound foundations for learning any other language.

    uc: "Anybody who wants to learn to program should choose another language that is in wider use" A challenge for anyone who is just starting out is which language to learn. JavaScript? Java? PHP? Ruby? C++? Visual Basic? There are dozens and dozens of choices out there. All the other languages have a step learning curve in that you have to master arcane syntax, vast libraries of functions that have obtuse parameters, and the particular limitations of each. JavaScript requires you to know the "document object model" and the peculiarities of three or four different browsers across three major platforms. Visual Basic only lets you deploy to Windows. PHP doesn't let you do desktop apps. C++ takes months to get up to speed. This is on top of the core concepts that Revolution makes so much easier to understand. With Revolution, you literally can write once and deploy anywhere. With few exceptions, all the gotchas associated with writing cross-platform code are taken care of for you. It might be true that if your goal is to become a professional programmer, you'll eventually have to learn one of those other languages. But to start out, Revolution is a really sound choice. If your goal is to automate business processes, parse large volumes of data, create mashups combining data from the web and database systems, then Revolution is an excellent way to actually FINISH

  1. Zuidema

    Joined: Dec 1969

    0

    Convincing pt.2

    uc: "There is no decent table object." There is a table object; it is not as fully featured at this time compared to other environments. But it's quite usable and professional results are certainly possible with it.

    uc: "There is no library for charts, pie graphs, etc." There are a number of libraries in the public domain for charting and graphing. Furthermore, constructing those in Revolution from scratch is very easy and simple.

    uc: "Without taking a few months to learn the basics of programming, not much can be done but slideshows or basic multimedia presentations that mix graphic, videos, and images." You can get further in less time with Revolution than any other programming environment. It takes time to master any language. You can't just buy a copy of Visual Studio and write Office 2009 in a weekend. But with Revolution, you could definitely do a very usable multi-user database front-end in a weekend. Importantly, several successful commercial software packages are written in Revolution. Revolution is employed by many Fortune 1000 companies. It’s used by NASA. It’s taught by universities.

    uc: "this can be done with simple html or other software out there, for free." The value proposition of Revolution lies in two areas: - First is that *NO* free software exists that lets you distribute true standalone application software that runs on virtually every desktop in use today. - The second is the amazing fact that Revolution lets you do the above almost immediately, without formal courses or mountains of documentation. The typical business person cannot just sit down and write an "ajax" web-application. But they can indeed do impressive work with Revolution. Lots of people have been discouraged trying to do something usable with web technologies. Suppose you have in mind a dynamic, interactive, slick-looking, data-driven application. If you want to use web technologies, you have to combine HTML, PHP, JavaScript, and SQL -- that's four VERY different languages, different syntaxes, just to get ONE thing done! The cost of decent books on those can cost you more than just using Revolution. The hours and hours of learning you'll have to do to even get to "Hello World" means you'll likely never get started. The bumps and detours in the road mean almost no one finishes. Do you want to be an uber programming geek, or do you want to be a business person who has the ability to write a program to get things done?

    uc: [put URL example and result] Mr. Unconvinced suggests that the result of the Yahoo query used as example in the article will not be immediately usable by Rev. This is a red herring, as the actual result returned by that command is quite easily parsed with Rev:

    "AAPL",147.78,0.00,"AAPL","AAPL","AAPL","0.00 - 0.00%","AAPL",114121

    What UC is pointing out by using a faked result line is, if the CSV file has a comma within quotes, the bu

Login Here

Not a member of the MacNN forums? Register now for free.

toggle

Network Headlines

toggle

Most Popular

MacNN Sponsor

Recent Reviews

Dell AD211 Bluetooth speaker

For all of the high-priced, over-engineered Bluetooth speakers in the electronics market, there is still room for mass-market solution ...

VisionTek 128GB USB Pocket SSD

USB flash drives dealt the death blow to both the floppy and Zip drives. While still faster than either of the old removable media, sp ...

Kodak PixPro SL10 Smart Lens Camera

Smartphone imagery still widely varies. Large Megapixel counts don't make for a good image, and the optics in some devices are lackin ...

toggle

Most Commented