Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Need help for justification of using REBOL as dev language

 [1/22] from: coussement::c::itc::mil::be at: 10-Apr-2001 10:38


Brett: Sorry for this: I had to put the details in my request in order to make it more clear ;-( Basically, on each test station a local REBOL page server respond to requests emitted by html page and generate and send new html pages. Those generated html pages are used as the GUI, and are composed of DHTML-Java-Javascript. Their generation is based on html templates in which data are inserted. Those data are contained in a - primitive but functional - REBOL OODB. Examples of data are a question and the possible multiple choice answers to it, or the presence and layout of a time slider ... When a test session has been executed, all tests are corrected by a REBOL app, reports are generated using also DHTML-Java-Javascript pages templates and the answers and results are inserted into a SQL Server DB for archive and longitudinal studies use. In terms of volume, based on what we can estimate until now, some 8000 persons/year should use the system, which should correspond to about 4,000,000 pages generated / year. Do not hesitate to ask for more details, if you need it. Thanks for answering ! Regards, chr==

 [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
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
<major snip> Nice job, Ryan. I would add a few additional points somewhere (if not already mentioned), including: - scripting languages avoid the sometimes lengthy compile, link then debug cycle, allowing changes to be made more easily (as opposed to Java) - JavaScript is closely tied to browser or server, whereas, Rebol could be refactored and extended beyond browser technology to its own dedicated and *secure* channel if/when needed. - ability to great a dialect that is particular to the problem domain, allowing even faster prototyping and development in the future. John Ousterhout (original creator of Tcl/Tk) wrote a great article (for IEEE Computer, 1998) on the use of scripting for the 21st century. There are many great arguments embedded in that document (it's been a couple of years since I have read it so I won't try to paraphrase it). http://dev.scriptics.com/people/john.ousterhout/scripting.html Good luck, Christophe. --Scott Jones

 [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


As I see it you would need to show your architectural choices (probably not language specific), and why you choose this one. Then justify the various technological choices made to create this architecture. The Architecture architectural piece -> technological choice * Ultimate Storage -> Relational Database Surely no problems there. * GUI -> DHTML/Java/Javascript Given the combo, you must have already had some decent experience with this so I'm guessing this is not a problem for you to justify. * Page Generation / Local Dedicated Server -> Rebol/Custom Scripting You choose a local page generation scheme over a central server. Network issues, response times, etc. ASP would have been a nightmare on each PC... You could have written Java to do the page generation but you might have spent half your budgetted time on networking instead of writing the GUI.... * Test Scoring -> Rebol/Custom Scripting Anything probably would have done the job, but I'm guessing you would have a specific data model for the questions and answers. I'm guessing the model(s) would be quite simple in Rebol but would have taken a while in other languages. Certainly Rebol would have been easier to integrate with the Page Generation Choice. Possibly you lumped this in with the page generation because you needed fine control over the GUI output..... Etc. So what about Powerbuilder? Again depends on architecture. Three/n tier: complexity of machines and communications, administration not to mention lots of programming, a sophisticated layered model and expense. Two tier: Networking issues possibly, rigidity of the solution - cycle times with compiling / distribution. Java similar issues. Your solution probably can run without a central machine. If you needed to achieve that with Powerbuilder or Java, what would you haved used for your local data store? Do you have such a local store available. If not how long would it have taken you to build one or buy one and learn it? With these languages it comes down to already having a framework suitable to the task. If not, then you would need to build it. Which might have overrun your budget. The weak point of Rebol is the size of the developer population available to you (probably just you :) ). So you would need to hype up how fantastic Rebol was in the various uses you made of it in this project, why it succeeded so well, and how those qualities could be transferred to other projects. Rather than fighting for survival, consider how you could make a case for extra resources devoted to using Rebol to make it a new standard (perhaps for specific projects to keep everyone comfortable). You may have already given thought to how you could make this system better. For example does your local rebol script make a direct connection to the sqlserver - requiring Sql client on the test pc or do you emit something like an XML message containing the results that gets posted to a central collection point for import into the sql server? [I'm not saying which is better just generating ideas.] Hope it helps. Brett.

 [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
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 ?
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.
- martin

 [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):

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted