Recent

Author Topic: Are We Dead Yet?  (Read 19467 times)

440bx

  • Hero Member
  • *****
  • Posts: 3887
Re: Are We Dead Yet?
« Reply #60 on: May 15, 2023, 06:27:48 am »
I’m curious about what kind of programming you do to have such a dislike for oop?
I've done just about every kind of programming there is and, I find OOP to be a highly deficient and flawed paradigm for programming in general.

The only "good thing" I find about OOP is that it makes it easy to "can" algorithms that can be consumed by those who are unable to code them (shades of Python and Java.)    A "can" of AVL trees instead of a can of mushroom soup.  Chef Boyardee programming (good canned spaghetti.)

I won't go into the many flaws of OOP because I've already done that in the past and, as we all know, nothing I can say is going to make any difference whatsoever.  A waste of time for me to write it and a waste of time for anyone to read it.

Off my soapbox now...

Fortunately, Pascal doesn't force OOP onto the programmer.
 
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.1 both fixes) on Windows 7 SP1 64bit.

Fred vS

  • Hero Member
  • *****
  • Posts: 3158
    • StrumPract is the musicians best friend
Re: Are We Dead Yet?
« Reply #61 on: May 15, 2023, 02:26:44 pm »
What's wrong with death?
The Stradivarius, violins that produce the most pleasant sound, were made of dead wood more than 300 years ago.
 ;)
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Curt Carpenter

  • Sr. Member
  • ****
  • Posts: 396
Re: Are We Dead Yet?
« Reply #62 on: May 15, 2023, 10:00:44 pm »
Does anyone have a list of universities that currently offer Pascal in their computer science curriculum?  I assume from Sergio MT's posts that the University of Salamanca does this given their sponsorship of the Pascal conference, but surely there are others?  I ask because I think one significant aid to ensuring the future of FPC/Lazarus would be an edX-style course on the language and IDE.  Given a list of universities that might be interested, maybe we could find a way to encourage a few of them to collaborate and create such a course, perhaps in two parts:  "introduction" and "advanced techniques."   

Or does such a thing already exist? 

I see several courses on udemy ( https://www.udemy.com/course/learn-to-program-with-pascal/ ) that reference Lazarus, most in Spanish, and the English courses seem pretty basic, prices moderate for most.
« Last Edit: May 16, 2023, 04:08:16 am by Curt Carpenter »

Joanna

  • Hero Member
  • *****
  • Posts: 657
Re: Are We Dead Yet?
« Reply #63 on: May 16, 2023, 05:29:04 pm »
Getting schools to start teaching pascal again is definitely important. Perhaps promote it as a teaching language for beginners.
✨ 🙋🏻‍♀️ More Pascal enthusiasts are needed on IRC .. https://libera.chat/guides/ IRC.LIBERA.CHAT  Ports [6667 plaintext ] or [6697 secure] channel #fpc  Please private Message me if you have any questions or need assistance. 💁🏻‍♀️

Warfley

  • Hero Member
  • *****
  • Posts: 1498
Re: Are We Dead Yet?
« Reply #64 on: May 16, 2023, 07:12:05 pm »
To give my two cents on the topic in general: Pascal won't die, it was way to popular for that. At most it will follow in the footsteps of Cobol, where no one wants to do it, but for some reason there is still a need because some 50 year old legacy software still needs maintaining. A fate thats worse than death.

More realistically, I think it will take the LISP route, where there is a very small but undying core who think it's the best thing since sliced bread, and will argue with anyone for hours on end about how LISP is actually the perfect language and the reason no one uses it is because it is just too perfect.

But I think right now we are far from both scenarios. Honestly I think the main issue currently with Pascal is that it lacks polish. I don't know if it was here or in the german forum, but recently there was again a thread by someone using an outdated Lazarus version on ubuntu because they used the package manager, and then when it was answered to use the .deb files you can download on the website, there were dependency problems with it. I think the user finally got it to work with FPCUp, but it took multiple days of trying, reading up on stuff and waiting for replys on the Forum for the user to install lazarus. More generally speaking installation on Linux (so amazed I am that it is possible to install it as root on the /usr, but then rebuild your own configuration in your home folder) is not easy and has a lot of caveats (even FPCUp has some issues, e.g. that it takes multiple gigabytes of memory, while a package manager installation is like 500mb, but thats easiely fixable).

I think, as cross platform availability is a big selling point, installation on the most popular Linux Distribution should be so easy that a child could do it without any additional reading material. The current Windows installer is amazing at that. Installation on all systems should be that easy and painless.

Another thing is, when I showed a friend of mine Lazarus, he was out when it took me like half an hour to configure lazarus with docking and all of that stuff that you get by default by other IDEs. It has gotten better, with a servicable default layout once you install Anchordocking, but there are still a few crucial things missing, like you manually need to open up the callstack and the local variables view, as well as (on Unix) the Console I/O window. Also that you need to interact with the package system and the Lazarus self compilation before you write your first line of code isn't a big plus either.
My friend literally never used Lazarus afterwards because he thinks (how I will leave it to the reader to evaluate how true this is), that with that much effort I just needed to get the basic setup, if he ever runs into problems or has to/wants to change something, he would need to call me up.

Also Lazarus with Anchordocking still regularly crashes on Linux. This is not a problem once everything is setup, but the first hour (depending on how much it crashes maybe even 2) of making the IDE to look like I want is really painful.

I think our main goal is to, on all major platforms have a very simple flow of: Download -> Install -> First run with basic configuration (should look servicable and pretty afterwards) -> Create Hello World example -> Run Example

And don't get me started about project management. You can create really powerful Project settings with different build modes and so on, but it takes a lot of patience and basically the first hour of every larger project I do is just setting up a workable project infrastrcuture, with debug and release builds, tests, setting up dependencies etc.
To this day creating a simple CI/CD pipeline is still quite a pain (at least when you have OPM dependencies). But those are all more "advanced" Problems, first I think the basics should be going seamless.

I know that the development team is very busy with all they are doing currently as well as probably also having a real life and a day job. But if there is one thing where I think the work input would be utilized best, it would be to, rather than developing new features, to make the first time (or first few times) user experience as seamless as possible.

Swami With The Salami

  • Guest
Re: Are We Dead Yet?
« Reply #65 on: May 16, 2023, 07:34:12 pm »
Quote
Perhaps promote it as a teaching language for beginners.

Of course, that's exactly what it is!

Here's a PDF file entitled "RECOLLECTIONS ABOUT THE DEVELOPMENT OF PASCAL" by Niklaus E. Wirth:

https://dl.acm.org/doi/pdf/10.1145/234286.1057812


I started with Turbo Pascal 5.5 in 1988 - the first one with OOP. Yes, I am that guy, everything must be OOP.

Everything eventually dies. Who knows? I may be dead already!



Leledumbo

  • Hero Member
  • *****
  • Posts: 8741
  • Programming + Glam Metal + Tae Kwon Do = Me
Re: Are We Dead Yet?
« Reply #66 on: May 17, 2023, 08:41:32 am »
Some people complain about Lazarus having a separate floating piece where the control palettes are at top but I like that.

There definitely should be more code put into the installer to detect what kind of system the ide was installed on.
A selection whether one wants AnchorDockingDsgn + DockedFormEditor preinstalled or the default floating would be nice, at least if we want to serve the current generations. They're not as explorative as older programmers and demand convenience. I believe there's no right or wrong in this regard, simply a choice.

nanobit

  • Full Member
  • ***
  • Posts: 153
Re: Are We Dead Yet?
« Reply #67 on: May 17, 2023, 09:30:33 am »
I would go further: Since only the docked layout is able to be used on every screen, it should be the default.

Warfley

  • Hero Member
  • *****
  • Posts: 1498
Re: Are We Dead Yet?
« Reply #68 on: May 17, 2023, 09:49:46 am »
When looking at other IDEs like the JetBrains Family or Visual Studio, they are (like Lazarus) highly configurable. How they solve it, on first start, a wizzard opens, where you can select between docked or floating, different color schemes, and maybe also the option to install some commonly used packages, maybe even the ability to setup different cross compilers.

Also Lazarus configurations should be exportable. How can it be that every time I install lazarus I have to spend an hour getting my default layout, packages and color settings setup? But thats again a different topic.

However if someone is using an ide for the first time I think they have a responsibility to explore all the menus and get familiar with it.
When we talk about for example a Docked IDE, there are so many traps on your way to that that probably no beginner will just find it by exploring. You may find the "Manage installed Components" window, but there you are just dumped with two extensive list of Items, most of them have nothing more than a name, an author and rarely a description. At this point the User may not even know what a "package" actually is. In other Languages and toolchains a package is just a code library, while in Lazarus it can also be addons to the IDE.
But even worse, many of the items in these lists are traps. Some packages don't work together (e.g. Sparta Docked Form Editor and Docked Form Editor), others may require compile time dependencies, or even worse runtime dependencies.
When you install the sqlite3 package but do not have the sqlite3 library installed (or on Windows the DLL in your Lazarus folder), your Lazarus will happily compile, and then when you try to start it simply crash on startup and you can't start it anymore, with the only solution being to manually rebuild the IDE using the command line "make" to build without additional packages.

So when a user actually explores the IDE to the degree that is required to get the Docking to work, there are so many traps that in the best case their Lazarus doesn't compile anymore, in the worst case they completely brick their IDE rendering it completely unusable, which in most cases will result in Lazarus being immediately uninstalled.

You can't (and don't want to) expect a new user to discover and understand the package system.
This is why I think there should be an easy to use install wizzard for some more commonly used packages. Like docked IDE, WebLaz, OpenGL/GameDev, etc. as a list of curated options with a nice description and maybe some images on how this impacts the IDE.

As an example from Visual Studio, when you first Install it you can just choose from a list of things like "C++ Desktop Development", "C# Mobile Development", "Web Development", etc. Underlying these are multiple addons, libraries and packages, that you can also install in an expert wizzard one by one, but with these curated collections of addons, a beginner can say "Yeah I want to do mobile development" without having to know what the Xamarin Forms package or .Net Core for Android is.
« Last Edit: May 17, 2023, 09:51:50 am by Warfley »

alpine

  • Hero Member
  • *****
  • Posts: 1020
Re: Are We Dead Yet?
« Reply #69 on: May 17, 2023, 11:20:25 am »
I completely agree with Warfley, there are several things in Lazarus difficult or actually repelling for the beginners.
I have pointed some of them (in addition to what is already said) in my previous posts.

https://forum.lazarus.freepascal.org/index.php/topic,54192.msg402448.html#msg402448
https://forum.lazarus.freepascal.org/index.php/topic,60361.msg451149.html#msg451149
these are for educationlaz package, which i've found to be very useful but unfortunately it is not working any more with the contemporary versions.

Also, it may sound silly, but the lack of a dark theme and more pre-installed syntax color templates is also a factor. And the latter can be fixed quite easily. The importance of such things should not be underestimated when it comes to youngsters accustomed to shiny interfaces and strong visual integration of gaming platforms. Lazarus simply looks outdated to them, despite all its advantages.

After all it is all about the first impression and with what they will start (noted in many of the above posts).
"I'm sorry Dave, I'm afraid I can't do that."
—HAL 9000

Warfley

  • Hero Member
  • *****
  • Posts: 1498
Re: Are We Dead Yet?
« Reply #70 on: May 17, 2023, 11:53:03 am »
Also, it may sound silly, but the lack of a dark theme and more pre-installed syntax color templates is also a factor. And the latter can be fixed quite easily. The importance of such things should not be underestimated when it comes to youngsters accustomed to shiny interfaces and strong visual integration of gaming platforms. Lazarus simply looks outdated to them, despite all its advantages.
I must also say that the default syntax highlighter is so depressingly colorless, which is why a few years ago I created my own, a bit more colorful syntax highlighter which I use ever since. I also have custom colors for the object inspector as this gray, dark red and dark green colorscheme also looks a bit depressing.

