Recent

Author Topic: Well-aged Online Information (it's not wine!)  (Read 3090 times)

Warfley

  • Hero Member
  • *****
  • Posts: 1734
Re: Well-aged Online Information (it's not wine!)
« Reply #15 on: November 12, 2024, 08:55:59 pm »
I hope Dennis R. and his helpers burn in hell :D At least for the preprocessor, macros, unreadable function pointer syntax, and the build system.

I mean there is absolutely no excuse for the function pointer syntax, but the other two things get more hate than they deserve. The preprocessor was not a feature of C for a long time, it was originally a feature introduced by some compiler makers, specifically for pascal users xD
The idea was that if you prefer wordy syntax over symbols, you can simply make a few defines, include them and are happy:
Code: C  [Select][+][-]
  1. #define begin {
  2. #define end }
  3. #define procedure void
  4.  
  5. procedure main()
  6. begin
  7.   ...
  8. end
It just has proven so incredibly useful that it became a full part of the language. Because C lacks any other kind of meta programming, the preprocessor allows to do things otherwise not possible. Like you can use the preprocessor where you would in another language like C++ use templates/generics.

And the buildsystem is bad from a language perspective, but it's more than just a language, it's the Unix system ABI. The C ELF system allows any program written in any language to interface with any other program in any other language through linking of object files. So yeah if you look at C projects in isolation, sure it's bad. But without it Unix systems would basically not be possible at all, and we wouldn't have Linux, MacOS, Android, iOS, etc.
Thats also the problem why the C buildsystem has never been improved in all those years, because it's not just a buildsystem, it's the ABI specification at the core of all unixoid operating systems

silvercoder70

  • Jr. Member
  • **
  • Posts: 88
    • Tim Coates
Re: Well-aged Online Information (it's not wine!)
« Reply #16 on: November 12, 2024, 11:22:01 pm »
it depends on the information and what you are looking for?

for example, using this text as an example:

https://vtda.org/books/Computing/Programming/Pascal/PascalUnderstandingProgrammingProblemSolving_DouglasNance.pdf

putting aside the appreciation of where "we" have come from, if nothing else it shows the reader about problem solving in Pascal. I'm not necessarily saying I would (re-)write an JSON parser, but from the basics it can be seen it is possible and how to do it ... read char by char -> lookup token -> put information into record? -> store in some structure (tree)

but, would I use it for any GUI related... perhaps NO

Tim




Explore the beauty of modern Pascal programming with Delphi & Free Pascal - https://www.youtube.com/@silvercoder70

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1198
Re: Well-aged Online Information (it's not wine!)
« Reply #17 on: November 13, 2024, 01:59:12 pm »
It’s not about if something is modern or not it’s the methodology of how it’s done, the algorithms. Techniques for doing things were around long before computers.

I think many people have a fantasy that somehow there will be something that will do  everything for them and they will no longer need to think or put forth any effort.

Modern computing is like a complicated water removal system for a house that guides all the water from the roof into a drain and disposes oF it discreetly and quietly. So much better than a bunch of noise and splashing some would say.

Since the system is so modern and foolproof the vital parts such as the drain are in an out of the way spot where they can won’t get in anyone’s way.  People have great confidence in it and never think it will fail because they can’t see the inner workings of it.

So the drain inevitably gets clogged and instead of making a bunch of splashing and noise outside from an overflowing clogged gutter, it instead has catastrophic failure as it guides all the water From roof into the ceiling of the house where it causes a lot of damage.

Modern things often promise the world and hide all of the most important details of how things work from you.
« Last Edit: November 13, 2024, 02:26:10 pm by Joanna from IRC »
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

cdbc

  • Hero Member
  • *****
  • Posts: 1644
    • http://www.cdbc.dk
Re: Well-aged Online Information (it's not wine!)
« Reply #18 on: November 13, 2024, 02:08:42 pm »
Hi
Weellll Joanna, you completely lost me, with that analogy...
What's your context, with this thread's topic?!?
Regards form a /wondering/ Benny
If it ain't broke, don't fix it ;)
PCLinuxOS(rolling release) 64bit -> KDE5 -> FPC 3.2.2 -> Lazarus 2.2.6 up until Jan 2024 from then on it's: KDE5/QT5 -> FPC 3.3.1 -> Lazarus 3.0

Thaddy

  • Hero Member
  • *****
  • Posts: 16138
  • Censorship about opinions does not belong here.
Re: Well-aged Online Information (it's not wine!)
« Reply #19 on: November 13, 2024, 03:58:28 pm »
Edsger Dijkstra allegedly - I doubt that - did not even have a computer and still was one of the most influential computer scientists....
Ada Lovelace did not have a computer
Archimedes did not have one

You do not need a computer to be brilliant in maths or subs. computer science.
If I smell bad code it usually is bad code and that includes my own code.

Warfley

  • Hero Member
  • *****
  • Posts: 1734
Re: Well-aged Online Information (it's not wine!)
« Reply #20 on: November 13, 2024, 09:51:04 pm »
Modern things often promise the world and hide all of the most important details of how things work from you.

Yes, it's called distribution of concerns or divide and conquer. No one can know everything, which is why people specialize in certain areas and reuse the work of others. The same way I bring my car to a mechanic when it is broken, instead of trying and failing myself, I will rather use an implementation of e.g. a protocol by someone who put a lot of time and effort into reading the specifications getting to know all the edge cases and doing a lot of testing, rather than trying to do it myself.

Don't get me wrong, it's great to learn things for understanding them better. But if you actually need to get something done, reinventing the wheel every time is just getting you nowhere. The best rype work is that one you don't have to do

You do not need a computer to be brilliant in maths or subs. computer science.

Well computer before it became a technical thing was actually a job. There were rooms full of people and similar to a computer program, you would tell each of them to do certain things on paper and then hand the results to the next person who does different things. You started feeding the input to the first person in the room and the last person would hand out the final result.

It's very curious to think about it, but this is how we did complex problem solving for hundreds of years

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1198
Re: Well-aged Online Information (it's not wine!)
« Reply #21 on: November 14, 2024, 01:44:30 am »
Quote
Yes, it's called distribution of concerns or divide and conquer. No one can know everything, which is why people specialize in certain areas and reuse the work of others.
It’s a double edged sword. I think it’s a good idea to know some things about other people’s jobs to avoid being taken advantage of. There is a pervasive attitude of only learning what is deemed necessary and leaving it to the “experts“. People are hesitant to ever question the experts even when flaws are obvious. Experts often use this to their advantage...
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

Thaddy

  • Hero Member
  • *****
  • Posts: 16138
  • Censorship about opinions does not belong here.
Re: Well-aged Online Information (it's not wine!)
« Reply #22 on: November 14, 2024, 09:41:31 am »
Anyone can be an expert, since expert only represents decent effort.
Experiri in Latin, where expertus is the past time, which expresses knowledge of....
And that in itself is enough to never trust an expert....
« Last Edit: November 14, 2024, 09:43:27 am by Thaddy »
If I smell bad code it usually is bad code and that includes my own code.

Warfley

  • Hero Member
  • *****
  • Posts: 1734
Re: Well-aged Online Information (it's not wine!)
« Reply #23 on: November 14, 2024, 12:34:51 pm »
It’s a double edged sword. I think it’s a good idea to know some things about other people’s jobs to avoid being taken advantage of. There is a pervasive attitude of only learning what is deemed necessary and leaving it to the “experts“. People are hesitant to ever question the experts even when flaws are obvious. Experts often use this to their advantage...
I mean especially in computer science, you can easily read yourself into all the topics you like. Most programming languages and libraries are open source today, so for example if you want to know how e.g. async await works in C#, you can just look it up.

But the thing is rejecting convinience because you believe it forces people to think more about how things work doesn't work either. It will just end up with worse results because people who don't do these deep dives still need to get their work done and start doing things badly.
I very often see that with C code, because there are a lot of things the C compiler does accept which are very very wrong, but seemingly work. And because a lot of people have the idea that whatever the compiler eats up and works in a few tests must be correct, they just do that.

My favorite example for this is C vs Java. Both languages are quite similar in that they are quite conservative language designs with very few features (at least compared to their counterparts like C++ or Kotlin).
But you can write good C code, but the language doesn't make it easy because it's easy to do things wrong. On the other hand, take for example Java, it's quite hard to write outright broken Java code, because the language makes it very hard to do severe mistakes.

If there was a magical compiler that would read my mind and create the exact program I want without any bugs or misunderstandings, there is no need to manually program anything over using this. There is no virtue in doing something just for the sake of doing it. In the end our goal should always be to create the best solutions possible and taking the least amount of time for doing so. How we get there is of second order.

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1198
Re: Well-aged Online Information (it's not wine!)
« Reply #24 on: November 14, 2024, 02:34:55 pm »
Sure it’s wise to start with the tried and true technology that has already been developed instead of starting from scratch. You would think that people would stick with the best possible way of doing things but they don’t because there is this thing called profit and doing things well is less profitable than pretending to do things well.

This phenomenon of making shoddy things look great on the surface is by no means limited to computing.  It’s like having a pair hardly used leather Hiking boots have vital parts that literally turn to dust after a certain number of years have elapsed. What an unpleasant surprise that was.

As for experts it’s good to have friends who are experts that can help you otherwise it could end up being an encounter with a technology which you don’t understand accompanied by someone who wants to sell you things you don’t need.
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

Thaddy

  • Hero Member
  • *****
  • Posts: 16138
  • Censorship about opinions does not belong here.
Re: Well-aged Online Information (it's not wine!)
« Reply #25 on: November 14, 2024, 08:13:13 pm »
  It’s like having a pair hardly used leather Hiking boots have vital parts that literally turn to dust after a certain number of years have elapsed. What an unpleasant surprise that was.
You should excercise more, Joanna. These Boots are Made for Walking, that is what they do...Otherwise they get a life on/of their own.... :o
Suggest trampled under foot by Led Zeppelin... if you want to avoid Nancy....Brilliant bass lline, though, love to play it.
( Chuck Berghofer, The Wrecking Crew )

Me being a - alledgedly - misogynist, I know women always buy the wrong size, mother, four sisters, wife, daughters, does not matter, so don't blame that on programming! ;D
The wrong size doesn't seldom goes away over the years.

Also, the boots from Nancy do not look too comfortable in the youtube clips.
What is worse is that the song is about programming. :o :o ;D ;D ;D Check the lyrics... O:-)
« Last Edit: November 14, 2024, 09:05:31 pm by Thaddy »
If I smell bad code it usually is bad code and that includes my own code.

silvercoder70

  • Jr. Member
  • **
  • Posts: 88
    • Tim Coates
Re: Well-aged Online Information (it's not wine!)
« Reply #26 on: November 14, 2024, 10:57:51 pm »
Quote
If there was a magical compiler that would read my mind and create the exact program I want without any bugs or misunderstandings,

My compiler would report back - invalid logic used! Code would also be jumping all over the place.
Explore the beauty of modern Pascal programming with Delphi & Free Pascal - https://www.youtube.com/@silvercoder70

VisualLab

  • Hero Member
  • *****
  • Posts: 569
Re: Well-aged Online Information (it's not wine!)
« Reply #27 on: November 14, 2024, 11:34:39 pm »
I hope Dennis R. and his helpers burn in hell :D At least for the preprocessor, macros, unreadable function pointer syntax, and the build system.

I mean there is absolutely no excuse for the function pointer syntax, but the other two things get more hate than they deserve. The preprocessor was not a feature of C for a long time, it was originally a feature introduced by some compiler makers, specifically for pascal users xD

(...)

It just has proven so incredibly useful that it became a full part of the language. Because C lacks any other kind of meta programming, the preprocessor allows to do things otherwise not possible. Like you can use the preprocessor where you would in another language like C++ use templates/generics.

Yes, in the 60s and 70s of the twentieth century it might have seemed like a good idea. Or at least a temporarily acceptable workaround, a kind of makeshift solution. However, at the end of the 1990s, everyone was probably aware that it was just crap and they should stop using it and start solving the problem properly. It is similar to the situation of a man whose roof is leaking, and instead of fixing it (which may be time-consuming, expensive and exhausting), he puts a bucket or a tub under it to collect the water that pours in during the rain. And he does it only because he is lazy, has no idea how to fix it and does not want to devote his own strength to the work (for himself, by the way).

And the buildsystem is bad from a language perspective, but it's more than just a language, it's the Unix system ABI. The C ELF system allows any program written in any language to interface with any other program in any other language through linking of object files. So yeah if you look at C projects in isolation, sure it's bad. But without it Unix systems would basically not be possible at all, and we wouldn't have Linux, MacOS, Android, iOS, etc.
Thats also the problem why the C buildsystem has never been improved in all those years, because it's not just a buildsystem, it's the ABI specification at the core of all unixoid operating systems

As I wrote above, at the end of the 1990s everyone was aware that it was simply crap and they should stop using it and start solving this problem properly. But the sentiments for the "golden days of ..ix" won. And today we still have shitty OSes. And the fact that they are free does not improve the situation in any way.

Just because certain solutions were good at one time (or seemed so at the time) doesn't mean that they should still be used. From old technologies: ladder wagons, horse-drawn carriages, wooden tubs and forest huts still work. But somehow people (apart from single freaks) are not thrilled with them and do not want to use them. They prefer newer solutions.

There would be no MacOS, Linux, and iOS, but there would be something different. It's possible it would be something much better. Nature (the world) does not tolerate a vacuum.
« Last Edit: November 14, 2024, 11:46:29 pm by VisualLab »

VisualLab

  • Hero Member
  • *****
  • Posts: 569
Re: Well-aged Online Information (it's not wine!)
« Reply #28 on: November 14, 2024, 11:42:39 pm »
Sure it’s wise to start with the tried and true technology that has already been developed instead of starting from scratch. You would think that people would stick with the best possible way of doing things but they don’t because there is this thing called profit and doing things well is less profitable than pretending to do things well.

Not always. Sometimes people do something because they hope to gain fame or want to prove to their surroundings that they are right, that their idea is extraordinary and necessary. And sometimes out of simple (and naive) nostalgia for the mythical "golden times" of certain archaic solutions that they may not have even experienced much in their lives (like L.T.).

Joanna from IRC

  • Hero Member
  • *****
  • Posts: 1198
Re: Well-aged Online Information (it's not wine!)
« Reply #29 on: November 14, 2024, 11:52:36 pm »
  It’s like having a pair hardly used leather Hiking boots have vital parts that literally turn to dust after a certain number of years have elapsed. What an unpleasant surprise that was.
You should excercise more, Joanna. These Boots are Made for Walking, that is what they do...Otherwise they get a life on/of their own.... :o
Suggest trampled under foot by Led Zeppelin... if you want to avoid Nancy....Brilliant bass lline, though, love to play it.
( Chuck Berghofer, The Wrecking Crew )

Me being a - alledgedly - misogynist, I know women always buy the wrong size, mother, four sisters, wife, daughters, does not matter, so don't blame that on programming! ;D
The wrong size doesn't seldom goes away over the years.

Also, the boots from Nancy do not look too comfortable in the youtube clips.
What is worse is that the song is about programming. :o :o ;D ;D ;D Check the lyrics... O:-)
I prefer sandals. Boots should not have an expiration date when the synthetic rubber/polymer connecting the sole to the boot turns to dust.
This is an excellent example of why experts should never be trusted. They cut corners and make great looking products that fail catastrophically. I’m sure that the equivalent to my boots exists in the software world.
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  #pascal Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

 

TinyPortal © 2005-2018