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

[why-REBOL] Pros and Cons / what's so special

 [1/17] from: greggirwin:mindspring at: 23-Jun-2004 14:12


Hi Mauro, MF> Do you think rebol can provide the same functionalities with less MF> resources? Yes. Carl mentioned on the View 1.3 project, after reviewing some internals, that the View graphics engine is like a miser trying to save pennies, while VID is like the government spending millions. Base, for example, doesn't have a very large memory footprint (~600K). With proper docs about how things work at the lower levels, and how to avoid waste, I imagine we could create some much more efficient UI dialects and toolkits. Now, efficiency has multiple meanings. I don't know that we could create one that takes a little code as VID, or is as flexible, but it would be something different for those that want it. MF> Can you think you can make a tool like Opera/Mozilla with rebol? I can imagine making an effective and efficient browser, but I wouldn't try to emulate current browsers in the process. i.e. I might not try to build a standards-compliant HTML rendering engine in REBOL. MF> Yet, you can blame them for being huge and somewhat slow, but they win MF> hands down when speaking about features and easiness of use. My problem with Mozilla (and I do try to use it as much as I can) is that when I minimize it for some time, it takes forrrr-ever to wake back up. I like a lot of other things about it, but that single fault bugs the heck out of me. MF> Maybe I'll get flamed here, but... I'm just realistic. OK, I'll flame you. :) MF> Rebol is a good scripting tool. But it is just a simple tool. It *is* a simple tool; that's one of its greatest strengths. It is much more than "*just* a simple tool" though, IMO. Even if it *were* just a simple tool, simple tools are often the best kind. MF> Whatever you say about rebol can be said about every other scripting MF> language. This argument is just too easy to counter; if I may list just a few things that differentiate REBOL from other languages: PARSE (and all that it implies) protocols datatypes cross-platform GUI system human friendly syntax reasonable size code/data duality first class language capabilities console HELP and SOURCE functions comes pre-built from the factory (and you can't say "there are libraries..." for other languages, because whether a library exists right now for REBOL doesn't say anything about the language) Now, some languages may have one or more of those features, but show me another one that has them all (or even more than a couple of them). If you look at *just that list* of items, those things are so incredibly important to me that REBOL has, for better or worse, ruined a lot of other languages for me. I'm not blind to its faults, but none of them are show-stoppers IMO. The tools are there to do almost anything we need. Also, don't forget that REBOL isn't a scripting language, nor is it a programming language (though their site uses that term now, for marketing reasons I presume); it is a messaging language. While it can compete with other programming and scripting languages (so much so that we're having this discussion :), they can't compete with it on its turf: the semantic exchange of information between people and machines. MF> And some of them are much more "advanced" than rebol (some of MF> them have modularity capacities and can be fully integrated into the MF> native OS). I'm glad you quoted "advanced". :) HTML is one of the least advanced languages I've ever seen, but look what's been done with it. RT has mentioned that module support may be released someday, but REBOL isn't, at this time, targeted at building large systems that would benefit most from that. OS integration will add size and complexity. I don't envy RT fighting the desire to add these things to appease people in the short term. Holding fast to simplicity isn't easy. REBOL may not be perfect, but I'm not letting its flaws get in the way of doing great things (or trying) with it. (I hope that flame wasn't too harsh :) -- Gregg

 [2/17] from: bry:itnisk at: 24-Jun-2004 10:01


MF> Whatever you say about rebol can be said about every other scripting MF> language. Is this a variant of the old canard, all programming languages are the same?
> PARSE (and all that it implies)
I'm curious what do you consider to be an 'implication' of Parse? When I think of implication in the context of a programming language I do not think of implied uses for parts of the language, but implied ideas about the problem domains to which the language is applied and implications about the nature of programming itself.
> protocols
this is something that I think libraries, if included in the distribution of the language, can give equivalency to rebol's. that I might have to do an import statement to use that library doesn't really bother me.
> cross-platform GUI system
benefit
> human friendly syntax
this is a mirage, to do simple things yeah like send [bry--itnisk--com] 'hi', my mother can use rebol, but even when it gets to the point of an automated mailing list the human friendly syntax is not going to be simple enough for her. At that point it means the human friendly syntax is just another programming language, and if that's the case it can be in the way of understanding for someone who is used to languages in the C family for example. The lack of true variables etc. all these things can stand in the way of understanding. As an example yesterday I had to debug some php, I've only done one major php project in my life, translating from a large asp application, and that was a long time ago. I do not know the language at all, however I know the family of languages, I saw fairly quickly that there were some things that were likely to be syntactical errors, such as something like this do if(...){} I thought, what is that do doing all alone there, is that allowed? well of course it wasn't, it should have been a do{}while(); there were some other syntactical errors regarding concatenation, and one logical error. you tell someone who isn't used to Rebol about how understandable it is, with its human friendly syntax, and then give them some clever code, for example that article you did on O'reilly where I remember you said you did some stuff a particular way because people would be thinkking "WOW, how did he do that" well all that is an argument against the human friendly syntax. Currently I'm learning J, it has a very human unfriendly syntax. I don't really find that any more of a problem.
> reasonable size
do you mean reasonable size in the size of the language implementation, don't know if that matters for most things, if you mean reasonable size in the context of the amount of code one has to write to do things yes this is always a benefit.
> console > HELP and SOURCE functions > comes pre-built from the factory
lots of languages have these last three. Does comes pre-built from the factory have to do with there being only one implementer? There can be Lisps that come pre-built from the factory.
> Now, some languages may have one or more of those features, but show > me another one that has them all (or even more than a couple of them).
<<quoted lines omitted: 6>>
> its turf: the semantic exchange of information between people and > machines.
I don't know exactly what you mean by semantic exchange here, it sounds like some more human friendly syntax, when I think of messaging language I think of Erlang or E. Languages with support for concurrency, languages with support for contracts between senders and receivers, in which a message between processes itself is a datatype. I don't know, I just use Rebol to do stuff like, get all my emails, filter them with simple rules, change them to xml, save to folder x, or upload following set of files. Automated scripting stuff that I think it is well suited for because it can be run cross-platform. I do see stuff get built in Rebol all the time that I think is cool stuff, but hell I see stuff that gets built in all languages all the time that I think is cool stuff. I haven't really seen anything built in rebol, other than the async protocol, that has given me reason to reconsider the usages I think it most appropriate for. However maybe this is a difficult thing to do.

 [3/17] from: g:santilli:tiscalinet:it at: 24-Jun-2004 12:18


