Need help for justification of using REBOL as dev language
[1/22] from: coussement::c::itc::mil::be at: 10-Apr-2001 10:38
[2/22] from: athena:pop3-dfw:myfirstlink at: 10-Apr-2001 6:41
I believe you already have the reasons identified in this email. Such choices are rarely based only upon technical reasons. You have identified cost, schedule demands and although "I feel good when I use it" may not fly, implementer's productivity and learning curve issues are valid. You may also want to identify the cost required for any of the other implementations in terms of software components, hardware resources, etc. I am not aware of any formal measure for a language's level of complexity, but Java has thousands of classes in its API's and the real challenge is learning how these operate. If the project is already a success, particularly with a very short time to implement, that can be a justification in itself. I too work for a military agency and I have empathy for you. The military mindset doesn't deal well with grey areas. They like black and white answers. There is always: It's easier to ask forgiveness than permission. Harold Grovesteen Brett Handley wrote:
[3/22] from: jeff:rebol at: 10-Apr-2001 6:02
Howdy, Coussement: A comparison table would be good. Here's are two questions that could provide some rows of data for your table: How large (in kilobytes) has your REBOL project been? How large (rougly) would it have been if implemented in C, Java, C++, etc... ? -jeff
[4/22] from: ryanc:iesco-dms at: 10-Apr-2001 12:19
Hi, I wrote down several points I thought were important. My points generally have to do with cost savings--a well proven sales tactic. This doc is not well researched, or worded, but maybe we can build off it, or rewrite it, to produce something a bit more professional for those who need it in the future. I Like the idea of a comparison table, maybe this could be shrunk and altered into that format? --Ryan ************************************ * Self Documenting / Easy To Read * Most REBOL functions use obvious words like "loop" or "read". Created words can have names like "branch" or "get-name-rank-serial-number". Objects are also very readable, "country/state/city/name". Assignments use the colon instead of the equal, so they are never confused with comparison. This lends itself to very readable code, lessening the need to painstakingly add remarks. * Less Code * REBOL functions are more oriented towards todays programming tasks. Many normally complicated tasks can be done quickly in a single line of code, such as:
>> send [bob--foo--com] "Its ready!" >> write %file.txt "I am writing to a file!" >> web-page: read http://www.foo.com/index.html
* Flexibility and Modularity * REBOL's flexible and modular nature makes it simpler for programmers to cooperate. Program interfaces are more obvious for a given task. For instance, if I needed a programmer to write a function to parse a given web site and return the linked sites, that would be all that was needed to be said. Even a junior REBOL programmer would know to write a function that accepts a URL and returns a series of URL's. In most other languages there would have to be a discussion about what the URL would look like, how it is passed, as well as even further considerations regarding the list that is returned. * Excellent Debugging Capability * Since REBOL can operate as a console, different parts of a program can be debugged manually. Probes can be used to report values anywhere. Its self documentation helps out alot too. REBOL programs are often modular, reducing the search area for a bug. The program is often many lines shorter than in other languages, therefore there are even fewer lines to search through when attempting to locate a bug. * Easy To Understand * Since REBOL typically uses fewer lines of code, is self documenting, and easy to read, it in turn is generally easier to comprehend the program. Saving a few lines of code here and there may not sound like much, but even a small difference can help significantly. Much like how it is so much easier to remember a 8 digit number versus a 11 digit number. When a programmer gets lost in thier program, their productivity stops. The flexible and modular archetecture of a REBOL program also helps the programmer keep his bearing as well by allowing him/her to devide the program in understandable chunks. * Faster Development * While all the prior points save money on thier own right, they also add together cumulatively greately reducing the time to develop a particular software product. * Multi-Platform * Operating platforms come and go. Unix, Apple, OS/2, Microsoft, and it appears Linux is next, but there are many other high quality operating systems, more than ever before. Therefore it is very wise to develop using a cross platform solution to extend the lifetime of a software solution if need be. REBOL runs on 42 platforms with more on the way. No porting is typically required! * Well Supported * Unlike some free languages, REBOL is kept up by a fulltime staff minimizing bugs. * Easy To Learn * What other languages can you learn to send an email in a minute? Most tasks can be learned extremely quickly. * Free * Best of all Core is free and you can use any text editor to develop it. Saves you money before you even start. * COST SAVINGS * All the points lists here contibute to an overall cost savings by using REBOL.
[5/22] from: gjones05:mail:orion at: 10-Apr-2001 16:55
From: "Ryan Cole"
> Hi, I wrote down several points I thought were important. My points
> have to do with cost savings--a well proven sales tactic. This doc is not
> researched, or worded, but maybe we can build off it, or rewrite it, to
> something a bit more professional for those who need it in the future. I
> the idea of a comparison table, maybe this could be shrunk and altered
> format? > > --Ryan
[6/22] from: ryanc:iesco-dms at: 10-Apr-2001 15:41
Thanks Scott, that is an interesting doc, I will have to read it more thoroughly sometime. Some good references. I like the one "Programmers can write roughly the same number of lines of code per year regardless of language" --B. Boehm, Software Engineering Economics, Prentice-Hall, ISBN 0-138-22122-7, 1981. --Ryan GS Jones wrote:
[7/22] from: coussement:c:itc:mil:be at: 10-Apr-2001 9:37
Hi list: As already mentioned on this list, the whole psychotechnical assessment system of the Belgian Armed Forces is running REBOL... Well, I think personally it was the best choice I ever made as project manager: REBOL is stable, ergonomical, easy to learn and use, has lot of possibilities for being used to access ODBC and external libs, ... and I feel good when I use it ! But the choice of REBOL was a personal choice, not an Armed Forces standard: it was in first instances justified by the fact the project had to be operational in less than a few month... So I had no time for prospection. Now the project is going further and the code is getting stable, I feel the time is coming some high-ranked folks will ask me to justify my choices, and try to impose some standards like Java of PowerBuilder ;-( Well here is my request: there are lots of people - and gurus - on this list, who are coming from different developing universes - like C, Lisp, Java ... - and have discover the power of REBOL ... Please help me find straight and technical args I could use to justify the use of REBOL. Even language comparison tables should be useful ! Perhaps we could create together a new standard for the Belgian Armed Forces ;-)) Thanks in advance, chr==
[8/22] from: brett:codeconscious at: 10-Apr-2001 18:09
Hi, Can you remind us of the structure of your solution? For example, I seem to recall that you used HTML as a GUI - is this right? Brett ----- Original Message ----- From: "CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN" <[COUSSEMENT--C--ITC--mil--be]>
[9/22] from: brett:codeconscious at: 11-Apr-2001 10:42
[10/22] from: coussement:c:itc:mil:be at: 11-Apr-2001 14:55
Hi list: I'm very grateful to all for the arguments provided as answer to my request. It will help me a lot !!! I particularly liked the analysis of Ryan and Brett. I have found many args in the J. K. Ousterhout's article too: http://dev.scriptics.com/people/john.ousterhout/scripting.html About this article: a very interesting comparison is given by the figure 1 - level/typing - Has anybody any idea where to situate REBOL on the graph ? I assume it should be similar to Tcl/Perl ? Perhaps there are any folk at RT who could tell me what the range of instructions/statement for REBOL is ? Great too are the code comparison Tcl - Java - C++ . This example is easy to translate in REBOL and provides some difficult to refute arg about the compacity of REBOL. I just don't fully agree with the author's thought about OO programming, but that's not the point right here - perhaps another time ... Well I'll get to work and write my justification now :-( ... when duty calls ... Thanks again to all for the great job !!! CU, chr==
[11/22] from: gjones05:mail:orion at: 11-Apr-2001 9:03
From: "CRS - Psy Sel/SPO, COUSSEMENT Christophe, CPN"
<snip> > I have found many args > in the J. K. Ousterhout's article too: > > http://dev.scriptics.com/people/john.ousterhout/scripting.html > > About this article: a very interesting comparison is given by the figure
> level/typing - > Has anybody any idea where to situate REBOL on the graph ? I assume it > should be similar to Tcl/Perl ? > Perhaps there are any folk at RT who could tell me what the range of > instructions/statement for REBOL is ?
I would place REBOL around the C, C++ range on the x coordinate, and somewhat higher than Tcl on the y coordinate based on my knowledge (and opinion ;). In that everything starts as a string in Tcl code (the bytecode compiler apparently makes some assumptions about type in order to improve performance), it is considered fairly typeless. C is typed on the face, but allows type coersion/conversion almost too easily (accounting for the ease of making errors). What I know/recall of Java is that it is strictly typed, and in fact sets fairly tight constraints on type conversions. As far as the amount of work done by any given statement, REBOL is clearly more "efficient" than Visual BASIC and usually more efficient than Tcl (by a guestimated factor of 25 to 50%). Some of the efficiency lies in REBOL being more "functional" in that more commands can be strung together and thereby avoiding the explicit assignments. And other portions of the gain are in the inclusion of clean abstractions of a number of protocols, including file and http manipulations. Glad the reference was helpful. --Scott Jones
[12/22] from: carl:rebol at: 11-Apr-2001 7:42
I would agree with your placement in X and Y. -Carl
[13/22] from: coussement:c:itc:mil:be at: 12-Apr-2001 9:34
> -----Original Message----- > From: GS Jones [SMTP:[gjones05--mail--orion--org]]
<<quoted lines omitted: 37>>> Glad the reference was helpful. > --Scott Jones
[ Thanks for your estimation, I will add it to my document ! Regards, chr== ]
[14/22] from: coussement:c:itc:mil:be at: 10-Apr-2001 14:17
> -----Original Message----- > From: Harold Grovesteen [SMTP:[athena--pop3-dfw--myfirstlink--net]]
<<quoted lines omitted: 13>>> already a success, particularly with a very short time to implement, > that can be a justification in itself.
[Good point Harold! But straight thinking in terms of productivity is mostly not an issue within a big administration. Too bad :-(( ]
> I too work for a military agency and I have empathy for you.
[It feels good knowing I'm not alone ;-) ]
> The > military mindset doesn't deal well with grey areas. They like black and > white answers. > > There is always: It's easier to ask forgiveness than permission. > > Harold Grovesteen
[Thanks for your thought ! Regards, chr== ]
[15/22] from: athena:pop3-dfw:myfirstlink at: 14-Apr-2001 12:46
I am confused by the placement of REBOL on the Y coordinate. If REBOL is "more efficient" than TCL or Visual BASIC would not greater efficiency place it lower on the Y axis, say between Visual BASIC and C/C++/Java? Would not placing it higher than Tcl imply it takes more of the system to do the same thing rather than less? Harold Grovesteen Carl Sassenrath wrote:
[16/22] from: gjones05:mail:orion at: 15-Apr-2001 8:54
From: "Harold Grovesteen"
> I am confused by the placement of REBOL on the Y coordinate. If REBOL > is "more efficient" than TCL or Visual BASIC would not greater > efficiency place it lower on the Y axis, say between Visual BASIC and > C/C++/Java? Would not placing it higher than Tcl imply it takes more of > the system to do the same thing rather than less? > > Harold Grovesteen
I guess the language may be imprecise, in a Lewis Carol sort of way. What I recall about the article was that Dr. Ousterhout was characterizing languages based on how much work is done by any single statement (my words, not his). Without having reread the article, it seems as though he guestimated that a C statement does about 5 lines worth of Assembly language, and that a high level scripting language statement may encapsulate 2 to 10 times what a C statement does. It seems as though he thought that Tcl was about 5 to 10 times as efficient as C in this schema. My guestimate based on using both was that REBOL was more efficient (in this specific regard) than Tcl, hence my suggestion on the Y scale (which was logarithmic, if I recall). Is this clearer? Regards, --Scott Jones
[17/22] from: martin:middleton:speechworks at: 2-Jul-2001 9:24
Did a final version of the justification ever get published anywhere? I'd be interested in seeing a copy. - martin
[18/22] from: coussement:c:js:mil:be at: 2-Jul-2001 16:08
The version has not already been published, because I'm waiting for the right moment to present it. BTW, it only exists in French. Still interrested by the draft ? chr==
[19/22] from: mario:cassani:icl at: 2-Jul-2001 14:33
> Did a final version of the justification ever get published > anywhere? I'd > be interested in seeing a copy. > > - martin
Me too!!! Today they told me I must learn M$ VirusBasic. I am proud I don't know it and I hope not to change my status. More datails about a full time REBOL programmer ad. appeared some days ago? Mario
[20/22] from: martin:middleton:speechworks at: 2-Jul-2001 15:18
Sure, I'm game. Perhaps I persuade on of my co-workers to translate it for me. If not, I'll consider it an intellectual challenge. At 10:08 AM 07/02/2001, you wrote:
>The version has not already been published, because I'm waiting for the >right moment to present it.
<<quoted lines omitted: 20>>>[rebol-request--rebol--com] with "unsubscribe" in the >subject, without the quotes.
[21/22] from: warp::reboot::ch at: 25-Sep-2001 8:04
Dear Christophe, I've actually the very samme problem 8( I would really appreciate if you could send me a copy ( french is ok) as I have to demostrate to webobjects people that rebol is also a good product. thanks a lot 8) Will Arp [warp--rebooot--ch]
[22/22] from: hallvard:ystad:helpinhand at: 25-Sep-2001 8:30
I'd like a copy too, if I may. French is not only OK, it's brilliant. ~H Du skrev (Tuesday 25.09.2001, kl. 08.04):
- Quoted lines have been omitted from some messages.
View the message alone to see the lines that have been omitted