4 ms·
> it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace? Experienced programmers tend to forget how
by goto11 4y ago
> it’s believed to be beginner friendly compared to other languages. I’m not really sure why - maybe the whitespace?
Experienced programmers tend to forget how the experience was as a beginner programmer. But Python grew out of actual usability research into teaching programming to beginners. Logo is another language with the same background, but it never escaped that niche. The success of Python is because it attractive to beginners but remains a powerful tool as the programmer becomes more experienced.
Whitespace is definitely a factor - or rather the lack of redundant braces. Beginner programmer seem to really struggle with the lack of correspondence between the visual structure and the logical structure in most languages. Even experienced programmers get tripped up by erroneous indents. Python just solves this once and for all.
The lack of type annotations is also a factor. For beginners this is just an additional layer of complexity.
Scheme is great for teaching computer science students, but if you are just a regular Joe researcher wanting to get the job done, you want to write "2 + 2" like everybody else in the world, not "(+ 2 2)"
Most languages are designed to attract experienced programmers, e.g. by having C-like syntax which they may already be familiar with. But it has a cost for beginners.