Hi bry, On Thursday, June 24, 2004, 10:01:51 AM, you wrote:
>> PARSE (and all that it implies)
bic> I'm curious what do you consider to be an 'implication' of Parse? When I think bic> of implication in the context of a programming language I do not think of bic> implied uses for parts of the language, but implied ideas about the problem bic> domains to which the language is applied and bic> implications about the nature of bic> programming itself. PARSE is an example of what the other languages do not have - dialect. PARSE is a dialect to build dialects too, so it's not like "hey I have this cool module to parse strings". It's the concept, not the function --- other languages are not value-based do they can't have PARSE.
>> protocols
bic> this is something that I think libraries, if included in the distribution of bic> the bic> language, can give equivalency to rebol's. bic> that I might have to do an import statement to use that library doesn't really bic> bother me. Same here --- it's the concept of a PORT as a series abstraction. Some languages have similar things but they are not as simple and general.
>> human friendly syntax
bic> this is a mirage, to do simple things yeah like send [bry--itnisk--com] 'hi', my Wrong, it's not the "scripting language" syntax to be "human friendly". Not all humans are programmers so that wouldn't be that useful. It's the values that have a human friendly syntax. How do you write a date in other languages? How do you write a URL? See, most languages do not have the concepts at all either.
>> reasonable size
bic> do you mean reasonable size in the size of the language implementation, don't bic> know if that matters for most things, if you mean reasonable size in the bic> context bic> of the amount of code one has to write to do things yes this is always a bic> benefit. Both. The size of the interpreter shows how elegant its design is. An elegant design is ALWAYS a benefit. Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/

 [4/17] from: nitsch-lists:netcologne at: 24-Jun-2004 21:24


