> Mike Small wrote: > Which begs the answer to your question: Yes, people use die as goto. > People use longjmp as goto. People use throw as goto.
I worked on a military project years ago that used Ada. Coding standards mandated that no gotos be used. So the guy before me raised exceptions. Everywhere. And with much vigor. He couldn't even do a simple "for" loop without having exceptions to skip out of the loop early. It was an unholy disaster to understand what his code was really trying to do. > Exceptions have an association with concepts like "error case" > and "should rarely happen"; but that is entirely wrongheaded. Most people program a certain way because they think a certain way. People generally adopt the language that fits their line of thinking. You're not providing a solution that fits other's way of thinking, you're tellign them they should think *your* way. And if this is a discussion about marketing, then you have it entirely backwards. Marketing is discovering what the market wants and giving it to them. If people want exceptions to be for error cases and such, then they will find teh language that embodies that thinking. "There is more than one way to do it" is the marketing success of perl. It lets people do it their way. But it may be a weakness, since having a *team* of programmers all using perl in completely different ways is little better than having a team all using different languages entirely. So, if most programmers start to adopt usage models in their thinking, like all exceptions are for errors and/or rare events, then that can actually be a good thing because it means they're more likely to be coding with the same thought process and their code can work with other people's code, and other people can come in and maintain it later. The individual programmer who wants to use exceptions as gotos will likely rail against the stupidity of the masses trying to impose their rules on him, but, in the end, programming is a group effort, and "plays well with others" is as important of a hire/no-hire question as "knows perl". > What is off-putting (it's a thread about marketing after > all) is the only-slightly-different attitude of the fanatic: > "I'll use Perl _because_ it lacks imposed uniformity." You're talking more about public relations, not marketing. Marketing: "As a philosophy, it is based on thinking about the business in terms of customer needs and their satisfaction." The key being customer *needs* I've used Ada for fly-by-wire software. It's strict, and if the code is wrong, people die. I'm totally cool with using Ada on avionics software. I use perl if I need to quickly parse some text and extract some data. I don't have to worry about strong type checking getting in my way converting string text from the file into a floating point number. Perl just handles it for me. I use perl _because_ it lacks imposed uniformity doesn't add another problem to be solved to my already existing list of problems to be solved. And because it has a lot of tools that specifically solve the problem I need to be solved. (i.e. CPAN) And because it has a lot of constructs in the language itself that follow my line of thinking. I can think in perl. Perl solves some of my problems, and I use it when it solves those problems without adding new problems to the mix. As far as what other people *think* about perl and perl users, well, that's a different issue altogether. And probably the first question that need be asked before it becomes the new subthread is whether or not people choose their computer language because of their *opinion* about the language instead of whether or not the language will solve their problem. I think that most people who are in a position to choose the language that will be used choose the language based on mostly whether or not the language will solve their problem without creating other problems and very very very little based on whether some people who use the language are "fanatics". Certainly there are Mac Fanatics. But so far, I've bought PC's because there's always some software that I need to run that only runs on PC's. I haven't NOT bought a Mac due to the existence of Mac fanatics. But if you look at Apple's marketing via its ads, it focuses solely on showing you how Mac can solve your problems without adding new problems to your list. Apple doesn't go around telling the mac "fanatics" that they are "offputting" to potential customers and should cut it out. If this is a marketing discussion about perl, then it should look at what people need to do with their programs and determine whether perl can solve that problem without adding new problems. I think Perl6 is nothing really but an attempt to add new problem-solving tools to Perl 5 (new language concepts) and to remove the problems that Perl5 adds when you use it (totally hacked together approach to OO programming, for ex) _______________________________________________ Boston-pm mailing list Bostonfirstname.lastname@example.org http://mail.pm.org/mailman/listinfo/boston-pm