Advertisement
Promo

Become a member of the ZDNet UK community

Adrian Bridgwater

View blog's RSS Feed

Software application development

This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.

Wednesday 25 November 2009, 2:09 PM

Does 10x faster development dumb down programming?

Posted by Adrian Bridgwater

If you’re in the business of reviewing software application development news, which coincidentally I am, then tenfold programming productivity claims tend to either raise my eyebrows or raise my hackles in equal measure.

Software development company Runtime Revolution Ltd has this week introduced its Revolution 4.0 product for application and web development – and it’s available in a free version too.

This outfit doesn’t seem to mess about when it comes to making big claims. The company’s product uses an English syntax that requires (and I quote) ‘90-per cent less code than traditional languages’. I suppose that adds up, 90 per cent less code equates to ten times faster. But it is of any substance?

Runtime Revolution says that its Rev programming language descends from natural-language technologies such as Apple’s HyperCard and, “Empowers people who would never have attempted programming to create successful applications,” and that this, ”Enables software construction for everyone.”

Oooh, sounds dangerous doesn’t it? Surely not everyone has the mind of a software programmer and the algorithmic logic that the application developer has command of is the foundation of the creativity and power that they themselves wield.

Of course I’m being deliberately difficult here, there are instances in modern business when a simple application may be all that’s needed and hiring a full-blown development professional might be out of budgetary limits. Further, there are arguments for creating customised tools inside the business by the people that will use them. I know these arguments will not water with requirements management gurus who already have a hard enough time getting customers to calm down and stop asking for stupid functionalities, but there you go.

“The last two years have seen the most impressive growth in our business, pointing to a correlation between a tough global economy and the resourcefulness of professionals who need to do more with less,” said Kevin Miller, RunRev CEO.

One might reasonably hope that this product inspires students in the appropriate way and gets them more interested in programming. If they can see real functionality happening sooner rather than later, then this may be the case. It does however jar with the fact that computer science students have been happy to chip away at the command line for most of the last half century keen to learn their trade from scratch.

Anyway, should you wish to try it Rev 4.0 is offered in three editions: the free revMedia edition, the revStudio edition which features 100 additional commands and keywords for professional functionality and revEnterprise with its enhanced security features.

Comments on this post

1000009738

Interesting post. I would say that whether Rev dumbs down programming or not depends on how you choose to structure your project. For example, you can choose whether or not to use object-oriented behaviors or just hack something together quickly. The goal of Rev 4.0 is to help you to write less code and get things done faster whichever way you code. The product is used in everything from enterprise through to hobbyists so the range of uses and style of coding is going to be broad. It can enable you to write less code (in some cases a lot less) e.g. http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf

Kevin (RunRev)

Updated by 1000009738 on Nov 26, 2009 10:01 AM

Adrian Bridgwater

You make a fair point. Thanks for bringing in more colour than we were given with the initial news announcements.

AdrianB

Posted by Adrian Bridgwater on Nov 25, 2009 5:37 PM

lynnfredricks

Hi Adrian,

With its roots in the HyperCard language, there is a generation of developers who learned programming that way, even though they may have moved on to other things. Please note the huge, huge penetration of Macs in public schools in the US that all shipped with HyperCard for free.

Revolution is an extremely flexible tool. Our Valentina DB system (http://www.valentina-db.com) is a fast, columnar database system for Windows, Mac, Linux and iPhone that has a Revolution driver, and in combination, they've been quite popular with several major corporations in the US and portions of the US government for building solutions. For example, taking db dumps from "big iron" databases and then developing customized BI style applications for rapid analysis and making that information available to non IT folk.

Mistaking Revolution for being a non-professional development tool would be...a mistake :-)

Best regards,

Lynn Fredricks
Paradigma Software
http://www.valentina-db.com

Updated by lynnfredricks on Dec 3, 2009 1:32 PM

trevordevore

I don't think that faster development dumbs down development as much as offers flexibility in development.

My company uses revEnterprise for our commercial software development. What we've found is that the combination of the syntax and the fact that you compile code at the object level rather than the application level makes it much easier to iterate over an application. This has allowed us to experiment often and respond to feedback quickly.