On Donnerstag, 24. Juni 2004 10:01, [bry--itnisk--com] wrote:
> MF> Whatever you say about rebol can be said about every other scripting > MF> language.
<<quoted lines omitted: 6>>
> the problem domains to which the language is applied and implications about > the nature of programming itself.
Parse & blocks in Rebol, pattern-matching & messages in Erlang; Prolog, Lisp, Smalltalk or Fuzzy-logic are parts of C? :)
> > protocols > > this is something that I think libraries, if included in the distribution > of the > language, can give equivalency to rebol's. > that I might have to do an import statement to use that library doesn't > really bother me. >
Its about the interface. Some users of other languages now point to rebols send and say "why do we need all this setup-messages?" About protocols, they have all the same job and they do it with the same interface. Thats the difficulty with libraries, sending data through email does not look like putting data in a file.
> > cross-platform GUI system > benefit
<<quoted lines omitted: 3>>
> mailing > list the human friendly syntax is not going to be simple enough for her.
TeX was simple enough for a lot of secretaries, and prefered IIRC. You may underestimate the IQ of your mother. Maybe a communication-problem. ;)
> At > that > point it means the human friendly syntax is just another programming > language, and if that's the case it can be in the way of understanding for > someone who is used to languages in the C family for example. The lack of > true variables etc. all these things can stand in the way of understanding.
One reason for such communication-problems: did you show her variables before, and other such stuff? may trigger: I never will understand variables.. -> programming-languages look like this -> Rebol looks like a programming-language..
> As an example yesterday I had to debug some php, I've only done one major > php project in my life, translating from a large asp application, and that
<<quoted lines omitted: 4>>
> I thought, what is that do doing all alone there, is that allowed? well of > course it wasn't, it should have been a do{}while();
Now think as mother you once had to learn that, instead of until[..]
> there were some other syntactical errors regarding concatenation, and one > logical error. >
You have done a major php-project and still not got the language? Maybe you should try rebol, the concatenation-rules may be simpler. first thing one does IIRC. ;)
> you tell someone who isn't used to Rebol about how understandable it is, > with its human friendly syntax, and then give them some clever code, for > example that > article you did on O'reilly where I remember you said you did some stuff a > particular way because people would be thinkking "WOW, how did he do that" > well all that is an argument against the human friendly syntax. >
I assume php with its c-syntax allows me to show increments deep in expressions and such and call myself clever? But to me its more about writing some code, instead of reading that of others. And then not have to think to much about concatenating. complicated code is then plugged in as protocols, no need to think about it, all reacts the same. OK, some 5-liners-demos needed to show the diferences.
> Currently I'm learning J, it has a very human unfriendly syntax. I don't > really find that any more of a problem. >
Some lines above you said non-c-syntax is a huge problem with rebol. Now some lines later you learned that much? ;))
> > reasonable size > > do you mean reasonable size in the size of the language implementation, > don't know if that matters for most things, if you mean reasonable size in > the context > of the amount of code one has to write to do things yes this is always a > benefit. >
Or amount of what one has to learn. BTW download-sizes matter today.
> > console > > HELP and SOURCE functions > > comes pre-built from the factory > > lots of languages have these last three. Does comes pre-built from the > factory have to do with there being only one implementer? There can be > Lisps that come pre-built from the factory.
Gabriele mentioned Lisps as beeing comperable. But:
> > Now, some languages may have one or more of those features, but show > > me another one that has them all (or even more than a couple of them). > > If you look at *just that list* of items, those things are so > > incredibly important to me that REBOL has, for better or worse, > > "ruined" a lot of other languages for me. > >
Lots of exclamation-marks here! Gabriele wants a combination of all this features. Is there a lisp which can do all? I mean, ok, there is, once i understand how to code emacs.. ;)
> > it is a messaging language. While it can > > compete with other programming and scripting languages (so much so
<<quoted lines omitted: 11>>
> scripting stuff that I think it is well suited for because it can be run > cross-platform.
Ahem. You get messages, filter messages, convert messages, store messages, upload files (kind of messages) and do not realize you are dealing with messages? Maybe you should set up some concurrency and contracts first to feel more awe? ;) As for erlang, yes, very cool, but meant to turn a lot of computers in a single one, lets call it a "multi-machine-application". Messaging between such applications, or even humans, is a bit harder. and here they resort to rebol-style: translating to email, html etc, and having a featureless but quick tcl-style gui. Which is enough to visualize messages, its main purpose. Citing Gabriele again: "the semantic exchange of information between people and machines" I admit E i don't know yet.

 [5/17] from: greggirwin:mindspring at: 24-Jun-2004 15:22


