http://qs321.pair.com?node_id=90521


in reply to Microsoft vs. Perl and sloppy programming - Wildly OT

As just a few counter points.. I agree with you on your general argument, Ovid, but I think that your examples don't really support the points you're trying to make.. (at least, to me, they do not)...please do understand that I have nothing but respect for you, and this is in no way meant to be anything like a personal attack :o)

Sure, MS software does things implicitly.. if a developer is fool enough to only test on IE (or any one browser), then they probably deserve to be flamed to a crisp by users of other browsers.. I doubt that there is *any* browser that is fully spec compliant on all the complexities that are involved in rendering content on the World Wide Web.. a weak sort of example would be CSS support.. but on the other hand, does IE make life easy for its users ? sure.. you can go to a site, even with broken HTML, and still have IE make a reasonable effort to render the page.. As a web designer, I would not want to see this happen, but from a users perspective, this is a good thing.. (non-techies just want to see the content, they don't care why it broke, they just want to see the cute web page)... MS puts usability as a high priority item, and even if its a bitter pill for me to swallow, I have to admit that their software is "usable" to a pretty low common denominator... argue as you will that this is a bad thing, but to me, reaching the masses and making software easy to use not only ensures that it is a good product, but that more peoples lives are enriched because they can use the software without a lot of bother.. My mom would probably be a good example for this one :o). But if MS doesn't do it the right way, but only in the wrong way, then everyone *does* need to complain, and complain loudly at that :o)(ie: if sending image/gif didn't display the GIF file properly)

Perl has this attitude as well, as you've noted.. the "Do What I Mean" and not necessarily what I say slogan.. just recently, I discovered that heredoc behaviour that I had never known about... Perl just took care of the messy details for me, and I got the job done, none the wiser that Perl was actually done a bit of juggling behind the scenes for me..that is part of why I think Perl is so usable for beginners.. (you don't get this compiler warning that barks out "data type mismatch on line x, I'm not going to run this for you"), Perl just does the job.. Perl isn't really going to care if you take a char value and try to add a number to it, Perl will do what you want.. (or what it thinks you want).. :o)

I would submit that if Perl were not as usable as it is, and if only stars like merlyn and Tom Christiansen and lots of monks in this site were the only ones who could actually get Perl to do cool stuff, I wouldn't be on Perlmonks right now.. I'd be pounding away at some other language, cursing at the carpal tunnel syndrome that results from typing in too much code... :o) :o).. so, in my view, the agenda that Larry Wall and Microsoft have are different.. Larry Wall (I think) wants the language to be used (even baby Perl), so does Microsoft.. but Microsoft has a profit motive, and that means that they couldn't care less about whether you become a better programmer later on or not... Larry, on the other hand, wants you to become better at Perl and a better programmer (speculation, but I suspect this to be true).. so do the monks here.. which is why -w and use strict are recommended for almost each and every post...

The point of implicit conversions and the like is simply that you aim for the common sense case. I'd probably appreciate the date conversion in VBScript, if I screwed it up.. I'd also appreciate a (optional) polite warning. To me, that is control and power. What I've found is that with MS stuff, you get power, but you do not always get control. If it doesn't work the way you want it to, too bad, call tech support, and for a price, we'll tell ya... I see no difference in Perl, to be honest. Until someone posts code to Perlmonks, we don't know if that person is using strict or not. They could be people who write excellent programs, relying on lots of behind the scenes fiddling that Perl does (I didn't write excellent programs, but I wrote a lot of stuff that worked ok, even without -w or use strict. Now that I know better, I look at my old code and shudder...) They could be lucky (or lazy!)enough to have not encountered a situation where their code could break.. Whatever.. but being allowed to write sloppy code isn't a purely MS thing, and I can think of worse things to accuse MS of...What is important to me, mostly, is that I can get the job done, albeit somewhat imperfectly, really fast.. that *does* count for something..

Disclaimer: Now, for the purposes of this posting, I forget all the reasons why I hate MS, so I am ignoring their deliberate attempts at a monopoly, their ranting, their FUD, all of that.. What I'm trying to say is that they build software that appeals to the masses, and that's not a bad thing

Observation: I seem to be writing really long posts these days.. sheez. I need to cut back on the coffee or soemthing :o)