Regarding the phrase "Enables software construction for everyone". Perhaps it is like the phrase "Anyone can cook" in the movie Ratatouille. In the movie the food critic Anton Ego disdains Chef Gusteau and his philosophy that anyone can cook. At the end of the film Anton realizes what Chef Gusteau really meant:

"Not everyone can become a great artist but a great artist can come from anywhere."

If Revolution can make writing software (of whatever category) more accessible then perhaps it will open up that world to more people who have something interesting to offer but might not be able to contribute otherwise.

Posted by trevordevore on Nov 25, 2009 6:59 PM

mpetrides

I'm a full-time physician educator with a medical school faculty appointment and no formal training in programming. I've been using Revolution since it first came out and have been able to write several fairly complex interactive applications that are published by the leading press in my field using Revolution. Frankly, without Revolution I would not have had the time to even THINK of undertaking such an endeavor.

To my mind, what Revolution offers to people like me is the ability to create a customized application that would take me forever to explain to a professional programmer who knows nothing about Transfusion Medicine and would likely cost a fortune to implement. All it took was some time learning basic syntax and the ability to set down the logic I created in a series of IF-THEN or CASE algorithms--not exactly rocket science.

So, before you belittle Revolution for the statements you quoted, namely:

>>>>>>“Empowers people who would never have attempted programming to create successful applications,” and that this, ”Enables software construction for everyone.”

please consider that even non-professional programmers are capable of logical thinking and that some of us just need to get the job done in way that works properly and preferable that doesn't interfere with our day jobs.

I could not have written the two apps I have published thusfar were it not for Revolution, so Revolution DID empower me to take on an unfamiliar task and construct software that "just works." I'm sure my code is not nearly as elegant as that I've seen other folks do with Revolution, but it did the trick for me and for that I am forever grateful.


Marian Petrides, MD
Associate Professor of Clinical Pathology
University of Missouri School of Medicine
Columbia, MO, USA

Posted by mpetrides on Nov 25, 2009 7:04 PM

Richmond Mathewson

I think that the claim:

“Empowers people who would never have attempted programming to create successful applications,” and that this, ”Enables software construction for everyone.”

Is true insofar as it can start non-programmers towards building
successful applications. That does not mean that a user does not
have to have a reasonably logical mind, and it does not mean
that any piece of software does not have to go through a proper
Beta testing cycle.

This article plays the old 'black-white' game, dividing the world into programmers and non-programmers. That world vanished quite some time ago; Runtime Revolution being one of the
companies that have facilitated the development of a class of people who "also write computer programs".

I studied computer science 24 years ago; and "chipping away at
the command-line" is all very fine for dedicated computer scientists, but it just won't do for people who need a RAD that
will deliver, with a WYSIWYG interface, software that serves their needs.

Updated by Richmond Mathewson on Nov 25, 2009 8:07 PM

mpetrides

This comment has been deleted at the users request

Updated by mpetrides on Nov 25, 2009 8:13 PM

derbrill

Even though ‘90-per cent less code than traditional languages’ reads like a big claim, it is valid one.

If you have a string you want to extract the first 3 characters of the second word on the 5ths line from and display it in an alert box, how many lines of code would you need to write in traditional languages? In rev this is a one-liner.

answer char 1 to 3 of word 2 of line 5 of theString
/* where theString is a variable that holds the content */

The same holds true in many other fields of development. Surely, for traditionally trained programmers the language will seem strange. It might feel very verbose at first.

Needing to write

add 1 to tNumber
subtract 2 from tOtherNumber

is a few characters more than in other languages. But for beginning developers this will be easier to understand than a line that uses cryptic symbols though.

How does this translate to my day job as a software developer?
Besides the fact that I am able to quickly generate the code that does what I want there is another upside to using revTalk.

I can return to code I write today in say 5 months and read it. It will still make sense, as it is so close to natural english. This is a huge advantage, as one (usually) spends a lot more time maintaining code then to write version 1. We are using rev since 7 years now. I am still able to understand the very first projects we tackled. I certinly would do things differently nowadays. try to write more efficient code. With the ability to understand what I actually have written in first place, even for portions where I was lazy with the comments allows me to do so, if I feel the urge to do it.