With respect to the dark theme, I think the main problem here is actually just the Windows Forms API, in that you have some controls you can't change (e.g. scrollbars). And having some parts custom themed while others are default themed is worse than having no dark theme at all. There is this saying, make it bright if you want to look easy and inviting, make it look dark if you want to seem pro. But it can only look pro if it looks well designed, if there are elements which are not fitting in the theme, the software may not look inviting and even amateurish. I don't think there is necessarily a need for a dark theme, as long as the bright one looks inviting and clear. On Linux with GTK and QT dark themes are looking really well (and I also have a custom syntax highlighter for them).

And it's not that there is no other color schemes available. If I remember correctly there is a wiki page with editor schemes. Maybe just have a browser for those schemes be built in the IDE so the user can download and install them one click (either in the options or during initial setup).

Maybe I'm going and try to build a proof of concept setup wizzard this weekend, this discussion has sort of fixed me on. Because many of those things shouldn't be hard to do

alpine

  • Hero Member
  • *****
  • Posts: 1020
Re: Are We Dead Yet?
« Reply #71 on: May 17, 2023, 01:24:00 pm »
Dark theme: Have installed https://github.com/zamtmn/metadarkstyle It looks decent.
"I'm sorry Dave, I'm afraid I can't do that."
—HAL 9000

avra

  • Hero Member
  • *****
  • Posts: 2511
    • Additional info
Re: Are We Dead Yet?
« Reply #72 on: May 17, 2023, 01:43:59 pm »
When you install the sqlite3 package but do not have the sqlite3 library installed (or on Windows the DLL in your Lazarus folder), your Lazarus will happily compile, and then when you try to start it simply crash on startup and you can't start it anymore, with the only solution being to manually rebuild the IDE using the command line "make" to build without additional packages.
There is another solution, although not beginner friendly either. You delete Lazarus.exe and rename Lazarus.old.exe to Lazarus.exe and then start Lazarus as normal. Afterwards just uninstall the problematic package, rebuild IDE and you're back in business.
ct2laz - Conversion between Lazarus and CodeTyphon
bithelpers - Bit manipulation for standard types
pasettimino - Siemens S7 PLC lib

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Are We Dead Yet?
« Reply #73 on: May 17, 2023, 02:53:13 pm »
I know that the development team is very busy with all they are doing currently as well as probably also having a real life and a day job. But if there is one thing where I think the work input would be utilized best, it would be to, rather than developing new features, to make the first time (or first few times) user experience as seamless as possible.

This is a very good point.  A focus on this aspect of the tool would go the longest way to providing all the benefits that are often touted when the "if only we had this feature" discussions come up.

To be clear, I agree with the premise of this post from principle, because I have no direct experience with the difficulties mentioned, as I have only ever deployed and used Lazarus and FPC on Windows systems -- both with the native installer, and with FpcUpDeluxe.
-ASB: https://www.BrainWaveCC.com/

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

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

ASBzone

  • Hero Member
  • *****
  • Posts: 678
  • Automation leads to relaxation...
    • Free Console Utilities for Windows (and a few for Linux) from BrainWaveCC
Re: Are We Dead Yet?
« Reply #74 on: May 17, 2023, 02:57:11 pm »
Oftentimes people who make excuses not to do things {such as using Lazarus }simply don’t want to do them . Even if all the “shortcomings” were fixed the6 would simply make some new ridiculous excuses. It’s best to concentrate on making software easier to install and use and people will come try it if they want to.

My thoughts exactly.

Better to put real effort to lowering the barriers to using the software, and let the people who are willing to test and try things themselves, decide if they like or do not like the language and the environment.
-ASB: https://www.BrainWaveCC.com/

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

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

 

TinyPortal © 2005-2018