Gary Willoughby: "Why Go's design is a disservice to intelligent programmers"

Idan Arye via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sun Mar 29 09:32:31 PDT 2015


On Sunday, 29 March 2015 at 15:57:18 UTC, Andrei Alexandrescu 
wrote:
> On 3/29/15 4:43 AM, "Marc =?UTF-8?B?U2Now7x0eiI=?= 
> <schuetzm at gmx.net>" wrote:
>> On Sunday, 29 March 2015 at 08:37:54 UTC, Idan Arye wrote:
>>> On Saturday, 28 March 2015 at 18:47:04 UTC, Walter Bright 
>>> wrote:
>>>> On 3/28/2015 3:20 AM, Jonathan M Davis via 
>>>> Digitalmars-d-announce wrote:
>>>>> Personally, I'm not sure that much is gained in pitting Go 
>>>>> against D
>>>>> precisely because they're so different that they're likely 
>>>>> to appeal to
>>>>> completely different sets of people.
>>>>
>>>> I also do not regard Go as a competitor to D. It's more of a
>>>> competitor to Java and Ruby.
>>>
>>> How is Go a competitor to Ruby? I cannot think of a single 
>>> parameter
>>> where Go and Ruby don't take the exact opposite 
>>> approach!(other than
>>> the obvious ones like "both use require the programmer to 
>>> write code")
>>
>> I think it's more of a competitor to Rails. Ruby as a language 
>> is as you
>> say very different from Go. Incidentally, it shows that it is 
>> possible
>> to make a language simple without crippling it.
>
> ... but efficiency. Ruby is 50 times slower than all languages, 
> including itself.
>
> Andrei

Not to mention orthogonal safety. Even for a dynamically typed 
scripting language Ruby sacrifices a lot of safety. Not 
memory-wise but orthogonality-wise - it's design is very hackish, 
and you can remove an import("require") to foo.rb from bar.rb 
thus causing a bug in baz.rb that was importing bar.rb and thus 
indirectly importing qux.rb because foo.rb was importing it, and 
qux.rb is monkey-patching class Qux to override some method to 
return a different value. Have fun trying to debug this!

Computer science is all about tradeoffs. I used to love Ruby, but 
then a Rails project got out of hand... Nowadays I use it mainly 
as a bash replacement - Hundredfolds more expressive, only a tiny 
tiny bit syntax overhead, and for things that bash's safety would 
be enough Ruby's certainly suffices.


More information about the Digitalmars-d-announce mailing list