Next: Deployment. I can use the same codebase to deploy to Windows machines, Mac OS, Linux and nowadays even the web. All it takes me to do so is opening up a dialogue and check the platforms I want to build for. This is what also adds to the write less code claim.

Are we able to tackle every project one can think of with Rev? Of course not. It is a matter of choosing the tool that fits the purpose. However we use Rev for about 95% of all projects we do, both for our own stuff and projects we work on as consultants. Some of those are mission critical (logistics, human medicine).

I may sound like a fanboi. Well, maybe I am. :-)

Malte Brill
CEO - derbrill Multimedia
www.derbrill.de

Posted by derbrill on Nov 25, 2009 10:05 PM

CA

Interesting just being looking at the rev website, looks good great philosophy think i might try it.

Posted by CA on Nov 25, 2009 11:02 PM

DCoker

Hey Adrian,
Although I've been doing lightweight development for several years using a number of different technologies and I am certainly not a "programmer" in the general sense of the term.

What I can tell you about RunRev is it allows "the rest of us" to put together some very useful applications in a very short amount of time and without a great deal of learning curve right up front.

Just a few days ago I built a very simple text processing application that will save my client a huge number of man hours, converting data from an obscure format to one that they can use in their merchant store.

It took about 25-30 minutes to put together and I posted the fully working version on their corporate web domain in the form of a revlet (RevMedia) in order to give them immediate access.

I've done dozens of those kind of small "one off" applications for my own use that I wouldn't even attempt with other languages or platforms.

Those are the kinds of apps that RunRev will empower others to build who wouldn't be able to do otherwise... or at least not easily.

It's programming power "for the rest of us"!
David C.

Updated by DCoker on Nov 26, 2009 9:54 AM

DCoker

This comment has been deleted at the users request

Updated by DCoker on Nov 25, 2009 11:59 PM

WMarriott

Hi Adrian,

"Surely not everyone has the mind of a software programmer and the algorithmic logic that the application developer has command of is the foundation of the creativity and power that they themselves wield."

It's true that not everyone has the temperament of or interest in becomming a programmer. But logical, analytical thought is not the exclusive domain of programmers, either. The example which best comes to mind for me is the New York Law School, which uses Rev extensively:

http://www.runrev.com/newsletter/may/issue48/newsletter3.php

These up-and-coming attorneys clearly have the brainpower to be programmers, but are applying it to a different field. Rev allows them to hone their logic skills at the same time it enables them to build useful tools that streamline their research and deepen their subject-matter expertise.

For those who want to "get things done" without hiring or becoming a programmer, Rev is a unique, high-level tool which enables them to express their business rules without the steep learning curve and frustration of more traditional languages.

Bill (RunRev)

Posted by WMarriott on Nov 26, 2009 11:02 AM

combleurdelacunes

Hi from Paris,

We have come a long way in the past 40 years in terms of computer programming languages. I ran the gauntlet of most of them in my 45 years of programming. All I can say is "Give me the name of a programming language which is so natural, so easy to learn, so easy to maintain, and so magnificently fast in developing both solid applications, and also "one off" (Ad-Hoc) programs".

I recently used RunRev to build my Internet site (I had no previous experience of HTML). The Ad-Hoc programs that I wrote brought the time of full development of the site down to 3 weeks. And since RunRev replaced (and outstripped) Hypercard, I have never had so much fun in all my life.

I said it before, and I'll say it again :

Runtime Revolution is not a programming language,

..... it's a way of life !

Your loss, Our gain !

-Francis Nugent Dixon

Posted by combleurdelacunes on Nov 26, 2009 11:26 AM

Adrian Bridgwater

A lot of responses here - so thank you for those.

Just to try and level the playing field as there are a lot of positives being voiced; I have also have some Twitter DM's (Direct Messages) that are equally negative such as:

"Their marketing told me to buy extra license for Linux. But they had scrapped Linux support 2 weeks before!"

So let's weigh up the whole arguments and keep it balanced please.

AdrianB

Posted by Adrian Bridgwater on Nov 26, 2009 11:36 AM

WMarriott

Re: "Their marketing told me to buy extra license for Linux. But they had scrapped Linux support 2 weeks before!"

