Lazarus

Announcements => Third party => Topic started by: Sergio MT on October 23, 2022, 06:04:46 pm

Title: International Pascal Congress 2023
Post by: Sergio MT on October 23, 2022, 06:04:46 pm
Dear Pascal-world colleagues,

My name is Sergio, and I am a researcher and teacher of the department of computer science in the University of Salamanca (Spain). I’m bringing you news I think you’ll like. From the University of Salamanca, we’ve been organizing a big event for the past year for the Pascal language community. The event will be held from July 3 to 7, 2023, in Salamanca, one of the most beautiful cities in Spain and a UNESCO heritage site. The International Pascal Congress (IPC) will be held from July 3 to 7, 2023, in Salamanca, one of the most beautiful cities in Spain and a UNESCO heritage site. The event will serve as a meeting point for all players in the software industry working with Pascal, and we’re aiming to boost the Pascal community into becoming an innovative and cutting-edge community again.

To achieve these goals, we’ll offer a variety of activities at the event so that people can get the most out of their attendance. You’ll be able to attend courses, technology presentations, and talks by keynote speakers, as well as participate in a challenge for the community. We’ll also be presenting two awards. We’ve already confirmed the attendance of several important speakers and professors who will teach courses on technologies used in the Pascal world, both Delphi and Lazarus.

For all professionals who appreciate and value the Pascal language and the tools based on it, this is a great opportunity to network, improve your skills, and learn different Pascal technologies from their creators. Your attendance will benefit not only you but also the Pascal community. The more we join, the more visibility and strength our community will have.
Regarding the price, we can tell you it’ll be quite cheap, only 295 euros (without accommodation and travel). We’re keeping the price low because we’re trying to bring together and strengthen the Pascal community and address the challenges we face together. To facilitate accommodation, we’re negotiating with hotels in the city to offer great accommodation at a good price. So if you don’t know where to go on vacation next summer, the IPC 2023 is a great option. Salamanca is a beautiful city with lots of sunshine, and you’ll be able to spend time with colleagues from the Pascal world and have a fantastic week learning and perfecting your knowledge about Pascal technologies. You can come alone or with your family, as Salamanca is a touristic city that will keep your family entertained while you enjoy the congress (we will propose some activities for your family).

More news will be coming soon 😊

http://www.pascalcongress.com (http://www.pascalcongress.com)
Title: Re: International Pascal Congress 2023
Post by: Jorg3000 on October 23, 2022, 08:36:29 pm
Salamanca and Pascal instead of Mallorca and Bierkönig, that's worth considering!  ;)
Title: Re: International Pascal Congress 2023
Post by: Thaddy on October 23, 2022, 08:46:49 pm
Salamanca has also its place in history.
I think I will give myself a present, since by then I am an - I am already - official Pensionado.. Maybe looking for a house too...
Title: Re: International Pascal Congress 2023
Post by: BobDog on October 23, 2022, 09:00:37 pm

National Ratcatcher's day is July 22nd.
I might nip over to Hamelin for that week. I'll need to look after any euros I have (pensioner), so I'll have to pass on the pascal invite.
Title: Re: International Pascal Congress 2023
Post by: domasz on October 24, 2022, 01:45:10 pm
From the University of Salamanca,
Wow, Hector Salamanca from Breaking Bad has his own uni! You guys must have loved the character! ;)
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 24, 2022, 04:23:43 pm
Salamanca and Pascal instead of Mallorca and Bierkönig, that's worth considering!  ;)

You can drink beer in Salamanca too and it will be cheaper than in Mallorca, Salamanca, Pascal and Bierkönig :)
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 24, 2022, 04:32:43 pm
From the University of Salamanca,
Wow, Hector Salamanca from Breaking Bad has his own uni! You guys must have loved the character! ;)

The University of Salamanca is more than 800 years old, it cannot be his university but he could study here, who knows. If you come, I will tell you some stories that happened here, and you will enjoy them :D
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 25, 2022, 07:22:52 am
I find it hard to believe that pascal programmers would make a trip to  another country to meet if they can’t even come to IRC channel and socialize which is much easier. Is this some sort of a joke?

Taking out a few days in the year to go to some conference to socialize and listen to talks is - aside from possibly the money - definitely the nicer option. So, no, no joke.

I would love to be able to participate in this!  I unfortunately have never left my country though...  and not sure how I feel about going overseas.  Come to NY USA! :)

With the way the USA are heading in regarding women and queer rights (or already are)? No, thank you...
Title: Re: International Pascal Congress 2023
Post by: domasz on October 25, 2022, 09:09:06 am
Come to NY USA! :)
I kinda feel Pascal is more popular in Europe than it is in the US. Especially in Central and Eastern Europe.
Title: Re: International Pascal Congress 2023
Post by: silvestre on October 25, 2022, 10:22:45 am
Hola Sergio,

Your website does not seem to be accessible, at least at this moment, neither does your website have a security certificate, something very recommendable (and easy to implement with any free certificate), so that any search engine treats it as a suitable address.

Dear Pascal-world colleagues,

http://www.pascalcongress.com (http://www.pascalcongress.com)
Title: Re: International Pascal Congress 2023
Post by: nummer8 on October 25, 2022, 10:44:59 am
The conference had been announced in a telegram group.
I referred him to the forum for more exposure.
The meeting is next July, time enough to announce the entire program and details.
Someone who starts so early has, in my mind, the intention to make something of it.
In any case, he deserves the benefit of the doubt.
Caution and extra controls are fine.
So is a dose of skepticism.
Just wait to see what is to come. 

Also the fact that there is no certificate for his site has been discussed in the telegram group.
He received tips for that. We will see if he will do something with it.

In telegram the user is called: Sergio Miguel Tomé

Jos
Title: Re: International Pascal Congress 2023
Post by: domasz on October 25, 2022, 10:53:13 am
if they can’t even come to IRC channel and socialize which is much easier.
Why would I use IRC? It's not the 80s. Today people use FB/Telegram/Signal groups, Discord and forums.
Title: Re: International Pascal Congress 2023
Post by: Fred vS on October 25, 2022, 12:20:06 pm
I find it hard to believe that pascal programmers would make a trip to  another country to meet if they can’t even come to IRC channel and socialize which is much easier. Is this some sort of a joke?

The same joke as people who travel to see/listen to a concert of their favorite band when they could quietly see it on YouTube.

@Sergio: Excelente iniciativa, vendré desde Andalucía para asistir (si no tengo que tocar en un concierto en estas fechas).

[EDIT] Hum, http://www.pascalcongress.com is not accessible  :-\ .
Title: Re: International Pascal Congress 2023
Post by: Fred vS on October 25, 2022, 12:56:41 pm
[EDIT] Hum, http://www.pascalcongress.com is not accessible  :-\ .

Yep, it works now!  ;D
Title: Re: International Pascal Congress 2023
Post by: domasz on October 25, 2022, 01:56:19 pm
They also like to censor/deplatform anyone who says politically unapproved things etc.
[...]
Irc is the only social media that I know of which allows you to write your own client in pascal.
That's actually a few good points.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 25, 2022, 06:01:57 pm
if they can’t even come to IRC channel and socialize which is much easier.
Why would I use IRC? It's not the 80s. Today people use FB/Telegram/Signal groups, Discord and forums.

Exactly. (and no enumerate a full list of contemporaries of the tools you mentioned, that IRC can't go anywhere near their usefulness and practicality)

@Joanna
Using IRC as a litmus test for determining is someone is really interested in Pascal, is only looking at very small percentage of all the current Pascal users and advocates.

And as @domasz pointed out, why would the majority of current Pascal users and advocates even want to use IRC?

With all the communication tools and forums out their that are far more practical to use?
(For them at least, in no way can I speak for everybody).

@Joanna, you are talking about an extremely small percentage of Pascal users an advocates willing to use IRC rather than a contemporary tool that is far more practical to them.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 25, 2022, 06:08:00 pm
Yes I know about social media with proprietary closed source platforms which require you to have a cell phone number to use them.
These platforms are designed for spying on users and harvesting their data. They are not “free”, you are the product. You cannot use or create a client of your choice as you can for irc.

There are many open source alternatives to those.

Your data is sold and or shared with whomever they please and you have consented to this by using their apps.
They also like to censor/deplatform anyone who says politically unapproved things etc.

Valid point.

But what is to prevent an insider in an IRC network from doing nefarious things with your data?
 
Nobody should be using these things ...seriously.
Just because something is “new” does not make it better.

No need to use paste bins for code and image sharing sites for screenshots.
New is much better in that regard.
And quite a few other useful features moving to IRC one loses, and features one becomes dependent on.


We are an open source community are we not? Irc is the only social media that I know of which allows you to write your own client in pascal. If there are any others I would like to know about them.

As I mentioned, plenty of open source alternatives that one can self host.
Just as one would self host an IRC server.

Mattermost, RocketChat, are a couple of those. (there are others)

They are modern and contemporary, and have most of the relevant features those using the closed platforms have grown accustomed to. (code formatting, screenshot pasting, ability to edit/delete ones posts, post/reply persistence without having to rely on each client to do that, accessible via web page and dedicated client, access to a variety of auth methods, github, gitlab, google etc, in addition to just local site account registration, avatars, profiles and a whole lot more).

They are fully open source.


Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 25, 2022, 07:23:59 pm
In response to this.
“ Why would I use IRC? It's not the 80s. Today people use FB/Telegram/Signal groups, Discord ”

I'm currently not running CP/M, MS-DOS, or some *nix via a serial terminal.

Yes, text only is still good for a lot of applications.
 
Nobody should be using these things ...seriously.
Just because something is “new” does not make it better.

But I also have a rich graphical environment, capable of very powerful interactive user interfaces.

They are very useful for text editing, browsing the web, editing graphical images, creating diagrams, etc.

Just because text only still good for a lot of applications (and I certainly do use it for many) does not mean I have to restrict myself to it for things like emails (yes, still could be useful for some email conversation), forums (why would I still want to use a BBS? If you want to, that is fine), and even chat?


Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 25, 2022, 07:26:24 pm
I'm seriously considering attending this Congress as well! Sounds like an excellent plan to incorporate into a 2023 summer vacation!
Title: Re: International Pascal Congress 2023
Post by: AlexTP on October 25, 2022, 07:44:09 pm
IRC? The kind of software means a lot for me. IRC - is a no go for me. Why? I installed my IRC client a year ago and I could not properly register on some IRC channel - I didn't understand the GUI and what fields to fill.

Telegram is another story - modern UI, I can create channel, I can join ready channel, I can post messages easily, I can understand the UI.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 25, 2022, 07:53:41 pm
IRC? The kind of software means a lot for me. IRC - is a no go for me. Why? I installed my IRC client a year ago and I could not properly register on some IRC channel - I didn't understand the GUI and what fields to fill.

Not everyone here was using tools similar to IRC (or IRC itself) back in the 80s and 90s. (Just because I was using those tools back then does not imply I want to or should be coerced into using them now).

Many got into into programming and online communications in a different era.

Or saw no need for IRC even if they were involved in programming in the 90s.

It is not unreasonable to expect people to want to use tools applicable to when they started using computers and programming them.

Telegram is another story - modern UI, I can create channel, I can join ready channel, I can post messages easily, I can understand the UI.

Yes!
Which is the user experience most currently expect. (And by ALL means should be able to expect).
Title: Re: International Pascal Congress 2023
Post by: sketch on October 25, 2022, 08:43:06 pm
Come to NY USA! :)
I kinda feel Pascal is more popular in Europe than it is in the US. Especially in Central and Eastern Europe.
Smalltalk is more popular in Europe and South America than in the U.S., too.
Title: Re: International Pascal Congress 2023
Post by: GAN on October 26, 2022, 05:27:18 am
...
In response to this.
“ Why would I use IRC? It's not the 80s. Today people use FB/Telegram/Signal groups, Discord ”

Yes I know about social media with proprietary closed source platforms which require you to have a cell phone number to use them.
These platforms are designed for spying on users and harvesting their data. They are not “free”, you are the product. You cannot use or create a client of your choice as you can for irc.

Your data is sold and or shared with whomever they please and you have consented to this by using their apps.
They also like to censor/deplatform anyone who says politically unapproved things etc.
 
Nobody should be using these things ...seriously.
Just because something is “new” does not make it better.
...

I totally agree with you.
Title: Re: International Pascal Congress 2023
Post by: ccrause on October 26, 2022, 07:14:00 am
Are there plans to stream the presentations, or make recordings available?
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 26, 2022, 07:26:19 am
I find it hard to believe that pascal programmers would make a trip to  another country to meet if they can’t even come to IRC channel and socialize which is much easier. Is this some sort of a joke?

The same joke as people who travel to see/listen to a concert of their favorite band when they could quietly see it on YouTube.

That is a very good comparison I'd say. ;D

In response to this.
“ Why would I use IRC? It's not the 80s. Today people use FB/Telegram/Signal groups, Discord ”

Yes I know about social media with proprietary closed source platforms which require you to have a cell phone number to use them.
These platforms are designed for spying on users and harvesting their data. They are not “free”, you are the product. You cannot use or create a client of your choice as you can for irc.

Your data is sold and or shared with whomever they please and you have consented to this by using their apps.
They also like to censor/deplatform anyone who says politically unapproved things etc.

I agree with all the platforms except for Signal. While they do require a cell phone number (they are looking into alternatives) the apps and the server are Open Source and they have security first as their motto and thus feature end-to-end encryption and such. They literally can't sell your data, because it's only available in clear text on the client side neither can they censor or deplatform anything.

Also nowadays I'd probably go with a protocol like XMPP or Matrix, both Open Source.
Title: Re: International Pascal Congress 2023
Post by: BobDog on October 26, 2022, 12:20:41 pm
Joanna.
I have a mobile phone, old type, phone only, not a smart phone.
I am 74 years young today.
I really am stuck in the mud about many things in life, progress is a nasty word really. During my span we have seen a collapse in the natural world, regional wars all over the place, an impending nuclear war, kids walking around tapping at smart phone keys . . .
And this thing about huge corporations wanting to change the world order comes up again and again, and so called DATA about our person.
Maybe you are right, but communication is a thing humans indulge in, we are social animals, and that is hard coded into our species, like it or not.
Even writing things here exposes us to people we don't know or maybe don't want to know.
I don't really want to be a hermit so I take a little leap of faith now and then, take a little gamble in the communications world.
This jaunt to Spain is causing much chatter, if it is genuine (and I hope it is), it would be a great chance for forum members to actually meet one another, face to face. I hope there won't be any trouble.
Title: Re: International Pascal Congress 2023
Post by: domasz on October 26, 2022, 02:12:27 pm
I guess I’m surprised that the creators of fpc and Lazarus are not the ones arranging an event.
I am glad creators of FPC and Lazarus are not arranging events but coding.
For example people behind Wikipedia spend most of the donated money on arranging events and that's why they constantly beg for more.
Title: Re: International Pascal Congress 2023
Post by: Martin_fr on October 26, 2022, 04:01:41 pm
I wonder what the actual number of people who use fpc is..

Well on Sourceforge
https://sourceforge.net/projects/lazarus/files/Lazarus%20Windows%2064%20bits/Lazarus%202.2.0/lazarus-2.2.0-fpc-3.2.2-win64.exe/stats/timeline?dates=2021-11-09+to+2022-10-25
https://sourceforge.net/projects/lazarus/files/Lazarus%20Linux%20amd64%20DEB/Lazarus%202.2.0/lazarus-project_2.2.0-0_amd64.deb/stats/timeline?dates=2021-10-21%20to%202022-10-25&period=daily
Add other Linux distro, and Mac.

We have over 100k downloads for Lazarus 2.2.0. Add downloads from mirrors, and people using git. (The fpcupdeluxe thread has many users, so likely a lot of people using that)
Then add people who use FPC without Lazarus.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 27, 2022, 01:07:40 am
That’s a lot of downloads but I suspect some of the downloads are from people who aren’t pascal programmers that just want to collect/analyze the code for some reason.

That many people have that much time to spend analyzing tools they don't use?

If it was just for analysis purposes then using gitlab (and previously subversion) would have been the more likely place they would have downloaded from, and the numbers for those were not covered in the numbers given.

I wonder how many people are chatting in the forums on an average day.

Using forum participation or chat participation is also a very poor metric.

For users of any language or tool you are only going to get an extremely low percentage of users that ask questions online or participate in chat. But that will vary, depending on saturation of the language. Pascal has been around for many decades. A lot of questions have already been asked, and there is a lot of documentation available online.

If it were a valid metric than every tool and language is greatly exaggerated as far as actual number of users.
The number of users asking questions in forums or in chat as just a tip of the iceberg.

But from my own experience there are many tools and languages I use that I've never asked questions online or participated in any sort of chat. (unless somehow asking a search engine is the same as asking a question online, and I don't consider it that to be the same).

And the same goes for many of my technology peers.

And on the ones where I have asked a question online, that participation is extremely low compared to my actual usage of that tool or technology. There are tools and languages I've used almost day for years at work, and never once had to actively participate in an online forum or chat to get an answer. And as before, it seems to be the same for most of my technology peers that I've worked with.

The vast majority of my pascal questions, including things specific to free pascal, I'm able to find the answers online, without asking in a forum or in chat.

Many people also watch you tube videos to learn things. If you go to youtube and search for pascal programming you will get a lot of tutorials people have made on how to do things in pascal.
Videos are not for everyone as a far as learning tool, but for many they are.

As far as I can tell, in using Pascal and in using other technologies and tools out there, pascal is not somehow unique in requiring only forums and chat to get help.

And as far as the forums go, most of the time I don't need to ask new a question. Someone else already asked it, and somebody else already answered it. So no need for me to ask again. I do ask about things where I can't find concrete answers for, but that is by far the minority of my questions. As I've stated, for a majority of my questions I ask a search engine, and it finds the answer I'm looking for, after I sift out the results that don't directly apply to what I'm looking for.

But back to original reason why I made this reply,  from my perspective as far as showing usage, downloads are far better metric than forum participation or chat participation.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 27, 2022, 02:43:55 am
Bogen85 just because you wouldn’t waste your time downloading things you aren’t using doesn’t apply to everyone. Maybe the downloads are being done automatically.

Assuming that what you say is true about most people using software don’t want to come to forums or irc to chat.. 100k downloads from genuine users  would represent quite a few people and that’s not even counting all of the additional people like me who don’t upgrade regularly.

Assuming all the downloaders are real people who use fpc Even if only a minuscule 1%/.1% of them want to be sociable in forums or irc that would still be 1000/100 people active everyday.

Ok, I'm basing not just on me, but on how most of the technical peers I know and have worked with for over 30s years tend to operate in regard to the tools and languages they use. And I've worked in a variety of industries and locations, so my sample set is not just tied to one narrow segment of technologists.

Free Pascal and Lazarus are just one of many packages on SourceForge. With all the languages and tools available on SourceForge they would be doing that with as well, that is a lot of analysis going on (automated or otherwise) if you are correct, which I find implausible.

As stated before the 100K downloads does not reflect all the users getting fpc/lazarus from packages provided by their Linux distribution or BSD flavor.
Many (most I know) Linux or BSD users are not to bother going to sourceforge to download.

If they do need to custom build, they will go to `git`.

What I'm saying is, the number of sourceforge downloads is also a tip of the iceberg thing.


Title: Re: International Pascal Congress 2023
Post by: dbannon on October 27, 2022, 02:45:34 am
.....
We have over 100k downloads for Lazarus 2.2.0. Add downloads from mirrors, and people using git. (The fpcupdeluxe thread has many users, so likely a lot of people using that)
Then add people who use FPC without Lazarus.

And, of course, people using FPC/Lazarus from their Linux distribution repo.

Davo
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 27, 2022, 02:50:13 am
.....
We have over 100k downloads for Lazarus 2.2.0. Add downloads from mirrors, and people using git. (The fpcupdeluxe thread has many users, so likely a lot of people using that)
Then add people who use FPC without Lazarus.

And, of course, people using FPC/Lazarus from their Linux distribution repo.

Davo

 ;D
Yes. This.
Title: Re: International Pascal Congress 2023
Post by: dbannon on October 27, 2022, 07:29:39 am
I kind of find it hard to believe that anyone who is passionate about a programming language would not want to ever discuss it with other users but who knows..

Oh come on Joanna, there are  heaps of people who want to and do discuss FPC/Lazarus right here on the FPC/Lazarus forum.  Over 250 today, so far. 2800 odd one day in August last year.

And we discuss FPC/Lazarus here, sadly however, this thread, about a Pascal Conference, has been hijacked and turned into a IRC discussion.

Personally, I think its great that there is a new Pascal Conference. And Spain is a pretty reasonable place to hold it, I'd rather attend in Spain than NY, partly for the reason mentioned by PascalDragon. But we all need to be convinced its going to be a serious production and want to know who's behind it.

Davo
Title: Re: International Pascal Congress 2023
Post by: 440bx on October 27, 2022, 07:34:21 am
Actual conversations of people who use fpc about the compiler/language and code being produced are the only things things that matter in my opinion.
But the majority of those conversations lead nowhere.  Given that, there really doesn't seem to be any point in having that kind of conversation.

It also seems that a forum like this one is a much better avenue to have any kind of conversation, at least, if the conversation leads somewhere, there is a written record of it and, if it didn't lead anywhere there is a record of why it didn't.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 27, 2022, 12:29:41 pm
I’ve never been to a pascal conference.
Is this how conferences are usually advertised ?
by brand new accounts that have never posted here before by people without last names Claiming to be affiliated with a university presenting  links pointing to Unfinished websites claiming that something important will happen at some future date? The keynote speakers are anonymous as well.

Please forgive me if I’m being rude but I feel like this is some sort of a prank. I think some verification is in order such as an email address for Sergio that matches domain of the university.

Who wouldn’t like to take a vacation to Spain and meet other pascal programmers but is it really possible?

On a side note there was a new member in #fpc recently whose nick also featured an MT.  As in Ariel millennium Thornton

10:48:56 <Joanna> arielmt: is this your website ? https://thornton2.com/ArielMT/   
10:49:05 <arielmt> yep

 Strange coincidence is it not?

Hi!

It is not a prank it is very real. I have been working for more than a year designing the event. It is already approved by the University of Salamanca. This message is only the first news  ;)  so people can know the dates of the event.  Soon, much more.

Yes, I know all what you mention but sadly my days are too short. I will put https soon, but for me it was more important sending the first news because it is only html page.

Come!, for sure you will enjoy it!

Best regards!
Sergio
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 27, 2022, 12:32:32 pm
Hola Sergio,

Your website does not seem to be accessible, at least at this moment, neither does your website have a security certificate, something very recommendable (and easy to implement with any free certificate), so that any search engine treats it as a suitable address.

Dear Pascal-world colleagues,

http://www.pascalcongress.com (http://www.pascalcongress.com)

Hi!

I know, I will do it soon, but now it is just html page :)

Best regards,
Sergio
Title: Re: International Pascal Congress 2023
Post by: loaded on October 27, 2022, 12:41:52 pm
The programmers I know in real life want absolutely nothing to do with pascal. Sometimes I feel like I’m the last person on earth who still likes pascal.
You shouldn't feel this way. The Pascal family is getting bigger every day.
At least, I added two more people to the ring;
My 15-year-old son @aydın and my 9-year-old son Akif.  Also, the people I know try to do everything with pascal.
Title: Re: International Pascal Congress 2023
Post by: domasz on October 27, 2022, 12:52:47 pm
Sometimes I feel like I’m the last person on earth who still likes pascal.

This is Abracadabra's fault. Once they bought Delphi from Borland they started the decline in popularity of Pascal.
Luckily FPC & Lazarus guys came and Pascal makes sense again.
I still love Delphi 7 but all the newer Delphis are just terrible- slow, with broken backwards compatibility and very expensive.
Title: Re: International Pascal Congress 2023
Post by: kupferstecher on October 27, 2022, 01:08:54 pm
I guess I’m surprised that the creators of fpc and Lazarus are not the ones arranging an event. Have they ever organized an event? I would be much more comfortable going to an event hosted by people I know about.

I don't know of it either, but there are yearly meetings by the German "Lazarusforum". So it's not like there is no meeting activity anywhere.
Title: Re: International Pascal Congress 2023
Post by: BobDog on October 27, 2022, 01:40:35 pm
The programmers I know in real life want absolutely nothing to do with pascal. Sometimes I feel like I’m the last person on earth who still likes pascal.
You shouldn't feel this way. The Pascal family is getting bigger every day.
At least, I added two more people to the ring;
My 15-year-old son @aydın and my 9-year-old son Akif.  Also, the people I know try to do everything with pascal.
Pascal is a great choice for beginners.
This was what pascal was invented for, teaching modular programming.
Basic was good, but spaghetti code initially.
Lazarus is an ide, a distraction, IMHO.
Some pascals have more or less disappeared, GNU, Virtual, Turbo.
Is anybody on the forum using vector pascal?
These things might be discussed in Spain.
The strict scoping rules are so different in pascal compared to say C or basic or C++.
But no matter, the modular aspect of pascal is important.
Saying that, too much pascal or basic will frighten youngsters off C++.
C and C++ are the building blocks of computer programming just now.
Is computer programming important to learn?
So many youngsters cannot code, but they are adept at using computers for other things.
A little knowledge of basic applied maths is good for programming.(a confidence booster)
Just like rote learning your arithmetic tables is a great confidence booster for Maths.
For a while in this country rote learning (the tables) was discouraged in education, thus there was a generation of kids who avoided doing maths.
But the tables have returned now in the main I believe.


Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 27, 2022, 01:41:21 pm
Bogen85 I understand the concept that many users of a compiler could be uninterested in coming to irc or forums for help maybe because of their exceptional talent or pride

I kind of find it hard to believe that anyone who is passionate about a programming language would not want to ever discuss it with other users but who knows..

On the other hand whenever there is a large community of humans doing anything there will be a lot of activity.

Number of Downloads or nicks in an IRC channel don’t really constitute activity.
Actual conversations of people who use FPC about the compiler/language and code being produced are the only things things that matter in my opinion.

On a regular basis I discuss pascal with others.
Chat (discord and rocket chat). This Forum.
Sometimes IRC, and my time spent in IRC can vary, but since the early 2000s I've been more interested in other forms of online communication than IRC.

Occasionally in person with others who while they might not be Free Pascalers would still be interested in what I'm working on.

Just because you can't see where the conversations are taking place (such as in your IRC channel or this Forum) does not mean they are not taking place, whether it be in person or in their own online communication circles.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 27, 2022, 02:20:26 pm
Bogen85 I understand the concept that many users of a compiler could be uninterested in coming to irc or forums for help maybe because of their exceptional talent or pride

I know plenty of technologists who are just learning and who are not all that talented who get all there help from either questions that have already been answered, or by reading documentation.
Many don't want the social interaction or the ridicule if they ask a question themselves, regardless of what language or tool it is.

Good pascal documentation. Open pascal forums with questions and answers that others can search. Videos made to teach aspects of Pascal.

All of these exist.

All are things that even beginners through experienced users of pascal can use to find answers, without having to socially interact.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 27, 2022, 05:24:21 pm
Are there plans to stream the presentations, or make recordings available?

No, there is not stream presentations or recordings plans except for special activities of the event, and that's on purpose. In my experience as a researcher, I have observed that a community, regardless of the field of research, must have a physical meeting. People have to come together, meet in person and establish real links for the community to be strong. I am trying to create what I believe will help create a strong community. It's not just about listening to a talk, it's about people getting to know each other personally so they can feel part of the community, people getting to know each other personally behind the projects and facilitating the possibility for people to create collaborations.

Best regards,
Sergio

Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 27, 2022, 05:32:55 pm
I would love to be able to participate in this!  I unfortunately have never left my country though...  and not sure how I feel about going overseas.  Come to NY USA! :)

I was living in NYC last course; I have just arrived from there :) I can confirm Salamanca it is much more cheaper  ;)  Come and you will enjoy it! Also, Euro is very cheap for Americans now !!
Title: Re: International Pascal Congress 2023
Post by: ccrause on October 27, 2022, 07:07:59 pm
Are there plans to stream the presentations, or make recordings available?

No, there is not stream presentations or recordings plans except for special activities of the event, and that's on purpose. In my experience as a researcher, I have observed that a community, regardless of the field of research, must have a physical meeting. People have to come together, meet in person and establish real links for the community to be strong. I am trying to create what I believe will help create a strong community. It's not just about listening to a talk, it's about people getting to know each other personally so they can feel part of the community, people getting to know each other personally behind the projects and facilitating the possibility for people to create collaborations.
Pity, I would like to see what others are doing with and to Pascal.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 28, 2022, 12:50:12 am
Are there plans to stream the presentations, or make recordings available?

No, there is not stream presentations or recordings plans except for special activities of the event, and that's on purpose. In my experience as a researcher, I have observed that a community, regardless of the field of research, must have a physical meeting. People have to come together, meet in person and establish real links for the community to be strong. I am trying to create what I believe will help create a strong community. It's not just about listening to a talk, it's about people getting to know each other personally so they can feel part of the community, people getting to know each other personally behind the projects and facilitating the possibility for people to create collaborations.
Pity, I would like to see what others are doing with and to Pascal.

 I don't know your personal circumstances, but if you can come, do it, because this event is not only about hearing talks, but it is also designed to create community. If it works, it will be repeated again; but we need it to work this time.

Best regards,
Sergio
Title: Re: International Pascal Congress 2023
Post by: ccrause on October 28, 2022, 08:08:00 am
I don't know your personal circumstances, but if you can come, do it, because this event is not only about hearing talks, but it is also designed to create community. If it works, it will be repeated again; but we need it to work this time.

Best regards,
Sergio
For me, travelling to Europe is a hassle (need Schengen visa, 10 hour flight,  relatively expensive). I understand your reasons for an in person event, and that recording or streaming presentations adds extra IT admin, so if it isn't available then it is fine.
Title: Re: International Pascal Congress 2023
Post by: ccrause on October 28, 2022, 02:05:08 pm
...
The event will serve as a meeting point for all players in the software industry working with Pascal, and we’re aiming to boost the Pascal community into becoming an innovative and cutting-edge community again.

To achieve these goals, we’ll offer a variety of activities at the event so that people can get the most out of their attendance. You’ll be able to attend courses, technology presentations, and talks by keynote speakers, as well as participate in a challenge for the community.

Do you have any themes in mind?  Such as language standardization (Delphi seems to be the de facto modern standard, with some good innovations but also some less popular ideas), cross platform operability, language extensions for microcontrollers, etc.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 28, 2022, 03:27:10 pm
I have some questions for Sergio MT

Does your college currently teach classes in pascal or delphi ? If so can you please provide link to the class description on the university website.

I’m also curious if you ever taught any pascal classes or written any programs in pascal?

If you have no prior experience with pascal what caused you to become interested in it and want to create an event ?

Quote
For me, travelling to Europe is a hassle
As if long plane flights and visas were not enough there are now all sorts of Covid related restrictions aren’t there?
Additionally I believe the cost of flying has gone up and number of flights have gone down.

Maybe it might be convenient for people who can get there by train.

I have been programming in Pascal for a long long time. I  even used Turbo Pascal 7.  I use Pascal when I can choose it

https://www.researchgate.net/profile/Sergio-Miguel-Tome

My current project.

https://cordis.europa.eu/project/id/898052

I am using Delphi for it.

You can send me a private message if you want to know more about me, but the news is about the event not about me :D

The universities in Spain stopped teaching Pascal around 10 or 15 years ago.  It is a pity because for me it is one of the best languages. I created this event because I think this is going to help the Pascal Community to be where it must be. Thanks to this event I am getting several of my colleagues are interested in Pascal again. They were thinking Pascal died. Also, students are interested in Pascal because of the event although they have not studied Pascal in their subjects.

Best regards,
Sergio
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 28, 2022, 03:27:56 pm
Are there plans to stream the presentations, or make recordings available?

No, there is not stream presentations or recordings plans except for special activities of the event, and that's on purpose. In my experience as a researcher, I have observed that a community, regardless of the field of research, must have a physical meeting. People have to come together, meet in person and establish real links for the community to be strong. I am trying to create what I believe will help create a strong community. It's not just about listening to a talk, it's about people getting to know each other personally so they can feel part of the community, people getting to know each other personally behind the projects and facilitating the possibility for people to create collaborations.
Pity, I would like to see what others are doing with and to Pascal.

 I don't know your personal circumstances, but if you can come, do it, because this event is not only about hearing talks, but it is also designed to create community. If it works, it will be repeated again; but we need it to work this time.

The pandemic should have shown that the ability to take part online is important as it provides accessibility and inclusivity. We currently have the same issue with a social club which is doing its annual meeting in person instead of at least hybrid and that at a location that's relatively hard to reach for a significant number of the members. On the other hand, another social club I'm part in does hybrid meetings to allow for people from far away can participate as well. And then there's events like the Chaos Communication Congress which streams (and records) all sessions for years already, because they know that not everyone can come, but many are interested.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 28, 2022, 03:48:21 pm

Do you have any themes in mind?  Such as language standardization (Delphi seems to be the de facto modern standard, with some good innovations but also some less popular ideas), cross platform operability, language extensions for microcontrollers, etc.


Everything is already organized; I have been doing meetings for almost two years with the keynote speakers. I even communicated the creation of this event to the professor Niklaus Wirth at the beginning, and he gave me his support.  There are many topics, so I have had to choose among all but there will be different topics.  All will be revealed at the right time  ;)

Best regards,
Sergio
Title: Re: International Pascal Congress 2023
Post by: aydın on October 28, 2022, 04:39:37 pm
My 15-year-old son @aydın and my 9-year-old son Akif.  Also, the people I know try to do everything with pascal.

Yes, thanks for introducing me to Pascal and Lazarus, Dad.
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 28, 2022, 04:54:43 pm
You say your project is in Delphi have you considered porting it to lazarus? Lazarus has a Delphi mode which can use files from delphi. I’ve never tried it myself though but it shouldn’t be too difficult.

It depends on whether the application uses third party components and how easily they can be ported to Lazarus.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on October 28, 2022, 05:18:52 pm
Quote
The universities in Spain stopped teaching Pascal around 10 or 15 years ago
Quote
So pascal has not been taught in Spain for almost one generation. Do you have any idea why it was gotten rid of? Or what replaced it?

Quote
They were thinking Pascal died. Also, students are interested in Pascal because of the event although they have not studied Pascal in their subjects

A lot of people want pascal to be gone and do everything they can to discourage people from using it. I’ve encountered quite a few of these people.

If your students are interested in pascal why not have them come download Lazarus and give it a try. I believe the forums also have a Spanish section for people not fluent in English.

You say your project is in Delphi have you considered porting it to lazarus? Lazarus has a Delphi mode which can use files from delphi. I’ve never tried it myself though but it shouldn’t be too difficult.

I know the answers to your questions, but I lack time to explain all this, although I can explain you in Salamanca if you come.

I organize sometimes workshops and I show both, Lazarus and Delphi, to them.  For the community is better that both exist.

Best regards,
Sergio
Title: Re: International Pascal Congress 2023
Post by: Leledumbo on October 29, 2022, 09:01:42 am
I’m curious if the development of Lazarus follows delphi or if judgements are made what is better for the future of Lazarus? I’ve noticed a lot of properties in classes that don’t do much I guess they are for compatibility with delphi maybe?
It has its own roadmap, but keeping Delphi compatibility (at least at language level) somewhat a priority. Delphi is pretty bad in keeping backward compatibility, so it's kinda hard to follow their post XE implementations. LCL is still closely resembling VCL instead of FMX, for instance.
Title: Re: International Pascal Congress 2023
Post by: Joanna on October 29, 2022, 12:21:30 pm
Backward compatibility is definitely important to keep programs from breaking.

I’ve never used Delphi. Allowing all Delphi programs to compile with Lazarus seems useful, however ...
 Do the makers of Delphi ever implement new features you don’t like that you don’t want to ever be part of Lazarus? If so what do you do?
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 29, 2022, 03:24:50 pm
Quote
The pandemic should have shown that the ability to take part online is important as it provides accessibility and inclusivity.
Pascaldragon I kind of have mixed feelings about so many things being done remotely. It’s good that people can work remotely from home without commuting and chatting with people from around the world is a lot of fun..but the end result i think is alienating people from the people who live near them in real life. There are no community events anymore and people don’t know the people in their neighborhoods. Covid only worsened this phenomenon.

Hybrid events allow people to participate that couldn't participate at all beforehand. Sure, there might be less people that meet in person, but in my opinion the community as a whole benefits. See the Chaos Communication Congress for example: they are streaming and recording their sessions for years already and yet the congress is still sold out very soon each year. I've been there only once (in 2019) and otherwise I relied on the recordings. I've also used the recordings when I'd been there, cause there were interesting sessions that ran in parallel.
In short: hybrid events allow for more accessibility and that far outweighs the negatives in my opinion.

I’m curious if the development of Lazarus follows delphi or if judgements are made what is better for the future of Lazarus? I’ve noticed a lot of properties in classes that don’t do much I guess they are for compatibility with delphi maybe?

In general both Lazarus and FPC incorporate Delphi compatibility though not everything is copied (for example no one wanted to reimplement FMX for Lazarus yet) and when possible without sacrificing that compatiblity things are improved upon (e.g. in FPC anonymous functions can also be assigned to normal function pointers, method pointers and nested function pointers in addition to function references depending on what they capture while in Delphi only function references are supported).

Do the makers of Delphi ever implement new features you don’t like that you don’t want to ever be part of Lazarus? If so what do you do?

Not Lazarus, but FPC or the language: inline variable declarations. *shudders*
Title: Re: International Pascal Congress 2023
Post by: Thaddy on October 29, 2022, 06:51:35 pm
Not Lazarus, but FPC or the language: inline variable declarations. *shudders*
Shivers. Separation of declaration and use is a core feature of Pascal. Totally agree.
Title: Re: International Pascal Congress 2023
Post by: domasz on October 29, 2022, 07:06:27 pm

Not Lazarus, but FPC or the language: inline variable declarations. *shudders*
I didn't know this was possible! It might be very useful when porting code from C-based languages but I strongly believe such code should only be possible in a special "compatibility"mode, eg. {$MODE C} and not part of regular code base.
Title: Re: International Pascal Congress 2023
Post by: Thaddy on October 29, 2022, 07:36:22 pm
It is only possible in very recent versions of Delphi. I hope it does not make it into FPC.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 29, 2022, 07:46:27 pm
It is only possible in very recent versions of Delphi. I hope it does not make it into FPC.

It does not need to ever make it into FPC.

The same thing can already be achieved in FPC.

Yeah, introducing a new procedure is one way. But I want to limit the scope to a block. That's why I emphasized _block_ in my OP.

Using a procedure means, it's going to reserve a whole new context on the stack, eh? I don't want this.

So there's the inline modifier copying the procedure's body to the place where it's called. Huh. Uhm. That's a sub-optimal solution: Normally you'd introduce procedures if they're either called multiple times or they serve a well-defined task. This is not necessarily the case.

No!@@! I explained that by declaring the procedure *inline* you achieve *block* scoping, as can be seen from the assembler output. If it is just the eye candy of just *declaring* a variable in block scope? That doesn't add any value regarding generated code efficiency and there are plugins available for *editors* that can do just that for Delphi. I am not sure about Lazarus, but I won't be surprised if it is available.  The advantage over C's lazy typing is that in Pascal a separate procedure leads to easier to maintain sourcecode. Which is, btw, of course also possible in modern C.
There is no obvious reason to add bad coding habits to Pascal, imnsho.

As you have pointed out several times in other posts.

Once I saw all your replies on the issue and put it in practice in my own code, I saw no reason for that to come to FPC.
Title: Re: International Pascal Congress 2023
Post by: Joanna on October 30, 2022, 12:20:55 am
Inline variable declarations is a horrible idea I’m glad it wasn’t implemented.
Title: Re: International Pascal Congress 2023
Post by: silvestre on October 30, 2022, 11:31:36 am
The organization of a congress for Pascal should receive our support, it is very good news. If I had to discuss language issues with other people, for example I would add:

I like very much Object Pascal, and sometimes .....

1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.

2.-Also why the [ Case of ] statement, does not facilitate us to work with variables as a string, or other useful types.... I believe that this would help to write an easier and cleaner code in many cases of programming.

I am aware of the direct rejection of inline variables and I agree with most of the objections. But it would be unwise to declare a temporary index to traverse [for-to] blocks. If a variable is meant to be used only once, why declare it in a global section of a function or procedure and not do it locally (inline)?

Inline variable declarations is a horrible idea I’m glad it wasn’t implemented.
Title: Re: International Pascal Congress 2023
Post by: domasz on October 30, 2022, 11:44:18 am
1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.
That would be sweet!
I'd also love a foreach loop, something like:
foreach (array as i=>elem) do
Title: Re: International Pascal Congress 2023
Post by: 440bx on October 30, 2022, 12:18:45 pm
1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.
It would be nice but, personally, it's really very rare that I need it.   IOW, I don't miss it.

2.-Also why the [ Case of ] statement, does not facilitate us to work with variables as a string, or other useful types.... I believe that this would help to write an easier and cleaner code in many cases of programming.
A "case" statement that not only accepts variables but, accepts _multiple_ variables, IOW, a multi-variate table.  It's amazing how much cleaner some code gets when a facility like that is available.  COBOL85 has it (it's called "evaluate") but, for a significant percentage of programmers, the fact that the feature is present in COBOL is enough to put it down with "disdain".  That's very unfortunate.

But it would be unwise to declare a temporary index to traverse [for-to] blocks. If a variable is meant to be used only once, why declare it in a global section of a function or procedure and not do it locally (inline)?
That's a valid point.  The real, solid solution that is perfectly in line with Pascal's spirit is to have local/inline _scopes_.  An inline scope is like a function/procedure that is not callable but, has its own local constants, type and var sections along with its code.  If I recall correctly, ADA implements local scopes, a great feature to keep code clean and easy to maintain.

The real problem with Pascal is that there isn't a group of language experts analyzing the language non-stop and creating a new standard every few years.  Instead, whatever someone thinks is a good idea (which may or may not be the case) and has some influence in the development of a compiler is a close to deciding factor for it to be implemented.  With that as "methodology", the result is usually a "mixed bag" with inconsistencies in many corners.

Title: Re: International Pascal Congress 2023
Post by: Joanna on October 30, 2022, 01:34:36 pm
Silvestre
To answer some of your questions yes you can increment variables in pascal using the while .. do or repeat .. until loops you can have a numerical variable in there and do something like inc (x,3);

Actually you could implement skipping behavior in a for loop using continue
Like to inc loop by 4 have something like
Code: Pascal  [Select][+][-]
  1.  For x:= 4 to 100 do
  2.        if (x mod 4) = 0
  3.            Then {code}
  4. or
  5. For x:= 4 to 100 do
  6.       Begin
  7.       If (x mod 4 ) > 0 Then continue;
  8.        {Code}
  9.        End;


Stepping the index in a for loop is not a good idea because it could go past the range of values that the index was intended to have.

You can use string type Variable in case statement I do it with Lazarus. You can also use enumerated data types and chars in case statements.

A variable only used once doesn’t seem like a good reason to break the conventions of pascal. Just declare variables needed in the var section no need for inline.

Quote
I'd also love a foreach loop

I once saw a for each in turbo pascal using tcollection.

There are other ways to iterate through things besides loops you can iterate through sets ...for ch in charset do etc
Title: Re: International Pascal Congress 2023
Post by: marcov on October 30, 2022, 01:59:23 pm

Not Lazarus, but FPC or the language: inline variable declarations. *shudders*
I didn't know this was possible! It might be very useful when porting code from C-based languages but I strongly believe such code should only be possible in a special "compatibility"mode, eg. {$MODE C} and not part of regular code base.

Since it is fairly trivial to fix (it doesn't change the logic of the program to move it to the VAR), I don't think it would do anything to improve porting.

Also, it causes a slippery slope where new features are used for non-porting related purposes, and one-by-one all kinds of combination-of-features and corner case bugs get reported. We saw that with C operators. Not again, not for near zero gain.

But the Delphi case is special in the sense that even though it is for bad reasons (mostly trying to be "modern" in the hope of getting some traction in their mobile development efforts), it IS now part of the current Delphi dialect, and when more and more code starts (ab)using it, we may have to comply. (maybe with some nag warnings that the feature is only for compatibility purposes and not recommended).

The past 5-10 years, the Delphi world is increasingly divided between the upgraders (having subscription and being on the latest and greatest), and the non upgrades that are on old ansistring versions from D7..D2007, quite often working in factory automation. I work for a company in between, we use Delphi Seattle (DX10.0), (one of ?) the last versions before mandatory subscription.
Title: Re: International Pascal Congress 2023
Post by: sketch on October 30, 2022, 03:06:44 pm
1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.

Do you mean something similar to this in NetRexx?
Code: [Select]
loop i = 1 to 10 by 2
  say i
end
which returns:
Code: [Select]
1
3
5
7
9
Title: Re: International Pascal Congress 2023
Post by: silvestre on October 30, 2022, 04:25:28 pm
Hi Skecth,

Exactly, your example through NetRexx shows simplicity and clarity, the same is offered by other dialects.

1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.


Do you mean something similar to this in NetRexx?
Code: [Select]
loop i = 1 to 10 by 2
  say i
end

Hi Joanna,

Regarding the strings, you are right for freepascal, a step forward compared to Delphi.  :)

Silvestre
You can use string type Variable in case statement I do it with Lazarus. You can also use enumerated data types and chars in case statements.

Title: Re: International Pascal Congress 2023
Post by: Fred vS on October 30, 2022, 04:55:00 pm
1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.

Do you mean something similar to this in NetRexx?
Code: [Select]
loop i = 1 to 10 by 2
  say i
end

which returns:
Code: [Select]
1
3
5
7
9

You may use inc(i,y), like Joanna proposed:
Code: Pascal  [Select][+][-]
  1. i := 1;
  2. while i < 10 do
  3. begin
  4. writeln(i);
  5. inc(i,2);
  6. end;
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on October 30, 2022, 06:10:57 pm

Not Lazarus, but FPC or the language: inline variable declarations. *shudders*
I didn't know this was possible! It might be very useful when porting code from C-based languages but I strongly believe such code should only be possible in a special "compatibility"mode, eg. {$MODE C} and not part of regular code base.

No. Something like that will not be added. This is a Pascal compiler, not a C compiler.

1.-I have wondered why we can't have in pascal a "step" statement inside the [for-to] that allows us to jump the index in a direct and clean way, to the well-known 1+1?.

