The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: bakul@bitblocks.com (Bakul Shah)
Subject: [TUHS] Why Pascal is Not My Favorite Programming Language - Unearthed!
Date: Thu, 31 Aug 2017 17:52:46 -0700	[thread overview]
Message-ID: <A9605CA6-964A-4D6E-8107-2C1CC7DACC03@bitblocks.com> (raw)
In-Reply-To: <CAC20D2PJvsZiza6AXTK9WFzuHtvHKRsxxfn-n3SFGUcn-AWfQg@mail.gmail.com>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3104 bytes --]

On Aug 31, 2017, at 1:51 PM, Clem Cole <clemc at ccc.com> wrote:
> 
> 
> 
> On Thu, Aug 31, 2017 at 4:37 PM, William Cheswick <ches at cheswick.com <mailto:ches at cheswick.com>> wrote:
> I wrote a plotter driver for the CDC in Pascal.  Brian’s comments were apt: drivers aren’t quite the same as a filter, even a Knuthian-style program.
> 
> I thought the world would end up using some post-Pascal, strongly typed language.  Maybe Oberon or Modula would fix things.  (I don’t think any of a decade’s worth of Pascal programs I wrote ever had a buffer overflow vulnerability.)
> 
> ​ditto, Pascal and Mod-II and Mod-III were pretty slick.   They were a little wordy compared to C, but I admit the programs we wrote in them "just worked" and I can not think any security issues in any that we wrote.

"Just working" and no security issues is something that was/is harder in C (and C++). We continue to pay an enormous cost due to the prevalence of C/C++ programs. May be security was not a big concern in 1983 but buggy programs were already a big issue....

> 
> I look to the likes of go and rust to get us back on track.  C is a pretty good assembly language.
> 
> ​+1
> 
> But Ches, that leaves the open question of what to teach?   My daughter loves it and that's what college taught her, but I cringe when I look at what she and her peeps do with Python.   To me that's more like shell scripting.   Maybe its my inner curmudgeon showing.

IMHO every programmer should learn (and learn well)
a) assembly language. pick one processor architecture. C is not low level enough. This really teaches you the nuts and bolts of how computers actually work.
b) Scheme. This really teaches you prototyping, conceptualizing, experimenting etc. And there are lots of books that use Scheme to teach you programming. Still my goto language for fun!
c) Some newly popular/upcoming compiled language. Go or Rust or Nim or Julia or Erlang or Haskell...

Rationale: a) is bottom up. b) is top down. c) is getting things done. This way they get a broad spectrum programming skill set.

and may be
d) javascript / C++ / Cobol / Java / C -- whatever the market currently desperately wants

> I have not seen anything like Clancy's "Oh Pascal" book in the key of Go, much less Brinch Hansen's "Java for Everyone" ​which I still think are two of the best teaching text out there.

FWIW: I was able to bootstrap 3 highschool grads just with the Kergighan, Donovan Go programming book. With some mentoring in 7 weeks they wrote a car driving simulator (random road map, traffic signals, random number of cars, stopping at lights, waiting to safely turn right or left, zoomable openGL view). They had some prior experience with C/C++ and one knew openGL as well. They actually produced far more code than the our team of regular employees!

Go ecosystem quite well engineered and a joy to use. What newbies need is a "duolingo" for programming!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20170831/b5c75616/attachment.html>


  reply	other threads:[~2017-09-01  0:52 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 12:34 arnold
2017-08-30 14:13 ` Eric Wayte
2017-08-30 14:30 ` Michael Kjörling
2017-08-30 14:43   ` Eric Wayte
2017-08-30 17:10 ` Mutiny 
2017-08-30 22:33 ` Michael Parson
2017-08-31  0:55   ` Nemo
2017-08-31 13:29     ` arnold
2017-08-31 18:24       ` Nemo
2017-09-03  0:56         ` Dave Horsfall
2017-09-03 12:07           ` arnold
2017-09-03 22:03             ` Dave Horsfall
2017-09-04 12:12               ` Steffen Nurpmeso
2017-08-31  1:13 ` Bakul Shah
2017-08-31 14:48   ` Larry McVoy
2017-08-31 15:26     ` Eric Wayte
2017-08-31 16:12       ` Warner Losh
2017-08-31 17:51         ` Larry McVoy
2017-08-31 18:40           ` Clem Cole
2017-08-31 19:25             ` Steffen Nurpmeso
2017-09-01  1:57               ` Nemo
2017-09-01 14:17                 ` Steffen Nurpmeso
2017-09-01 14:28                   ` Arthur Krewat
2017-09-01 14:48                     ` William Cheswick
2017-09-01 15:15                       ` Clem Cole
2017-09-01 15:47                       ` Arthur Krewat
2017-09-01 16:21                       ` Nevin Liber
2017-09-01 16:34                       ` Dan Cross
2017-09-02  0:24                         ` Dave Horsfall
2017-08-31 19:47             ` Toby Thain
2017-08-31 20:37               ` William Cheswick
2017-08-31 20:51                 ` Clem Cole
2017-09-01  0:52                   ` Bakul Shah [this message]
2017-08-31 21:46                 ` Larry McVoy
2017-08-31 21:59                   ` Arthur Krewat
2017-08-31 22:08                     ` Larry McVoy
2017-09-01  1:11                       ` Steve Johnson
2017-09-01  0:57                   ` David Arnold
2017-09-01  1:22                   ` Bakul Shah
2017-09-01  1:26                     ` Larry McVoy
2017-09-01  1:51                       ` Kurt H Maier
2017-09-01  2:22                       ` Bakul Shah
2017-09-01  2:27                         ` Larry McVoy
2017-09-01  2:58                           ` Bakul Shah
2017-09-01  3:12                       ` Dan Cross
2017-09-01  2:51                     ` Dan Cross
2017-08-31 20:37               ` Clem Cole
2017-08-31 21:26                 ` Toby Thain
2017-09-01  2:38               ` Dan Cross
2017-09-01  3:59                 ` Toby Thain
2017-09-01 15:57                   ` Dan Cross
2017-09-01 16:08                     ` Toby Thain
2017-09-01 18:15                       ` [TUHS] Future Languages (was Pascal not Favorite...) Steve Johnson
2017-09-01 18:43                         ` ron minnich
2017-09-01 23:33                           ` Chris Torek
2017-09-04 20:55                             ` ron minnich
2017-09-01 20:42                         ` Clem Cole
2017-09-04 20:44                         ` Bakul Shah
2017-09-01 13:46                 ` [TUHS] Why Pascal is Not My Favorite Programming Language - Unearthed! Clem Cole
2017-09-01 14:43                 ` Toby Thain
2017-09-01 15:14                   ` Clem Cole
2017-09-01 16:22                   ` Dan Cross
2017-09-01 19:07                     ` Toby Thain
2017-09-02 13:25                       ` Dan Cross
2017-09-02 15:00                 ` Toby Thain
2017-09-02 15:16 Diomidis Spinellis
2017-09-02 19:53 ` Toby Thain
2017-09-03 14:48 Norman Wilson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=A9605CA6-964A-4D6E-8107-2C1CC7DACC03@bitblocks.com \
    --to=bakul@bitblocks.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).