You can download Linux versions from our site right now. In fact, we're one of the few cross-platform Web plugin tools that enable authoring (not just deployment) on Linux.

http://revmedia.runrev.com/download/

Bill (RunRev)

Updated by WMarriott on Nov 26, 2009 11:59 AM

derbrill

Hi Adrian,

there were times when there was no current Linux engine available. That is true. This was when rev 2.7 was the current version. Also that version was not the best they´ve ever made to put it politely. BUT (and this is a biggie) what they did was listen to their user base. They made a drastic effort to straighten out things and everyone that purchased a 2.7 version from them received a full upgrade to 2.9 for free. 2.9 was a version that fixed most of the bugs that have been reported and also brought back the Linux version. It is true that it took long to make this happen. Again there is a but. They ran a very long, open and responsive Beta test cycle during that time and I think they did it right. I can understand the disappointment by users that had to wait for a current Linux engine. I really can. But runRev listened and IMHO did the right thing.

Now that we are talking of bugs: Of course there are bugs in rev. Even rev 4 has bugs. As does any other environment I´ve ever used. Of these bugs in rev, I do not know of any real showstoppers. They are annoying, but I have yet to find the bug that does not have a workaround. Some of them are rather obvious and I would sometimes wish for faster patches, however one gets used to avoiding things that are painful. :-) And if you are contacting support, it is very likely you get a response by one of the devs, asking for a Test case or to try out a patch, if it is a serious issue.

Additionally, most of the bugs are not in the engine, but in the IDE. Why is this important? This requires to explain a bit about how the IDE works. The IDE is written in rev. Almost all components are not password protected, so you can dig into the script and fix things, or even replace complete components with your own.

As you want to have this balanced, I will try to list the things I do not like about Rev. There are 3 major points that I would like to see changed.

First: the IDE feels rather old. If you are blessed with the convieniences of environments like eclipse or xCode (refactoring and such) you will feel beamed back to the late 90ies at first. There is a lot of room for improvement here.

Second: it is not exactly easy to colaborate on big projects via SVN. This is due to the binary nature of the rev project files (stacks). So it is not possible to merge changes if 2 people are working on the same project file at the same time. You better assign the tasks to one module per person. It is possible to share libraries and work on projects together, but it requires a fair amount of planning ahead on who does what.

Third: there is no tree view that comes out of the box. If you want a tree view, you either need to roll your own, or choose a 3rd party solution.

Cheers,

Malte

Posted by derbrill on Nov 26, 2009 1:31 PM

alex65

Am I the only one that thinks that most of the comments above are a sad try at viral marketing?

I mean, it look soooo "as seen on tv", you all must have been paid by Rev to tell us your show case. Or worse, maybe you are all Rev employees pretending to be someone else.


Whatever it could be, I think Adrian is right. Making programming accessible to the masses could be a good thing. But we'll see more and more so-called "mega haxxor who know how to code and hack websites on their ubuntu professionnal edition operating system".

To avoid being fully negative, I agree that some people may have the potential to be real programmers but wouldn't try it without a simple introduction like rev.

To have looked at the code, I must say that for complex applications I'm confident that I'll develop a complex application faster in C or even in C#. And it'll be easier to maintain (if you are an experienced coder, you'll know that conments in the code makes the difference, be it in rev or assembly. Not the language itself.)

Maybe it could be used successfully for simple snippets (where bash/applescript/vbscript) are used, but no way it can be used to build complex application (by complex I mean really complex, not an huber cool PONG remake).

Alex, some random coder.

Posted by alex65 on Nov 27, 2009 12:45 AM

smpcs

Hi Adrian, greetings from Australia,

Press releases do tend to go for the hyperbole. I think you are right to question the statement of "90-per cent less code than traditional languages" with Revolution 4.0. I have been programming professionally for almost 20 years and have seen many languages and products come and go with equally bold claims.

A statement I would be more comfortable with would be "up to 90-per cent less code...", because it really depends on the type of program you are developing. When developing an application that is a good match for the revTalk language and the supplied Revolution objects, then I have no doubt that such savings can be achieved -- it really is a powerful system.

