Recent

Author Topic: Is Pascal the right language for me ?  (Read 14656 times)

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: Is Pascal the right language for me ?
« Reply #30 on: June 30, 2020, 04:55:49 pm »
This is an old version of "Real Programmers Don't Use PASCAL"

In a  newer version there is also

"Real programmers code a pattern  matching for the Jupiter moons. In the last 570 free bytes of the Voyager IV. "

"Real Old school programmers had no computers, they carved their programs in sheets of ice with an old walrus-tooth"

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Is Pascal the right language for me ?
« Reply #31 on: June 30, 2020, 05:00:41 pm »
This is an old version of "Real Programmers Don't Use PASCAL"

In a  newer version there is also

"Real programmers code a pattern  matching for the Jupiter moons. In the last 570 free bytes of the Voyager IV. "

Yes, but you have to look at that in the context of the culture in which it was written: it's not so much that "X doesn't like Pascal" but "X is so tough and proficient that he doesn't need stuff to make his life easier".

It's exactly the same as Dijkstra's language pronouncements:

Code: [Select]
* FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use.

* PL/I --"the fatal disease"-- belongs more to the problem set than to the solution set.

* It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.

* The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence.

* APL is a mistake, carried through to perfection. It is the language of the future for the programming techniques of the past: it creates a new generation of coding bums.

It's sad- or at least I consider it to be sad- that those five points are now considered to be the last word on those languages, when they are merely a small part of a paper entitled "How do we tell truths that might hurt?" which starts with the words "Sometimes we discover unpleasant truths. Whenever we do so, we are in difficulties: suppressing them is scientifically dishonest, so we must tell them, but telling them, however, will fire back on us." https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html

Dijkstra was, I am quite sure, being intentionally obnoxious: it was not so much "these are definite truths" as "how can we even find a way to talk about this stuff? And for anybody unfamiliar with his corpus, I can assure you that he was far more vocal in his disdain for IBM than in his dislike of BASIC etc., despite any popular belief to the contrary.

Now I'm not saying that Pascal's perfect, and I'm not saying that criticism of the language and- dare I say it- community is unjustified. But both Pascal and Dijkstra need to be judged by their contribution to the profession, and since today's popular languages are overwhelmingly tending towards managed variables and robust type checking I think that Wirth and Dijkstra have won hands-down.

It's most unfair that Dijkstra died too young to have expressed a robust opinion of C, C++ and Javascript, since it leaves us having to make do with Stroustrup's "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off". With friends like that...

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

winni

  • Hero Member
  • *****
  • Posts: 3197
Re: Is Pascal the right language for me ?
« Reply #32 on: June 30, 2020, 05:08:02 pm »
Hej - Stroustrup knows exactly what he is talking about!

And he is the first one who knows it!

Winni

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 11382
  • FPC developer.
Re: Is Pascal the right language for me ?
« Reply #33 on: June 30, 2020, 05:13:18 pm »
But both Pascal and Dijkstra need to be judged by their contribution to the profession, and since today's popular languages are overwhelmingly tending towards managed variables and robust type checking I think that Wirth and Dijkstra have won hands-down.

Don't forget C++20's modular programming proposals!


winni

  • Hero Member
  • *****
  • Posts: 3197
Re: Is Pascal the right language for me ?
« Reply #34 on: June 30, 2020, 05:15:45 pm »

Don't forget C++20's modular programming proposals!

50 years after UCSD Pascal had it.

High time! Or too late????

Winni

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Is Pascal the right language for me ?
« Reply #35 on: June 30, 2020, 05:50:36 pm »
Don't forget C++20's modular programming proposals!

I suspect that compiling-every-time makes templates etc. easier. I think that Stallman's observations on a variant of Pascal with parameterised types are relevant: the entire program had to be compiled to a parse tree before it was possible to generate code, so as soon as a program got too big for local memory (usually a few hundred Kb on a PDP-11) you were in trouble.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

Warfley

  • Hero Member
  • *****
  • Posts: 1499
