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

[REBOL] Re: What's wrong with Ruby

From: moliad::gmail::com at: 21-Mar-2007 18:09

hi all, I had a little bit of time for my monthly rant ;-) ... so I decided to apply it to "reviewing languages". when I read the Article (and most comments to it) Its funny how people judge languages, based on their skill set and current knowledge rather than on the pros and cons of specific capabilities when paired to each other (or not). And most importantly, the language's intended style. the author of that article clearly has one skill set and specific uses for programming. For example, he is accademic first and foremost AFAICT, and didn't seem to adapt his programming "style" to ruby's paradigm. people who learn stuff, usually stick with the things they know as "right" and then by lack of learning ability, time or interest, will just position themselves along/against a language with their previous paradigm as the center of the right world. here we see one individual who (I do not try to undermine the skill and intelligence) clearly designs and maps his applications in a specific unchanging way. in what he explains, by flushing out functions and their argument datatypes. so if you allow types to change, he is distabilised in trying to clearly define anything. thus he views the lack of static typing as a con of ruby. he also has a clear cut definition of what an object is, does, and how one must be used. He is weary of self-modifying code. ahem. to me, he really comes accross like a person used to be workin in the bounds of compilation. I do give him credit for being thorough though and giving some explanations behind why he likes/dislikes the language. He also clearly has a lot of background in languages and all. so I value his opinion but I don't really value his evaluation of ruby itself. what I don't like is the fact that in almost every review of the kind, people do not adapt their programming style to the language. they try to program a square hole with a round peg. that obviously never works. For example, when coding in REBOL vs python, all the program flow will be different. each allows its own strenghts, so you must ply yourself to the language, otherwise, you're just waisting your time. Rebol is slender, agile and fast.. then you get hit by a branch, and you are KO. one blow and you're out then you have to find a way to plow through the branch. python and C are juggenaughts ... slowly but most definitely, there are no walls, they just plough thru. try to explain this single line to most non REBOLERS: a: if arg [red] which assigns none to 'a when arg has no value and most programmers of most language will wonder how 'a even gets assigned! then the natural review will be.. hell, rebol is not clean, you can put your assignment outside of your conditionals and statements, this is not proper! but they miss the fact that this scales... like so: color: any [ all [arg arg2 green] if arg [red] if arg2 [black] purple ] the above 6 lines are chaos to implement in most languages with a heavy dose of nested if then (maybe even case) statements and multiple lines of repetitive assignment code, add one arg and it just gets panicy. if someone tries out REBOL and isnt' instantly "impressed" by its syntax (or lack off) he will usually say it looks ugly and its unclear... yet, will they then really go further and ask why? did this fellow go further than say its not static typed, so that's bad? He said why he didn't like it, but he didn't give the reason WHY it isn't static typed ... so probably really didn't really try to change his programming habits in favor of ruby, there probably is a good reason why type is not static (which is most definitely not code looks). In REBOL, for example, this single detail is intrinsic of the concept of the universality of series manipulation and dialects. and is one of the main features of the language, one of the core elegances of its ease of use and simplicty... word type is as much meaning as word content or value. Dialects use type to infer meaning, many funcs use type to adapt their handling. The fact that each series type in python has its own interface of differently named methods and members drives me (and others) mad! but then, can I argue against the fact that any compiled C/C++ code is usable natively in minutes in python? so, this all being said, I think REBOL has made me (and many others) a lot more critic of the actual syntax of languages. Carl hasn't tried to build the purest language, but the most consistent sweetspot amongst many competing philosophies and concepts. every decision was weighed heavily and i don't think a lot of "fanatism" about any one paradigm has disturbed the overall vision. btw, I'm just having fun stiring all of you up ;-) -MAx On 3/21/07, Michael Chean <> wrote: