[Edu-sig] teaching computer science: what language?

kirby urner kirby.urner at gmail.com
Tue May 12 03:53:32 CEST 2015


On Mon, May 11, 2015 at 6:08 PM, Mark Engelberg <mark.engelberg at gmail.com>
wrote:

> There was a talk about this at the Clojure/West conference:
>
> https://www.youtube.com/watch?v=MqjMZNwnYCY&index=19&list=PLZdCLR02grLrKAOj8FJ1GGmNM5l7Okz0a
>
> Aside from just the technical challenge of needing a language that lends
> itself to renaming the core primitives, there's the fundamental challenge
> that coming up with good names for core functions is hard in any language.
> Naming the control constructs is also has.
>


Yes, however what I'm proposing as a plank in my platform
(as if running for PSF Board, but I'm not) is:

*Don't* mess with the core words and in fact Python sets
a wide swath of Roman alphabet English in Standard Library
(concentric circles).

I'm more talking 3rd Party curriculum and modules / packages.

There's still too much assumption that Computer Science
requires learning English as a 2nd language.  No, just learn
enough English to master Python and you'll be fine.




> For example, how do you write the two-part "if/then" in a language that
> uses "if" but not "then" for conditionals?   Also there are a lot of
> stylistic questions that come up with other languages that don't occur in
> English because English is more grammatically fuzzy than most, and that
> sort of works well for programming.  For example, when a variable is passed
> as an argument to a function, it should presumably be in objective case,
> but in the body of the function it should be nominative case.  Should
> functions use an imperative tense if the language has one?  What if it is
> being used as an input to a higher-order function, is it a verb, a noun, or
> an object in such a situation?  In languages that have different forms for
> the different parts of speech, this becomes a tricky issue, and there's no
> established body of code that I know of in which these stylistic issues
> have been decided.
>

As far as Python goes, I'm suggesting it's beautiful as is and
we don't even need to change print( ).

The 33 keywords:  keep them as is, no problemo.

The language is already accepting of Unicode names for
classes, functions and other names.  I'm just taking the
not so controversial position that we should encourage
further use of this capability.

That's all.  Nothing major.  The technical issues are largely
solved.

Kirby
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/edu-sig/attachments/20150511/61e93aea/attachment.html>


More information about the Edu-sig mailing list