Re: Is Pascal the right language for me ?
« Reply #36 on: June 30, 2020, 05:56:18 pm »
Now I'm not saying that Pascal's perfect, and I'm not saying that criticism of the language and- dare I say it- community is unjustified. But both Pascal and Dijkstra need to be judged by their contribution to the profession, and since today's popular languages are overwhelmingly tending towards managed variables and robust type checking I think that Wirth and Dijkstra have won hands-down.

It's most unfair that Dijkstra died too young to have expressed a robust opinion of C, C++ and Javascript, since it leaves us having to make do with Stroustrup's "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off". With friends like that...

I find it rather interesting on the different routes the different programming languages go. Languages like Kotlin or Swift for example got rid of null pointers, which Hoare called his "Billion dollar mistake". Rust has its strict ownership semantics, that allow for extremely efficient memory management without the use of ref counting or garbage collection. And of course a big focus in many modern language is the usage of functional style programming like higher order functions, pattern matching, closures, etc.
I mean even JavaScript (and trust me, I could rant about JavaScript all day) is based on a pretty unique concept.

And this is IMHO a pretty neat thing, you have a lot of languages that are simply conceptually different, giving you a lot of variaty on how you can solve a task. Pascal is for example a pretty classical imperative language, which does not support a lot of fancy new paradigms, which has the charme that one who hasn't used pascal for years can simply sit down, open up an old project and continue working on it, while languages like python let you solve problems in a very easy and concise way
And the best thing about this is, it is mostly free. Everyone can download a compiler/interpreter for a given language, open the getting started page and start programming with it (assuming you already are familiar with a lanugage it is usually rather easy to learn a new one).
I recently (re)discovered Haskell which is a really wonderful language, but sadly I don't have so much free time to learn new programming languages anymore (the list of languages I want to try out is steadily increasing).
But if one starts a new project, thats the perfect time to check out whats out there and what would be a great fit for the given Project (that said, in a commercial project you should calculate some extra time for getting used to the language and initial mistakes)
« Last Edit: June 30, 2020, 05:58:02 pm by Warfley »

440bx

  • Hero Member
  • *****
  • Posts: 3944
Re: Is Pascal the right language for me ?
« Reply #37 on: June 30, 2020, 06:42:34 pm »
All this stuff reminds me how different it is when you use a programming language on "big iron".

Yes, the company pays a monthly support fee (more than most individuals can afford) but, when a customer finds a bug in the compiler, it doesn't take long for that bug to be acknowledged, fixed and, at least an "interim" release be made available to the customers who need it.

Also, there is little inclination from any of the parties (supplier and customer) to see more and more features added to the compiler.  A compiler isn't supposed to be Imelda Marco's shoe closet of features.  Object oriented polymorphic high heels... on generic leather.

The above isn't a problem specific to Pascal.  It seems PC class software is driven by upgrade cycles fueled by featurities.

« Last Edit: June 30, 2020, 06:44:16 pm by 440bx »
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Is Pascal the right language for me ?
« Reply #38 on: June 30, 2020, 06:55:39 pm »
And the best thing about this is, it is mostly free.

Yes, now that people know how to do it. Back in the day, when compiler writing and API/library design were black arts, stuff was most definitely /not/ free:

Quote
Shortly before beginning the GNU Project, I heard about the Free University Compiler Kit, also known as VUCK. (The Dutch word for “free” is written with a v.) This was a compiler designed to handle multiple languages, including C and Pascal, and to support multiple target machines. I wrote to its author asking if GNU could use it.

He responded derisively, stating that the university was free but the compiler was not. I therefore decided that my first program for the GNU Project would be a multilanguage, multiplatform compiler. -- https://www.gnu.org/gnu/thegnuproject.html

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Is Pascal the right language for me ?
« Reply #39 on: June 30, 2020, 07:50:57 pm »
"Real Old school programmers had no computers, they carved their programs in sheets of ice with an old walrus-tooth"

Bah!  That's when they started getting soft.

"Real Old school programmers had no computers, they carved their programs in sheets of ice with a walrus-tooth which they recently relieved from the biggest walrus around!"
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.2.7-ada7a90186 / FPC v3.2.3-706-gaadb53e72c
(Windows 64-bit install w/Win32 and Linux/Arm cross-compiles via FpcUpDeluxe on both instances)

