Hacker News new | ask | show | jobs
by cstross 906 days ago
Essentially a more sophisticated BASIC

Absolutely wrong.

PASCAL was invented by Professor Niklaus Wirth at ETH Zurich specifically for teaching structured programming, circa 1970 (year of first release). It's a descendant of ALGOL (1960), which was pretty much the first structured programming language and introduced functions that could be recursively invoked -- ALGOL is the ancestor of C and PL/I as well as Pascal and relatives (Modula-2, Oberon, etc) and is hugely important.

BASIC came out of Dartmouth College in the US in the mid-sixties and the emphasis was on interactive invocation: early BASIC was almost completely non-structured (GOTO for flow of control, minimal subroutines, IF statements with no ELSE).

While both Pascal and BASIC were intended as teaching languages, they took radically different views of what to teach. And Python is different again: Python has the virtue of a simple and consistent core syntax, but wasn't designed for teaching -- it was designed for scripting, and was developed in the early 1990s for computers with 2-3 orders of magnitude more resources than early BASIC and Pascal.

Object Pascal/Delphi (Delphi was Borland's proprietary implementation with RAD for Windows) is an outgrowth of Borland's Turbo Pascal from the early 1980s, which in turn took Wirth's Pascal and added some essentials that had been missing -- notably dynamically allocated strings, modules, and finally object encapsulation -- that made it much more suitable for writing serious code: for a while Turbo Pascal was a viable competitor for C on MS-DOS.

But Pascal is in no way related to BASIC.

2 comments

(Algol 60 was also an important influence on Scheme! So is Scheme a lisp or an algol? Yes.)
It's not wrong.

I stand by exactly what I said.

In practice, it was taught as an introduction to programming.

For a decade or two, children learned Basic and highschool/JC aged kids learned Pascal.

Of course they aren't the same thing. It'd be like saying kids ride tricycles and then bicycles and clapping back about penny farthings, velocipedes and dandy horses while tricycles started as a wheelchair device.

Give me a break. The point was Pascal is accessible and easy to learn.

I've met both Kurtz and Wirth and I'm sure they wouldn't have a problem with this.

>"It's not wrong."

I think the post you are replying to got it exactly right. IMO your post got it all wrong.

>"I've met both Kurtz and Wirth and I'm sure they wouldn't have a problem with this."

Modern Delphi/FreePascal and the one created by Wirth are very different. I would not call it the same language. And what you "sure they wouldn't" is totally irrelevant.

From the perspective of the learner, the actual cognitive work to get to mastery is of a similar order of magnitude and similar nature. The feature crossover is probably 80-90% depending on how you choose to enumerate them.

The question was about that, specifically, not about the history, not about the nuanced details of who created it, but about how hard it was to pick up.

Specifically "Any recommendations on how to learn it"

It's not in the class of R, FORTH, assembly or Haskell. It's not like Erlang. It's as conceptually approachable as Basic and historically was taught after Basic to tens of millions of people over the course of two decades, in that order.

>"The feature crossover is probably 80-90%"

It is not.

>"assembly "

It has assembly built in.