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

rot13

 [1/8] from: joel:neely:fedex at: 14-Dec-2003 13:56


First, thank you for the effort you've put into the ROT13 page at: http://www.miranda.org/~jkominek/rot13/ With respect to your page on REBOL: http://www.miranda.org/~jkominek/rot13/rebol/rot13.r and especially with respect to the "Note to others..." I suggest that it is unfair to condemn a programming language on the strength of an overly complicated, poorly-written function by someone who is clearly unfamiliar with the language. I can think of several ways to write the rot13 conversion in a much more natural-to-REBOL style. The quickest (for me) to write uses REBOL's object mechanism, and generates the translation table algorithmically at object set-up time (as a one-shot initialization to reduce risk of typos): rot13: make object! [ xlate: make string! 78 for ch #"a" #"m" 1 [append xlate reduce [ch ch + 13 ch]] for ch #"A" #"M" 1 [append xlate reduce [ch ch + 13 ch]] code: func [s [string!] /local result] [ result: make string! length? s foreach ch s [ insert tail result any [select/case xlate ch ch] ] result ] ] It would be invoked on a string by evaluating rot13/code somestringexpression and extending this to process an file (or standard input) is easy. Again, thanks for the comparisons, and I hope to offer the above comments in the spirit of assistance, not negativism! -jn-

 [2/8] from: tim:johnsons-web at: 14-Dec-2003 12:14


> and especially with respect to the "Note to others..." >
That was a remark that demeaned the author more than anyone else. Perhaps he or she could come forward and make a case for why one should not use rebol? I make a living writing code and I've coded in over a dozen languages. Rebol's the most productive I've found. If I were to write some really crappy perl code and submit it to the perl ML and then leave a remark like that in the code - I'd be flamed so bad whatever hair I've got left would be long gone! Now if I were fluent with either perl or rebol and was able to post an intelligently written piece of code that illustrated some weakness in either language, I would be actually be doing that language and its users a favor, as painful as it might seem....... MTCW (tim '(curmudgeon-in-alaska)) * Joel Neely <[joel--neely--fedex--com]> [031214 11:16]:
> First, thank you for the effort you've put into the ROT13 page > at:
<<quoted lines omitted: 30>>
> To unsubscribe from this list, just send an email to > [rebol-request--rebol--com] with unsubscribe as the subject.
-- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com

 [3/8] from: tek::wiw::org at: 14-Dec-2003 19:40

[tek@wiw.org: Re: rot13]