Hi bry, This turned out a bit lengthy, but don't take the length of my reply as an "attack". I like it when people put me on the spot to justify my views on REBOL; it helps me to see other views; it helps me to take a step back and think about things in detail. Also, if this is disjointed, I wrote a bit this morning, then finished while eating lunch.
>> PARSE (and all that it implies)
bic> I'm curious what do you consider to be an 'implication' of Parse? The ability to create dialects--whether new and novel, or for parsing existing data--using a pseudo-BNF description; no lexx, no yacc, can use either string or block format depending on whether you need complete control or want to leverage the ability to parse any data that fits within REBOL's lexical space. bic> When I think of implication in the context of a programming bic> language I do not think of implied uses for parts of the bic> language, but implied ideas about the problem domains to which bic> the language is applied and implications about the nature of bic> programming itself. Yes, REBOL is meant to facilitate the exchange of information. To understand that information--which will describe many and varied things--you need to be able to adapt to many problem domains. This extends one of the basic idioms in Forth development: build up a vocabulary with which you can describe the solution to the problem. It's a language creation toolkit. Other languages (Lisp, Forth, Logo, OCaml, etc.) also let you do this kind of thing, but not in ways that are as easy as REBOL. This is important because there are going to be thousands of dialects, so more people need to be able to create them, not just the .001% who are true language/parsing geeks.
>> protocols
bic> this is something that I think libraries, if included in the bic> distribution of the language, can give equivalency to rebol's. bic> that I might have to do an import statement to use that library bic> doesn't really bother me. 1) How many languages integrate them seamlessly? For example, in most languages, the syntax to use them is different than for files, varies between protocol types, and/or requires that you instantiate a different kind of object after *you* figure out what the protocol is by analyzing the string that represents a URL. I'm not saying they don't exist, but let's list them. 2) You don't mind doing the import, but now you also have to make sure your users have that module if you deploy the app, correct? 3) The scheme/protocol model in REBOL is open for new protocols to be added, so you can integrate new, perhaps novel, schemes that work just like native ones--there is no visible difference. (Yes, this could use more docs, like other areas...)
>> human friendly syntax
bic> this is a mirage, to do simple things yeah like send bic> [bry--itnisk--com] 'hi', my mother can use rebol, but even when it bic> gets to the point of an automated mailing list the human friendly bic> syntax is not going to be simple enough for her. At that point it bic> means the human friendly syntax is just another programming bic> language Let's not confuse the language's syntax with the problem of complex application development, those are two separate issues. Human friendly syntax won't make normal people "real programmers"; Normal people care only about the end result. We have a number of normal people on the list who do amazing things with REBOL. No, not everyone will want to, but REBOL is like BASIC in that it can be used by hobbysists and people who have a need for simple applications. Using your example, for the sake of argument, I think a lot of people *would* be able to do this kind of thing: mailbox: [ scheme: 'pop user: 'project1 host: "mail.xxx.org" smtp: "smtp.yyy.com" pass: "gregg" address: [project1--xxx--org] ] list: [[foo--bar--com][baz--foo--com]] box: open mailbox while [not empty? box] [ message: import-email first box send/only list message/content remove box ] bic> , and if that's the case it can be in the way of understanding bic> for someone who is used to languages in the C family for example. bic> The lack of true variables etc. all these things can stand in the bic> way of understanding. It's a catch-22 because, as long as people think in terms of other languages, that stands in their way of understanding REBOL. If REBOL worked like other languages, there wouldn't be any point to it. There is some validity when people question the need for new languages upon looking at languages that aren't so very different from what's come before. You certainly gain leverage across languages that are similar, hence the power of REBOL dialects and, for those coming from Lisp, Forth, or Logo, they get the benefit you cite. That is, someone coming from Logo could make a lot more sense of REBOL than PHP. bic> you tell someone who isn't used to Rebol about how understandable bic> it is, with its human friendly syntax, and then give them some bic> clever code... Again, you're comparing apples and oranges. Clever code has nothing to do with how human friendly REBOL's syntax is. "Human friendly", to me, means things like: * The syntax rules are minimal and easy to understand, without a lot of special cases to remember * There is as little line-noise as possible * It doesn't require extreme verbosity or terseness * It uses words you could guess with a bit of common sense (e.g. 'append vs 'strcat, <> vs !=) * Lists start at 1; they aren't numbered 0 to n-1 * It doesn't require you to give it a lot of detail if you don't think you need to. e.g. for quickie apps, do I need to declare and specify types for all variables? bic> Currently I'm learning J, it has a very human unfriendly syntax. bic> I don't really find that any more of a problem. Maybe you don't (I haven't looked at it), but could a smart non-programmer (e.g. we have a couple doctors on this list) grok it and do productive work with it?
>> reasonable size
bic> do you mean reasonable size in the size of the language bic> implementation, don't know if that matters for most things... That's what I meant, and it matters to *me*! It's "perceived value" though. The original VB runtime was ~265K, big for the time (1991) and I used the QEVBDBF library (another ~375K) for a commercial app I built. I didn't mind at all because they provided enormous value to me. Same for the old QB compiler. It didn't produce the smallest EXEs, but it was a lot better than using C. Also, I'm on slow dialup out in the country, so size matters a lot to me as an end user. I agree that a lot of people *don't* care about this, but some of that is ignorance about alternatives. If all you read are mainstream trade rags, Java and .NET are the norm, so you may not know what could be done with toolset of, for example, REBOL+PowerBASIC. bic> Does comes pre-built from the factory have to do with there being bic> only one implementer? There can be Lisps that come pre-built from bic> the factory. Pre-built, meaning there is a compiled version available from a reference standard source. Anything that avoids the "oh, you need to build it with *this* option, which our distro doesn't use" issue. bic> I don't know exactly what you mean by semantic exchange here It means I can send a message from one place to another, and someone on the other end can understand its meaning. The big deal here is that, with REBOL, you can make the same message easily understood by both people and machines. bic> I haven't really seen anything built in rebol, other than the bic> async protocol, that has given me reason to reconsider the usages bic> I think it most appropriate for. However maybe this is a bic> difficult thing to do. Have you seen any of the following: AltME IOS Rugby Temple PDF-maker NREN-Detective (incl. its installer) ReViewer Q RASH Konka Oldes' SWF-dialect Organised any of Allen, Cyphre, or Oldes' games Vanilla, Andrew or Volker's Wiki tools, Graham's VIDWiki Etienne's skin system Oldes'(?) texture generator FTPGadget SlashView Bo's backup app The REBOL.org librarian desktop app Graphic demos from Cyphre, Oldes, or Anton Advanced algorithm implementations and tools from Ladislav, Romano, Jan Skibinski, and others Advanced UI styles from Cyphre and others Cyphre's translator Thanks for listening! -- Gregg

 [6/17] from: carl:cybercraft at: 25-Jun-2004 11:38


>>> human friendly syntax >bic> this is a mirage, to do simple things yeah like send
<<quoted lines omitted: 27>>
> remove box > ]
I'm not so sure. The first question would be "What's scheme mean?" They could cut and paste it though. There'a a paradox with REBOL, in that what makes it a simple language is not obvious till you've used it a while. But saying "It's just blocks filled with datatypes" doesn't really cut it as an explanation. I think a good book could be written which would show why it's simple, but it'd require people to read it from cover to cover, and I don't think people read programming book like that. :) Being a scripting language makes it accessable though - the script is the program is the source. That'll be an advantage with the browser plugin. As with HTML, people will think "I might we able to do that - or blag it and tweak it to do what I want.", when they figure out where the source is for the program that's just started running in their browser. And they'll be thinking that because it seems more readable than JavaScript, nevermind what you've got to do to produce something in Java or Flash. (This is the first Flash tutorial Google will point you towards... http://www.echoecho.com/flash.htm Would you call that accessable?) Text rules, I think. I'm sure those interpreted BASICs in the first personal computers were a major part of what kick-started this industry, (not to mention Microsoft.) And HTML is text too, thus we have the Web. (I don't know about PDAs though. Were they ever thought to be easy to program? If so, what with?)
>bic> I haven't really seen anything built in rebol, other than the >bic> async protocol, that has given me reason to reconsider the usages
<<quoted lines omitted: 27>>
> Advanced UI styles from Cyphre and others > Cyphre's translator
And add to that Phil Bevan's readmail, which I'm using to write this. It's a work-in-progress and pretty raw in spots, (such as in this text-area where I'm typing - no wheel-mouse support and block-marking doesn't scroll the text), but it is a usable mailer, and if something really starts to annoy me I can get into the code and try and work out a fix. Yes, that's only possible if you know REBOL, but unless you're using open-source apps, knowing C or C++ or whatever won't help you with a typical Windows' app, will it? -- Carl Read

 [7/17] from: greggirwin:mindspring at: 24-Jun-2004 22:23


Hi Carl, CR> I'm not so sure. The first question would be "What's scheme CR> mean?" They could cut and paste it though. Right, I didn't mean that someone would sit down and just write that off the top of their head, but that it's manageable by a casual user. CR> And add to that Phil Bevan's readmail, which I'm using to write this. ACK! Sorry Phil! I'm sure I missed some other important ones as well. -- Gregg

 [8/17] from: moliad:aei:ca at: 25-Jun-2004 0:56


Hi, I'm coming out of the black for one mail... I'm doing so little programming these days, hence my silence on the list... I'm on vacation, just turned 29 today and am doing intensive work on the house, so its hard to put time on the favorite hobby...
> article you did on O'reilly where I remember you said you did some stuff a > particular way because people would be thinkking "WOW, how did he do that"
well
> all that is an argument against the human friendly syntax.
yep and shakespear isn't for everyone either. although macbeth and harry poter are both books which contain magic, and written in english (of a different dialect ;-) they are not intended for the same audience. in rebol, you can express the same problem in different ways. in most other languages, there is really only one way to build anything. in how many other languages can you redefine/extend the function definition statement... even with python, you still can only define a function in one way. can you create an unless if it does not exist? can you use code as data (and vice-versa).
> I > do see stuff get built in Rebol all the time that I think is cool stuff, but > hell I see stuff that gets built in all languages all the time that I think is > cool stuff. I haven't really seen anything built in rebol, other than the
async
> protocol, that has given me reason to reconsider the usages I think it most > appropriate for. However maybe this is a difficult thing to do.
I have had to implement the same things in more than one language and generally, especially if there is a ui involved, rebol takes less than half the time to implement and it generally goes beyond the original design. a series is a series. a port is a port. so many things work at that level that you forget that you are accessing an ftp port or a disk... a string or a block of loaded values. do you realise that if someone types an ftp url within a file load, that rebol will try to load it without your having to fiddle around with an ftp module or read about how to enable the ftp support, or rather HOW to get ftp to work. For many things, rebol does not go beyond other languages, it just does more of it consistently. You only nead to learn how series work ONCE (and they are pretty natural, IMHO) then you can use some or all the series concepts on: strings, lists, hashes, ports, blocks, paths, tuples, decimals, pairs, dates and more. not all datatypes use the complete series functionality, but any functionality it supports will be consistent ACROSS ALL types. python has a COMPLETELY independent structure for strings, lists, tupples, time, decimals, dates, networking, etc. you nead to learn each one FROM scratch, because they don't reuse the same ideology on any one. That is one reson I prefer rebol. learn once, reuse many. -MAx

 [9/17] from: antonr:lexicon at: 25-Jun-2004 17:04


I've been mucking about with Maya5's MEL language, which can be used to create and manipulate 3D objects in the Maya program. It's a rude shock to go back to such a language. It's like unix shell scripting mixed with c-language and a bunch of datatypes that don't play all that nicely with each other. I don't want to bag the language too much because it can do a lot, but the limitations of the traditional syntax and other things are really holding it back. Now I have learned rebol it is clear to me that such a language technology should not be wasted. These ideas must spread to other languages. (Such a process is slow of course.) Anyway, here is an line from this MEL language: print ("w = " + $w + " h = " + $h + " max_dist = " + $max_dist); and a rebol equivalent: print [{w =} w {h =} h {max_dist =} max_dist] Now, you might think "that's not such an amazing win", but now I will ask you to check each line to see if there is an error in the syntax. Is there? ;) How long did it take to verify each line? Just a small example. I was fighting with variable scope as well.. guh. I would like to see MEL reimplemented with rebol as core, and new datatypes to handle matrices and all those complex data sets which are useful for 3D information storage and manipulation. Of course, one would have to convince the Maya people to do that, and I doubt they would do it, as they already have a big investment in the current language, and it would probably take about 5 years just to grow the new language back to the capability they have at the moment. Anton.

 [10/17] from: bry:itnisk at: 25-Jun-2004 10:21