Powerful enough, that the Revolution IDE is written in revTalk itself, which shows what is possible. Whether a coder thinks the language is suitable for complex applications, or not, I hesitate to discount any language that is sufficiently powerful to host its own IDE.

As a programmer, once your head gets around the English like syntax and underlying concepts (which is sometimes harder for a professional of the C/C++/Java/Pascal style of languages, than it is for a non-programmer) then productivity increases significantly. And that includes the time taken to comment my own Revolution code, which does help with future maintenance.

I know that I always need to write much less code in Revolution/revTalk than in the other language I specialise in (Delphi/Object Pascal). And for me, less code means faster development and fewer bugs.

Sure, Revolution is not the ultimate answer for all developers, but for non-programmers it is hard to beat. As an experienced developer, I like it, and I am not an employee of Runtime Revolution.

Scott. (runrevplanet.com)

Updated by smpcs on Nov 27, 2009 4:22 AM

Jacque

Alex, I'm willing to bet that any competent Rev programmer could write a complex app in a fraction of the time it would take you in C++ (and there are many complex apps written in Rev.) There's no comparison; you have so much more work to do in C++, things that Rev handles automatically. How long does it take you to set up a window and all its objects, for example? How long does it take to write code to interact with a remote server? How long to read and write to a SQL database? These are all accomplished in Rev with only a handful of lines of code, and in many cases, only one line. I can extract the complete contents of any file from a remote server in one line of code, for example. I'd be very surprised if it took me longer to type that one line than it took you to set up even one of the sockets.

Posted by Jacque on Nov 27, 2009 7:05 AM

Joe F.

The correct way to look at this is in comparison to audio recording.
Today's home studio has capabilities far exceeding anything the Beatles or Hendrix had available. It's totally conceivable that a 15 year old kid in his bedroom could produce a Sergeant Pepper's; the tools are there, all he needs is education, skill, and creativity.

I wish I could say that every app I've ever seen was creative, or even that it ran well but the truth is, in any field, there are those who have knowledge, those who have skill, and those who are creative. Rarely are all three within the same person (or team).

Think of Revolution as the Garageband of programming.
A bad sounding recording of a great song is better to my ears than an amazing recording of crap.

Posted by Joe F. on Nov 27, 2009 7:38 AM

NV2009

Hi Adrian, another from OZ (down under)

The fact that a person can read un-commented code months down the track in no way invalidates good programming practice and design.

I can’t see how a person in the first place relies on reading code to understand what they did for a program…?

I just finished a 6month project for an Invoicing and Report Generator for a building firm.

Of the thousands of lines of code written, syntax comprised about 20% of the model; yep, you guessed it, the rest was commenting, PRP and algorithm. Not to mention testing (which resides at the apex of any developers strategy), took of course just as long as model construction.

Because we backed it onto an SQL database, we did very little data handling code but still had to derive the database design document which of course was a reflection of the static business model.

One SQL query took me 1.5hrs to construct given the complexity of the business rules and what needed to be extracted. I don’t want $10,000 missing on a Job Cost Report when I’m dealing with the interconnection of 25 tables.

Let’s get things into perspective. It’s the BUSINESS RULES that any developer has to understand to create an extensible and maintainable system.
Those were the things we had to constantly review and understand to get the system right and deliver what the client wanted.

I didn’t even know C# before the development and learnt it as I went along given JAVA, PHP, C++ experience and Pascal from the old days.
Translation of algorithm to syntax was simple…

Yeah, sounds great for a person who wants to develop applications that are not extensive in complexity and even if they are, a person without a programming mind has Buckley’s of being able to understand in a few weeks a person’s entire business of 20years and hold that in their mind for the entire development, THAT’S what systems development is all about and where the real work is.

The litany of failed software development projects is a reality not a myth and don’t underestimate the percentages quoted in the 80’s.

Good systems development means having a map of the business and understanding the way the business runs. Coding the thing takes very little time unless you sit down and start coding from day 1.

We spent 6weeks understanding and mapping the business before we even opened up an IDE. Not to mention understanding WHAT THE CLIENT WANTED.

The product sounds good and I could even be a convert someday but I suppose I’m just trying to allay the fears of some developers who think their days may be numbered.

Norman

Posted by NV2009 on Nov 27, 2009 8:19 AM