Hi. I sent this reply off promptly, but I was unable to send to the rebol list without a subscription. I hope that, before I am flooded with further chiding for how silly I was five years ago, you will read the below and not Cc me about this. And yes, I don't think I would say something like that now, though I still do not favor rebol. Cheers. ----- Forwarded message from Julian Squires <[tek--wiw--org]> ----- Delivered-To: [tek--wiw--org] Date: Sun, 14 Dec 2003 15:11:34 -0500 From: Julian Squires <[tek--wiw--org]> To: Joel Neely <[joel--neely--fedex--com]> Cc: [tek--wiw--org], [jkominek-rot13--miranda--org], [rebol-list--rebol--com] Subject: Re: rot13 In-Reply-To: <[3FDCC064--9050501--fedex--com]> User-Agent: Mutt/1.4.1i Hi. On Sun, Dec 14, 2003 at 01:56:20PM -0600, Joel Neely wrote:
> First, thank you for the effort you've put into the ROT13 page > at:
<<quoted lines omitted: 7>>
> of several ways to write the rot13 conversion in a much more > natural-to-REBOL style.
FWIW, we've gotten this mail a number of times, over a number of years. Fine; submit your significantly nicer implementation and remove the foul stain from your language's honor. This was written at a time that rebol was going through a serious hypefest, so I wanted to check it out. Perhaps I gave it insufficient consideration before judgement; fair enough. Looking back on my implementation, it looks pretty hideous.
> Again, thanks for the comparisons, and I hope to offer the above > comments in the spirit of assistance, not negativism!
Yep, and I appreciate you taking that attitude, considering the affront to your MFTL. I just ask these two things: (and I keep the Cc to rebol-list for this reason, as you aren't the first...) 1) Stop emailing me. I don't care. I evaluated rebol again later, having learned more about similar languages, but I find ruby more suiting to my personal preferences. Email Jay, he maintains the page. (I know he's included in the Cc:) 2) Submit a full implementation, rather than providing hints on a good implementation. I'm sure that Jay will happily put your implementation first on the page, change the description of mine to ``a clumsy implementation'', or whatever you like. Cheers. (hoping to never have to hear about this again, and hoping to meet people under friendlier circumstances than language wars.) -- Julian Squires ----- End forwarded message ----- -- Julian Squires

 [4/8] from: tim:johnsons-web at: 14-Dec-2003 16:46


* Julian Squires <[tek--wiw--org]> [031214 16:06]:
> Hi. I sent this reply off promptly, but I was unable to send to the > rebol list without a subscription. I hope that, before I am flooded > with further chiding for how silly I was five years ago, you will read > the below and not Cc me about this. > > And yes, I don't think I would say something like that now, though I > still do not favor rebol.
Neither does my partner. He loves perl and will program in nothing else. No matter. He delivers, and delivers thoroughly. On the other hand, I'm a faithful husband and a promiscuous programmer. I love the variety of programming languages available, and knowing more than one informs me in all. Many people hate mutt and vim. I favor them both. [tim [studying-lisp]] -- Tim Johnson <[tim--johnsons-web--com]> http://www.alaska-internet-solutions.com

 [5/8] from: joel:neely:fedex at: 14-Dec-2003 20:14


Hi, Julian, Julian Squires wrote:
> Hi. I sent this reply off promptly, but I was unable to send to the > rebol list without a subscription.
I'll be glad to forward it.
> I evaluated rebol again later, > having learned more about similar languages, but I find ruby more > suiting to my personal preferences.
Actually, I'm a bit of a polyglot myself (mostly Perl and Java for work, still dabbling at Python, bought Dave & Andy's Ruby book but haven't had time to invest in serious reading/playing.) I get very interested in seeing how mental models of various languages shape (or at least influence) one's design and coding, and would likely have spent more time on Python had it been around when I decided to learn Perl.
> Cheers. (hoping to never have to hear about this again, and hoping to > meet people under friendlier circumstances than language wars.) >
Happy holidays (and I'll try to point a cold fire-hose at some of the flamers! ;-) -jn-

 [6/8] from: tek::wiw::org at: 14-Dec-2003 21:40

Re: rot13


Hi Tim. On Sun, Dec 14, 2003 at 12:14:31PM -0900, Tim Johnson wrote:
> > > > and especially with respect to the "Note to others..."
<<quoted lines omitted: 3>>
> forward and make a case for why one should not > use rebol?
In the interest in some friendly discussion, I guess I'll answer this. First, to be fair, some things I like about rebol: - very obvious influence from both lisp and forth, both of which are interesting, complementary languages. (this covers a lot of aspects of the language and its distribution) - prototype-based OO, like self. - the syntax elements are relatively orthogonal. - the way that evaluation is structured so as to make it unnecessary to have a fancy macro system is neat, although I don't fully know the ins and outs of it so I'm not sure exactly how it stacks up against CL, or scheme. Meanwhile, the following are some utterly subjective reasons, off the top of my head, why I still do not use rebol: (and, it should be noted, some of these may spring out of ignorance, or just that I'm feeling tired today.) - no open source compiler for the language, it seems, and the language appears to be controlled by a single company. (a negative to me, no matter how good-willed the employees of that company) - a lot of things seem magic (as with perl), and the line between the language, its libraries, and its necessary runtime support is very unclear (also a fault, to some extent, of both forth and lisp). A specific example of the above that bugs me is that operators and functions behave differently (and you don't seem to be able to define infix functions). Another one is that, while all these magic datatypes are certainly handy, how do I define my own, with their own behavior, or override existing behavior? (perhaps this is a fault of the documentation, which I've just skimmed over again to make sure I'm not missing out.) - I don't like the way it looks and feels, personally... it's as if John McCarthy invented COBOL in some parallel universe. I find it can be a bit hard to read while trying to remember exactly the order in which the elements of a complicated statement are evaluated. (not that those rules are complicated) - it doesn't seem to do anything that my existing languages don't do. While there is always the danger of the blub paradox here, I guess what I'm saying is -- no type inference, no extension of the base types at runtime, not obviously easily embedded into an application written in another language, no clearly defined FFI, et cetera. This isn't to say those things are necessary, but it means that I don't see a compelling reason for me to use rebol. (this is where you come in ;-) ... not that I'm actually looking for reasons to use it.)
> I make a living writing code and I've coded in over > a dozen languages. Rebol's the most productive I've > found.
That's great. I think the worst thing in our industry is that people are unwilling to explore new languages, and see that they can greatly improve productivity. My personal current high-productivity languages would have to be common lisp and caml for big/fast things, and ruby for small things. And, I hope that the answer won't be the same in five or six years. Maybe it will even include rebol. Cheers. -- Julian Squires

 [7/8] from: greggirwin:mindspring at: 14-Dec-2003 23:18


Hi Julian, Thanks so much for chiming in here! JS> - no open source compiler for the language... R# is an open source effort that has been started in that regard. JS> - a lot of things seem magic... That's one of the things I like about it. :) I gravitate towards human friendly of languages, so the fact that things work magically is OK with me. While it would be great to be able to define infix operators and our own datatypes, I'd want to know what I would have to give up to get it. Those topics do come up here from time to time, and I think someone has even proposed a partial solution for custom datatypes. JS> - it doesn't seem to do anything that my existing languages don't do. There are a number of things I think REBOL does better than other languages, if they do them at all: - Built-in portable GUI system - Built-in pseudo-BNF dialect for easily constructing embedded languages - Easy deployment and no need to build/compile anything to use it (small deployment size too!) - Love those datatypes. :) - Data is code and code is data, in a very usable way Of course, a lot of what drives us to use a particular language is subjective; based on our preferences, perspectives, and current body of knowledge. I think Ruby is a nice language, but I'm not "drawn" to it. I have OCaml here, but it just doesn't "grab" me. Use what you like and have fun! -- Gregg

 [8/8] from: lmecir:mbox:vol:cz at: 15-Dec-2003 9:32


Hi Julian, thank you for taking time to discuss the things. Some opinions are well informed:
>First, to be fair, some things I like about rebol: > > - very obvious influence from both lisp and forth, both of which are > interesting, complementary languages. (this covers a lot of aspects > of the language and its distribution) >
Yes, it is observable, that Rebol has inherited some advantages of both languages.
> - prototype-based OO, like self. >
This may be a matter of personal preferences. I like it too, but some users prefer a class-based approach. It may be "mimicked" to some extent.
> - the syntax elements are relatively orthogonal. >
Agreement here.
> - the way that evaluation is structured so as to make it unnecessary to > have a fancy macro system is neat, although I don't fully know the > ins and outs of it so I'm not sure exactly how it stacks up against > CL, or scheme. >
This is the true innovation. It brings the feature its author calls dialecting . Without it Rebol wouldn't be as malleable and appealing as it is.
>Meanwhile, the following are some utterly subjective reasons, off the >top of my head, why I still do not use rebol:
<<quoted lines omitted: 3>>
> appears to be controlled by a single company. (a negative to me, no > matter how good-willed the employees of that company)
This can be called and "utterly subjective" reason. It ceases to be true these days, because there are open source projects cloning language features.
> - a lot of things seem magic (as with perl), and the line between the > language, its libraries, and its necessary runtime support is very > unclear (also a fault, to some extent, of both forth and lisp). >
I take is as an overall description of the things detailed below.
> A specific example of the above that bugs me is that operators and > functions behave differently (and you don't seem to be able to define > infix functions). >
Yes, the behaviour of operators differs from the behaviour of the (prefix) functions. Although there isn't a way to define your own infix operators yet, this can be easily fixed in the future. I would say, that infix operators are there to allow programmers to use the "ordinary" formulas. For more andvanced uses you can always switch to prefix notation and do whatever you like.
> Another one is that, while all these magic > datatypes are certainly handy, how do I define my own, with their own > behavior, or override existing behavior? (perhaps this is a fault of > the documentation, which I've just skimmed over again to make sure > I'm not missing out.) >
You are not missing out, the mechanism for defining your own datatypes isn't there. You can only define new kinds of objects. There are three aspects of user datatypes: 1) in other languages datatypes "protect" their internal attributes. Rebol by design doesn't protect internal attributes of datatypes - e.g. native functions are mutable in Rebol, which may not always be considered an advantage. This is advocated as an "orthogonality". (you can inspect/change virtually any "complicated" value) 2) Rebol actions (native functions operating on values of different datatypes) should be extended for every new user datatype. This looks like a hard task for a user and that may be the reason, why the language designer didn't want to allow it. 3) the type-checking mechanism has to change to allow new datatypes.
> - I don't like the way it looks and feels, personally... it's as if > John McCarthy invented COBOL in some parallel universe. I find it > can be a bit hard to read while trying to remember exactly the order > in which the elements of a complicated statement are evaluated. (not > that those rules are complicated) >
This is a subjective statement, hard to comment on.
> - it doesn't seem to do anything that my existing languages don't do. >
From the "computational completeness" POV clearly true. OTOH, there isn't another language with the built-in dialecting ability. The dialecting ability is a feature, that is more general and useful, than the ability to define new user datatypes or operators. (it is an ability to define completely new "sublanguages")
> While there is always the danger of the blub paradox here, I guess > what I'm saying is -- no type inference, no extension of the base
<<quoted lines omitted: 3>>
> see a compelling reason for me to use rebol. (this is where you come > in ;-) ... not that I'm actually looking for reasons to use it.)
Fairly stated :-), see my comment above.
>>I make a living writing code and I've coded in over >>a dozen languages. Rebol's the most productive I've
<<quoted lines omitted: 8>>
>six years. Maybe it will even include rebol. >Cheers.
Cheers -Ladislav

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