RIP: Niklaus Wirth, 89
Jan. 4th, 2024 09:38 amOutside of the somewhat more hardcore programming geeks, his name will be almost completely unknown. But his impact on computer programming will long outlive him.
He invented Pascal, which begat Delphi. He was involved in the development of Algol. Basically he was one of the seminal forces in developing computer programming languages throughout his career, which was a long one. Borland's Turbo Pascal was a truly revolutionary release back in the Dos days.
Interestingly, he did not intend Pascal as an actual production programming language. He wanted it used as a teaching tool to introduce people to structured programming, which it was very good for.
He intended Oberon language as a programming tool.
I took Pascal twice. The first time, it just didn't click. I probably wasn't quite ready for it, and I don't think the book was that good. But the second time, everything fell into place: great teacher, good book, and more experience under my proverbial belt. And I fell in love with it.
One thing that I thought was absolutely fantastic about Pascal was the assignment operator and the equality operator. In many, many languages, you assign a value to a variable by using the equals symbol, thusly:
A = 1
Commonly described as A equals one. Seems clear, right?
In Pascal, you use the assignment operator:
A := 1
Described as A is assigned the value of one. A little more unambiguous.
In languages that use the equals symbol, when you want to evaluate an expression, you have a problem. In mathematics, you just use the equals symbol to test for equality. But if you're using that symbol as an assignment operator, you're running a risk of confusing the program compiler or messing up the logic of your program.
If you say
if A = 9 then (do stuff)
What are you saying? Do stuff if A = 9, or are you assigning the value of 9 to A, which is a true statement? Many languages started using == to test for equality. Thus you get
if A == 9 then (do stuff)
In Pascal, since you have an assignment operator in the := syntax, you can say
if A = 9 then (do stuff) and it's unambiguous!
I always thought that was syntactically brilliant, and always gave Mr. Wirth great kudos for it.
https://developers.slashdot.org/story/24/01/04/0126247/niklaus-wirth-inventor-of-pascal-dies-at-89
He invented Pascal, which begat Delphi. He was involved in the development of Algol. Basically he was one of the seminal forces in developing computer programming languages throughout his career, which was a long one. Borland's Turbo Pascal was a truly revolutionary release back in the Dos days.
Interestingly, he did not intend Pascal as an actual production programming language. He wanted it used as a teaching tool to introduce people to structured programming, which it was very good for.
He intended Oberon language as a programming tool.
I took Pascal twice. The first time, it just didn't click. I probably wasn't quite ready for it, and I don't think the book was that good. But the second time, everything fell into place: great teacher, good book, and more experience under my proverbial belt. And I fell in love with it.
One thing that I thought was absolutely fantastic about Pascal was the assignment operator and the equality operator. In many, many languages, you assign a value to a variable by using the equals symbol, thusly:
A = 1
Commonly described as A equals one. Seems clear, right?
In Pascal, you use the assignment operator:
A := 1
Described as A is assigned the value of one. A little more unambiguous.
In languages that use the equals symbol, when you want to evaluate an expression, you have a problem. In mathematics, you just use the equals symbol to test for equality. But if you're using that symbol as an assignment operator, you're running a risk of confusing the program compiler or messing up the logic of your program.
If you say
if A = 9 then (do stuff)
What are you saying? Do stuff if A = 9, or are you assigning the value of 9 to A, which is a true statement? Many languages started using == to test for equality. Thus you get
if A == 9 then (do stuff)
In Pascal, since you have an assignment operator in the := syntax, you can say
if A = 9 then (do stuff) and it's unambiguous!
I always thought that was syntactically brilliant, and always gave Mr. Wirth great kudos for it.
https://developers.slashdot.org/story/24/01/04/0126247/niklaus-wirth-inventor-of-pascal-dies-at-89
no subject
Date: 2024-01-04 06:00 pm (UTC)The first programming language I learned was BASIC in my junior year of high school. We learned it on TRS80 Model III computers with 4k ram and cassette drives. Over Christmas break, they all got upgraded to 16k of ram and floppy drives. My senior year of high school I learned Fortran via dumb terminals connected to the school district's PDP-11.
In college, they started us out with 2 semesters of Pascal. The first one was the first year that students used giant floppies (that we had to check out and in) instead of punch cards. The second semester was done on one of the university's mini computers. I always kinda liked Pascal. I did think it was better than BASIC for learning.
After that it was off to assembly language, which I didn't much like at all.
no subject
Date: 2024-01-04 08:02 pm (UTC)I'm certain Basic was my first, followed in no particular order by Cobol, Fortran, some RPG, Pascal, then into some database languages like dBase III. I've dabbled in some others like Forth. I tried IBM Assembler, and man did that make my head hurt! I don't know if I ever made anything work in that language! I barely avoided punch cards when I started taking college classes in programming. They still had the equipment for previous classes to finish up. At one time I could hold up an 80-column card and read it, but that skill has long since evaporated.