Follow-up post explaining research rationale

Joe Duarte via Digitalmars-d digitalmars-d at puremagic.com
Sat May 14 20:02:41 PDT 2016


On Friday, 13 May 2016 at 22:13:50 UTC, QAston wrote:

>> Mainstream PL syntax is extremely unintuitive and poorly 
>> designed by known pedagogical, epistemological, and 
>> communicative science standards. The vast majority people who 
>> are introduced to programming do not pursue it (likely true of 
>> many fields, but programming may see a smaller grab than most 
>> – this point requires a lot more context). I'm open to the 
>> possibility that the need to master the bizarre syntax of 
>> incumbent programming languages might serve as a useful filter 
>> for qualities valuable in a programmer, but I'm not sure how 
>> good or precise the filter is.
>
> Your research seems to have a very big ommission: textual 
> representation is not only representation of programs - 
> therfore programming doesn't have to have syntax. The first 
> programming enviroment I was introduced to was an executable 
> flowchart enviroment.

Quick note: I'm looking at the effects of the syntax and design 
of incumbent programming languages on the appeal of programming 
to people in general, with some specific questions concerning the 
appeal of programming to women (particularly elite women who have 
many career options.)

So that research track is bound to the world as I find it, and 
the world as I find it is a world where graphical programming 
languages and environments are not widely used, and where all the 
programming languages in wide use are plain text.

That said, I'm deeply interested in graphical and visual 
programming methods. I know quite a bit about them, have studied 
lots of historic efforts and even contemporary ones like Snap 
(http://snap.berkeley.edu/) and Scratch. Side note: I'm a bit of 
a Russophile, and I'm fascinated by the history of Soviet 
computing, with innovations like the Elbrus systems with tagged 
memory, and the ways they cloned major American computing 
platforms. Something I dug into last year is the DRAKON graphical 
programming language, which they built as part of the Buran space 
shuttle program. Very interesting: 
https://en.wikipedia.org/wiki/DRAKON

Programmers tend to be conservative in many respects. There's the 
assumption that programming must consist of a programmer typing 
plain text into a flat document that contains many levels of 
abstraction and many different kinds of concepts. By flat I mean 
that it's this continuous blob that takes no account of its 
content, of varying levels of abstraction, of the wildly 
different kinds of work and reasoning that are expressed in this 
run-on text file. Then a compiler takes this text and does its 
thing. There's very little visual representation. Type systems 
are quite arbitrary and primitive -- we could've moved to 
real-world types a long time ago, which would be much safer and a 
hell of a lot more productive. Type theory imports the barbarism 
of legacy type systems and doesn't question the assumption that 
the universe is best carved into ints and floats at the source 
code level, instead of prices, km, or seconds. Compilers still 
don't know that something called lastName is a string (or better 
yet, a *text* type -- strings are for yo-yos), or that salesTax 
is a decimal. That's really simple stuff. It's nuts that with 
semantic names we still have to assign types, and that those 
types are so much coarser than the information already in the 
name. Our vaunted notion of type safety is based on an incredibly 
coarse split between ints, floats, and maybe strings or arrays. I 
think it should confuse every CS student how these distinctions 
came to preoccupy us, and why we don't have anything more to say 
about types at this point in history.

So graphical programming is a huge change for a very conservative 
field, and probably has worse than "script kiddie" connotations 
for many professional programmers. And there's no compelling 
evidence that graphical is better than text for many use cases. 
It might be better for some people, and a one-to-one mapping 
between a powerful textual PL and a graphical form would be very 
interesting.


More information about the Digitalmars-d mailing list