text: Free Revolution Released (24 messages)
  Runtime revolution recently released a free version of Revolution 4.0 which purports to dramatically improve developer productivity. Earlier this year it released a new version of the application development tool that used English language syntax and which they claimed could speed developer productivity by 10 times. They have recently released a free version of the software for developers to get started with. The software allows developers to create native and Web apps on and for Mac, Linux and Windows platforms. The company claims. In this document they show how a one line statement in revTalk would otherwise take 69 lines in Java and 87 lines in C++: The free basic version revMedia is targeted at relatively simple applications, games and web pages. revStudio supports a larger syntax for more sophisticated applications, while the revEnterprise has some security enhancements. Has anyone had any experience with the language, and if so did it improve your productivity in any way? Did the quicker coding come with reduced performance on the server? What kind of apps have you found it useful for? You can download the free version of revMedia and trials of the others here: [Contributed by writer George Lawton]
  - Posted by: Bree Nally
  - Posted on: December 02 2009 09:32 EST
  Threaded Messages (24)
  - Free? by Jack Surrender on December 02 2009 10:34 EST
  - One line in Groovy by John Shuster on December 02 2009 11:09 EST
  - Re: One line in Groovy/C#/Java by Jacek He??ka on December 03 2009 09:34 EST
  - Re: eval by Kevin Miller on December 04 2009 10:40 EST
  - loc by John Smith on December 04 2009 02:16 EST
  - In normal circumstances by Yannick Menager on December 02 2009 12:00 EST
  - Re: Free Revolution released by Kevin Miller on December 02 2009 12:14 EST
  - Re: Free Revolution released by augustientje bloem on December 05 2009 11:24 EST
  - Java and rev are a winning team by Malte Pfaff-Brill on December 02 2009 14:08 EST
  - Re: Java and rev are a winning team by Arie Ozarov on December 02 2009 14:38 EST
  - Syntax and LOC counts is a distraction by Scott McDonald on December 02 2009 18:47 EST
  - didn't expect to see Rev mentioned here by Bernard Devlin on December 03 2009 05:31 EST
  - Merits? by Jack Surrender on December 03 2009 09:13 EST
  - Re: Merits by Kevin Miller on December 04 2009 07:24 EST
  - eval by John Smith on December 04 2009 10:22 EST
  - narrow-minded by Bernard Devlin on December 05 2009 05:55 EST
  - Re: Free Revolution Released by A D on December 03 2009 16:54 EST
  - Not so strange? by Scott McDonald on December 08 2009 17:47 EST
  - Java code fix with the help of Apache commons.io by Ray H on December 04 2009 18:47 EST
  - Re: Java code fix with the help of Apache commons.io by Ray H on December 04 2009 18:59 EST
  - Re: Free Revolution Released by Jack Vaughan on December 04 2009 23:33 EST
  - confusing what and how by Yves Bossel on December 07 2009 07:25 EST
  - Re: confusing what and how by Vladimir Korenev on December 08 2009 07:59 EST
  - OMG, yet another Cobol by Vladimir Korenev on December 08 2009 07:47 EST
  Free?[ Go to top ]
  Free programming language and free browser plugin. Cute.
  - Posted by: Jack Surrender
  - Posted on: December 02 2009 10:34 EST
  - in response to Bree Nally
  One line in Groovy[ Go to top ]
  new URL('').text.readLines()[1].split(',')[-1] I think that 69 lines of Java is inflated too if you look at their example. Color me skeptical but I'll stick to a real programming language.
  - Posted by: John Shuster
  - Posted on: December 02 2009 11:09 EST
  - in response to Bree Nally
  Re: One line in Groovy/C#/Java[ Go to top ]
  One line of C#: Console.WriteLine(new WebClient().DownloadString("<a href="" ).split('n')[1].split(',')[6]"="" rel="nofollow">").Split('n')[1].Split(',')[6]); One line of Java also: System.out.println(new URL("<a href="" ).getcontent().tostring().split("n")[1].split(",")[6]"="" rel="nofollow">").getContent().toString().split("n")[1].split(",")[6]); And I don't think, that revTalk syntax is very similar to english: function filterDots pList local tList put pList into tList filter tList without "." filter tList without ".." return tList end filterDots
  - Posted by: Jacek He??ka
  - Posted on: December 03 2009 09:34 EST
  - in response to John Shuster
  Re: eval[ Go to top ]
  On the contrary, Rev is used in mission control at the Landsat 7 satellite, the University of VIenna have a revTalk application that runs to 1.5 million lines of code stored in an Oracle database that manages every administrative function for the 60,000 students and staff at the university, we have an airline that uses it for its real time flight booking system, and the list goes on and on. There are plenty of case studies on the site. We have updated the comparison PDF at to reflect the feedback from this debate.
  - Posted by: Kevin Miller
  - Posted on: December 04 2009 10:40 EST
  - in response to Jacek He??ka
  loc[ Go to top ]
  - Posted by: John Smith
  - Posted on: December 04 2009 14:16 EST
  - in response to Kevin Miller
  1.5 million lines of codeI work at a much bigger university and we don't have 1.5 million lines of code in all of our enterprise apps built using Java!
  In normal circumstances[ Go to top ]
  In normal circumstances, i would never bother putting a comment about such an article... oh, someone created o yet another language with dubious practical uses *yawn* But after looking at the example, i just *got* to say something. What a bunch of *deceiving crap* his examples are Looks like he trying to scare people in thinking mainstream languages are way complicated, and thus should use revTalk, since writing a hello world would take 1000 years to write with a language like C++ or Java The examples are just beyond ridiculous... Hell, I'm sure i could make his revTalk example to take 1000000000 lines by using his "programming techniques" Piece of advice, if you wish to have any respect for your work, don't use shady car salesman techniques, because you're not fooling anyone
  - Posted by: Yannick Menager
  - Posted on: December 02 2009 12:00 EST
  - in response to Bree Nally
  Re: Free Revolution released[ Go to top ]
  Well that all depends on your point of view. You're shortened example compares "Groovy", a separate language which compiles to the Java VM, with revTalk. But in this example we are comparing revTalk with Java. Groovy is a different language, different from Java in many ways. You can shave a few lines off the examples, but you can also optimize the Rev cases. In both cases we're comparing code that is readable and understandable, real world uses rather than the perfect code. Even looking at that Groovy 1-liner, while it might make sense for you as a programmer, for most people it makes no sense at all. Its not readable code. It is for you, you're used to that syntax. Rev is a great productivity tool used by many enterprises world wide. But beyond that there is a class of user that current programming languages don't serve so well that Rev appeals to.
  - Posted by: Kevin Miller
  - Posted on: December 02 2009 12:14 EST
  - in response to Yannick Menager
  Re: Free Revolution released[ Go to top ]
  - Posted by: augustientje bloem
  - Posted on: December 05 2009 11:24 EST
  - in response to Kevin Miller
  But beyond that there is a class of user that current programming languages don't serve so well that Rev appeals to.The classic Visual Basic and PHP argument... Some people just should not be programming. Visual Basic was supposed to be so easy that everyone who found C++ or Java too difficult could not 'suddenly' program. Guess which languages most frequently make it to thedailywtf? Programming requires more than just understanding some syntax. If you have the capabilities and training to understand what programming and developing in general entails, none of the mainstream syntaxes should be too difficult for you. But if the Java or C++ syntax is already too difficult for you, for the love of god, stay away from programming. Thank you!
  Java and rev are a winning team[ Go to top ]
  Hi there, what I can say is that Java and rev are a winning team. I had the opportunity to help building a front end to a very sophisticated Java server in rev. I was hired, because I am a long time rev dev, when the company that built the server was searching for an environment that could build standalone applications for the major Oses and were evaluating rev. What they had until then worked in the browser, but was way too slow to display the amount of data they needed to process. I helped building the front end in rev enterprise. Both server and front end talk via compressed XML. The front end is very responsive. It even works on an ancient iBook. The company that hired me to do that job is very happy with the outcome. Even though not every dev over there is fond of the revTalk language. It is a different beast than Java. It is a matter of taste. Their head of IT loves it, some of their devs like it, some are gnashing their teeth. There are quite a few features that would not have easiely been possible to implement otherwise. For example the rev app is capable of updating itself at runtime, without the need to restart it. The guys are very fond of that feature. Plus the deployment to the major 3 from a single code base cut down dev cost a lot. Cheers, Malte
  - Posted by: Malte Pfaff-Brill
  - Posted on: December 02 2009 14:08 EST
  - in response to Bree Nally
  Re: Java and rev are a winning team[ Go to top ]
  I don't think that counting lines of code means that much. E.g:Though this simple shell script does the job I would not try to compare it to Java. I think a strength of a language is more than its syntax and SDK and also includes community support and availability and quality of third-party libraries. The Java example could be significantly simplified by using jakarta commons lang (StringUtils) and httpclient.curl "" | sed -n 's/.*,//;2p'
  - Posted by: Arie Ozarov
  - Posted on: December 02 2009 14:38 EST
  - in response to Malte Pfaff-Brill
  Syntax and LOC counts is a distraction[ Go to top ]
  I don't think programmers choose the languages they use based on the syntax. All languages have their quirks and verbosities, which to the outsider look stupid and annoying. The revTalk language used in Revolution is no different in this regard. It sure does look quaint with a syntax based on English phrases. While I understand where the examples in the RevTalk Comparison pdf are coming from, and how the RunRev team are trying to appeal to non-programmers, that doesn't limit Revolution to an arts major wanting to whip up an application for his or her next class project. Evaluating a development tool based on how much your language can do in X lines, compared with my language in Y lines is just a distraction. You can dream up counter examples in any language to show that Y is better than Z. Who takes that sort of debate seriously? It proves little -- except perhaps giving an idea of how "readable" a language is to the new-comer. Anyway, back to the questions in the OP, Revolution is used here and is effective. To date we do desktop development, so I can't comment on server side issues. But having the option of doing browser based apps and server scripting with the same tool is a bonus. I don't care much about whether it has the reputation of being a "real" language or not. I've been programming real world apps for more years than I care to remember and Revolution has earned a place in my toolset. Is it ideal for all types of software development? Of course not. So while it requires a different way of thinking from the Java OOP approach, by taking the time to understand it (and not writing it off because of PR hyperbole), by playing to it's strengths, Revolution can be a ridiculously productive environment.
  - Posted by: Scott McDonald
  - Posted on: December 02 2009 18:47 EST
  - in response to Bree Nally
  didn't expect to see Rev mentioned here[ Go to top ]
  Since this discussion has veered off from the original questions, I'll try and answer here. But first some preamble. I used to be a regular visitor here 5+ years ago. But I stopped using Java on the server-side and so this place became increasingly irrelevant to me. I used to do Java development using VAJ, then Websphere/WSAD, and finally moved onto WebObjects. I currently use python on the server-side, but I have developed many applications using Revolution. What a lot of the discussion on here has missed, is that (under a previous name of MetaCard), Revolution has been around since the early 90s, and as such is comparable with the initial project of Java as a tool for developing cross-platform client-side applications and browser-based applets. It's taken RunRev a long time to get round to producing a browser plugin, and that is going to be a difficult area in which to compete, given the near total dominance of Flash in this area. Just yesterday evening I saw my whole browser freeze whilst it loaded a Java applet. I haven't seen that when I've visited a site that has a Revolution applet. So that at least makes Revolution's delivery mechanism suck less than that of Java applets.
  - Posted by: Bernard Devlin
  - Posted on: December 03 2009 05:31 EST
  - in response to Bree Nally
  Runtime revolution recently released a free version of Revolution 4.0 which purports to dramatically improve developer productivity. Earlier this year it released a new version of the application development tool that used English language syntax and which they claimed could speed developer productivity by 10 times.As a tool for developing client side applications, Revolution completely knocks the socks off Java. I can literally program in Revolution at the speed at which I can type (about 60 wpm) because there is far less of an "impedance mismatch" between my thinking (in English) and my programming. Revolution is not perfect, but it is closer to being the ideal than anything else I've come across. Even after months away from using Revolution, I can come back to it with almost no loss of speed..Whilst I think those claims by RunRev are true, it does not make Revolution particularly relevant for users of this site. But lets face it, there is a huge chasm to cross for anyone who is not a trained programmer. This is particularly the case when it comes to writing cross-platform GUI apps (the only other language I can think of in this area is RealBasic). The traditional target market for RunRev could not be further away from the people who use this site. What perhaps should be of (some) interest to users of this site is that Revolution now comes closer to spanning the range of execution contexts in which Java operates. That is, the same language can be used to write a server-side application, a fat client application, and a web-plugin. I would be surprised if RunRev ever produced a mechanism to be able to run Revolution applications on a mobile phone, but then I'm surprised they ever went down the route of writing a browser plugin.
  In this document they show how a one line statement in revTalk would otherwise take 69 lines in Java and 87 lines in C++: comparisons should not be taken as anything more than examples for inexperienced people to get a flavour of what achieving a particular effect takes in different languages. It is of course obvious that experts in Java would be able to shorten those code samples. But those code samples are probably representative of the code that non-experts would write, and hence serve to illustrate the point to RunRev's target market.
  Has anyone had any experience with the language, and if so did it improve your productivity in any way? Did the quicker coding come with reduced performance on the server? What kind of apps have you found it useful for?I haven't used Revolution on the server-side because there are far too many useful and well-tested libraries and products available for other languages such as python. Furthermore, I just find the failure to separate code from presentation (as used in ASP, JSP, RoR, etc) to be ugly. I much prefer something like TAL, where the code hooks into valid markup language. I have used revTalk for client-side applications. And it has filled this niche so well for me, that I use nothing else. I may find some use in the future for browser-based applications. But for the multimedia delivery I need in my current web application, I'm choosing Flash. The main reason is that Revolution relies on the presence of QuickTime on the client for the provision of anything more than the most basic multimedia capability. Whilst I admire what Apple achieved with QuickTime, I have no confidence that Apple are behind this product any more. And I want my multimedia content to play on Linux too. I would have preferred it if RunRev had continued to focus on fat-client applications instead of expanding into web provisioning and delivery. RunRev should have devoted their resources to finding a good way to make Revolution exploit multiple processors in fat-client applications. (This is probably not an issue on the server-side, as Apache will make use of additional processors). I realise that many other long-standing languages (e.g. SmallTalk, Tcl) do not yet have a mechanism for exploiting multiple processors, and thus Revolution is not alone. (Obviously Java does have a mechanism for this). Revolution should not be dismissed by anyone who is truly interested in computing. It is carrying forward a tradition based in HyperCard that goes back to a time when the current crop of IT graduates were not even born. Revolution bears much in common with SmallTalk (in terms of a message-passing paradigm), and even Tcl and Javascript (with the use of event-based programming). Also Revolution is an extraordinarily dynamic environment - the IDE is written in revTalk and can be changed by the programmer at runtime. Runtime Revolution have pulled off an amazing achievement over the last 8 years or so. And I for one never imagined they would be discussed on this site. I hope my perspective is of some use.
  Merits?[ Go to top ]
  How could I possible consider the merits of a programming environment where "Commands & Functions" are sold by the dollar!. I suggest we put an "English" layer on top of groovy and sell it by the hyphen.
  - Posted by: Jack Surrender
  - Posted on: December 03 2009 09:13 EST
  - in response to Bernard Devlin
  Re: Merits[ Go to top ]
  Time is money. Buying some commands and functions is cost effective if it saves you time. If its "snake oil" then why do NASA, Siemens, KLM, New York Law School and hundreds of other top brands and universities use it? Every tool has its place. Rev certainly isn't suitable for everything but there are many things that it does excel at which brings real benefits to those businesses that rely on it every day.
  - Posted by: Kevin Miller
  - Posted on: December 04 2009 07:24 EST
  - in response to Jack Surrender
  eval[ Go to top ]
  - Posted by: John Smith
  - Posted on: December 04 2009 10:22 EST
  - in response to Kevin Miller
  If its "snake oil" then why do NASA, Siemens, KLM, New York Law School and hundreds of other top brands and universities use it?Lots of companies buy software to evaluate it. While we bought Cold Fusion to support a small one-off app, we don't use it for the major enterprise apps. Same with your product I'm sure.
  narrow-minded[ Go to top ]
  - Posted by: Bernard Devlin
  - Posted on: December 05 2009 05:55 EST
  - in response to Jack Surrender
  How could I possible consider the merits of a programming environment where "Commands & Functions" are sold by the dollar!I'm a paying customer of RunRev. I don't work for RunRev (and given the grief I've caused them over the years, they might even prefer I was not a customer). The fact that RunRev have gone from strength to strength in the last decade shows this is a viable programming environment. When I first evaluated Revolution many years ago, I also evaluated Rebol. Rebol is not even a contender these days. I hope for the sake of any company you work for that you are not in charge of evaluating software or IT services. Outside of the open-source world it is compeletely normal for companies to charge more for additional features. Activestate do this with their Komodo IDE, and even with thing like Active Tcl Pro. Oracle and IBM do it in distinguishing between their free and their for-money databases. Even Mandriva does it with the different versions of Linux they offer if one's prepared to pay. Adobe do it with Flash, charging for the IDE. They also do it with Acrobat. If you're really going to dismiss out of hand any company that charges for additional features, you're closing your eyes to everything except open source software (and some abandonware). Free software is great, but in some situations the gap between the best software and free software is so great, that there is no real option but to pay for software. Good luck finding a free cross-platform development environment that even novice users can use. Good luck producing cross-platform applications that look as good on as many platforms as do those produced by Revolution. Good luck finding a development tool as dynamic as Revolution. There's clearly no point in putting someone as blinkered as you in charge of a budget. I presume that you are either an aristocrat or you live on state handouts. Clearly you work for free, and expect RunRev to do the same..
  Re: Free Revolution Released[ Go to top ]
  I find it bit strange that all the people posting 'positive' comments on this site about Free Rev have never actually posted before. Guys, Astroturfing is BAD......
  - Posted by: A D
  - Posted on: December 03 2009 16:54 EST
  - in response to Bree Nally
  Not so strange?[ Go to top ]
  - Posted by: Scott McDonald
  - Posted on: December 08 2009 17:47 EST
  - in response to A D
  I find it bit strange that all the people posting 'positive' comments on this site about Free Rev have never actually posted before.It is not strange given that Revolution is not part of the Enterprise Java scene. With this invitation from the original post:
  Has anyone had any experience with the language, and if so did it improve your productivity in any way? ...I would be surprised if any of the informed replies were from regular members of TheServerSide community. If you want genuine debate, in contrast to, "I just don't like it after spending 20 minutes looking at the website" predictable replies, I think you have got to expect some fresh voices. Otherwise, what's the point?
  Java code fix with the help of Apache commons.io[ Go to top ]
  Just to prove the point: System.out.println(new LinkedList(Arrays.asList(IOUtils.readLines( new URL("").openStream()).get(1).toString().split(","))).getLast()); Also keep in mind, that API is everything: public static void main(String[] args) throws IOException { System.out.println( GetLastItemOf( GetLineNrOf(2, "")) ); } private static String GetLastItemOf(String line) { return new LinkedList(Arrays.asList(line.split(","))).getLast(); } private static String GetLineNrOf(int i, String url) throws IOException { return (String) IOUtils.readLines( new URL(url).openStream()).get(i); }
  - Posted by: Ray H
  - Posted on: December 04 2009 18:47 EST
  - in response to Bree Nally
  Re: Java code fix with the help of Apache commons.io[ Go to top ]
  After reading my own post I realized, how you should argue instead of comparing line numbers. You should argue, that this is more natural to non programmers: get the last item of line 2 of URL "http://..." versus this line: GetLastItemOf( GetLineNrOf(2, "http://...")) ); And you would have a valid point. ( Again: to non programmers that is )
  - Posted by: Ray H
  - Posted on: December 04 2009 18:59 EST
  - in response to Ray H
  Re: Free Revolution Released[ Go to top ]
  Perhaps it is strange. But not bad, per se.
  - Posted by: Jack Vaughan
  - Posted on: December 04 2009 23:33 EST
  - in response to Bree Nally
  confusing what and how[ Go to top ]
  Please be fair and rigorous: The example just compares oranges to apples. A method call says "what" to do (The Revolution example) A method declaration says "how" to do the job (The C#, C++ and Java examples).
  - Posted by: Yves Bossel
  - Posted on: December 07 2009 07:25 EST
  - in response to Bree Nally
  Re: confusing what and how[ Go to top ]
  - Posted by: Vladimir Korenev
  - Posted on: December 08 2009 07:59 EST
  - in response to Yves Bossel
  A method call says "what" to do (The Revolution example)Declarative languages say what to do. But the Revolution is imperative. So all of them say "how".
  A method declaration says "how" to do the job (The C#, C++ and Java examples).
  OMG, yet another Cobol[ Go to top ]
  The goal of this language seems to persuade big bosses they can understand something in programming.
  - Posted by: Vladimir Korenev
  - Posted on: December 08 2009 07:47 EST
  - in response to Bree Nally