> TeX was simple enough for a lot of secretaries, and prefered IIRC. You may > underestimate the IQ of your mother. Maybe a communication-problem. ;)
nope, I think though the problem is not so much syntax for most people, it is the problem of concepts, programming languages will sooner or later deal with many of the same underlying concepts. it's the concepts in many cases that are the difficulty not syntax.
> One reason for such communication-problems: did you show her variables > before,
nope.
> > As an example yesterday I had to debug some php, I've only done one major > > php project in my life, translating from a large asp application, and
<<quoted lines omitted: 10>>
> Now think as mother you once had to learn that, instead of > until[..]
again, it's the concept, I don't think do{}while(); is that big a problem in comparison to until.
> > there were some other syntactical errors regarding concatenation, and one > > logical error. > > > > You have done a major php-project and still not got the language? Maybe you > > should try rebol, the concatenation-rules may be simpler. first thing one > does IIRC. ;) >
I do use Rebol, I use it for administrative scripting, I think there may be some communication problems here Volker. The major php-project was translation from a major asp project (I think I said that somewhere) as such it was not as difficult as starting a major project from scratch in the language, it was also a relative long time ago. The goal of the php was not to transfer the project to php and use that as the platform from thereon in, it was just to provide a translation of the project so that people could choose to transfer their data between platforms. Of course it helped that much of the business logic was handled in some cross platform components, so that the php, asp code was operating at a very abstract level. Given these facts I can be said to have familiarity with the language but not expertise
> > you tell someone who isn't used to Rebol about how understandable it is, > > with its human friendly syntax, and then give them some clever code, for
<<quoted lines omitted: 7>>
> Some lines above you said non-c-syntax is a huge problem with rebol. Now some > lines later you learned that much? ;))
I didn't say it was problem for me, I said that the whole human friendly syntax was a mirage. As soon as you get to doing the actual things that any programmer is going to want to do, other than sending john a message "hi", or reading/writing a http page, or any of the simple demos, you are in an area where the syntax is unfriendly enough that you do not grasp immediately what it means(immediate understanding being based on immersion in english). At that point the human friendly syntax means nothing to me, it's a programming syntax, and for some programmers who are familiar with specific families of languages, for example the ubiquitous C style languages, its lack of familiarity makes it less friendly than a familiar language. I happen to really like uncommon languages, especially ones that I think fit a specific problem domain. So I don't have as much of a problem (I have some problems of course with languages that are unique in that if I leave them alone for a time coming back into them will take a lot longer to reacquaint myself than if I leave a C derived language alone, this is however a small problem). Other people may have a larger problem.
> > > reasonable size > >
<<quoted lines omitted: 10>>
> feel more awe? ;) As for erlang, yes, very cool, but meant to turn a lot of > computers in a single one, lets call it a "multi-machine-application".
Well that can be one usage of erlang, why can it be one usage of erlang, because it has a concept of messages, messages between processes etc. Your definition of message up there seems to be general enough that pretty much any language can be a messaging language. In Rebol if I want anything like that I have to pretty much open a port and monitor it. Fair enough, that's what you have to do in most languages, but I just can't consider it a 'messaging language' because when I think of messaging language then it means the language has built in simple semantics to start processes, shutdown processes from the process that started it, send a message to a waiting process, query a process for state, etc. That Rebol is not a messaging language as I understand it is not a lethal hit against Rebol, in point of fact I recommend Rebol pretty much everywhere I go. I just don't think it's the best thing for every job.

 [11/17] from: bry:itnisk at: 25-Jun-2004 11:06