NV2009

This comment has been deleted at the users request

Updated by NV2009 on Nov 27, 2009 8:32 AM

bobdowne

It looks like VB meets COBOL with a crufty and mandatory UI, source control mechanism, etc. Sure, it is far less wordy than C++ or Java, but what isn't.

From the replies it seems good at getting non-coders coding but I bet they'd have an easy time with many languages/platforms if they tried. It's perception more than actual difficulty that stops most people. From the single-purpose MS Access, to Delphi, and more exotic options like Squeak Smalltalk, there are many helpful programming platforms that automate much of the setup and/or work.

I don't really think that the Rev code from above ('answer char 1 to 3 of word 2 of line 5 of theString') is that intuitive.

Personally I'd say 'display', 'show', 'tell', or 'print' before 'answer' if trying to show the user a string. Not that any given thing would work for everyone, but that's just it. You've still got to have HowTo document that lists 'show the user something' and all the other ways you can think to ask that and points to the command to use. At that point, having called it answer, print, or alert doesn't make much difference.

Same with 'char 1 to 3 of word ...' Which newbie isn't going to be able to handle a substr command to extract a substring and yet knows to call text data elements chars? Does 'letter 3 of...' work as well? If it doesn't, what's the benefit to someone who guesses wrong? They're still looking through a manual just like any other programmer trying to find a function name. And if 'letter', 'char', 'byte', etc are all supported you run into the Perl "problem" of there being too many ways to do something so everyone's code looks different.

In most other languages you'd phrase that line differently, but I don't think it'd necessarily be harder to write.

Like many specialized languages it appears to have custom syntax for expected tasks (reading substrings, for example). This is helpful for small tasks but tends to mean not only that the benefit lessens on unexpected (to the designers) tasks, but that it may be harder or impossible to do more complex things.

The people who should look at this are those for whom the mundane procedural tasks of programming are harder than the actual algorithmic complexity of the task itself. A tool like this will not only show you what could be done, but help you with your first steps. Watch though that its closed nature and quirky nature (non-text program files) don't block adoption of better methods (version control, concurrent development, behavior driven design, etc) though or you could find it incredibly constraining in a little while.

The problem is that a new programmer doesn't have the experience to make this call and will often find themselves over-invested in a poor solution and thus less able to maintain the project.

Posted by bobdowne on Nov 27, 2009 10:01 AM

Bret

"It can enable you to write less code (in some cases a lot less) e.g. http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf

Kevin (RunRev)"

