To Rev or not to Rev

Frank D. Engel, Jr. fde101 at fjrhome.net
Sat Apr 30 10:51:07 EDT 2005


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Apr 30, 2005, at 10:31 AM, Derek Bump wrote:

> On top of that, so what if it's not taught in Universities!  A 
> statement like that is just like one from those people out there that 
> say "Oh, it's NOT from Microsoft...well then it MUST be bad!"

I do the opposite: "Oh, it's a Microsoft product, so it MUST be bad!"

> And one more thing.  What programming language is not object oriented? 
> Everything is an object.  Pixels, fields, buttons, windows, cursors, 
> icons, text, variables, arrays, and so on and so on.  Revolution is 
> object oriented, just like C++, Java, JavaScript, Basic and even HTML.

No, OOP is a somewhat specific paradigm for computer programming, and 
includes certain characteristics which are *not* present in Rev.

Yes, many things are viewed as objects, and Rev even refers to things 
as objects (well, they are, actually), but this does not make Rev an 
object-oriented programming language.  We cannot define custom object 
classes, for example.

Before someone goes and says, "but we have inheritance -- the group 
intercepts messages not received by objects in the group, the card 
receives from the group, etc." -- there is a certain level of 
inheritance in place, and Rev does have many characteristics of an 
object-oriented language.  But I for one would not pretend to call it 
an actual object-oriented language until we can define our own classes, 
subclass those classes *and* the built-in classes (such as button, 
field, group, card, stack...), and so on.  There needs to be a degree 
of scripter-defined polymorphism present, as well.

Note that others may disagree with me here, there are a number of 
conflicting opinions on what it takes to be an object-oriented 
language, but to my mind, you need unbounded subclassing capabilities 
and polymorphism in order to be object-oriented.

Rev does not allow us to do these things right now.  That doesn't mean 
that Transcript is a bad programming language; I think it is quite good 
for solving a large number of problems.  It simply means that it is not 
an object-oriented programming language.

Any more than it is a functional language, btw: Transcript is a 
procedural language with some object-oriented characteristics mixed in. 
  A true functional language has no messages, procedure-equivalents, 
etc.  LISP is an example of a functional language.

In a functional language, the entire program is just one huge function 
call.

A quick Google search reveals this, which may be helpful as far as 
classification of languages:

http://c2.com/cgi/wiki?NygaardClassification


> But, if I'm wrong in any of these areas then maybe someone here can 
> set me straight?

I think I just did ;-)

One more thing: HTML is *not* a programming language in any sense 
whatsoever.  HTML has no constructs for repetition.  HTML is a document 
markup language (which is what it stands for -- hyper-text MARKUP 
language) designed for embellishing statically-formatted documents.  
Things were added later which allow for some degree of interactivity 
(such as forms, etc.), but the actual processing is handled by another 
programming language (such as PHP, Perl, or Rev), *not* by HTML.

OTOH, PostScript is a real programming language, a point which a lot of 
people seem to miss...


- -----------------------------------------------------------
Frank D. Engel, Jr.  <fde101 at fjrhome.net>

$ ln -s /usr/share/kjvbible /usr/manual
$ true | cat /usr/manual | grep "John 3:16"
John 3:16 For God so loved the world, that he gave his only begotten 
Son, that whosoever believeth in him should not perish, but have 
everlasting life.
$
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFCc5tb7aqtWrR9cZoRAhMuAJ995w0q4xHB7VQ83mmpLV/EOLME6gCeKmCn
of9Tsm5e5caKi6gDoSWV0So=
=Eq+/
-----END PGP SIGNATURE-----



___________________________________________________________
$0 Web Hosting with up to 200MB web space, 1000 MB Transfer
10 Personalized POP and Web E-mail Accounts, and much more.
Signup at www.doteasy.com



More information about the use-livecode mailing list