> >Using your example, for the sake of argument, I think a lot of people > >*would* be able to do this kind of thing:
<<quoted lines omitted: 16>>
> I'm not so sure. The first question would be "What's scheme mean?" They > could cut and paste it though.
Yeah, and once you get to cut and paste a lot of people can do a lot of things. If this were my first time looking at this, it might be difficult, I would say, okay mailbox is the email address I'm reading, all that's fine. okay that while[] means I'm gonna loop through the mailbox until its empty. first and remove however might not exactly leap out to me as being the most important operative words in this loop. I would have to go look that up. This might be described as linguistic pollution on my part, but anyway I think it affects people the same way when they start.
> > > >Have you seen any of the following: > > > > AltME
There are parts of AltME that just bug the hell out of me, navigation wise. especially a couple months ago when I had tennis elbow and I could not navigate through it without a great amount of pain. This was not the only problem although as I don't have AltME here, and I'm sure my installation at home is probably screwed, having had to reinstall windows last week I doubt that I could give an accurate rundown of the interface problems I encountered. The problems however were of a nature that my experience with Rebol have shown me to be, if not insoluble, difficult to solve, and thus relatively unrewarding to a programmer for the amount of time put into them. For me as a user however they were problems I needed solved.
> > IOS
IOS is admittedly great. I suppose I should add that to Async.
> > Temple
no
> > PDF-maker
This is problematic, I have quite a bit of expertise in XSL-FO, and various XSL-FO processors, Also some with Erlang's ErlGuten. I always need to make pdfs from xml data. I need to support international character sets. Text directionality. Since I've had to build print-on demand capable systems I have high requirements not just on what kinds of pdf can be output, but also on the pdf-making process' interoperability with other processes. PDF-Maker is good, but it wouldn't fulfill my needs, and my needs are such that I wouldn't consider building a system for fulfilling them in Rebol.
> > Oldes' SWF-dialect
Somewhat similar to PDF-maker, I have a number of tools I use together that give me quite a bit of control over flash creation. Although as a general rule I don't have to do a lot of that.
> > NREN-Detective (incl. its installer)
no, okay looks nice, not sure yet that it would be the kind of thing I would not have considered appropriate for developing in Rebol.

 [12/17] from: g:santilli:tiscalinet:it at: 25-Jun-2004 14:17


