"Bruno Medeiros" <brunodomedeiros+s...@com.gmail> wrote in message 
news:ier0hh$us...@digitalmars.com...
> On 11/12/2010 01:26, Ary Borenszweig wrote:
>> http://vimeo.com/17420638
>>
>> A very interesting talk.
>>
>
> Whoa.
>
> Over the last 5 years or so, with surge in popularity of dynamic languages 
> like Ruby, Python, etc., I've seen several arguments put forth in favor of 
> dynamic typing, and gradually I've always found there was a /subtle/ 
> parallel with the arguments and reasons put forth for 
> libertarian/anti-authoritarian/anti-corporate ideologies.
> After seeing this talk, I guess it's not so subtle after all... ~_~'
>
>
> Let me offer my thoughts on this. I don't think his argument is 
> fundamentally rational. And I don't just mean wrong or illogical, I mean 
> /irrational/: it is driven by an emotional bias of something not related 
> to programmer productivity, which is what the discussion should be about. 
> And I think his opinion is somewhat generally representative of many 
> dynamic language proponents.
>
> What I think is happening is this: These people, if and when they program 
> on languages with static typing, they get annoyed by some (or all) of the 
> aspects of static typing. That's normal so far, but now the problem is 
> that while some of this annoyance may be driven from a genuine questioning 
> of whether static typing is worth it or not (in usefulness and 
> productivity), the rest of the annoyance is instead driven by an external 
> emotional factor: if the language doesn't let you do something that it 
> could easily let you do, then it is perceived as a "restriction of your 
> freedoms". The programmer makes an emotional connection to personal issues 
> unrelated to the field of programming. Another variant of this emotional 
> response in this situation, and probably a much more common one, is not 
> about political ideology, but rather the programmer perceives the language 
> restriction to be part of a corporate culture that says that programmers 
> are not smart enough to be fully trusted, and they need to be controlled 
> to make sure they don't do stupid things. In other words the language 
> thinks your are a dumb monkey who needs to be kept in line. Java is the 
> poster child for this mentality, not only due to the language itself which 
> is perceived to be simplistic, but also due to Java's strong association 
> to the corporate and enterprise world. In a less extreme view, it is not 
> about controlling stupidity, but controlling creativity (a view popular 
> amongst "artist"/"painter" programmers). So here the programmers are not 
> dumb, but still they need to be kept in line with rules, constraints, 
> specifications, strict APIs, etc.. You can't do anything too strange or 
> out of the ordinary, and the language is a reflection of that, especially 
> with regards to restrictions on dynamic typing (and other dynamic stuff 
> like runtime class modification).
>
> Unfortunately this emotional response is often not fully conscious, or at 
> least, it is not clearly expressed to others by the underlying programmer. 
> And once this happens, _everything is lost from the beginning, in terms of 
> trying to have a sensible debate._ Because from now on, these programmers 
> will use half-baked arguments to try to justify their preference of 
> dynamic languages. The arguments will be half-baked because they will try 
> to argue in the area of effectiveness (programmer productivity), yet the 
> main reason they like/dislike the language is the attitude of the language 
> creators and/or community. (Interestingly enough, an incredibly similar 
> cognitive-dissonance driven fallacy happens in discussions of actual 
> political ideologies)
>
> (Note, I'm not saying this is the case with all programmers, or even most, 
> of the proponents of dynamic typing. In particular, nor I am saying it's 
> the case with Ary :p )
>
>
> BTW, for a while I was quite okay with this talk, because the author 
> seemed to make clear what the liked about Ruby was the underlying 
> attitude. He mentioned the language design goal of "making the programmer 
> happy". He mentioned all those quirks of the community like the 'second' 
> property, the 42 one, the cheerleaders at the convention, etc.. But then 
> he made those comments about how static typing is there in Java and other 
> languages because it is thought programmers are too stupid to be able to 
> handle things otherwise (don't remember his exact words), or even worse, 
> the comment/point about how many programmers in the audience made a bug 
> because of not specifying a type... And from that point it was easy to go 
> downhill, and indeed the talk did. Although I am happy for him making that 
> explicit parallel with political ideology, it illustrates my point very 
> well, even if not all Ruby developers would agree with him 100%.
>
>
> Note that all of what I said above is a comment about the nature of the 
> discussion of static vs. typing. I didn't make an actual argument for or 
> against static typing (in case you were thinking this was the intention). 
> I won't do that now, I'll just say that, not only I am a long-time 
> proponent of static typing, in the last few years I've become a proponent 
> of *even more* static typing. But done in a smart way of course.
>

*Very* interesting observation.



Reply via email to