D as a college language

Russel Winder russel at winder.org.uk
Sat May 5 15:13:34 UTC 2018


On Sat, 2018-05-05 at 11:57 +0000, KingJoffrey via Digitalmars-d wrote:
> On Saturday, 5 May 2018 at 11:25:45 UTC, Russel Winder wrote:
> > 
[…]
> > What is the pedegogy here, what are the justifications.
> 
> That the languages being taught to undergrads, must be pervasive.

Not needed. The language must be good and fit for purpose not necessarily
pervasive. For example Clean is an excellent language for teaching functional
programming. That most professional programmers have ever heard of it doesn't
undermine it's suitability.

Conversely, Spark Ada is pervasive but would you use it to teach programming?

However, I think it is right that exiting undergraduates have experience of
Python, Java, and other languages used in the world of work, but they do not
necessarily have to be the teaching languages.

> That the languages being taught to undergrads, must teach them 
> about low-level types, and higher-level types.

Definitely. Abstraction is at the core of programming. But different
programming language have different type systems. So Ceylon, Haskell, OCaml,
and Lisp are language for learning this sort of stuff. 

> And a whole lot of other stuff..(e.g, open source, cross 
> platform, have multiple compilers, standardised, formalised, 
> etc..) ..I can't be bothered typing any more ...

Clearly the technology of programming in a professional way is important. But
this is not specific to the programming language. And if we add IDE support as
an integral part of professional programming, D fails to meet the criteria.

> > In UK we have Scratch then Python then ??? This is working 
> > tremendously well to get large numbers of young people 
> > programming far better than most professional programmers.
> > 
> 
> Don't teach undergrads how to play with toys!
> 
> They can play with toys in junior high school, sure.

Do not underestimate the quality and quantity of code written by 14 year olds
with a Scratch and Python background. They put a large swathe of professional
programmers to shame. And this with school teachers who are not at all sure
they know what they are doing. CAS, Code Club, and other organisations have
helped massively.

More importantly though in a situation where new undergraduates already know
Python, universities have to have a whole new approach. This is a revolution
to traditional university CS education and training. Most universities in the
UK are having to completely rework the whole curriculum ad way of working. For
the better.

[…]
> > C and Java are not extremes. Lisp, assembly language, Haskell, 
> > Erlang, these are extremes.
> 
> C and Java, in comparison to each other, are at the end of each 
> extreme.

In that C is a portable assembly language and Java is an object-based language
supporting some forms of polymorphism they are very different, but they are
far from extremes.

> Those other languages you mention are mostly irrelevant (at least 
> on a grand scale), and certainly non-pervasisve. They have no 
> place in undergrad course.

Erlang still runs much of the international telephone system, and a lot of
share trading systems. Haskell is used for a lot of quant work in finance
houses. Common Lisp and Clojure between them run quite a lot of Web systems
and a lot of front-end share trading systems. They are very relevant and any
undergraduate who has used them at all is probably sub-standard.

> 
> > > D could be a postgrad interest perhaps.
> > 
> > No, this would be a bad idea.We can debate this elsewhere.
> 
> That should depend on the interests of the postgrad.
> 
> At some point, we really, really should let them choose to focus 
> on what interests them.

That is what options and projects are for. It all works very well in the UK.

[…]
> you forgot 'mobile'.

I guess a lot of people are interested in mobile, which these days means Swift
and Kotlin.

[…]
> 
> Python should be banned! Cut of it's head!!

Hopefully this is a troll, and you don't mean that. Python is used by a huge
swathe of data science and especially the quants who more or less run the
finance system of the world.
[…]
> 

> As someone intimately involved with a university for many, many 
> years, I have to wonder whether teachers are the problem, rather 
> than the solution ;-)

I can't speak with direct evidence for the last decade but certainly till then
far too many academics in the UK couldn't really program well at all. The
whole university system militates against programming as something an academic
is good at. Fortunately there seem to be just enough academics who can program
well, at least in the top universities, that the programming courses do
actually get taught well. Of course with programming moving from university to
school (6 to 18) the problem shifts from academics to school teachers.


-- 
Russel.
==========================================
Dr Russel Winder      t: +44 20 7585 2200
41 Buckmaster Road    m: +44 7770 465 077
London SW11 1EN, UK   w: www.russel.org.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20180505/83f464d9/attachment.sig>


More information about the Digitalmars-d mailing list