Hi bry, On Friday, June 25, 2004, 11:06:35 AM, you wrote:
>> >Using your example, for the sake of argument, I think a lot of people >> >*would* be able to do this kind of thing:
<<quoted lines omitted: 17>>
>> I'm not so sure. The first question would be "What's scheme mean?" They >> could cut and paste it though.
bic> Yeah, and once you get to cut and paste a lot of people can do a lot of things. bic> If this were my first time looking at this, it might be difficult, I would say, Again, I disagree, the point is not "human friendly syntax" when writing programs. It's the syntax of values that is human friendly. Regards, Gabriele. -- Gabriele Santilli <[g--santilli--tiscalinet--it]> -- REBOL Programmer Amiga Group Italia sez. L'Aquila --- SOON: http://www.rebol.it/

 [13/17] from: greggirwin:mindspring at: 25-Jun-2004 11:48


Hi bry,
>> > mailbox: [ >> > ... >> > ] >>
bic> If this were my first time looking at this, it might be difficult, I would say, If it were your first time looking at it, I wouldn't expect it to be easy; I wouldn't expect it to make *any* sense if you weren't already a programmer. My point was that REBOL has a low barrier of entry WRT the effort required to learn and follow the basic rules, in order to do something useful. Of course, when you get further from shore, it gets deep and may be too advanced for you, but you can stay in the shallows all your life and still have a great time. :) bic> There are parts of AltME that just bug the hell out of me, navigation wise. OK, but that has nothing to do with the fact that it was written in REBOL; look at the functionality it provides. I listed examples to address your statement: "I just use Rebol to do stuff like, get all my emails, filter them with simple rules, change them to xml, save to folder x, or upload following set of files. Automated scripting stuff...I haven't really seen anything built in rebol, other than the async protocol, that has given me reason to reconsider the usages I think it most appropriate for."
>> > PDF-maker
bic> ...PDF-Maker is good, but it wouldn't fulfill my needs, and my bic> needs are such that I wouldn't consider building a system for bic> fulfilling them in Rebol. Have you sent Gabriele feedback about what your needs are for it, or looked at enhancing it yourself? What tools do you use for this task (just out of curiosity)?
>> > NREN-Detective (incl. its installer)
bic> no, okay looks nice, not sure yet that it would be the kind of bic> thing I would not have considered appropriate for developing in bic> Rebol. The nice looks hide all the work that it is doing. :) It is a fully localizable, cross-platform, network testing tool that has a support system (built in REBOL) that does auto-updates and supports a build-on-demand portal for multiple OSs. I realized I also forgot Cerebrus in my list of things, and Graham's new P2P file sharing prototype (XFT). -- Gregg

 [14/17] from: bry:itnisk at: 25-Jun-2004 21:17


