Prefix notation is good.
What makes difficulties is mixed notations.
There how it looks:
(Math.Sin(1\(1 + Math.Exp(x * -1))) - Math.Pow((1\Math.Log(x - (r * -1))), 
3)) \ Math.Sqrt(Math.Pow(x + r, 2))
Add to this functions with more then 2 arguments.
Add to this iterations, and it will be complete hell.

In lisp, in another hand, you will get much cleaner expression, of course 
it is not ideal, but i don't known any better approach.


What I noticed, students often ignores how stupid computer is, and instead 
of setting goals for the computer they sets goals for themselves.
They try to avoid acceptance of abstract mathematical concept - what 
programming language is.
It is natural for human brains to avoid learning, and mismatch 
understanding with classification.

Students often have misunderstanding about what is function and what is 
function application, what is function arguments, *how data flow*, what is 
variable, and how it works.
They does not have feel of computer, of this soulless machine that crunches 
numbers.
They often have difficulty to understand that "defining" value means 
writing information to specific memory address.
So they see (define a (+1 2)) - not as command (add 1 to 2 and write result 
to memory cell witch refers as "a"), but as some purely syntactic statement 
separated from the machine. And they expect from it to act as such, what it 
doesn't do.

So I think basic syntax is not a problem at all.

What confuses first time is quotations especially quasiquote, but it is a 
trifle really.

What bothers me is that the (for) form is cumbersome, and with all the 
functionality it sometimes fails.
Lists have this nice functions like for-each map fold, all other 
collections should be subjects for this to.

So, in general, I think language need more of simple and practical 
constructs, and not big and complex monsters that can basically generate 
full syntax.


среда, 24 июля 2019 г., 5:26:32 UTC+3 пользователь Philip McGrath написал:
>
> I thought one of the most compelling parts of Matthew's proposal was at 
> around 
> 37:41 in the video 
> <https://www.youtube.com/watch?v=dnz6y5U0tFs&start=2261>, when he said,
>
> I've seen students in my class genuinely struggle with just the syntax.
>
> I think it would be very useful to hear more (from Matthew or others) 
> about the struggles people have with s-expressions, both to understand the 
> motivations for a potential new surface syntax and to evaluate concrete 
> design ideas.
>
> As I've been reflecting over the last week, I realized that I have a 
> fairly deep knowledge of my own experiences learning new languages (or at 
> least I like to think I do …), and I know something about the experiences 
> of friends and colleagues, but my knowledge pretty quickly drops off after 
> that. Presumably, people who teach CS get to observe much larger samples. 
> Those in industry with experience on-boarding new employees might likewise 
> have useful perspectives.
>
> If a major goal for Racket 2, and the potential syntax change in 
> particular, is to reduce obstacles, I think it would help to understand 
> what the obstacles are, for various groups of people. 
>
> (For example, I would speculate that people who have experience 
> programming with Algol-like syntax may stumble at different points than new 
> programmers, and those comfortable with notation from math class may have 
> different expectations than those who are not—but that is just speculation. 
> In any case, such answers wouldn't dictate a particular decision, but they 
> could provide context to inform the decision-making process.)
>
> -Philip
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/f7a2417d-5b05-4deb-bbac-9a5b66b347c1%40googlegroups.com.

Reply via email to