> 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
Boston-pm@mail.pm.org
http://mail.pm.org/mailman/listinfo/boston-pm

Reply via email to