My Systems: Windows 10/11 Pro x64 (Current)

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Is Pascal the right language for me ?
« Reply #40 on: June 30, 2020, 07:59:57 pm »
The above isn't a problem specific to Pascal.  It seems PC class software is driven by upgrade cycles fueled by featureitis.

This is driven by the economics model.  Big Iron has it's long term support contracts.  There is steady money coming in, a focus on keeping customers happy enough to renew the contract, and so there is little need for featureitis.

The PC world was based on primarily on competition, and licensing subscriptions went away ages ago (only to return in the SaaS / Cloud era), and so there are all sorts of attempts at lock-in, and featureitis, because change is relatively easier than Big Iron (where software changes are often synonymous with hardware changes).

These represent the two most common ways to keep the money flowing for vendors.
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.2.7-ada7a90186 / FPC v3.2.3-706-gaadb53e72c
(Windows 64-bit install w/Win32 and Linux/Arm cross-compiles via FpcUpDeluxe on both instances)

My Systems: Windows 10/11 Pro x64 (Current)

440bx

  • Hero Member
  • *****
  • Posts: 3944
Re: Is Pascal the right language for me ?
« Reply #41 on: June 30, 2020, 08:15:18 pm »
This is driven by the economics model.  Big Iron has it's long term support contracts.  There is steady money coming in, a focus on keeping customers happy enough to renew the contract, and so there is little need for featureitis.

The PC world was based on primarily on competition, and licensing subscriptions went away ages ago (only to return in the SaaS / Cloud era), and so there are all sorts of attempts at lock-in, and featureitis, because change is relatively easier than Big Iron (where software changes are often synonymous with hardware changes).
All very true.  It would be nice if some of these companies using the "upgrade model" also offered a "stability model" for those who are more interested in ever increasing reliability and stability than fancy new features.  As the saying goes: it is what it is.  oh well...
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

440bx

  • Hero Member
  • *****
  • Posts: 3944
Re: Is Pascal the right language for me ?
« Reply #42 on: June 30, 2020, 09:08:30 pm »
"Sometimes we discover unpleasant truths. Whenever we do so, we are in difficulties: suppressing them is scientifically dishonest, so we must tell them, but telling them, however, will fire back on us." https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html
I couldn't resist making a comment on that one.  The three things he said that I find ever more brutally applicable to the field are:

Quote
1. The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.

2. Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer.

and

3. Simplicity is prerequisite for reliability.

The first one is particularly insidious and amazingly widespread.
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

MarkMLl

  • Hero Member
  • *****
  • Posts: 6676
Re: Is Pascal the right language for me ?
« Reply #43 on: June 30, 2020, 09:24:03 pm »
"Sometimes we discover unpleasant truths. Whenever we do so, we are in difficulties: suppressing them is scientifically dishonest, so we must tell them, but telling them, however, will fire back on us." https://www.cs.virginia.edu/~evans/cs655/readings/ewd498.html
I couldn't resist making a comment on that one.  The three things he said that I find ever more brutally applicable to the field are:

Quote
1. The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.

One has to be careful with that philosophy, it can lead in inconvenient directions.

For example, many computer scientists profess to be followers of Whorf and to be searching for a notation which prevents common programming errors, while at the same time being prepared to countenance syntaxes which can't be parsed easily and semantics which require complex run-time support.

If you have the stomach for it, https://www.jsoftware.com/papers/tot.htm is another classic paper.

MarkMLl
MT+86 & Turbo Pascal v1 on CCP/M-86, multitasking with LAN & graphics in 128Kb.
Pet hate: people who boast about the size and sophistication of their computer.
GitHub repositories: https://github.com/MarkMLl?tab=repositories

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Is Pascal the right language for me ?
« Reply #44 on: June 30, 2020, 09:27:55 pm »
1. The tools we use have a profound (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities.


Yes, I agree.  This is becoming more and more evident to me as time goes by...
-ASB: https://www.BrainWaveCC.com/

Lazarus v2.2.7-ada7a90186 / FPC v3.2.3-706-gaadb53e72c
(Windows 64-bit install w/Win32 and Linux/Arm cross-compiles via FpcUpDeluxe on both instances)

My Systems: Windows 10/11 Pro x64 (Current)

 

TinyPortal © 2005-2018