There exists a bugreport with a patch (https://gitlab.com/freepascal.org/fpc/source/-/issues/25549) for that, though that patch doesn't apply to current main.

2.-Also why the [ Case of ] statement, does not facilitate us to work with variables as a string, or other useful types.... I believe that this would help to write an easier and cleaner code in many cases of programming.

The case-statement in FPC already supports strings as an expression. And there is a bug report with a merge request (https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/233) to support it for class types. Other types don't really make sense and performance wise they also don't improve anything.

I am aware of the direct rejection of inline variables and I agree with most of the objections. But it would be unwise to declare a temporary index to traverse [for-to] blocks. If a variable is meant to be used only once, why declare it in a global section of a function or procedure and not do it locally (inline)?

Yes, it would be unwise. It's already bad enough that the on-clause of except-handlers has that.

The real problem with Pascal is that there isn't a group of language experts analyzing the language non-stop and creating a new standard every few years.  Instead, whatever someone thinks is a good idea (which may or may not be the case) and has some influence in the development of a compiler is a close to deciding factor for it to be implemented.  With that as "methodology", the result is usually a "mixed bag" with inconsistencies in many corners.

One of the reasons we're hesitant to add simply add everything and the kitchen sink.

I'd also love a foreach loop, something like:
foreach (array as i=>elem) do

As long as you don't need an index you can already do for elem in array.

Stepping the index in a for loop is not a good idea because it could go past the range of values that the index was intended to have.

It wouldn't be a problem, because with the regular for-loop as well the loop ends once the index is one past the to or downto value. And the patch I mentioned above handles that correctly.

Title: Re: International Pascal Congress 2023
Post by: Joanna on October 31, 2022, 12:27:21 am
I’m glad to hear that the developers of fpc are reluctant to try to imitate every trend in other popular programming languages that comes along.

It’s best to stick to your principles and do what is best for fpc even if it means deviating from Delphi I think.

I once watched my favorite online game be slowly destroyed because the makers of the game started adding features of competitors. As a result they got rid of all the people who liked the game as it was and did not succeed in luring customers away from the competitors.

People who like other languages better than pascal are not going switch to fpc even if all the features from their favorite language were somehow added.

That being said it certainly doesn’t hurt to monitor the developments in other languages and implement things that don’t clash with the fundamental design of pascal. One example of this is the // comment
Title: Re: International Pascal Congress 2023
Post by: dbannon on October 31, 2022, 12:56:31 am
......
The same thing can already be achieved in FPC.

....... I explained that by declaring the procedure *inline* you achieve *block* scoping, as can be seen from the assembler output. If it is just the eye candy of just *declaring* a variable in block scope? ....
Just in case someone else is looking for that discussion, its at https://forum.lazarus.freepascal.org/index.php/topic,29604.0.html

It works but is quite 'wordy'.

Davo
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 01:38:18 am
Just in case someone else is looking for that discussion, its at https://forum.lazarus.freepascal.org/index.php/topic,29604.0.html

It works but is quite 'wordy'.

Davo

Wordy, maybe. But when inline vars are allowed anywhere it can get very cluttered.
You can lose track of all the variables in the scope if the function gets too long.

So while it might be wordy, I'd also consider it more tidy.

So wordy and tidy vs brief and messy...

Yes with discipline you can avoid being messy, but with pascal you have no choice but to make your scopes very obvious.

It also helps in keeping your code factored.

So I see it more as a plus than a minus. (the wordiness).

Pascal is already is lot more wordy than many other mainstream languages, so I don't see it as real issue, once you are already use to it.
Title: Re: International Pascal Congress 2023
Post by: ccrause on October 31, 2022, 07:27:21 am
Something I miss is a Pascal language philosophy. New features should be tested against this philosophy to check if it enhance the language, or change its nature. For instance does Pascal strictly separate definition and implementation/use? This should then help for example in deciding whether inline declared variables fit in or not.
Title: Re: International Pascal Congress 2023
Post by: Joanna on October 31, 2022, 12:58:01 pm
Pascal has always had things well organized for as long as I can remember however I’ve noticed that type, const and variable sections in same scope can alternate. In other words there can be more than one Type, const or var keyword in same scope. In fact you can use a type,const or var keyword for every single item which I consider quite sloppy and cluttered.

I don’t know if things used to be different but when I first learned how to program the type, const and var declarations appeared just once in that order. I never tried compiling them in a different order so I don’t know if the order was enforced.

I can understand that some people might want flexibility for grouping type, const and var in separate sections for some reason but it I find it cluttered and hard to read it much rather make another procedure to split up the code into smaller pieces. I try to avoid having procedures or functions longer than one page but maybe that isn’t always possible.

Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 01:42:06 pm
I don’t know if things used to be different but when I first learned how to program the type, const and var declarations appeared just once in that order. I never tried compiling them in a different order so I don’t know if the order was enforced.

Types can be declared where you need them.

If a type is only used inside one particular record, you can define it inside that record.

There is no strict ordering of type, const, and var. You place them where you need them.

You can have multiples of those sections if you want, in any order, and interspersed with function and procedure definitions.

function and procedure definitions can have multiples of those sections if you want, in any order.

Title: Re: International Pascal Congress 2023
Post by: 440bx on October 31, 2022, 02:23:59 pm
I can understand that some people might want flexibility for grouping type, const and var in separate sections for some reason but it I find it cluttered and hard to read it much rather make another procedure to split up the code into smaller pieces. I try to avoid having procedures or functions longer than one page but maybe that isn’t always possible.
That's a conceptual error.

When a group of instructions is used to create a new function/procedure it creates a potential problem.  if the new function/procedure is nested then it makes it clear that it is only used in that scope but, what is much more common is that the new function/procedure is placed at the top level which means it could be called from anywhere, thereby making it more difficult to visualize the structure of the program.

Code should be just like variables, local in most cases and global only when truly necessary (or genuinely unavoidable.)

The problem with nested functions/procedures is that they break the linear flow.  The programmer can't read code from top to bottom, instead for every function/procedure, the programmer has to "jump" to where that function/procedure is defined.  That should _only_ be necessary when and if the function/procedure is used more than once in the function/procedure it is nested in.  If the sequence of code is used only once, then it should be inline.

The decision of how and when to break code into functions/procedures should be determined by the control flow, not by how many lines it will take.  20,000 lines of linear code are much easier to understand and maintain than 500 functions of 40 lines each.



Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 03:16:16 pm
The decision of how and when to break code into functions/procedures should be determined by the control flow

Yes, for the most part.

20,000 lines of linear code are much easier to understand and maintain than 500 functions of 40 lines each.

Not sure I agree. (For myself anyways, in how I need to break things down in order to understand them).
Rarely are you going to have 20 kloc that can't be refactored, so it would likely be far less than the 500 functions mentioned.

If the code can't be factored based on control flow, it can still be factored based on logical groups, so that it can be comprehended and maintained in smaller pieces.

I might agree with 100 lines of linear code are much easier to understand and maintain than 10 functions of 10 lines each.
But that is also assuming there no real way to cleanly refactor those 100 lines of code.



Title: Re: International Pascal Congress 2023
Post by: 440bx on October 31, 2022, 03:52:40 pm
If the code can't be factored based on control flow, it can still be factored based on logical groups, so that it can be comprehended and maintained in smaller pieces.
I'd say it can always be factored based on control flow and, within that, grouped by logical function. 

Grouping by logical function does not mean a new function/procedure should be created.  A logical group of instructions can be identified by a comment or, ideally, by an inline scope (which, unfortunately, Pascal does not provide - except with some trickery and only in a very limited form.)

One thing that is really easy to notice is that, the more often a programmer has to jump within a program to mentally assemble its pieces of code, the harder the program gets to understand and therefore maintain.

I showed the basic idea of scopes in the following post : https://forum.lazarus.freepascal.org/index.php/topic,43172.msg323311.html#msg323311

unsurprisingly, the concept met some resistance due to the way breaking code into functions/procedures has been ingrained in most programmers.  For some reason, it is blindly accepted that a function/procedure with more than 100 (pick your number) lines of code is "bad" but, conspicuously, no one ever provides a formal proof why it is "bad"... it's just "bad" because many people have, for a completely subjective reason, decided it is "bad".

Yet, those same people have no problem with having to examine several hundred (possibly thousands) places (functions/procedures) of a program to mentally assemble its structure.  For some incredible reason, that is "good".  Yet, that is the very essence of spaghetti code (jump here, jump there, jump back and, jump again until end of program.)




Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 05:04:48 pm
If the code can't be factored based on control flow, it can still be factored based on logical groups, so that it can be comprehended and maintained in smaller pieces.
I'd say it can always be factored based on control flow and, within that, grouped by logical function. 

I should have clarified that.
If a block of code is is purely linear, and has no possible deviation in flow, then there is no control flow based refactoring that can be done.
That is what I was referring to.

Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 05:12:23 pm
Grouping by logical function does not mean a new function/procedure should be created.  A logical group of instructions can be identified by a comment or, ideally, by an inline scope (which, unfortunately, Pascal does not provide - except with some trickery and only in a very limited form.)

Apart from shared scopes (which could be factored into classes and advanced records) then breaking up the code into separate functions/procedures (and classes and advanced records) then it is a lot easier to unit test.

There are always trade offs.

Massive busy functions/procedures are nearly impossible to properly unit test. Functional black box, yes. But not unit test. (as functional black box can't catch every corner case, and ideally unit testing should).

Sharing scopes via nesting means only the top parent can be unit or functionally tested.

Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 05:28:53 pm
Sharing scopes via nesting means only the top parent can be unit or functionally tested.

Unless you put the tests inside all that nesting, and I don't think many would go there....
If they top level parent functions are that busy and impossible to adequately test, they need to be broken up anyways.

Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 06:06:17 pm
When a group of instructions is used to create a new function/procedure it creates a potential problem.  if the new function/procedure is nested then it makes it clear that it is only used in that scope but, what is much more common is that the new function/procedure is placed at the top level which means it could be called from anywhere, thereby making it more difficult to visualize the structure of the program.

Code should be just like variables, local in most cases and global only when truly necessary (or genuinely unavoidable.)

The problem with nested functions/procedures is that they break the linear flow.  The programmer can't read code from top to bottom, instead for every function/procedure, the programmer has to "jump" to where that function/procedure is defined.  That should _only_ be necessary when and if the function/procedure is used more than once in the function/procedure it is nested in.  If the sequence of code is used only once, then it should be inline.

For the most part, agreed. And I covered much of this in my discussion of test-ability.

As far as nesting (or factoring out small parts of code), I know not everyone is going to agree on if it makes the code more readable, less readable, more maintainable, less maintainable....

See more of Thaddy's take on this here (not necessarily about nesting):
https://forum.lazarus.freepascal.org/index.php/topic,31031.msg201496.html#msg201496

From a test-ability standpoint I will agree that rather than nesting it is better to move the code it outside into into it's own top level function, or refactoring your code to use a shared scope via an advanced record or a class.

But only from a test-test-ability standpoint... There are times where using nested functions makes more sense (in my opinion).

So, once again, a trade off...





Title: Re: International Pascal Congress 2023
Post by: 440bx on October 31, 2022, 09:09:08 pm
But only from a test-test-ability standpoint... There are times where using nested functions makes more sense (in my opinion).

So, once again, a trade off...
In a programming language (any programming language) a programmer should be able to implement the rule: a function/procedure exists _only_ if the code it contains is executed in more than one location.  The fact that it is executed in more than one location is the reason it is a function/procedure.  If the code is executed in only one place then it should be in a named scope executed inline.

Being able to follow that rule greatly simplifies most programs by significantly lowering the number of functions/procedures and significantly lowering the number of local variables that are declared as part of the main function because a good number of those local variables become "scope local" instead of being a function global variable.

When it comes to testing, that breakdown also makes testing significantly easier as it is much easier to create test cases for every piece of code.

The lack of scopes in Pascal and many other languages creates very visible and obvious problems that encompass testing, understandability and  maintenance.
Title: Re: International Pascal Congress 2023
Post by: Martin_fr on October 31, 2022, 09:27:06 pm
In a programming language (any programming language) a programmer should be able to implement the rule: a function/procedure exists _only_ if the code it contains is executed in more than one location.  The fact that it is executed in more than one location is the reason it is a function/procedure.  If the code is executed in only one place then it should be in a named scope executed inline.

So, if I have a hash-function (maybe a modification of some crc or sha), and I use this function only from one place in my code => then I should best write it inline (and not have a function)? Or if the needs must, I may be allowed to make it a nested proc?

Because I would quite possible not just put such a routine at top-level. I might very well give that code it's own unit.

Title: Re: International Pascal Congress 2023
Post by: 440bx on October 31, 2022, 09:38:09 pm
Because I would quite possible not just put such a routine at top-level. I might very well give that code it's own unit.
You are right.  There are functions that are very general in nature such as calculating a CRC or the length of a null terminated string and thousands of other such functions that should be functions/procedures in their own container/unit hopefully based on what they apply to and/or are used for.

To clarify, my comment applies to sequences of code that are not general in nature, instead they are very specific to the program they reside in.  In those cases, if the sequence of code is executed only once then it should be inline, not in a function/procedure and, if (inappropriately) in a function/procedure, certainly not at the top level (thus a global function/procedure.)

Your correction is definitely on target and, therefore appropriate.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on October 31, 2022, 11:16:50 pm
So, if I have a hash-function (maybe a modification of some crc or sha), and I use this function only from one place in my code => then I should best write it inline (and not have a function)? Or if the needs must, I may be allowed to make it a nested proc?

Because I would quite possible not just put such a routine at top-level. I might very well give that code it's own unit.

The following applies to any programming language
https://codecoach.co.nz/functions-should-do-one-thing/
Functions Should Do One Thing
Easier to Understand

I believe only if used once, one must consider not in-lining, for all the reasons mentioned in articles like that, and also because more of the code can be tested independently of other parts.

To me it is easier to understand a lot of small functions each having a single purpose, than a large function that does many different things.
Of course all those things end up being a single purpose when viewed as a whole.
Of course there is balance to that.

And striving to make everything reusable when it is only used one can be detrimental as well.

But, this is way off topic in regard to the International Pascal Conference 2023...
Title: Re: International Pascal Congress 2023
Post by: ccrause on November 01, 2022, 06:05:41 am
But, this is way off topic in regard to the International Pascal Conference 2023...
Perhaps, although this side discussion highlights a blurred distinction between the Pascal language philosophy and general programming best practice.  And I believe this is due to a nonexistent modern Pascal language philosophy, or alternatively a missing up to date language specification.
Title: Re: International Pascal Congress 2023
Post by: Leledumbo on November 01, 2022, 09:38:09 am
But, this is way off topic in regard to the International Pascal Conference 2023...
Perhaps, although this side discussion highlights a blurred distinction between the Pascal language philosophy and general programming best practice.  And I believe this is due to a nonexistent modern Pascal language philosophy, or alternatively a missing up to date language specification.
Let's hope the congress can come up with the next standard that might start a legal battle with Embarcadero. It's hard to move together when you rely on sales of development tools to live.
Title: Re: International Pascal Congress 2023
Post by: Joanna on November 01, 2022, 02:44:00 pm
Quote
To me it is easier to understand a lot of small functions each having a single purpose, than a large function that does many different things.

I do almost exclusively object oriented programming and use classes for most things. I think it is a good thing to not let any part of a program get too large and complicated. A previous version of my project had the factory and layout manager combined into one unit. Although it worked ok it was too large and complicated and someone suggested that I separate the functionality which I did.

In my opinion using procedures and functions primary purpose is to consolidate all identical code in one place.
For simplifying code inside a procedure with a nested procedure or function, the nested procedure could handle some of the code used inside of a loop which would make the code for the loop easier to read because it’s calling a procedure.
Sometimes I’m just struggling with code that is too complex and break it into small pieces to better understand what it is doing inside a procedure.

How long a procedure should be varies for different people. I don’t much care for doing a lot of scrolling so most of my files are fairly small. If you don’t need to do much with the code of course it could make sense to have more code in less files.
Title: Re: International Pascal Congress 2023
Post by: sketch on November 01, 2022, 03:38:05 pm
In Clean Code: A Handbook of Agile Software Craftsmanship, Robert Martin says:
Quote
The first rule of functions is that they should be small. The second rule of functions is that they should be smaller than that. Functions should not be 100 lines long. Functions should hardly ever be 20 lines long.

Harold Abelson of The Structure and Interpretation of Computer Programs fame:
Quote
Programs must be written for people to read, and only incidentally for machines to execute

Martin Fowler whose 1999 book Refactoring popularized code refactoring:
Quote
If you have to spend effort into looking at a fragment of code to figure out what it's doing, then you should extract it into a function and name the function after that “what." Once I accepted this principle, I developed a habit of writing very small functions - typically only a few lines long.

The "Rule of 30" in Refactoring in Large Software Projects by Martin Lippert and Stephen Roock:
Quote
If an element consists of more than 30 subelements, it is highly probable that there is a serious problem:
a) Methods should not have more than an average of 30 code lines (not counting line spaces and comments).



Title: Re: International Pascal Congress 2023
Post by: Bogen85 on November 01, 2022, 03:50:51 pm

Martin Fowler whose 1999 book Refactoring popularized code refactoring:
Quote
If you have to spend effort into looking at a fragment of code to figure out what it's doing, then you should extract it into a function and name the function after that “what." Once I accepted this principle, I developed a habit of writing very small functions - typically only a few lines long.

Much longer than that and they get very hard to fully unit test, regardless if those are methods or standalone functions.


Title: Re: International Pascal Congress 2023
Post by: Bogen85 on November 01, 2022, 03:56:12 pm
If you think of a program as a dictionary, and functions and methods as some of the definition types in that dictionary (akin to words in a natural language dictionary), it would be hard to maintain and understand if every word had a several paragraph or several page definition.
Title: Re: International Pascal Congress 2023
Post by: Bogen85 on November 01, 2022, 04:13:27 pm
Kevlin Henney also has few things to say about this:

https://www.goodreads.com/author/quotes/45368.Kevlin_Henney

Quote
“Instead of commenting sections in long functions, extract smaller functions whose names capture the former sections' intent.”
― Kevlin Henney, 97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Quote
“Next time you are tempted to lump a few things together into one API method, remember that the English language does not have one word for MakeUpYourRoomBeQuietAndDoYourHomeWork, even though it would be really convenient for such a frequently requested operation.”
― Kevlin Henney, 97 Things Every Programmer Should Know: Collective Wisdom from the Experts

Title: Re: International Pascal Congress 2023
Post by: Joanna on November 01, 2022, 04:36:38 pm
Sketch those are some common sense concepts for sure.
Quote
Quote
Programs must be written for people to read, and only incidentally for machines to execute
 
This is the reason I prefer pascal to all other programming languages. Pascal is easy to read because of its English like syntax. There are far too many people who think that a programming language should be as terse as possible. Curly braces make a poor substitute for a solid begin end..

It is much easier to think of solutions to complicated problems in English and then translate it to pascal. The idea of small single single purpose blocks of code is by no means limited to functions and procedures. I use a lot of frames that alone don’t do very much and are easy to test but combined with other frames become quite powerful.

I think the optimal length of a procedure could be influenced by what you are trying to do but if it doesn’t all fit on one screen it begins to be more difficult to read.
Title: Re: International Pascal Congress 2023
Post by: 440bx on November 01, 2022, 07:11:54 pm
All the pontification some book authors do about "small functions" sounds very good but, the claims are very rarely accompanied by solid reasons to justify them.

A function should accomplish a logical task, if that task can be done in 20 lines of code, great but, if that logical task takes 2,000 lines then 2,000 lines is what it takes.

The more code is broken into "pieces" (call them functions, procedures, methods, doesn't matter), the programmer has to "visit" that code (meaning jumping to them) and mentally assemble what all those pieces do.   A large number of small functions creates "jigsaw puzzle" programs that the programmer has to assemble.  OOP is notorious about creating that problem because many methods have no logical function, they only exist to be overriden thereby exacerbating the problem.

The more pieces a program is broken into, the more information has to be passed around among the pieces and that is often a problem (again, this problem manifests itself in OOP in a number of ways and OOP often makes it worse.)  More things for the programmer to have to keep track of, that makes things more cumbersome and more error prone.

Anyway... as someone has already pointed out, this thread is about an International Pascal Congress not about what programming should or shouldn't be but, I find it difficult not to express my strong disagreement with unsupported, mostly baseless programming dogma because it sounds "kewl".


Title: Re: International Pascal Congress 2023
Post by: balazsszekely on November 01, 2022, 07:58:12 pm
@440bx
Quote
Anyway... as someone has already pointed out, this thread is about an International Pascal Congress not about what programming should or shouldn't be but, I find it difficult not to express my strong disagreement with unsupported, mostly baseless programming dogma because it sounds "kewl".
This thread like many others derailed to a great extent. Anyways about programming dogma:
There is a well know theory about structuring a relational database in normal forms, the so called database normalization. The idea is to reduce data redundancy via normalization, great in theory but assumes infinite computer power. Start with a perfectly normalized database and watch how miserably fails as data grows.
The bottom line is theory <> practice. In my opinion this is also true about any programming paradigm, it all depends on the specifications.
Title: Re: International Pascal Congress 2023
Post by: tetrastes on November 01, 2022, 08:10:45 pm
Sketch those are some common sense concepts for sure.
Quote
Quote
Programs must be written for people to read, and only incidentally for machines to execute
 
This is the reason I prefer pascal to all other programming languages. Pascal is easy to read because of its English like syntax. There are far too many people who think that a programming language should be as terse as possible. Curly braces make a poor substitute for a solid begin end..

It is much easier to think of solutions to complicated problems in English and then translate it to pascal.

It seems you believe that every one person on Earth speaks (not to say thinks) English.  :D
For those, who don't, curly braces are better, as they can name them in native language. ;)
Title: Re: International Pascal Congress 2023
Post by: PascalDragon on November 01, 2022, 09:00:51 pm
But, this is way off topic in regard to the International Pascal Conference 2023...
Perhaps, although this side discussion highlights a blurred distinction between the Pascal language philosophy and general programming best practice.  And I believe this is due to a nonexistent modern Pascal language philosophy, or alternatively a missing up to date language specification.
Let's hope the congress can come up with the next standard that might start a legal battle with Embarcadero. It's hard to move together when you rely on sales of development tools to live.

This isn't the task of the congress and even then there is no reason or obligation for neither Embarcadero nor FPC to follow such a standard. After all there already are two language standards for Pascal and they got largely ignored by history (though FPC nearly completely supports ISO Pascal and support for ISO Extended Pascal is supposed to be added piece by piece).
Title: Re: International Pascal Congress 2023
Post by: Joanna on November 02, 2022, 01:02:04 am
Quote
It seems you believe that every one person on Earth speaks (not to say thinks) English.  :D 
I certainly don’t. I’m sure programmers think of code in their own native languages. Regardless of that it doesn’t hurt them to learn the reserved words which happen to be in English. I’m not sure how this happened but I’d prefer a “begin end” in any language over curly braces.

Quote
A large number of small functions creates "jigsaw puzzle" programs that the programmer has to assemble.  OOP is notorious about creating that problem because many methods have no logical function, they only exist to be overriden thereby exacerbating the problem.

Using Oop correctly definitely takes skill and it isn’t for everyone.
It is true oop can be more complicated that non oop programming however there are many advantages to using oop when it comes to organizing and reusing code. Oop organizes code in ways that for me at least are easier to understand.
I try to use methods in the base class to perform the most useful default behaviors but this isn’t always possible and I sometimes do end up with empty methods in base class. I consider getting rid of empty methods a goal to work towards with better design.
Title: Re: International Pascal Congress 2023
Post by: dbannon on November 02, 2022, 07:47:23 am
A function should accomplish a logical task, if that task can be done in 20 lines of code, great but, if that logical task takes 2,000 lines then 2,000 lines is what it takes.

The more code is broken into "pieces" (call them functions, procedures, methods, doesn't matter), the programmer has to "visit" that code (meaning jumping to them) and mentally assemble what all those pieces do.   A large number of small functions creates "jigsaw puzzle" programs that the programmer has to assemble.  OOP is notorious about creating that problem because many methods have no logical function, they only exist to be overriden thereby exacerbating the problem.
On the other hand 440bx, I'd absolutely hate to have to try and understand someone's (even mine after a week) hyperthetical 2K line function. Almost any task can be split into logical steps, even if those steps are used once. Give each step a reasonable name and suddenly we have "abstracted" away a lot of the detail. So, the code now looks like

Code: Pascal  [Select][+][-]
  1. LoadData()
  2. CheckData()
  3. ProcessData()
  4. DisplayData()
  5. SaveData()

If I see that, and know the problem is that the data looks OK when displayed but is not being saved, I can skip 80% of your 2000 lines and just look at the 400 lines.

Quote
The more pieces a program is broken into, the more information has to be passed around among the pieces and that is often a problem (again, this problem manifests itself in OOP in a number of ways and OOP often makes it worse.)  More things for the programmer to have to keep track of, that makes things more cumbersome and more error prone.
Absolutely, but that would be an argument for making all our variables global too  :o

Davo
Title: Re: International Pascal Congress 2023
Post by: 440bx on November 02, 2022, 09:01:14 am
On the other hand 440bx, I'd absolutely hate to have to try and understand someone's (even mine after a week) hyperthetical 2K line function.
I have functions that are 2000+ lines of code and I find them very easy to maintain because execution is linear. I read/execute the code from top to bottom without any jumps and it's really easy to keep track of what has happened and what should happen next.

I've thought about what those functions would look like if they were split into smaller pieces and the result would be a difficult to understand mess of code.  The pieces would lack the coherency of the code when it is in one block.

Almost any task can be split into logical steps, even if those steps are used once. Give each step a reasonable name and suddenly we have "abstracted" away a lot of the detail. So, the code now looks like

Code: Pascal  [Select][+][-]
  1. LoadData()
  2. CheckData()
  3. ProcessData()
  4. DisplayData()
  5. SaveData()
Think of it this way... each function/procedure name is a comment that says what LoadData, CheckData, ProcessData, etc do, each followed by the (estimated/averaged) 400 commented lines of code their implementation takes. The beginning and end of each "function" is made clear by comments to that effect. Note also that comments  inside a "function" can refer to actions that are being taken to set things up for code that is executed in another "function" (a comment in CheckData that is setting things up for something in DisplayData)  This kind of "forward comment" is counterproductive/confusing if the code is broken in discrete pieces. 

Absolutely, but that would be an argument for making all our variables global too  :o
On the contrary, the objective is to increase/maximize locality.  There is nothing more local than inline code.

The real downside of having long functions/procedures in Pascal (or any other language that doesn't support local scopes) is that the function/procedure usually ends up having a fairly large number of local variables (which are globals in the function) that wouldn't happen if there was support for inline scopes, the majority of the variables would be local to the scopes usually leaving less than a handful at the global function level.

It's interesting you mention global variables because one of the problems I have with OOP as a programming paradigm is that it spreads global variables all over the places.  Every field in a class is, pretty much, a global class-instance variable accessible by every method in the class and it is quite common to see groups of fields that "belong" with some methods and definitely don't belong with other methods but, those methods still have access to them.  The problem with having class-instance fields is so noticeable that they are by convention prefixed with a letter "F" to distinguish them from real local variables.

Again, I know I'm not going to convince anyone and actually, I'm not even trying to convince anyone, I just want it to be known that my dislike of OOP isn't capricious, it has a solid and large foundation (not that it will make a difference, it won't.)  Also, I should mention that, because of habit, I occasionally make functions out of code that should be inline, IOW, I'm not completely immune to programming dogma.

Lastly, in the 47 years I've spent programming, the one thing I've learned is that the most important activity when writing code is lavishly commenting the code.  What is brutally obvious when one is writing the code becomes an enigma six months (or less) later.   The comments should be a tutorial for how to solve the "problem"/"get the task done" because, any programmer, even the original author will need it a few months (or years) later.

I estimate that a program is reasonably well commented if _at least_ 1/4 of source lines are comments and, I mean _quality comments_ not, "this is a variable, this is another variable" ... those are not comments, that's junk. <chuckle>

Apologies to Sergio for hijacking the thread... it wasn't my intention.

Title: Re: International Pascal Congress 2023
Post by: Joanna on November 02, 2022, 09:40:56 am
Quote
Every field in a class is, pretty much, a global class-instance variable accessible by every method in the class and it is quite common to see groups of fields that "belong" with some methods and definitely don't belong with other methods but, those methods still have access to them. 

Putting variables inside of a class encapsulates them so that there is more control of how they are accessed from outside of the class. Also if you only want certain class methods to access class variables you could put the variables and methods which access them in an ancestor class and have them private or protected .

Oop is probably not for everyone or every type of project but for things things like frame classes I find it useful.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on January 15, 2023, 08:39:04 pm
Dear Pascal-world colleagues,
I’m bringing you news I think you’ll like. I can announce the invited speakers who will give a plenary talk in the International Pascal Congress 2023. The invited speakers and their plenary talks are the following:

Dr. Johannes W. Dietrich:
Title: “Systems Endocrinology – Shaping an Emerging Medical Discipline with Object Pascal“

Michael Van Canneyt
Title: "Free Pascal: Past, Present and Future."

Marco Cantù
Title: "Delphi's Object Pascal Evolution"

Dr. Michalis Kamburelis
Title: "Developing games and graphic visualizations in Pascal"

Primož Gabrijelčič
Title: Parallel programming in Pascal: How we should stop focusing on threads and start writing functional code

Bruno Fierens
Title: "Object Pascal everywhere"

Daniele Teti
Title: "Developing frontend and backend in Pascal: past, present and future"

The International Pascal Congress (IPC) will be held from July 3 to 7, 2023, in Salamanca, one of the most beautiful cities in Spain and a UNESCO heritage site. The event will serve as a meeting point for all players in the software industry working with Pascal, and we’re aiming to boost the Pascal community into becoming an innovative and cutting-edge community again. You can find more information about the event on the website https://pascalcongress.com More news coming…
Title: Re: International Pascal Congress 2023
Post by: Thaddy on January 15, 2023, 09:26:56 pm
I have arranged for the dogs and the cat to be taken care for. Now, just the wife...
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on January 15, 2023, 11:03:21 pm
I have arranged for the dogs and the cat to be taken care for. Now, just the wife...

I am thinking to organize some parallel activity to wives, husbands, kids,  boyfriends or girlfriends so they will support to go to Salamanca too  :)
Title: Re: International Pascal Congress 2023
Post by: Curt Carpenter on January 15, 2023, 11:17:11 pm
Too far away for my budget, but I would be interested in the proceedings if your university plans to publish them.
Title: Re: International Pascal Congress 2023
Post by: VTwin on January 16, 2023, 01:15:46 am
I guess this is a thread about "International Pascal Congress 2023"? :D

This is exciting news to me. I attend 2 or 3 professional conferences each year for 40 years or so. There is nothing like meeting folks in person.

Keep us posted on the program! I would love to attend if possible. Thanks Sergio.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on February 18, 2023, 05:15:51 pm
I guess this is a thread about "International Pascal Congress 2023"? :D

This is exciting news to me. I attend 2 or 3 professional conferences each year for 40 years or so. There is nothing like meeting folks in person.

Keep us posted on the program! I would love to attend if possible. Thanks Sergio.

Thanks a lot! It is being a lot of work! I only hope that the community will take advantage of it. Such an event can be a big boost to get the Pascal community noticed by the IT world.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on February 18, 2023, 05:18:13 pm
Dear friends, you can already see on the website some of the courses that you will be able to attend if you come to IPC 2023 (in addition to the plenary lectures). On the website you will find the description of each of them with the content. Each course will consist of 4 sessions of 1 hour. You will have to choose 3 of the courses that will be offered, and that do not coincide in hours, as some of the courses will run in parallel (the schedules of each course will be known later). All courses will be given by well-known members of the Pascal world community.
The names of the courses are the following:

+ Getting high performance using the Lazarus IDE.
Michael Van Canneyt

+ Writing multithreaded programs in Pascal.
Primož Gabrijelčič.

+ An introduction to deep learning with CAI NEURAL API.
Dr. Joao Paulo Schwarz Schuler

+ Developing games using Castle Game Engine.
Dr. Michalis Kamburelis

+ Developing advanced Client/Server applications with Pascal.
Emilio Pérez

You can find all the details of the courses in the web site.
https://www.pascalcongress.com/courses.html

As you can see Michael Van Canneyt is going to give an interesting course. I think it is a very interesting because many times we fight with the IDE, and he is going to explain all the secrets of Lazarus.

Do not leave it until the last day to register you in the IPC 2023, we have a maximum number of places for the event and also, we have a deal with 4-star hotel with a very good price but the number of rooms on offer is even more limited (just 100 rooms) and the people is already registering.
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on March 05, 2023, 12:35:43 pm
Dear friends,

I am happy to announce that we have added another course in the International Pascal Congress 2023 . The title of the course is

"Using FPC and Lazarus to program webassembly".

The instructor will be  Michael Van Canneyt. https://www.pascalcongress.com/courses.html

Also, Detlef D. Overbeek, Michael Van Canneyt and  Mattias Gaertner will be presenting Lazarus and FreePascal Foundation  in the sessions that IPC 2023 offers to who want to present  open projects. This will be a great oportunity to see them in person and hear the plans of the foundation  and know how to collaborate with their projects.

 https://www.pascalcongress.com/open_projects.html 

The International Pascal Congress will be from 3rd of July to 7th of July this year in Salamanca (Spain) there will be many interesting courses and plenary talks and the registration period is open. The event is hosted by the University of Salamanca. The early registration has a very low price, just 295 euros, the prices is so low because we want everyone comes to the IPC, so don't wait too much to book your seat

 https://www.pascalcongress.com/
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on March 19, 2023, 01:13:07 pm
Dear colleagues,

remember that there are only 3 weeks left of reduced price to register (295 €).

This event is completely unique offer to upgrade and modernize your knowledge in Pascal technologies to develop applications. We are organizing this event just to promote Pascal, because we love it.

All those who can attend do not think too much because if it turns out that because of laziness many of you think well there will be another edition, there will not be. Only if you attend there will be a new edition.

If anyone hasn't attended this type of event before, and is worried about not knowing anyone, don't worry about that, because it doesn't matter that you don't know anyone, because that's the fantastic thing, you arrive without knowing anyone and end up leaving with new friendships and lots of new knowledge.

In case you work in a company, and you want us to send information to your company, let me know by direct message and we will send the information.

https://pascalcongress.com
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on March 26, 2023, 02:43:39 pm
He is one of our keynote speakers in the International Pascal Congress 2023!  It will be an amazing week! Don't miss  this opportunity! Only two weeks with the early registration prize!  The amazing prize of 295 euros!!  Register now!  https://pascalcongress.com
Title: Re: International Pascal Congress 2023
Post by: Thaddy on March 26, 2023, 02:50:17 pm
Due to family circumstances I will probably not attend, but I will make an effort.
Title: Re: International Pascal Congress 2023
Post by: jwdietrich on April 08, 2023, 08:38:31 am
Please note that the early registration will end on Monday (April 10th).

Registration is 295 € up to this day, from April 11th to March 1st 340 €, after that day 370 € per person.

http://www.pascalcongress.com/registration.html
Title: Re: International Pascal Congress 2023
Post by: jwdietrich on April 11, 2023, 06:17:48 pm
Due to numerous requests, the deadline for early registration has been extended to April 22nd, 2023.

https://pascalcongress.com/registration.html
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on May 10, 2023, 06:25:45 pm
Dear Pascal-world colleagues,

we are happy to announce the call for  the Niklaus Wirth  Award for the most Valuable Contributor.  We need your help to spread about it.

All the info ---> https://pascalcongress.com/awards.html (https://pascalcongress.com/awards.html)

Also, some people wrote to us telling that unfortunately they cannot come to the event, but they would like to push forward the event with a donation. We have created this option. The money will be used to  push forward the Niklaus Wirth Award and to   record and edit the plenary talks ( it is an unexpected expense, but more people donate more plenary talks will be recorded). The digital material will be uploaded  to YouTube, so all the community can enjoy it for free.   Support from the Pascal community is important for the International Pascal Congress 2023  and your donation will empower the Pascal community.   .

http://pascalcongress.com/sponsorship.html (http://pascalcongress.com/sponsorship.html)

Thansk a lot!
Sergio

 
Title: Re: International Pascal Congress 2023
Post by: michalis on May 11, 2023, 01:51:27 pm
I'm looking forward to meet everyone in person in Salamanca!

As you maybe saw in Castle Game Engine news about it (https://castle-engine.io/wp/2023/04/01/come-to-international-pascal-congress-july-3-7-2023-salamanca-to-listen-to-my-talk-and-attend-castle-game-engine-course/), I'll be giving a talk and also a course about Castle Game Engine. I'm also really excited to listen to all the talks, there are well-known people from both FPC and Delphi communities.

Also, if anyone wants to meet with me in person e.g. to talk about Pascal + games during the conference, don't hesitate to ping me at any point :)

The digital material will be uploaded  to YouTube, so all the community can enjoy it for free.   Support from the Pascal community is important for the International Pascal Congress 2023  and your donation will empower the Pascal community.   .

http://pascalcongress.com/sponsorship.html (http://pascalcongress.com/sponsorship.html)

Great that the talks will be available on YouTube later too. Thank you a lot for organizing this!
Title: Re: International Pascal Congress 2023
Post by: Sergio MT on May 12, 2023, 05:06:54 pm
Great that the talks will be available on YouTube later too. Thank you a lot for organizing this!

Thanks Michalis, and thank you for coming but we really need also the support from the Pascal  community.  I work free organizing the IPC but without donations we could not record it because the shooting companies don't do it free neither sound technicians etc.

donate and you will be supporting the Pascal community ----> http://pascalcongress.com/sponsorship.html (http://pascalcongress.com/sponsorship.html)

Thanks!
Title: Re: International Pascal Congress 2023
Post by: zeljko on July 02, 2023, 11:24:10 pm
I've just come to Salamanca, so see you tomorrow guys. What is correct address to find conference....I'm in Corona Sol atm...
Title: Re: International Pascal Congress 2023
Post by: GAN on July 03, 2023, 12:00:11 am
Hello, you are very close, only 800 meters. I attach a map.

Best regards.
Title: Re: International Pascal Congress 2023
Post by: zeljko on July 03, 2023, 10:31:37 am
Tnx :)
Title: Re: International Pascal Congress 2023
Post by: Joanna on July 08, 2023, 01:51:27 am
I was not able to go to the conference. Are there any videos from it?
Title: Re: International Pascal Congress 2023
Post by: jwdietrich on July 08, 2023, 08:29:54 am
I think they will provide videos. Professional camera persons recorded all main presentations.
Title: Re: International Pascal Congress 2023
Post by: Joanna on July 08, 2023, 02:42:08 pm
Did you go?
Title: Re: International Pascal Congress 2023
Post by: jwdietrich on July 09, 2023, 05:39:17 pm
Did you go?

Yes. It was a gorgeous conference, quite large with several parallel sessions, outstanding speakers and brilliant courses. And the city of Salamanca is beautiful. The IPC 2023 was the first one of a series of International Pascal Congresses to come.
Title: Re: International Pascal Congress 2023
Post by: zeljko on July 09, 2023, 06:14:50 pm
Did you go?

Yes. It was a gorgeous conference, quite large with several parallel sessions, outstanding speakers and brilliant courses. And the city of Salamanca is beautiful. The IPC 2023 was the first one of a series of International Pascal Congresses to come.

+1, also many thanks to Sergio and others who participated in organization. Happy to see some young people interested and actively developing in pascal.
Title: Re: International Pascal Congress 2023
Post by: jwdietrich on July 09, 2023, 07:26:19 pm
I have created a short (very subjective) selection of slides and impressions that is available from https://youtu.be/dPR4Qu7H95M (https://youtu.be/dPR4Qu7H95M).
Title: Re: International Pascal Congress 2023
Post by: Joanna on July 10, 2023, 01:56:19 am
I’m glad it was a success, maybe it will happen next year ...
Title: Re: International Pascal Congress 2023
Post by: Kays on January 11, 2024, 02:50:57 pm
I think they will provide videos. Professional camera persons recorded all main presentations.
Any news?
Title: Re: International Pascal Congress 2023
Post by: michalis on January 11, 2024, 02:56:36 pm
I think they will provide videos. Professional camera persons recorded all main presentations.
Any news?

A few initial videos are available on the YouTube channel, https://www.youtube.com/@IPCInternationalPascalCongress . It seems they are uploading them slowly one by one, but it's going forward :)
Title: Re: International Pascal Congress 2023
Post by: schuler on February 18, 2024, 03:43:25 am
In my opinion, the Pascal Congress was the best week of 2023. E enjoyed every minute of it.
TinyPortal © 2005-2018