Follow-up post explaining research rationale

qznc via Digitalmars-d digitalmars-d at puremagic.com
Tue May 10 02:20:23 PDT 2016


On Monday, 9 May 2016 at 19:09:35 UTC, Joe Duarte wrote:
> Now, there are some reasonable hypotheses having to do with 
> programming/tech culture and its effects on gender diversity. I 
> think some of those can intertwine with PL design issues. I 
> also think there might be an issue with the quality and 
> compellingness of today's computing platforms, and the 
> perceived power of computers to do amazing and interesting 
> things. I don't think the platforms people are introduced to in 
> CS education are very good at generating excitement about what 
> computers can do. It would be interesting to gauge what sorts 
> of things people think they might be able to create, what sorts 
> of problems they think they could solve, or new interfaces they 
> could implement, after their introduction to programming. What 
> horizons do they see? For example, there used to be a lot of 
> excitement about what computers could do for education. Those 
> visions have not materialized, and it's not clear that 
> computing is doing anything non-trivial in education for 
> reasoning ability, unlocking math aptitude, writing creativity, 
> etc. It might actually be a net harm, with its effects on 
> attention spans and language development, though this will be 
> very complicated to assess.
>
> Mobile has reinvigorated some idealism and creativity about 
> computing. But the platforms people are introduced to or forced 
> to use when learning programming are not mobile platforms, 
> since you can't build complex applications on the devices 
> themselves. Unix and Linux are extremely popular in CS, but are 
> terrible examples for blue sky thinking about computing. 
> Forcing people to learn Vim or Emacs, grep, and poorly designed 
> command line interfaces that dump a bunch of unformatted text 
> at you are disastrous decisions from a pedagogical standpoint. 
> (See the BlueJ project for an effort to do something about 
> this.) They do nothing to illustrate what new and exciting 
> things you could build with computers, and they seem to mold 
> students into a rigid, conformist nix, git, and markdown 
> monoculture where computing is reduced to bizarre manipulations 
> of ASCII text on a black 1980s DOS-like screen, and constantly 
> fiddling with and repairing one's operating system just to be 
> able to continue to work on this DOS-like screen (Unix/Linux 
> requires a lot of maintenance and troubleshooting overhead, 
> especially for beginners – if they also have to do this while 
> learning programming, then programming itself could be 
> associated with a life of neverending, maddening hassles and 
> frustrations). The debugging experience on Unix/Linux will be 
> painful. From a pedagogical standpoint, this situation looks 
> like a doomsday scenario, the worst CS education approach we 
> could devise.


I applaud you for staying and explaining, although you clearly 
get some destructive feedback here.

Your criticism of vim, emacs, and Unix is misleading imho. Vim 
and emacs are not optimized for learning. They are power tools 
for professionals. There are easier text editors for beginners. 
The command line on the other hand is great in my opinion. It 
makes you have a conversation with your computer instead of 
pointing at buttons. The basic idea is currently reinvented as 
"chatbots are the new UI breakthrough" [0]. Sure, discoverability 
is a problem with the terminal. GUIs fixed that by showing 
buttons for every possible action. Chatbots use AI tech to make 
sense of anything, but we lose precision with this conversational 
style. A professional tool requires precision.

I agree that syntax is mostly historical baggage. The main reason 
why D mimics C, is because people are familiar with it. Not 
because the syntax is good. It is bad and everybody knows it. 
However, I'm not talking about curly braces or semicolons. I 
think it is weird that we use the "equals" character to express 
"assign".

[0] e.g. http://marketingland.com/microsoft-build-171006


More information about the Digitalmars-d mailing list