> bic> There are parts of AltME that just bug the hell out of me, navigation > wise. > > OK, but that has nothing to do with the fact that it was written in > REBOL; look at the functionality it provides.
I think it does, some of my navigation problems have to do with keyboard navigation, which in Rebol from looking at various keyboard hooking routines to get control keys etc. can be somewhat tedious, I think that the tedium is what explains the lack of reasonable keyboard navigation in rebol apps I've seen. When you have a lot of different possible functionality to implement you tend to focus on 1. what is particularly easy to implement 2. what will really wow people about my application If some things are common, unnoticed until needed, and seldomly needed, or needed only be a subset of clients, you tend not to build them. When I was using AltME I was in a hell of a lot of pain, because of the tennis elbow I was suffering from and this also made other non-keyboard navigational issues more of a thorn for me. But for most people who use AltME I bet it doesn't even come up.
> >> > PDF-maker > bic> ...PDF-Maker is good, but it wouldn't fulfill my needs, and my > bic> needs are such that I wouldn't consider building a system for > bic> fulfilling them in Rebol. > > Have you sent Gabriele feedback about what your needs are for it, or > looked at enhancing it yourself?
I think actually this is the problem that comes up with Rebol for me a lot, and why I don't think of it for major things, because most of my work revolves around quite heavy duty usage of XML. not simple xml, I mean that I need xml support that will make it easy for me to seperate out namespaces, handle dtds, unicode, and so forth. And hell, I don't have much time to build support for what I need with Rebol because I can't take a couple weeks off to do it. Right now I'm working one job full time, and me and some partners have a possible project that would start next month, and run for three months, building a cross-media management system - publishing, intranet, internet, possibly other stuff, like blogs, etc. for a large airline's cargo division (it would only be taking three months approx. since we already have all the components we would be building, so it's just a question of customizing, but still). But anyway, so that's one thing I need all the time is xml support, this is why I use XSL-FO for my pdf generation, as that is an xml-based language for describing paginated media.
> What tools do you use for this task (just out of curiosity)? >
In the system I built we support multiple xml input formats, xhtml, svg, Docbook, TEI, VCard in xml format, RDF, etc. etc. We have a couple forms, built in VB, which the user can use to assemble all the different document types they are working with at the moment, set page dimensions etc. for each document type, load in styles(we implemented a css like language that users could use to write styles for their XSL-FO rather than having to deal with xslt or something else) This css-based styles is combined with xslt to output xsl-fo. The xsl-fo is then fed to a user chosen xsl-fo processor. There is the possibility of saving the whole process using a macro and then running the styling process over another set of documents. There is also another variation where the user interface is not the client side vb form, but a web client, for a print on demand solution - this is without the macro ability. Both also support scripting of the xml files using a stack-based inline macro language we developed, since the language is described with namespaced xml markup, it follows that the applications we use have to be able to handle the xml and the namespaces relatively easy. We may have to build something for a korean cargo company later this year/early next year, if so we are going to have to have support for south east asian character sets, luckily there is an xsl-fo processor that supports all unicode charsets, that being Antenna House. This is something I need obviously, support for character sets, support for directionality of text, if we have a customer that needs that we don't have to worry about building something new we just say, oh yes, $3,000 more please thanks. Because of the applications processor independence we can basically get it to work with any xsl-fo processor. This is of course part of a suite of media management tools, currently however this is my part time job, when we get an order we do stuff with it, right now my main work is still all xml related, but mainly governmental standardising work. And damn it is draining.

 [15/17] from: krobillard:san:rr at: 25-Jun-2004 14:49


On Friday 25 June 2004 00:04, Anton Rolls wrote:
> I've been mucking about with Maya5's MEL language, > which can be used to create and manipulate 3D objects
<<quoted lines omitted: 3>>
> and a bunch of datatypes that don't play all that nicely > with each other.
I was told once that the interpreter for MEL is actually PERL. I'd guess that's probably true considering the way you often build commands using strings (like in your example).
> I would like to see MEL reimplemented with rebol as core, and > new datatypes to handle matrices and all those complex data sets > which are useful for 3D information storage and manipulation.
This was exactly what I wanted to do with a 3D modeler I was working on many years ago. Since we cannot embed and extend the REBOL interpreter, however, this is all but impossible.
> Of course, one would have to convince the Maya people to do that, > and I doubt they would do it, as they already have a big investment > in the current language, and it would probably take about 5 years just > to grow the new language back to the capability they have at the moment.
Heh, not ever going to happen. They really need to rewrite Maya completely from scratch to get rid of a number of design flaws, but then it wouldn't be Maya anymore. -Karl

 [16/17] from: moliad:aei:ca at: 29-Jun-2004 7:29


Anton, You do know that you can eval() code in MEL, right? well, use that more and you'll see that you can use some rebol tricks in it too! MEL programmers read carefully! if you didn't know, you can program maya USING REBOL / CORE :-) no fancy tricks, no plugins needed... you simply open a command port in maya, like so: // ----------- in MAYA --------------- commandPort -n ":3044" // ---------------------------------------- the actual port number is irrelevent, as long as it is not already opened. And then open a tcp port in rebol, and send it your mel commands directly through the port. If you are on unix, you can even use named ports. ;-------------- IN REBOL -------------- maya: open/lines tcp://localhost:3044 insert maya "sphere" ;------------------------------------------ in theory, you should see the sphere appear in the maya software. also note that all return values are returned afterwards to the client port! so, after the previous command you can do: ;-------------- IN REBOL --------------
>> print first maya
nurbsSphere1 makeNurbSphere1 ;----------------------------------------- This has the advantages that you can use OBJECTS to manipulate your datasets and just build up little mel commands to manipulate them. If you are comfortable, in building up maya nodes as data placeholders, you can easily keep a node with an added id string or int attribute to reference your objects in the rebol world and do all your "real" programming in rebol. If you want, you can create stubs in your objects which mimic the MEL commands (using refinements for the switches :-) and do all the logic in rebol, and whatever goes or retrieves data from the MEL sides, gets converted by the stub routines, so that you stay focused on the rebol side. if you do all the "doing" in rebol and only call MEL's "connectAttr()", addAttr() , "getAttr()" and "setAttr()" via rebol, you already halved your coding time for sure. !!! imagine, you can use REBOL WINDOWS to make interfaces for your maya tools :-) you miss out on the fancy maya ui classes, but if your' just doing lists, fields, buttons and stuff, you can get away with a lot in VID, much quicker IMHO. the only caveat I know is that maya's tcp buffer is only 4096 bytes, so don't send a large return command over the port ("ls" for example), unless you know that the return will be a manageable amount of data, cause maya will close the port if you overrun the buffer. HTH ! -MAx

 [17/17] from: moliad:aei:ca at: 29-Jun-2004 7:39


I forget the "+" about once in twice, everytime I use python or MEL. -MAx

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