[fpc-pascal] Working on a new way to educate people about pascal

James Richters james.richters at productionautomation.net
Thu Dec 29 12:27:32 CET 2022


>It shouldn't be confusing to anyone who has been programming for decades.

It is very confusing if you never had a need for any kind of database.. which I do not…. And neither do many other programmers.  Databases are only a very small part of what people use computers for, and only a very small part of people who use Databases use SQL... it's a VERY Specific topic.   I do motion control and industrial machinery automation.  I get into very timing critical applications with heavy calculations and digital communications with various electronic devices, and graphical display of the processes involved in various manufacturing processes.  Absolutely nothing I have done in my entire career has required any kind of database whatsoever.  I think I did some database stuff in COBOL in high school… and it didn’t use SQL.    Without having a need for a database, my high school exposure to databases is all the education I have ever had on them…  they are simply not anything I actually use or care about… so when I look at your SQL Monitor screen shot, "Where not (exists (Select1 bla bla bla.. well that's not something I recognize or understand the usefulness of.. it's another language on it's own and has nothing to do with anything I would ever use a computer for.

You are completely missing the point.. which is, if your target audience is: “anyone who either isn't familiar with writing computer software or perhaps is not acquainted with Free Pascal.”   Then you are introducing Free Pascal using an advanced topic that none of your audience will understand or appreciate, because if they aren’t “familiar with writing computer software”  then they defiantly will have no idea what you are talking about.. and they, like myself, can’t relate to it.  If people can’t make a connection with the subject, they are don’t even going to finish reading your article, and are defiantly not going to be inspired to download Free Pascal and try to write some code.

For a sample program, you really need a simple subject that is interesting to any random person, and easy to understand code that is easily duplicatable. So if the reader finds value in what you have presented, and they are inspired to give it a try, which is the goal of your introduction, then they need sample code they can literally cut and paste into the Free Pascal IDE and run it for themselves, then they can see how it works, follow along,  and customize it, and from there… who knows.  But in your example, they would already have to have some kind of SQL database up and running to have a need for such a thing or to understand anything at all about the sample application.. it just doesn’t apply at all to most of your target audience.

If your intention was:
"This short program guide is designed as an introduction to the Free Pascal programming language for any SQL users who are not acquainted with Free Pascal."   
Then the subject is more relevant to your now much smaller target audience, but it still lacks the ability of the reader to make their own SQL monitor with the information presented on your page.. because you have snippets of code.. they can copy and paste them.. but how?  Where?  How do you combine these snippets of code into a functional program?  It’s not obvious based on the information provided where these code blocks go, and how do they combine to make a complete working application?  If the reader can’t easily duplicate your sample program and follow along and run it on their own computer, how are they going to be inspired to go further?   And if you really want to reach your target audience, of “anyone who either isn't familiar with writing computer software” then even if you gave them a download for all the source files and an executable with an installer… they still can’t run it and make it work on their own computer because they would have to also install SQL, and set it all up to have something to monitor.. so now they need to learn 2 new systems, SQL and Free Pascal.. or 3 if we want to count Lazarus, which is entirely different than just Free Pascal on its own.

To be an effective writer, you need to forget everything you know, and consider who the typical reader is and put yourself in their place and then evaluate what you are trying to accomplish form the READER's point of view.    If you showed this to 100 random people, how many of them would make any kind of a connection to it?  How many would say, I can see the value in this, maybe I should give it a try?  How many people that fall into the “anyone who either isn't familiar with writing computer software" category are going to have a clue what you are talking about?    The point I was trying to make is that even with my background in programming, I don't know what you are talking about... at all, not even after your explanations... because I can't connect to the subject in even the slightest way, the only database I ever use is the one that is built into QuickBooks so I can do my accounting, I know my invoices are stored in some kind of database, but I really don't care how it works or how to manipulate it.. that's what I pay QuickBooks to do. I have absolutely no need or time or desire to learn anything about creating or maintaining my own database, so the subject just doesn't apply to me.  

To you, these SQL databases are simple and obvious, but that's the problem.. you are seeing things from YOUR point of view... not your READER's point of view.   To the average reader of your stated target audience, the subject is too complicated.  I actually don't even fit into your target audience at all because I am very familiar with writing computer software... just not involving databases, and I am extremely familiar with Pascal and Free Pascal... yet I found it confusing and too complicated.

James





More information about the fpc-pascal mailing list