That comparison document is quite specious. For instance, in all of the languages, you declare a variable on one line, and assign it on the next one to three lines (in the case of Java, it's horrific). The C# program, for instance, can be shortened to 13 lines. How dishonest of your company. It seems quite determined to make the other programs as long as possible by comparison. Let me ask this, then. How many lines of rev is necessary to serialize an object to a SQL database? Or can you even do that?

Posted by Bret on Nov 27, 2009 3:06 PM

A_Raybould

I am surprised by how the notion '90 percent less code equates to 10 times faster development' has gone by unchallenged. This equivalence seems to be based on the assumption that software development is mostly typing code, or, more precisely, that the fastest way to develop software is via a method in which typing takes up most of the time. For simple applications written by single authors who thoroughly understand both the problem domain and the specific requirements, with no performance or concurrency issues, and where a certain amount of error can be tolerated, this just might be the case. Typically such cases are found only when the author is writing for himself, and if you take away any of the above caveats, the possibility that the equivalence holds shrinks dramatically, as the various issues mentioned by Norman (NV2009) and others come into play.

On the other hand, it is possible that simpler syntax increases productivity by a different means, if it results in code that is easier to understand. Given that the clarity of natural-language writing varies enormously from one writer to another, however, I strongly suspect that any such gain depends much more on the skills of the developer than on the syntax of the language.

Posted by A_Raybould on Nov 27, 2009 4:28 PM

bjdevlin

It seems from the comments from non-rev users that they don't believe that the rev users can be telling the truth. I don't work for runrev, and have never had a single penny in payment from them. In fact, I suspect I've got a bad reputation amongst rev users because I have been very strident when something in rev has ticked me off.

Rev is a remarkable tool for development, and is just about the most dynamic and flexible programme for developing software. It's all the more amazing for the fact that the same program can be built to run on so many platforms.

The only tools that comes close to rev are RealBasic and various smalltalk environments. Since rev is available to try for free for 30 days, anyone reading this can see for themselves what it can do. My accidental discovery of rev 7 years ago was one of the most important event in my 25 years of working with computers.

Posted by bjdevlin on Nov 27, 2009 4:45 PM

1000009738

bobdowne wrote: "Watch though that its closed nature and quirky nature (non-text program files) don't block adoption of better methods (version control, concurrent development, behavior driven design, etc) though or you could find it incredibly constraining in a little while...
...The problem is that a new programmer doesn't have the experience to make this call and will often find themselves over-invested in a poor solution and thus less able to maintain the project."

A less experienced programmer is going to have more difficulty maintaining their early works compared to a more experienced one. This is going to be true regardless of the tool that you choose. Rev is just a language, and you can use it to write good code or bad code. The difference of course is that its much easier for a beginner to learn and professionals realize productivity benefits. We have many professional developers who use Rev every day.

In terms of being locked in by the closed nature, I would argue that its a case of choosing the right tool for the right job. If Rev is suitable for the job you need then it will be capable of creating a deliverable just as professionally as anything else. If its suitable for part of the job, it makes a great front end system or component in a multi-tiered architecture. If its not suitable, then choose something else. No-one is claiming that it (or any programming tool) is perfect for everything!
Rev does have a binary file format, but everything in the Rev IDE is written in itself. so you can manipulate everything in revTalk or export a complete representation of your project to XML or whatever format you choose. There are various Rev-utilities around that do that available for download in the community. There is also a faceless version that can run on a server.

It is true that there is no built-in version control and that you have to structure your project carefully to use SVN. Thats a weakness that we will improve in future versions. But if you are looking to do that kind of team programming you are by definition a professional who shouldn't have difficulty structuring your project carefully in the planning stages and thus you will be able to realize the productivity benefits of the revTalk language on your project. It is perfectly possible to work with version control systems and people use Rev in that way. We have some enterprise applications that go up to millions of lines of code, maintained teams of professional developers. We have real time systems for some major financial organizations. There is a lot of very serious, scaleable, software written in Rev today.

Posted by 1000009738 on Nov 27, 2009 5:16 PM

1000009738

Bret wrote: "The C# program, for instance, can be shortened to 13 lines… many lines of rev is necessary to serialize an object to a SQL database? Or can you even do that?"

Even at 13 lines its still a lot more effort! But you can't shorten it as you suggest because there is some setup work that needs to be done to make it work properly in the real world. Its not just a case of using the basic example code that is provided for this. One of our developers would be more than happy to take that up with you if you write in. To be equivalent it needs to do everything the Rev function does, which is actually quite deep when you get into it.

There are many ways to serialize an object to an SQL database. One would be to use SQL Yoga http://www.bluemangolearning.com/revolution/software/libraries/sql-yoga/

Kevin (RunRev)

Posted by 1000009738 on Nov 27, 2009 5:26 PM

1000009738

"I am surprised by how the notion '90 percent less code equates to 10 times faster development' has gone by unchallenged."

Thats a great point - we haven't claimed the reason for the productivity benefit is just because of the 90% less code. Rev can enable you to write a lot less code but thats only part of it, it has a number of other productivity benefits. The code is more readable which reduces maintenance costs. Programmers spend more time reading code than writing it. The development cycle allows you to run and edit live. http://www.runrev.com/products/the-rev-platform/overview/

Realistically, your mileage will vary depending on the project. We claim "up to" 10x faster development, the best case result of all these Rev-platform benefits put together on an ideal project. We have many real customers we can point to, who tell us this story again and again - they've seen these benefits on specific projects. Some of them have saved a lot of money as a result. But if Rev isn't so well suited or has to be used with another tool then of course you won't achieve that. Its still going to be highly productive and we hope you'll at least consider it when choosing your ideal mix of tools for a project.

Kevin (RunRev)

Posted by 1000009738 on Nov 27, 2009 5:47 PM

Jacque

Alex, I'm willing to bet that any competent Rev programmer could write a complex app in a fraction of the time it would take you in C++ (and there are many complex apps written in Rev.) There's no comparison; you have so much more work to do in C++, things that Rev handles automatically. How long does it take you to set up a window and all its objects, for example? How long does it take to write code to interact with a remote server? How long to read and write to a SQL database? These are all accomplished in Rev with only a handful of lines of code, and in many cases, only one line. I can extract the complete contents of any file from a remote server in one line of code, for example. I'd be very surprised if it took me longer to type that one line than it took you to set up even one of the sockets.

Posted by Jacque on Nov 27, 2009 7:13 PM

Jacque

>I don't really think that the Rev code from above ('answer char 1 >to 3 of word 2 of line 5 of theString') is that intuitive.

"Answer" is a specific way of displaying data. Without any other preparation, it puts up a dialog displaying the output text, with a default "OK" button (you can customize that, or add more buttons if you need to.) To write to stdout, or place the data into a variable or field, use "put".

> Same with 'char 1 to 3 of word ...' Which newbie isn't going to be
>able to handle a substr command to extract a substring and yet
>knows to call text data elements chars? Does 'letter 3 of...' work as
>well?

"Char" is, of course, short for "character", and you can use either term in your code. "Byte" is also supported, which is especially useful for unicode parsing where each letter has two bytes. "Character 3 of word 2 of line 6 of myData" is, to most people, a natural way of requesting a substring.

One you use the language for a while, you get annoyed at having to spell out all the gory details when writing in other languages. It's funny how programmers have no problem using built-in libraries in other languages, but criticize high-level languages that use a broader set automatically. There is lots of code under the hood that you, as a programmer, don't have to worry about. But really it isn't any different than adding a bunch of includes to your code. (The engine strips off the unnecessary stuff when building an executable.)

Posted by Jacque on Nov 27, 2009 7:45 PM

smpcs

As some of the posts above have hinted at, using Revolution is about more than just, Can I do more in one line of revTalk than in your language? Or are the counter examples in http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf as efficient as they can be?

In my opinion, just some of the nice things about Revolution are:

* Can I compile to 3 major GUI platforms without messing around with Windowing Toolkits?
* Can I use my same code on a HTTP server without resorting to CGI?
* Can I distribute applications without a 20MB+ supporting environment that comes in different versions?
* Can I forget about licensing or GPL issues in my closed propriety application?
* Can I use a 4GL approach when appropriate, but still drop down to 3GL style coding when required?
* Can I avoid typing my millionth semicolon, or open and close brace?

OK, so the last point is a weak attempt at humour, but in a surprising way the "English like" syntax of revTalk is actually a pleasant change from the typical punctuation and constant use of shifted symbols in some other languages.

With Revolution, the positive answers to the above questions suits me fine. And if as a bonus, by using Revolution anybody can write their own applications without being a "real" programmer, well, more power to them.

If his or her application is not a testament to computer science, having witnessed enough poorly designed software developed in fashionable or "proper" languages by professionals, I'm not going to hold that against the non-professional.

Scott.

Updated by smpcs on Nov 30, 2009 9:30 AM

lee.olrogge.ctr@navy.mil

This comment has been deleted at the users request

Updated by lee.olrogge.ctr@navy.mil on Nov 30, 2009 10:02 PM

Adrian Bridgwater

This member is ranked #7 in our top 100

  • Adrian Bridgwater
  • Applications Development, London, UK
  • Member since: July 2007

Site Activity Rating 6

CoreTechs

Contacts' Latest Discussions

Number of Tracked Discussions: 2,236

Shibley R Shibley R

Good news?

Tuesday 9 February 2010, 1:51 PM

1 comment
manek manek

Why does everybody hate me?

Tuesday 9 February 2010, 1:45 PM

2 comments
ator1940 ator1940

Same DNA

Monday 8 February 2010, 2:29 PM

12 comments

Contacts' Latest Blogs

Number of Contacts Blogs: 5

Avatar Jake Rayson

Salutary swimming lessons

Thursday 4 February 2010, 12:24 PM

0 comments

Skip Sub Navigation Links to CNET Brand Links

Help

Become part of the ZDNet community.

Newsletters