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

[REBOL] rebol weak points (i think)

From: rishi:picostar at: 9-Sep-2000 12:40

This is a multi-part message in MIME format. ------=_NextPart_000_004B_01C01A5B.2D1D1280 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable I've just started to play around with rebol. It definately has it's advantages for the beginner progammer but it seems shows some weakness for advanced, modular based programming. For example, all user/system defined variables are either global (or local to a function). Since all variables are global in rebol and there is no way to associate a variable with a class, this would probably lead to collisions when you are using lot's of scripts. imagine someone wrote a utility script with a bunch of reusable functions. Let's say you want to use those functions in your script. If the original script uses a global variable with the same name as a global var you used in your script, it would cause a collision. Or let's say that the programmer of a utility script reimplemented a rebol defined function such as "print." Now when you add his utility script to your script, the function print get's all screwed up in either your script or his script. Java and javascript have a much less chance of these collisions since the programmer can create static variable and functions that are associated with a class. These vars and functions can be accessed globally, but must have the name of the class in front of the variable. for example, Math.pi could be a variable pi defined in class Math that can be accessed globally.it is not an instance variable, it is a static variable. Outside of the class Math, you have to use "Math" before it in order to access it. Perhaps I haven't studied the language in enough detail yet, but wouldn't you all agree that this is a weakness in rebol? It doesn't seem that well suited for modular based programming as is. Maybe I'm missing something but I don't see why the author did it this way... Rishi ------=_NextPart_000_004B_01C01A5B.2D1D1280 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META content="text/html; charset=iso-8859-1" http-equiv=Content-Type> <META content="MSHTML 5.00.2614.3500" name=GENERATOR> <STYLE></STYLE> </HEAD> <BODY bgColor=#ffffff> <DIV><FONT face=Arial size=2>I've just started to play around with rebol. It definately has it's =<BR>advantages for the beginner progammer but it seems shows some weakness =<BR>for advanced, modular based programming. For example, all user/system =<BR>defined variables are either global (or local to a function). Since all =<BR>variables are global in rebol and there is no way to associate a =<BR>variable with a class, this would probably lead to collisions when you =<BR>are using lot's of scripts.=20<BR><BR>imagine someone wrote a utility script with a bunch of reusable =<BR>functions. Let's say you want to use those functions in your script. If =<BR>the original script uses a global variable with the same name as a =<BR>global var you used in your script, it would cause a collision.=20<BR><BR>Or let's say that the programmer of a utility script reimplemented a =<BR>rebol defined function such as "print." Now when you add his utility =<BR>script to your script, the function print get's all screwed up in either =<BR>your script or his script.=20<BR><BR>Java and javascript have a much less chance of these collisions since =<BR>the programmer can create static variable and functions that are =<BR>associated with a class. These vars and functions can be accessed =<BR>globally, but must have the name of the class in front of the variable. =<BR>for example,<BR><BR>Math.pi=20<BR><BR>could be a variable pi defined in class Math that can be accessed =<BR>globally.it is not an instance variable, it is a static variable. =<BR>Outside of the class Math, you have to use "Math" before it in order to =<BR>access it.<BR><BR>Perhaps I haven't studied the language in enough detail yet, but =<BR>wouldn't you all agree that this is a weakness in rebol? It doesn't seem =<BR>that well suited for modular based programming as is. Maybe I'm missing =<BR>something but I don't see why the author did it this way...<BR><BR>Rishi<BR><BR></FONT></DIV></BODY></HTML> ------=_NextPart_000_004B_01C01A5B.2D1D1280--