Re: [Mandelbrot] Code Samples/Comparisons
Hi Peter, This stack looks really fine! :-D I noticed that if i try to recolor the original Mandelbrot's fractal image (the image that appears when i open the stack for first time) then an error appears on the script. After i render a new fractal image, the error does not appear again. Many thanks to Bill and Peter for sharing this work of art! Alejandro -- View this message in context: http://n4.nabble.com/Mandelbrot-Code-Samples-Comparisons-tp954074p963229.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [Mandelbrot] Code Samples/Comparisons
I've been fascinated by the Mandelbrot set for some years now, so this is a welcome topic. Bill Marriott's stack got me going in the past few days. I added colorization -- a fairly ad hoc scheme that I fine tuned (sort of) by trial and error. I moved the controls to a palette and separated out the calculations of the escape values from the colorization handlers. The escape values are stored as a custom prop so they don't have to be recalculated every time you adjust the colors -- much easier to play with the colorization. Also, you can export the resulting images as jpegs -- they make good screensaver shots if you go with an 800x800 image, though those take a number of minutes to render. Please, someone who knows more about working in colorspaces should come up with something better thought out, but meanwhile, it's a fun toy anyway Thanks for the head start, Bill. download my version at http://home.comcast.net/~pmbrig/mandelRev.rev.zip or http://home.comcast.net/~pmbrig/MandelRev.dmg -- Peter Peter M. Brigham pmb...@gmail.com http://home.comcast.net/~pmbrig ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [Mandelbrot] Code Samples/Comparisons
Well written! It was a pleasure to read, you need to put at least part of this text somewhere on the http://www.runrev.com/ website :-) All the best! Viktoras Bill Marriott wrote: Thanks so much for taking the time to do this! But I think it's a *great* example, and I am going to show you why. Let's start out with a few observations: - How practical is this? I took a closer look at the site. http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=allbox=1 The goal of the routine is to generate a mandelbrot image in the .PBM format. Now, this has some relevance I suppose in testing CPU performance, but not exactly in the real world. How many programs read PBM, for one? None on my Mac, but Photoshop and Paint Shop Pro could read it on my Windows PC. How fun is it to run this program, then load the result up in a graphics editor? About as much fun as punch-card, batch programming. - The original Pascal program (or at least your transliteration of it) *has a bug!* Give the output file an extension of .pbm and load it into a program that can read that format. You'll find that the image is skewed more and more as the dimensions increase. http://revuser.com/mandel/orig-600.png In either Pascal or revTalk, as coded, it's going to be a challenge to find out where that bug lies. - It doesn't seem like it was that hard to transliterate the original Pascal code. I was impressed by the similarities, actually. Even then, there are portions of your revTalk version that are a little more readable. Since the vast majority of this is mathematics, and we're not out to reinvent algebraic notation, you're right that it's not the best showcase. Math is going to be math in any programming language. It's certainly not *less* readable. What makes it hard is the Mandelbrot formulas and especially the encoding into .pbm format (which is what requires all those bit operations. (Maybe all of the examples from that site are like this?) - Pascal is considered a pretty easy language. Did you check out what the solution looks like in Java? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=javaxintid=3 In C++? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=gppid=5 Woah! :) - Well our performance is a is a bit disappointing relative to the command line Pascal version, we *do* beat out variants of PHP, Python, Ruby, and Perl, depending on what your processor was versus the one used for the benchmarks. - You were able to add a nice GUI file selector dialog trivially. Now, imagine that your goal isn't to produce a .pbm image, but rather to show something on-0screen the user could interact with in some way. Things get more interesting. This is where Rev starts to shine. The further away you get from pure math and have to get into user interface, interaction with local and remote file systems, manipulating data sets, and business logic issues, the better we look. Our language abstracts the operating system, so developers don't need to be concerned with the proper API to call for common tasks. - Most (but not all) of us are not using Rev to generate Mandelbrot data. We're creating usable applications for business tasks, entertainment and educational software, database front-ends, etc. It might well be that this site/link is all about these kinds of math-intensive routines. I didn't look too closely at them, admittedly. What I did like about Viktoras' suggestion was that he found a site with some sample code in a variety of languages. I think it's healthy for us to look for such examples and discover the strengths and weaknesses that emerge when we try to express them in revTalk. My take on the productivity equation is that it's not merely the number of lines of code produced, and it's ultimately not even how fast the code executes. In most situations, it's how long it takes to express the algorithm, and debug it later on. To encapsulate algorithms in flexible user interfaces. To take things to an extreme: a routine built with machine code or assembly will always execute faster than one built in a high-level language. But how many of us could sit down and write a database front-end in assembly? How long would it take? How usable and adaptable would it be? Another way to look at things is from the artist's viewpoint. There are people who will never touch digital photography because they are expert at the analog process. There are illustrators who will never give up their charcoals. There are Lego builders who spurn the non-rectangular bricks! And thank heaven for them, because I respect the desire for control and attention to nuance. In a similar vein, other languages can indeed reward sweating details like what kind of number you're trying to store, manually allocating and releasing memory, etc. We're not promising to be the tool that lets you rewrite OpenGL or even build a competitor to Excel. Instead,
Re: [Mandelbrot] Code Samples/Comparisons
Thank you Bill for this great tutorial! Roger Guay On Dec 7, 2009, at 9:04 AM, Bill Marriott wrote: [Mandelbrot] Code Samples/Comparisons ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [Mandelbrot] Code Samples/Comparisons
Bill, Ho Ho Ho I am playing with the mandelbrots while a huge stack downloads... thanks for the stack! I can finally understand how those fractals work. Thanks andre On Mon, Dec 7, 2009 at 4:24 PM, Roger Guay i...@mac.com wrote: Thank you Bill for this great tutorial! Roger Guay On Dec 7, 2009, at 9:04 AM, Bill Marriott wrote: [Mandelbrot] Code Samples/Comparisons ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution -- http://www.andregarzia.com All We Do Is Code. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [Mandelbrot] Code Samples/Comparisons
great! Till Am 07.12.2009 um 01:09 schrieb Bill Marriott: Hi Mark, what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will I think that's a great idea. Sorry, Kevin, I think it's a Very Bad Idea. Thanks so much for taking the time to do this! But I think it's a *great* example, and I am going to show you why. Let's start out with a few observations: - How practical is this? I took a closer look at the site. http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=allbox=1 The goal of the routine is to generate a mandelbrot image in the .PBM format. Now, this has some relevance I suppose in testing CPU performance, but not exactly in the real world. How many programs read PBM, for one? None on my Mac, but Photoshop and Paint Shop Pro could read it on my Windows PC. How fun is it to run this program, then load the result up in a graphics editor? About as much fun as punch-card, batch programming. - The original Pascal program (or at least your transliteration of it) *has a bug!* Give the output file an extension of .pbm and load it into a program that can read that format. You'll find that the image is skewed more and more as the dimensions increase. http://revuser.com/mandel/orig-600.png In either Pascal or revTalk, as coded, it's going to be a challenge to find out where that bug lies. - It doesn't seem like it was that hard to transliterate the original Pascal code. I was impressed by the similarities, actually. Even then, there are portions of your revTalk version that are a little more readable. Since the vast majority of this is mathematics, and we're not out to reinvent algebraic notation, you're right that it's not the best showcase. Math is going to be math in any programming language. It's certainly not *less* readable. What makes it hard is the Mandelbrot formulas and especially the encoding into .pbm format (which is what requires all those bit operations. (Maybe all of the examples from that site are like this?) - Pascal is considered a pretty easy language. Did you check out what the solution looks like in Java? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=javaxintid=3 In C++? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=gppid=5 Woah! :) - Well our performance is a is a bit disappointing relative to the command line Pascal version, we *do* beat out variants of PHP, Python, Ruby, and Perl, depending on what your processor was versus the one used for the benchmarks. - You were able to add a nice GUI file selector dialog trivially. Now, imagine that your goal isn't to produce a .pbm image, but rather to show something on-0screen the user could interact with in some way. Things get more interesting. This is where Rev starts to shine. The further away you get from pure math and have to get into user interface, interaction with local and remote file systems, manipulating data sets, and business logic issues, the better we look. Our language abstracts the operating system, so developers don't need to be concerned with the proper API to call for common tasks. - Most (but not all) of us are not using Rev to generate Mandelbrot data. We're creating usable applications for business tasks, entertainment and educational software, database front-ends, etc. It might well be that this site/link is all about these kinds of math-intensive routines. I didn't look too closely at them, admittedly. What I did like about Viktoras' suggestion was that he found a site with some sample code in a variety of languages. I think it's healthy for us to look for such examples and discover the strengths and weaknesses that emerge when we try to express them in revTalk. My take on the productivity equation is that it's not merely the number of lines of code produced, and it's ultimately not even how fast the code executes. In most situations, it's how long it takes to express the algorithm, and debug it later on. To encapsulate algorithms in flexible user interfaces. To take things to an extreme: a routine built with machine code or assembly will always execute faster than one built in a high-level language. But how many of us could sit down and write a database front-end in assembly? How long would it take? How usable and adaptable would it be? Another way to look at things is from the artist's viewpoint. There are people who will never touch digital photography because they are expert at the analog process. There are illustrators who will never give up their charcoals. There are Lego builders who spurn the non-rectangular bricks! And thank heaven for them, because I respect the desire for control and attention to nuance. In a similar vein, other languages can indeed reward sweating details like what kind of number you're trying to store, manually allocating and releasing memory, etc.
Re: [Mandelbrot] Code Samples/Comparisons
Hi Bill, Great work! How much time does this take to you, from understanding the code to creating the stack? Now, Who is going to add colors? :-D Alejandro -- View this message in context: http://n4.nabble.com/Mandelbrot-Code-Samples-Comparisons-tp954074p954827.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: [Mandelbrot] Code Samples/Comparisons
Thanks Alejandro, Andre, Phil, Roger, Till, and others! How much time does this take to you, from understanding the code to creating the stack? I should have logged it eh? I would say the research on Mandelbrots was definitely the hardest part; that took me a few hours and I actually walked through the How to Draw a Mandelbrot by Hand wikiHow article. That was spread over a couple days. Finding the George Taylor article really gave me a leg up on coding the routine, and I would say I probably put an hour or so into actually building the stack, altogether, getting the basic plotting done. Then another 30 minutes getting the zoom function to work the way I wanted to and tweaking its layout. If you notice, the code in my uploaded stack varies a bit from what I posted, and runs slightly faster. Since then I've been really thinking about how to further speed up the rendering and how to best to handle the colorization part. I'm really glad you liked the post and stack; it's fun to play with. - Bill ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 12/6/09 2:30 AM, Judy Perry wrote: And of course, this is something everybody has been saying now since at least the 2nd Monterey conference. It may not be enough to make available a free product that just dumps you straight into the world of scripting. Even Hypercard didn't do that! It provided a very and gentle graceful path to the world of making your own stuff, and that is perhaps part of the reason for it becoming as successful as it did. Well said, Judy! What is perhaps needed, along with Free RevMedia, is a suite of little programs that can be popped together without any scripting at all, and, maybe, a stack with a set of 'moronic' buttons (go back, go next, go prev, etc.) for copy-pasting. There is a problem, and I feel it is this: There need to be 2 completely distinct RunRev websites: 1. All-singing-all-dancing programmers' website selling Studio and Enterprise with all sorts of comparisons between RunRev and other programming 'arrangements' (using that term to avoid the continuum between languages-qua-languages and the visual drag-n-drop-n-no-scripting-at-all type of stuff). 2. A dedicated RevMedia site (which, of course, would 'push' Studio) which down-plays the geeky-scripty sort of stuff and concentrates on the gentle graceful path to the world of making your own stuff; and, while I am in a complimentary mood; Judy, that really is a super way of putting things. I also believe that the Folks at RunRev cannot quite decide which way to jump. There really doesn't have to be a decision; with a bit of thought they can cut the legs from under HyperStudio and Co. as well as some of the real programming arrangements. Gr . . . HyperStudio should be history by now. I don't know why, but Wagner's product (now being peddled by MacKiev) reminds me so much of cheap, Chinese imitations of LEGO. It is the old problem (c.f. Windows versus Linux); let's pay for a second-rate product (HyperStudio) when there is something quite considerably better for free (RevMedia). ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Here's a thought: http://www.tigabyte.com/hnfiles/rescreator.html I wonder how many of these can be duplicated using RunRev? And, before you ask, I am sorry, but I just don't have the time (or, frankly, the computer know-how about Blowfish encryption/decryption or GPS). I have mucked about with HyperNext and got fairly cheesed-off as it seems capable of many things, but it is not: WYSIWYG and it uses an obscure form of O-O BASIC also, I think it is being developed by one chap in his/her spare bedroom (which, actually, is incredible) so does not have all the backup, know-how and investment that RunRev can boast. Stacks I particularly like: Note Player Stock quotes Books HC (The name of that one is a dead giveaway where the developer is coming from). ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
[Mandelbrot] Code Samples/Comparisons
Hi Mark, what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will I think that's a great idea. Sorry, Kevin, I think it's a Very Bad Idea. Thanks so much for taking the time to do this! But I think it's a *great* example, and I am going to show you why. Let's start out with a few observations: - How practical is this? I took a closer look at the site. http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=allbox=1 The goal of the routine is to generate a mandelbrot image in the .PBM format. Now, this has some relevance I suppose in testing CPU performance, but not exactly in the real world. How many programs read PBM, for one? None on my Mac, but Photoshop and Paint Shop Pro could read it on my Windows PC. How fun is it to run this program, then load the result up in a graphics editor? About as much fun as punch-card, batch programming. - The original Pascal program (or at least your transliteration of it) *has a bug!* Give the output file an extension of .pbm and load it into a program that can read that format. You'll find that the image is skewed more and more as the dimensions increase. http://revuser.com/mandel/orig-600.png In either Pascal or revTalk, as coded, it's going to be a challenge to find out where that bug lies. - It doesn't seem like it was that hard to transliterate the original Pascal code. I was impressed by the similarities, actually. Even then, there are portions of your revTalk version that are a little more readable. Since the vast majority of this is mathematics, and we're not out to reinvent algebraic notation, you're right that it's not the best showcase. Math is going to be math in any programming language. It's certainly not *less* readable. What makes it hard is the Mandelbrot formulas and especially the encoding into .pbm format (which is what requires all those bit operations. (Maybe all of the examples from that site are like this?) - Pascal is considered a pretty easy language. Did you check out what the solution looks like in Java? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=javaxintid=3 In C++? http://shootout.alioth.debian.org/u64/benchmark.php?test=mandelbrotlang=gppid=5 Woah! :) - Well our performance is a is a bit disappointing relative to the command line Pascal version, we *do* beat out variants of PHP, Python, Ruby, and Perl, depending on what your processor was versus the one used for the benchmarks. - You were able to add a nice GUI file selector dialog trivially. Now, imagine that your goal isn't to produce a .pbm image, but rather to show something on-0screen the user could interact with in some way. Things get more interesting. This is where Rev starts to shine. The further away you get from pure math and have to get into user interface, interaction with local and remote file systems, manipulating data sets, and business logic issues, the better we look. Our language abstracts the operating system, so developers don't need to be concerned with the proper API to call for common tasks. - Most (but not all) of us are not using Rev to generate Mandelbrot data. We're creating usable applications for business tasks, entertainment and educational software, database front-ends, etc. It might well be that this site/link is all about these kinds of math-intensive routines. I didn't look too closely at them, admittedly. What I did like about Viktoras' suggestion was that he found a site with some sample code in a variety of languages. I think it's healthy for us to look for such examples and discover the strengths and weaknesses that emerge when we try to express them in revTalk. My take on the productivity equation is that it's not merely the number of lines of code produced, and it's ultimately not even how fast the code executes. In most situations, it's how long it takes to express the algorithm, and debug it later on. To encapsulate algorithms in flexible user interfaces. To take things to an extreme: a routine built with machine code or assembly will always execute faster than one built in a high-level language. But how many of us could sit down and write a database front-end in assembly? How long would it take? How usable and adaptable would it be? Another way to look at things is from the artist's viewpoint. There are people who will never touch digital photography because they are expert at the analog process. There are illustrators who will never give up their charcoals. There are Lego builders who spurn the non-rectangular bricks! And thank heaven for them, because I respect the desire for control and attention to nuance. In a similar vein, other languages can indeed reward sweating details like what kind of number you're trying to store, manually allocating and releasing memory, etc. We're not promising to be the tool that lets you rewrite OpenGL or even build a competitor to Excel. Instead, we're a tool that complements these other
Re: [Mandelbrot] Code Samples/Comparisons
Bill Marriott wrote: Productivity isn't about processor cycles, and it's not always about lines of code. It's about how much one can accomplish with the knowledge they have. I WILL be quoting you, Bill! That's a good one. -- Phil Davis PDS Labs Professional Software Development http://pdslabs.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Mark, run(pNum) = empty So I write empty to file (text file) !? And RunRev crash... :—( René Le 5 déc. 2009 à 03:36, Mark Wieder a écrit : Jacque- Friday, December 4, 2009, 6:08:20 PM, you wrote: There's this too: put 255 into bits put 128 into bits I don't understand what the math does, but I think at least one of those lines is redundant. ;) Dang! Another typo. Should be put 255 into bits put 128 into bit ...and believe me, if I had written the original algorithm I wouldn't have chosen those variable names. Unfortunately, correcting that part of the code doesn't really affect the total timing. Still takes on the order of 25 minutes to run it here. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 4 Dec 2009, at 16:23, Kevin Miller wrote: We will continue to work on finding good ways to realistically and clearly make the case for revTalk. It is very good news that there is now a debate going on. I can't argue with that. But I wonder if code comparisons will lead to any fruitful conclusions. They often seem removed from the practical tasks we are trying to perform. For example, the Rev code example used in the pdf: get last item of line 2 of url http://ichart.finance.yahoo.com/table.csv?s=RBS.L; In what circumstances would you ever need to use this. The url returns over 1700 lines of text, and so many questions are raised: -- Why would you download so much data just to get a single item? -- How do you know you want the second line? (OK, I realise it's the most recent data item, but it's a special case, and relies on the data always coming back in the right order.) What if the task was to download the data and display it in a line graph, with a dropdown menu that allowed you to filter for different months/years/etc.? Would this be easier in Rev than other environments? That would be a good comparison and would show off more of Rev's capabilities. Here's another comparison. In this case the task is just to put some text in a text field. RevTalk compared with Action Script. put Hello World into field myTextField myTextField.text = Hello World We could argue all day about which is easier to write/read/understand. But for me, a bigger question is what is involved in getting the text field in the window in the first place. And how easy is it to set up and use. This is where Rev shines. Drag a field and a button off a palette, enter your script, and click the button. Easier than writing an email. Even a maths professor could do it. I still remember the build an application while holding your breath performance from some years ago. I think it made the point much better than any amount of code comparison. Cheers Dave___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
I haven't stuck my oar into this discussion until now as I was interested which way it would go. My view may be a bit different to most of the real programmers who have offered views and code examples. I am not a real programmer insofar as I do not depend on programming for my bread and cheese, and have never had to. I have not touched any programming language other than Metacard/RunRev since 2001. I think that comparing: length of code samples is a bit silly: It's not the size that matters, it's how you use it. AND, surely, the first and foremost point to be made about RunRev is that little boys and girls (8-11 years old) can produce something that works and is not a Powerpoint clone in half-an-hour (I have seen it happening right here in my school). Teachers and other non-programmers can, very quickly, assemble programs / applications / thingies / widgets to do what they want to do without having to either hire a computer specialist or spend donkey's ages on a programming course. Runtime Revolution is all about empowerment; it should not be compared with C++ and so forth, because they are 2 different creatures. C++ lives in an aquarium, nurtured by trained zookeepers: RunRev is like my cat - much more cuddley and approachable, and doesn't need lots of fancy care and food. One of the things that the lecturers at Abertay University (where I did an MSc, for my sins) kept rambling on about was that programmers had to become sensitive to the needs of specialists in other areas they would be working for. Forget the sensitive programmer; RunRev can sensitise almost anyone to doing the job themselves. The other day, having read some of the postings in this thread I cracked open Richard Bannister's Mac port of the Horizon emulator of the BBC and did a bit of BASIC - all great, sentimental fun, and all that, but nothing quite beats the WYSIWYG of the RunRev IDE. You can keep your command-line languages with funny syntax! Those who want the command-line languages with funny syntax, and who have ego problems that need to be buttressed up by their being real programmers will always be like that. Let's just let them get on with their thing: ultimately RunRev (or something very similar) will be used by far more people to do far more creative things. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
I agree with Richmond. But then I'm someone who doesn't understand why RunRev has devoted resources to on-rev and the plugin when things like unicode and quicktime integration are still broken. I think that the true strength (and uniqueness) of Rev lies in fat-client development. Of course the tiny size of the engine makes the plugin possible, and the fact that revTalk works without a GUI makes the serverside code possible. But those are both areas in which Rev is facing long-established competitors. But in this day of youtube and lynda.com, it seems a mistake to not have videos on the runrev website demonstrating the point Richmond is making. In fact, in the code comparison pdf, the Rev line of code is so small it is actually possible to fail to see it (I did) and to concentrate on the other languages instead. To someone who was not paying attention, they might think that the code samples in Java etc. are actually representative of programming in Rev. We might recognize the difference between revTalk and Java - a novice won't know. The thing that Runrev needs to remember is that the number of non-programmers vastly outweighs the number of professional programmers. It is question of reaching those people and letting them know what is possible. That is why the opinions of people on slashdot and the serverside are irrelevant. If people were expecting on-rev to be the new ruby on rails, they were setting themselves up for disappointment. Bernard ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
2009/12/5 Bernard Devlin bdrun...@gmail.com I think that the true strength (and uniqueness) of Rev lies in fat-client development. Of course the tiny size of the engine makes the plugin possible, and the fact that revTalk works without a GUI makes the serverside code possible. But those are both areas in which Rev is facing long-established competitors The thing that Runrev needs to remember is that the number of non-programmers vastly outweighs the number of professional programmers. It is question of reaching those people and letting them know what is possible. That is why the opinions of people on slashdot and the serverside are irrelevant. If people were expecting on-rev to be the new ruby on rails, they were setting themselves up for disappointment. True - but not the right way round IMO. To get new people into the language (at this point in internet history), you need to give them tools to do what they want to do. The fact is very few people want to make desktop applications or fat clients (ok relatively few). Most kids if they want to make anything it is a web site, a plugin for Facebook, or a game. The target audience you are talking about is pre-Web2.0 and pre-easy to author game IDE's - people have (except for a niche market) moved their focus away for desktop/fat clients and onto these other areas now. What it makes sense for RunRev to target is people who want to do the above, but are put off with the intelligibility of the programming languages they need to learn to do that. The second thing they need to do is make these same people feel that learning to do it the RunRev way will help them move into the real thing - that is making popular commercial or non-profit games, web sites. RunRev is in a good position to meet the first demand with the server side scripting language, and the plugin, but it is a bit harder to see how they are effectively addressing the second. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Dec 5, 2009, at 5:48 AM, Dave Cragg wrote: In what circumstances would you ever need to use this. The url returns over 1700 lines of text, and so many questions are raised: -- Why would you download so much data just to get a single item? There isn't a choice about that, in any language. By giving the RBS code you've already reduced the list down from all companies to just one, but beyond that you would have to have another online script dedicated to extracting the most recent date to cut the returned text down the one line. -- How do you know you want the second line? (OK, I realise it's the most recent data item, but it's a special case, and relies on the data always coming back in the right order.) The data always comes back in the right order. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
David, I'll have to confess then, I just don't get it. If that's the new focus of RunRev then I'm not sure that a new visitor to their website would come away with that vision. Most of the focus of the www.runrev.com seems to be on traditional fat-client development. The other day I was looking at a tutorial somewhere on their site which did seem to fit more with the vision you're describing (it was a tutorial on using Ajax to dynamically update a list of names on a webpage using jsquery), I remember thinking that it seemed like so much effort, and a long way from the way in which we are used to working in Rev. My thought on seeing that tutorial was that I might as well be using something else rather than Rev to do that. To my mind it is a mistake to think that one can compete for mindshare with free technologies like ruby and javascript, or with entrenched for-pay products like flash/flex/air. As if things like php and flash don't have enough compelling reasons to use them as technologies for web development (open source, free, widely available, well-known, etc.), they also have masses of books and tutorials available, and masses of libraries/products/samples that drive and subsist in their respective ecosystems. Have you seen this: http://280atlas.com/what.php ? 280 North's cappucino had rave reviews when it went public (I guess Apple die-hards like to see obj-c boosted). Many people are very impressed with Atlas. But many also balk at paying $20 or so to support its development. And it's not like there aren't other (maybe less elegant) tools that allow one to generate whole Ajaxy websites from an IDE using just one language e.g. Morfik (www.morfik.com). But I think even Morfik is struggling to survive, and the whole company and technology was created with the sole aim of simplifying web app development to just one language. At least both Morfik and Atlas have videos demonstrating how these tools are used prominently displayed from their front pages. Maybe you're right that financially it is better to get a smaller piece of a much bigger pie. Time will tell. Good luck to them. I'm glad that Rev 4.0 has received more publicity than previous releases. Regards, Bernard On Sat, Dec 5, 2009 at 12:43 PM, David Bovill david.bov...@gmail.com wrote: True - but not the right way round IMO. To get new people into the language (at this point in internet history), you need to give them tools to do what they want to do. The fact is very few people want to make desktop applications or fat clients (ok relatively few). Most kids if they want to make anything it is a web site, a plugin for Facebook, or a game. The target audience you are talking about is pre-Web2.0 and pre-easy to author game IDE's - people have (except for a niche market) moved their focus away for desktop/fat clients and onto these other areas now. What it makes sense for RunRev to target is people who want to do the above, but are put off with the intelligibility of the programming languages they need to learn to do that. The second thing they need to do is make these same people feel that learning to do it the RunRev way will help them move into the real thing - that is making popular commercial or non-profit games, web sites. RunRev is in a good position to meet the first demand with the server side scripting language, and the plugin, but it is a bit harder to see how they are effectively addressing the second. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Dec 5, 2009, at 6:08 AM, Richmond Mathewson wrote: I haven't stuck my oar into this discussion until now as I was interested which way it would go. My view may be a bit different to most of the real programmers who have offered views and code examples. I am not a real programmer insofar as I do not depend on programming for my bread and cheese, and have never had to. I have not touched any programming language other than Metacard/RunRev since 2001. I think that comparing: length of code samples is a bit silly: It's not the size that matters, it's how you use it. AND, surely, the first and foremost point to be made about RunRev is that little boys and girls (8-11 years old) can produce something that works and is not a Powerpoint clone in half-an-hour (I have seen it happening right here in my school). Teachers and other non-programmers can, very quickly, assemble programs / applications / thingies / widgets to do what they want to do without having to either hire a computer specialist or spend donkey's ages on a programming course. Runtime Revolution is all about empowerment; it should not be compared with C++ and so forth, because they are 2 different creatures. C++ lives in an aquarium, nurtured by trained zookeepers: RunRev is like my cat - much more cuddley and approachable, and doesn't need lots of fancy care and food. One of the things that the lecturers at Abertay University (where I did an MSc, for my sins) kept rambling on about was that programmers had to become sensitive to the needs of specialists in other areas they would be working for. Forget the sensitive programmer; RunRev can sensitise almost anyone to doing the job themselves. snip I second this, as another amateur who has a full-time non- programming job. Here's an excerpt from the intro to the help text for the stack system I use to manage a psychopharmacology practice: Most software is developed by IT people who are technically proficient in their own field but have no detailed understanding of the actual day-to-day needs of the end user, especially if those needs are specialized and context-sensitive. As a result, such software is generally non-intuitive and somewhat clumsy to use and has annoying gaps in its functionality. (Dammit, I should be able to just click a button and) By contrast, Psychopharmica has been developed by a psychopharmacologist over the course of almost two decades of daily use in a very active psychopharm practice and has been refined and adjusted for maximum flexibility and functionality by someone who knows what is needed for streamlined comprehensive documentation and clinical management. Created originally in Hypercard and further developed using Runtime Revolution, a cross-platform XTalk environment. RunRev allows switching from run mode to editing mode on the fly, which has enabled me to tweak, debug, and add useful features even as I continue to use the database daily in my practice. I developed Psychopharmica simply in order to make my own life easier -- basically, every time I wished I could just click a button to do something, I tried to find a way to build it in Eventually I hope to release this in standalone form and see if I can market it -- for now I run the thing in the IDE and there is one other psychopharmacologist in the group using it as well, possibly more to come. Over the years it has grown in flexibility and sophistication, providing very context-sensitive options that depend heavily on text parsing -- right-click on a medication entry to print a prescription, right-click on a procedure code to change the procedure, right-click on an address to print an envelope or start a letter, right-click on a fax number to print a fax cover sheet, lots of forms that get filled in automatically from patient data at the click of a button, automatic tracking of medication history prescriptions written, built-in self- updating medication database, alerts you if you try to prescribe something the patient is allergic to, reminders to get lab work done, etc., etc. Now over 26,000 lines of scripting, works fast as lightning -- and I can revise and debug it daily. The strength of RunRev is that it is entirely feasible for an interested amateur to create (and refine and update) an extremely powerful customized tool for a niche use. Look at the NASA Landsat 7 example in the Rev case studies. I suspect people like that NASA administrator and me are an important market, since there is nothing else comparable that is accessible to the moderately intelligent non- IT professional. -- Peter Peter M. Brigham pmb...@gmail.com http://home.comcast.net/~pmbrig ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
Re: Code Samples/Comparisons
On 5 Dec 2009, at 15:09, Colin Holgate wrote: On Dec 5, 2009, at 5:48 AM, Dave Cragg wrote: In what circumstances would you ever need to use this. The url returns over 1700 lines of text, and so many questions are raised: -- Why would you download so much data just to get a single item? There isn't a choice about that, in any language. By giving the RBS code you've already reduced the list down from all companies to just one, but beyond that you would have to have another online script dedicated to extracting the most recent date to cut the returned text down the one line. But there's another API method for returning a single quote: (http://download.finance.yahoo.com/d/quotes.csv?s=RBS.Lf=l1) This wouldn't require any chunking expression at all. (get url http://download.finance.yahoo.com/d/quotes.csv?s=RBS.Lf=l1;) But it also wouldn't require much of the code in the other languages. My point was that the one liner used in the example didn't represent a real world task, and therefore is in danger of being ridiculed. If we are to propose comparisons, it shouldn't be along the lines of this: How would you do the following in Java/C/etc? get last item of line 2 of url http://ichart.finance.yahoo.com/table.csv?s=RBS.L; but rather, How would you get and display the latest stock price for RBS.L from the internet in Rev/ Java/C/etc? Dave___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Dec 5, 2009, at 12:30 PM, Dave Cragg wrote: How would you do the following in Java/C/etc? get last item of line 2 of url http://ichart.finance.yahoo.com/table.csv?s=RBS.L; but rather, How would you get and display the latest stock price for RBS.L from the internet in Rev/ Java/C/etc? The significant thing in Rev is that you can get the thing you want in one line. With other languages you have to dispatch a request for the URL, set up a listener for when it's come back, then handle the contents of the event. Doing it that way does make it more asynchronous, you're not halting everything else for the time it takes to get the text back, but it is several more steps to deal with. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Bernard- Saturday, December 5, 2009, 8:34:31 AM, you wrote: Have you seen this: http://280atlas.com/what.php ? Wow - a geometry manager that works. What a concept... -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Dec 5, 2009, at 10:12 AM, Colin Holgate wrote: On Dec 5, 2009, at 12:30 PM, Dave Cragg wrote: How would you do the following in Java/C/etc? get last item of line 2 of url http://ichart.finance.yahoo.com/table.csv?s=RBS.L; but rather, How would you get and display the latest stock price for RBS.L from the internet in Rev/ Java/C/etc? Applescript: set AppleScript's text item delimiters to , item -1 of text items of paragraph 2 of (do shell script curl http://ichart.finance.yahoo.com/table.csv?s=RBS.L;)___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 5 Dec 2009, at 18:12, Colin Holgate wrote: On Dec 5, 2009, at 12:30 PM, Dave Cragg wrote: How would you do the following in Java/C/etc? get last item of line 2 of url http://ichart.finance.yahoo.com/table.csv?s=RBS.L; but rather, How would you get and display the latest stock price for RBS.L from the internet in Rev/ Java/C/etc? The significant thing in Rev is that you can get the thing you want in one line. With other languages you have to dispatch a request for the URL, set up a listener for when it's come back, then handle the contents of the event. Doing it that way does make it more asynchronous, you're not halting everything else for the time it takes to get the text back, but it is several more steps to deal with. Yes, but a litigious ActionScript scripter using Adobe's Flex might argue you can also do the above task with a single line of code, indeed a shorter one. (myHttpService.send() ) So long as the contest rules don't include XML descriptions of objects in the definition of code. (In Flex, you can use XML to define a programs's layout, and also bind text fields to the results of http calls, so no listener is necessary.) But it doesn't mean it's any easier to do in Flex overall. Just the opposite, I'm sure. I just don't think that pure code comparisons provide accurate comparisons of what's involved. And can perhaps deflect attention from the benefits of using Rev. With the stock quote example, I can open Rev, write my script and see the result without saving a single file. I'd even be willing to write a few more lines of code in Rev if it was required rather than sacrifice the overall simplicity of completing the task in hand. Cheers Dave___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Sat, Dec 5, 2009 at 11:31 AM, Dave Cragg dave.cr...@lacscentre.co.ukwrote: I just don't think that pure code comparisons provide accurate comparisons of what's involved. And can perhaps deflect attention from the benefits of using Rev. With the stock quote example, I can open Rev, write my script and see the result without saving a single file. I'd even be willing to write a few more lines of code in Rev if it was required rather than sacrifice the overall simplicity of completing the task in hand. Whilst this might be true, the problem is that anything beyond simple code comparisons is so bloated it's virtually a Tutorial. The purpose of such 'gimmicks' is to tweak the interest enough to actually spend the time to do a Tutorial, to create that first programme. I tend towards focusing on the intelligent non-programmer, the cases mentioned about NASA and psychopharm being perfect examples. These are the people I'd point to specific code example from online tutorials for other languages, and then to the equivalent in a Rev online tutorial - the pdf version obviously being extracts but having a clear bibliography. I have enough confidence that the cryptic nature of other languages would leave most people scratching there heads, and whilst they may not understand any better what the Rev equivalent code is doing, there is enough comfortable English there that given the choice of which Tutorial to actually spend their time with, they'll choose Rev. That's when they'll be pleasantly surprised by all the other benefits of Rev. Use examples that other languages are using, be confident to point people to your competitors tutorials, have the same examples in your own tutorials, then let them choose which tutorial they want to do. Easy. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Hi Kay, Kay C Lan wrote: Use examples that other languages are using, be confident to point people to your competitors tutorials, have the same examples in your own tutorials, then let them choose which tutorial they want to do. Easy. Actually, i like this approach. In this way, every person will be able to evaluate, in first place, their area of interest. But, I must beg your pardon if I look overly insistent of the following topic: Most of the computer users could produce and publish content using RevMedia, but just a few will give the additional steps to become full fledged programmers. RevMedia needs interfaces (palettes, Dialogs, Wizards, etc.) for common authoring task. We, as developers, do not find too difficult all these tasks, but for others (non developers) it's a big NO-NO to type scripts or commands to accomplish what they do using a Graphical User Interface in other software programs. Alejandro -- View this message in context: http://n4.nabble.com/Rev-4-0-article-on-TheServerSide-tp933211p949396.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
And of course, this is something everybody has been saying now since at least the 2nd Monterey conference. It may not be enough to make available a free product that just dumps you straight into the world of scripting. Even Hypercard didn't do that! It provided a very and gentle graceful path to the world of making your own stuff, and that is perhaps part of the reason for it becoming as successful as it did. Judy On Sat, 5 Dec 2009, Alejandro Tejada wrote: But, I must beg your pardon if I look overly insistent of the following topic: Most of the computer users could produce and publish content using RevMedia, but just a few will give the additional steps to become full fledged programmers. RevMedia needs interfaces (palettes, Dialogs, Wizards, etc.) for common authoring task. We, as developers, do not find too difficult all these tasks, but for others (non developers) it's a big NO-NO to type scripts or commands to accomplish what they do using a Graphical User Interface in other software programs. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Hi Judy, Judy Perry wrote: And of course, this is something everybody has been saying now since at least the 2nd Monterey conference. It may not be enough to make available a free product that just dumps you straight into the world of scripting. One palette with tools, commands and functions useful for authoring created by all participants. We should ask Chipp Walters for permission to use his altPlugin Palette and plugins: http://www.altuit.com/webs/altuit2/altPluginCover/about.htm Long time ago, i created this palette for editing the templates that i give to my fellow teachers: http://www.talkgraphics.com/showpost.php?p=239130postcount=6 It was supposed to be skinnable and customizable, but my fellow teachers are not too savvy in visual graphics matters. The original shape of this palette is a circle, that you could move to any place in the screen. When you click the symbol, the identification of the teacher appears (a name or photo). Notice that both palettes are the same. You could display or retract the menu and buttons in either direction: horizontal or vertical. Teachers used a lot the Image Frames (drag and drop and image over the Frame to import an image) and the Screenshot tool (used to import an screenshot from the area of an object in the stack). As a result some of them made an excessive use of images in their stacks, converting text fields in transparent PNGs... only to discover that they had to retype everything to change or fix the text... :-\ (keeping all field properties inside a custom property solved this). Later, i included a warning that tells how much size each image add to the stack. I receive many ideas about possible enhancements to this palette: 1) screen rulers in pixels, cm and inches at the edge, 2) template layout palette (with image frames and text fields) 3) save serial copies of stacks. 4) Easy application of Color (and textures) schemes. Alejandro -- View this message in context: http://n4.nabble.com/Rev-4-0-article-on-TheServerSide-tp933211p949505.html Sent from the Revolution - User mailing list archive at Nabble.com. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Hi Alejandro, Interesting palette. Probably what would also be really useful is something HC had, namely, pre-scripted actions via a button (going to a particular place, using visual effects etc.). The problems then become (1) figuring out what those sample pre-scripted things should be and (2) the taxonomy for presenting them. When I look at the current Rev toolbar, I don't see anything that really would be immediately comprehensible to the average normal human, nor do I see anything that suggests a starting point to get a project off the ground, much less items that would help complete one. Any ideas? Judy On Sat, 5 Dec 2009, Alejandro Tejada wrote: Long time ago, i created this palette for editing the templates that i give to my fellow teachers: http://www.talkgraphics.com/showpost.php?p=239130postcount=6 It was supposed to be skinnable and customizable, but my fellow teachers are not too savvy in visual graphics matters. The original shape of this palette is a circle, that you could move to any place in the screen. When you click the symbol, the identification of the teacher appears (a name or photo). Notice that both palettes are the same. You could display or retract the menu and buttons in either direction: horizontal or vertical. Teachers used a lot the Image Frames (drag and drop and image over the Frame to import an image) and the Screenshot tool (used to import an screenshot from the area of an object in the stack). As a result some of them made an excessive use of images in their stacks, converting text fields in transparent PNGs... only to discover that they had to retype everything to change or fix the text... :-\ (keeping all field properties inside a custom property solved this). Later, i included a warning that tells how much size each image add to the stack. I receive many ideas about possible enhancements to this palette: 1) screen rulers in pixels, cm and inches at the edge, 2) template layout palette (with image frames and text fields) 3) save serial copies of stacks. 4) Easy application of Color (and textures) schemes. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Alejandro Tejada wrote: Long time ago, i created this palette for editing the templates that i give to my fellow teachers: http://www.talkgraphics.com/showpost.php?p=239130postcount=6 I like it. Looks a bit like where I spend my day: http://www.fourthworld.net/devo2.jpg GMTA :) -- Richard Gaskin Fourth World Rev training and consulting: http://www.fourthworld.com Webzine for Rev developers: http://www.revjournal.com revJournal blog: http://revjournal.com/blog.irv ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will still have to write quality examples in Rev which would be a challenge :-) Quality of the code there is good enough as computer language benchmarks game aims to create the shortest and fastest running executables for all the open source languages out there. So both number of lines, speed of execution and memory use are taken into account.. I think for the community of revcoders it would be interesting to compare revTalk in that context too :-). Viktoras Mark Swindell wrote: I think Kay C is right here. Asking Rev users to write comparative code in other languages doesn't make sense from a PR standpoint. It will always be open to criticism, even if it is viable code. Mark On Dec 3, 2009, at 4:59 PM, Kay C Lan wrote: Bill, I will say the same thing I said to Kevin's recent post: The question we were asking was Which language is going to be easier in day to day use? For example, the code on the PHP comparison was based on an example posted on a site that *teaches* how to write PHP. So clearly its of a standard that is used in the real world. If you're an expert coding in PHP every day you can shorten it. Same with the revTalk example as it happens. What is simply needed is a bibliography. The fact that the PHP example comes from a site that teaches PHP is a huge blow to any argument that Rev is manipulating example to their own benefit. But that fact is not evident on the pdf. We don't need Rev users to 'create' examples, no matter how real life they are, as they will always be subject to the 'they've been manipulated by Rev' accusations. Better to find on line examples of code in each of the languages listed, especially from sites that supposedly 'teach the language', and then do the Rev equivalent. If I were to manipulate anything, I'd then try to include these examples on 'teach Rev' sites, like Devin Assay's, and include that in the bibliography as well. As, has already been said, you are not going to persuade the 'real programmers' by line counts and code readability, and they'll continue to argue that the code examples are poor and they can do better. But for anyone new to programing, or actually open minded enough to be considering any or all alternatives, links to real examples of other language code and learning sites, and actual equivalent examples in Rev are going to be effective, and if they follow the links to Learn Rev sites, lead them to the next step down the path of giving Rev a try. Another 2 clams On Thu, Dec 3, 2009 at 11:24 PM, Bill Marriott w...@wjm.org wrote: Hi everyone, We've taken your feedback to heart and will be putting effort into significantly improving our comparisons. (It obviously doesn't help to put up straw men.) To that end, I would very much appreciate contributions from the community. If you have code samples in other languages that you feel would be good illustrations of how revTalk can be shorter and/or more readable, please either post them to the list or mail directly to me -- bill.marriott (at) runrev.com. We're especially interested in : - ActionScript (Flash) - REALbasic - PHP and to a lesser extent - C/C++/C# - Visual Basic - Java - JavaScript If you are able to replicate the functionality with a revTalk example, all the better. Try to focus your efforts on real-world tasks, classic programming challenges, things everyone building software can relate to. And of course, areas where revTalk really shines. While it won't be the same as getting recognized experts [in those other languages] to produce the examples, I know there's a wealth of knowledge here in the use-list and am hoping you'll contribute some sterling examples. Thanks very much, Bill RunRev marketing guy Whatever the answer, Andre raised a very relevant point, with which I fully agree, that Rev is not well served by using a comparison against what others feel is very poor code. [...] To truly demonstrate Rev's ability against other code, get the code written by a recognised expert in that language (somebody like Bruce Eckel for Java and C++). Yes, it would cost money but I believe it would be money well spent. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your
Re: Code Samples/Comparisons
This is a very useful comment, Viktoras! I still want code. I will give a shiny new RunRev mug to the first five people who submit plausible, actual code samples to me according to my original request. - Bill viktoras d. vikto...@ekoinf.net wrote in message news:4b18eb2e.6030...@ekoinf.net... what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will still have to write quality examples in Rev which would be a challenge :-) Quality of the code there is good enough as computer language benchmarks game aims to create the shortest and fastest running executables for all the open source languages out there. So both number of lines, speed of execution and memory use are taken into account.. I think for the community of revcoders it would be interesting to compare revTalk in that context too :-). ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 04/12/2009 10:57, viktoras d. vikto...@ekoinf.net wrote: what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will still have to write quality examples in Rev which would be a challenge :-) Quality of the code there is good enough as computer language benchmarks game aims to create the shortest and fastest running executables for all the open source languages out there. So both number of lines, speed of execution and memory use are taken into account.. I think for the community of revcoders it would be interesting to compare revTalk in that context too :-). I think that's a great idea. Obviously there are a number of ways to tackle this problem and we will continue to work on holding a clear and informed debate over the coming weeks. Thanks to everyone who has made suggestions. For the moment we have updated the comparison at http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf to better articulate the point that was intended. We will post a similar discussion and add some JavaScript examples to the PHP comparison shortly. We will continue to work on finding good ways to realistically and clearly make the case for revTalk. It is very good news that there is now a debate going on. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ RunRev - Software construction for everyone ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
FYI, there are typo's and mistakes throughout this pdf. Tom McGrath III Lazy River Software 3mcgr...@comcast.net iTunes Library Suite - libITS Information and download can be found on this page: http://www.lazyriversoftware.com/RevOne.html On Dec 4, 2009, at 11:23 AM, Kevin Miller wrote: For the moment we have updated the comparison at http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf to better articulate the point that was intended. We will post a similar discussion and add some JavaScript examples to the PHP comparison shortly. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ RunRev - Software construction for everyone ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
The bibliography is still missing (if I did not overlook something). Till Am 04.12.2009 um 17:23 schrieb Kevin Miller: On 04/12/2009 10:57, viktoras d. vikto...@ekoinf.net wrote: what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will still have to write quality examples in Rev which would be a challenge :-) Quality of the code there is good enough as computer language benchmarks game aims to create the shortest and fastest running executables for all the open source languages out there. So both number of lines, speed of execution and memory use are taken into account.. I think for the community of revcoders it would be interesting to compare revTalk in that context too :-). I think that's a great idea. Obviously there are a number of ways to tackle this problem and we will continue to work on holding a clear and informed debate over the coming weeks. Thanks to everyone who has made suggestions. For the moment we have updated the comparison at http://www.runrev.com/pdf/revTalk-Other-Comparison.pdf to better articulate the point that was intended. We will post a similar discussion and add some JavaScript examples to the PHP comparison shortly. We will continue to work on finding good ways to realistically and clearly make the case for revTalk. It is very good news that there is now a debate going on. Kind regards, Kevin Kevin Miller ~ ke...@runrev.com ~ http://www.runrev.com/ RunRev - Software construction for everyone ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Kevin- Friday, December 4, 2009, 8:23:16 AM, you wrote: what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will I think that's a great idea. Sorry, Kevin, I think it's a Very Bad Idea. The examples there are hand-coded in each language to be optimized for speed (that's not the bad idea part). Having this an open-source project to optimize the code is a good way to get some reasonable benchmarks out of the way of any given company's purview. And out of an individual's coding prowess or lack thereof as well. However... if we're looking for a way to show the readability of code, that's a different matter altogether. There's no way runrev is going to come out smelling like a rose if we try to code the Mandelbrot example, just to pick one. Sure, they can all be coded in revTalk, most of the examples use multiple threads for speed, something we can only dream of in runrev. And the math routines are someting I wouldn't attempt without resorting to an external library for speed. That said, here's a quick port of the Mandelbrot example from the Pascal code. On my machine it takes 24 minutes to run. Anyone want to take a stab at improving it? This is all in a button script: function CalculatePoint Cx, Cy constant Limit = 4 local Zr, Zi, Ti, Tr local tReturn put 0 into Zr put 0 into Zi put 0 into Tr put 0 into Ti put false into tReturn repeat 50 times put 2*Zr*Zi + Cy into Zi put Tr - Ti + Cx into Zr put Zi * Zi into Ti put Zr * Zr into Tr if (Tr + Ti = limit) then put true into tReturn exit repeat end if end repeat return tReturn end CalculatePoint function run n local Cy, tStep local x, y local bits, bit local tOutput var put 2/n into tStep repeat with y = 0 to n-1 put y * tStep - 1 into Cy put 255 into bits put 128 into bit repeat with x = 0 to n-1 if CalculatePoint(x * tStep - 1.5, Cy) then -- try saying this three times fast put bits bitXor bit into bits end if if bit 1 then put bit / 2 into bit else put numtochar(bits) after tOutput put 255 into bits put 128 into bits end if end repeat if bit 128 then put numtochar(bits bitXor(((bit + bit) mod 255)-1)) after tOutput end if end repeat return tOutput end run on main pOutputFile, pNum open file pOutputFile for write write P4 cr to file pOutputFile write pNum pNum cr to file pOutputFile write run(pNum) to file pOutputFile close file pOutputFile end main on mouseUp local tTime ask file where do you want the output file to go? if it is not empty then put the milliseconds into tTime main it, 16000 answer (the milliseconds - tTime) / 1000 seconds end if end mouseUp -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Hello Mark, What is var ? René Le 5 déc. 2009 à 00:18, Mark Wieder a écrit : Kevin- Friday, December 4, 2009, 8:23:16 AM, you wrote: what about using task/code examples from http://shootout.alioth.debian.org/. Revcoders (us, runrev ltd?..) will I think that's a great idea. Sorry, Kevin, I think it's a Very Bad Idea. The examples there are hand-coded in each language to be optimized for speed (that's not the bad idea part). Having this an open-source project to optimize the code is a good way to get some reasonable benchmarks out of the way of any given company's purview. And out of an individual's coding prowess or lack thereof as well. However... if we're looking for a way to show the readability of code, that's a different matter altogether. There's no way runrev is going to come out smelling like a rose if we try to code the Mandelbrot example, just to pick one. Sure, they can all be coded in revTalk, most of the examples use multiple threads for speed, something we can only dream of in runrev. And the math routines are someting I wouldn't attempt without resorting to an external library for speed. That said, here's a quick port of the Mandelbrot example from the Pascal code. On my machine it takes 24 minutes to run. Anyone want to take a stab at improving it? This is all in a button script: ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
René- Friday, December 4, 2009, 3:38:19 PM, you wrote: Hello Mark, What is var ? René Oops. Busted. Var was a line I inserted to test the debugger. It was a line in the original Pascal code and has a meaning there, but I forgot to remove it before posting the code here. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Mark Wieder wrote: René- Friday, December 4, 2009, 3:38:19 PM, you wrote: Hello Mark, What is var ? René Oops. Busted. Var was a line I inserted to test the debugger. It was a line in the original Pascal code and has a meaning there, but I forgot to remove it before posting the code here. There's this too: put 255 into bits put 128 into bits I don't understand what the math does, but I think at least one of those lines is redundant. ;) -- Jacqueline Landman Gay | jac...@hyperactivesw.com HyperActive Software | http://www.hyperactivesw.com ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Jacque- Friday, December 4, 2009, 6:08:20 PM, you wrote: There's this too: put 255 into bits put 128 into bits I don't understand what the math does, but I think at least one of those lines is redundant. ;) Dang! Another typo. Should be put 255 into bits put 128 into bit ...and believe me, if I had written the original algorithm I wouldn't have chosen those variable names. Unfortunately, correcting that part of the code doesn't really affect the total timing. Still takes on the order of 25 minutes to run it here. -- -Mark Wieder mwie...@ahsoftware.net ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Code Samples/Comparisons
Hi everyone, We've taken your feedback to heart and will be putting effort into significantly improving our comparisons. (It obviously doesn't help to put up straw men.) To that end, I would very much appreciate contributions from the community. If you have code samples in other languages that you feel would be good illustrations of how revTalk can be shorter and/or more readable, please either post them to the list or mail directly to me -- bill.marriott (at) runrev.com. We're especially interested in : - ActionScript (Flash) - REALbasic - PHP and to a lesser extent - C/C++/C# - Visual Basic - Java - JavaScript If you are able to replicate the functionality with a revTalk example, all the better. Try to focus your efforts on real-world tasks, classic programming challenges, things everyone building software can relate to. And of course, areas where revTalk really shines. While it won't be the same as getting recognized experts [in those other languages] to produce the examples, I know there's a wealth of knowledge here in the use-list and am hoping you'll contribute some sterling examples. Thanks very much, Bill RunRev marketing guy Whatever the answer, Andre raised a very relevant point, with which I fully agree, that Rev is not well served by using a comparison against what others feel is very poor code. [...] To truly demonstrate Rev's ability against other code, get the code written by a recognised expert in that language (somebody like Bruce Eckel for Java and C++). Yes, it would cost money but I believe it would be money well spent. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On Dec 3, 2009, at 10:24 AM, Bill Marriott wrote: While it won't be the same as getting recognized experts [in those other languages] to produce the examples, As it happens, I'm sure some of us are recognized experts in other languages! But that actually makes the task harder, because we know the easiest ways to do things in those other tools. Would it be possible to suggest a few examples of easy things to do in Rev, that we could then say how they would be done in other languages? You could then just feature the ones that look a lot more complicated in the other language. It might also be worth listing the ones you're going to use here, for us all to make sure that the other language example was correct. It would be mildly embarrassing to show an example where the other language was a lot longer or harder to read, only to have users of that language say but nobody would do it that way, there's a much simpler version in our language. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 3 Dec 2009, at 15:24, Bill Marriott wrote: And of course, areas where revTalk really shines. Hmm. While that may be in the company's interest, is it really in ours. Shouldn't we be focusing on areas where Rev is weaker in the hope of pushing you for improvements? :-) Cheers Dave___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
David, Hmm. While that may be in the company's interest, is it really in ours. IMHO what's in RunRev's interests is in our users' interests. Bill ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 12/4/09 12:32 AM, Dave Cragg wrote: On 3 Dec 2009, at 15:24, Bill Marriott wrote: And of course, areas where revTalk really shines. Hmm. While that may be in the company's interest, is it really in ours. Shouldn't we be focusing on areas where Rev is weaker in the hope of pushing you for improvements? :-) Quite. Personally I have split loyalties: support the company [My country right or wrong'], or keep giving them, both, schtick (what a lovely, Yiddish word), and stick about their shortcomings. I suppose we should try to do both. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
On 12/4/09 12:46 AM, Bill Marriott wrote: David, Hmm. While that may be in the company's interest, is it really in ours. IMHO what's in RunRev's interests is in our users' interests. That really begs the question. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
Bill, I will say the same thing I said to Kevin's recent post: The question we were asking was Which language is going to be easier in day to day use? For example, the code on the PHP comparison was based on an example posted on a site that *teaches* how to write PHP. So clearly its of a standard that is used in the real world. If you're an expert coding in PHP every day you can shorten it. Same with the revTalk example as it happens. What is simply needed is a bibliography. The fact that the PHP example comes from a site that teaches PHP is a huge blow to any argument that Rev is manipulating example to their own benefit. But that fact is not evident on the pdf. We don't need Rev users to 'create' examples, no matter how real life they are, as they will always be subject to the 'they've been manipulated by Rev' accusations. Better to find on line examples of code in each of the languages listed, especially from sites that supposedly 'teach the language', and then do the Rev equivalent. If I were to manipulate anything, I'd then try to include these examples on 'teach Rev' sites, like Devin Assay's, and include that in the bibliography as well. As, has already been said, you are not going to persuade the 'real programmers' by line counts and code readability, and they'll continue to argue that the code examples are poor and they can do better. But for anyone new to programing, or actually open minded enough to be considering any or all alternatives, links to real examples of other language code and learning sites, and actual equivalent examples in Rev are going to be effective, and if they follow the links to Learn Rev sites, lead them to the next step down the path of giving Rev a try. Another 2 clams On Thu, Dec 3, 2009 at 11:24 PM, Bill Marriott w...@wjm.org wrote: Hi everyone, We've taken your feedback to heart and will be putting effort into significantly improving our comparisons. (It obviously doesn't help to put up straw men.) To that end, I would very much appreciate contributions from the community. If you have code samples in other languages that you feel would be good illustrations of how revTalk can be shorter and/or more readable, please either post them to the list or mail directly to me -- bill.marriott (at) runrev.com. We're especially interested in : - ActionScript (Flash) - REALbasic - PHP and to a lesser extent - C/C++/C# - Visual Basic - Java - JavaScript If you are able to replicate the functionality with a revTalk example, all the better. Try to focus your efforts on real-world tasks, classic programming challenges, things everyone building software can relate to. And of course, areas where revTalk really shines. While it won't be the same as getting recognized experts [in those other languages] to produce the examples, I know there's a wealth of knowledge here in the use-list and am hoping you'll contribute some sterling examples. Thanks very much, Bill RunRev marketing guy Whatever the answer, Andre raised a very relevant point, with which I fully agree, that Rev is not well served by using a comparison against what others feel is very poor code. [...] To truly demonstrate Rev's ability against other code, get the code written by a recognised expert in that language (somebody like Bruce Eckel for Java and C++). Yes, it would cost money but I believe it would be money well spent. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution
Re: Code Samples/Comparisons
I think Kay C is right here. Asking Rev users to write comparative code in other languages doesn't make sense from a PR standpoint. It will always be open to criticism, even if it is viable code. Mark On Dec 3, 2009, at 4:59 PM, Kay C Lan wrote: Bill, I will say the same thing I said to Kevin's recent post: The question we were asking was Which language is going to be easier in day to day use? For example, the code on the PHP comparison was based on an example posted on a site that *teaches* how to write PHP. So clearly its of a standard that is used in the real world. If you're an expert coding in PHP every day you can shorten it. Same with the revTalk example as it happens. What is simply needed is a bibliography. The fact that the PHP example comes from a site that teaches PHP is a huge blow to any argument that Rev is manipulating example to their own benefit. But that fact is not evident on the pdf. We don't need Rev users to 'create' examples, no matter how real life they are, as they will always be subject to the 'they've been manipulated by Rev' accusations. Better to find on line examples of code in each of the languages listed, especially from sites that supposedly 'teach the language', and then do the Rev equivalent. If I were to manipulate anything, I'd then try to include these examples on 'teach Rev' sites, like Devin Assay's, and include that in the bibliography as well. As, has already been said, you are not going to persuade the 'real programmers' by line counts and code readability, and they'll continue to argue that the code examples are poor and they can do better. But for anyone new to programing, or actually open minded enough to be considering any or all alternatives, links to real examples of other language code and learning sites, and actual equivalent examples in Rev are going to be effective, and if they follow the links to Learn Rev sites, lead them to the next step down the path of giving Rev a try. Another 2 clams On Thu, Dec 3, 2009 at 11:24 PM, Bill Marriott w...@wjm.org wrote: Hi everyone, We've taken your feedback to heart and will be putting effort into significantly improving our comparisons. (It obviously doesn't help to put up straw men.) To that end, I would very much appreciate contributions from the community. If you have code samples in other languages that you feel would be good illustrations of how revTalk can be shorter and/or more readable, please either post them to the list or mail directly to me -- bill.marriott (at) runrev.com. We're especially interested in : - ActionScript (Flash) - REALbasic - PHP and to a lesser extent - C/C++/C# - Visual Basic - Java - JavaScript If you are able to replicate the functionality with a revTalk example, all the better. Try to focus your efforts on real-world tasks, classic programming challenges, things everyone building software can relate to. And of course, areas where revTalk really shines. While it won't be the same as getting recognized experts [in those other languages] to produce the examples, I know there's a wealth of knowledge here in the use-list and am hoping you'll contribute some sterling examples. Thanks very much, Bill RunRev marketing guy Whatever the answer, Andre raised a very relevant point, with which I fully agree, that Rev is not well served by using a comparison against what others feel is very poor code. [...] To truly demonstrate Rev's ability against other code, get the code written by a recognised expert in that language (somebody like Bruce Eckel for Java and C++). Yes, it would cost money but I believe it would be money well spent. ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution ___ use-revolution mailing list use-revolution@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-revolution