On 29/11/2007, Waldemar Kornewald <[EMAIL PROTECTED]> wrote:
> On Nov 28, 2007 5:37 PM, Igor Stasenko <[EMAIL PROTECTED]> wrote:
> > Waldemar, why you thinking that adding new set of rules (such as math
> > expression syntax) will make it easier for programmer to do their job?
>
> Note, as Ian explained, this isn't an "either"-"or" decision, anyway.
> The question is what defaults to use and whether it's necessary to
> create a separate "marketing" mainstream language. I'll still make a
> last attempt at explaining what I think.
>
> BTW, this is about +-*/. It's not about <<, ^, or other obscure
> operators. I don't know their precedence, either, and I don't care
> about it. It's beyond what newbies might expect.
>
> > Instead i always had problems with remembering
> > math "standard" precedence rules and always use
> > parenthesis if i not sure about the right order.
>
> Warning: Please smile. :)
>
> Does anyone really want to tell us that a lot of people "always had
> problems" with the precedence of +-*/? How did we all ever finish
> school? No, seriously. :)
>
> You forgot to smile. :)
>
> Many of you have experience with Smalltalk. The whole discussion is
> about habits. You have your personal habits and you're going to defend
> them. But so will the mainstream, which some of you don't care about,
> but if you seriously believe that you don't need the mainstream then
> you're deliciously biting into your own hand right now. And who of us
> can code with only one hand? :) Uh, was that a bad one? At least, this
> project is hopefully not about creating yet another useless niche. How
> can we create the (cited from website) "computer revolution" if nobody
> uses it?
>
> How many really popular languages do you know that respect math
> precedence? How many break math? Let's look at a page that links to
> multiple statistics:
> http://www.devtopics.com/most-popular-programming-languages/
> I don't have to tell anyone that Smalltalk's popularity goes towards 0
> and that the top-10 languages all have similar syntax. Why are C-like
> languages so popular? Even more interestingly, why do statistics
> indicate that there is much more talk about "less popular" languages
> than their usage statistics indicate? Do people secretly want to use
> something better?
>
> Are evil managers forcing us to use bad popular languages? Yes! But
> then, we're still free to use any language in our spare time, so why
> don't other languages become more popular? Actually, Ruby and Python
> show that new languages can become popular even in business.
> Otherwise, we'd not even be using Java or C#, either (which all bring
> new APIs, so switching doesn't come for free). Still, they all have
> relatively similar syntax.
>
> I strongly believe that one of the reasons is that programming
> language syntax is already stupid enough to learn and often not worth
> investing time into. Just ask yourself: What does it give me? If I
> want to learn a new powerful language I'd rather pick the one that
> makes it as easy as possible to switch. Programmers want to learn new
> concepts, not a new syntax.

But what if new syntax is a cornerstone concept of a language?

>
> A lot of programmers are reluctant to change. They like their current
> syntax and if you tell them about an alternative syntax you often get
> to hear grumblings like "this is stupid, who needs that?" or "Java
> syntax is good enough, so why should I care?". Habituation is very
> strong and it often hinders adoption of better alternatives.
> Otherwise, we'd have popular Smalltalk scripting languages (i.e. the
> real thing!) instead of Ruby (or Python or ...). We'd even all be
> using DVORAK keyboards. But we don't.
>
> You can either conform to people's expectations, or positively
> surprise them, or just ignore them. In the last case, you lose. In the
> second case, I'm not sure if people will say "oh, great, Smalltalk
> doesn't respect math precedence, so I have one less problem in life".
> They still have to deal with math precedence in real life and now they
> actually have one thing more to get used to (IOW, "unlearn"). OTOH,
> the first case has been successfully practiced by most mainstream
> languages.
>
> Let's see if the following gets Alan Kay on board. :)
> Isn't one critical goal of this project to help teach children math
> and science? Imagine children at school. They already know math
> precedence and then they're introduced to Smalltalk. Do you think
> they'll be confused by the different precedence rules?
>
> What if they also need to use other math tools? E.g., calculator, CAS,
> graph plotter, etc. Is the (debatable) beauty of Smalltalk syntax
> really worth the confusion? Do you want to torture innocent little
> children? :)
>

Oh, beauty is debatable (maybe), but simplicity is not ;)
And teaching children that rules _CAN_ be changed to conform their
needs or to be able to use a new tool, haves much more positive
impact. This will teach them, that they don't have to stick with
concepts which was settled up hundred years ago and they always should
question themselves and teachers: why its done in that way? is there
another, better way to do this? And by knowing the reasons, not rules,
they opening the way for themselves how to improve design, invent and
be creative. I can't imagine, how teaching new concepts can be
considered a torture, how teaching that there is _always_ more than a
single option how to define and use something can be considered
harmful. If you teaching children in a way that restricts to rigid
knowledge you making them think rigid, losing their creative power and
finally turning them to dumb robots which have only limited
capabilities without any means how to step beyond them.

And from this point, ask yourself, why precedence rules, which we
learn in school have defined in that way? Is there any other ways, how
they can be defined? Is there any other math operators, except +,*,-,/
 exists? What is math operator at all? How many of them we can define
and introduce? Should we always tend to define a precedence rules for
these new math operators? This is the first questions which you should
teach and answer before proceeding further.


> Alan, did you notice any problems? Did children easily switch between
> both modes? Did the language interfere with 3rd-party math tools? Is
> Alan actually here? :)
>

With all respect, but refusing or incapability to learn new/different
concepts is stupid habit and always against success.  Its a choice
between stagnation and moving forward.
IMHO, if programmer refuses to learn, then its not a programmer at all.
You noted, that always, when developer moving to new environment he
have to pay the price: learn how to use and exploit it for own
benefit. And honestly, comparing with amount which decent programmer
needs to learn when moving to new environment a 'non-standard' math
syntax have very little price.
The main habit of any good developer should be the wish and ability to
learn and accept new, good ideas and use them to adopt for own needs.
Without such habit the rest is not matters.


-- 
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to