Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-other / 2009-03

Re: fpc-other Digest, Vol 24, Issue 1

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Richard Ward
Michael Fuchs wrote: The Lazarus IDE is too much for beginners.
Nikolay Nikolov wrote 8 lines
What's the problem with starting with Lazarus directly and teaching your students how to setup a project with a single file: -start lazarus -choose File->New... -select Project->Custom Program -close the object inspector, because you don't need it

------

In my comments following here I'm not out to knock Lazarus but to highlight the simplicity of Ingemar's Macintosh IDE and Michael's statement about Lazarus being too much for beginners. Lazarus was not designed with _utmost_ simplicity in mind and we (at least I was) are talking about a FIRST course in computer science or someone picking up a book on programming for the first time.

I have been putting off doing anything with Lazarus so I figured this would be a good time to try it out.

* First, Lazarus opens up with a template text file window for a unit as well as the object inspector. You need to get rid of both those windows but the beginning user gets a glimpse of complexity.

* Second, that "New File" command presents one with a long scrolling list of nested possibilities and "Custom Program" is well down the list and it would be tempting _for a beginner_ or anyone to select "Program" rather than "Custom Program." Why is a beginner making a custom program she would wonder?

* Third, the student must then wonder and possibly erase the unused and confusing statements which show up in the template.

program Project1;
{$mode objfpc}{$H+}

uses
Classes, SysUtils

   { you can add units after this };
begin
end.

This is fine for most people who already know Pascal _and_ FPC but time is wasted having to mention anything about it when it is not needed.

* Fourth, I then have to figure out how to run the program. This is easy enough to figure out, but when I finally type out my hello world program and select the run command, I don't have an output window to see and am presented with a dialog alert with the text "execution stopped." So, you have another step to figure out how to set up a default console output window or pane.

* Fifth, just for fun, I tried "step in" to pull up the debugger and got no indication in the source where the program was at.

OK, these next two are actually bugs and not directly relevant to my argument - but since I personally think Macs are better for beginners in general, and FPC/Lazarus is cross platform, I'm going to include them.

* Sixth, there is a problem with the display of text on the version I have running on the Macintosh. Many of the characters aren't spaced properly, many of the last characters on a line do not display and the text insertion cursor has problems getting to exactly where you want it.

* Seventh, the Mac version deviates from the standard mac interface in a few ways but the most problematic is using the control key rather than the command key for menu key equivalents. Besides being confusing for the mac user, it is even more confusing when having to remember to copy text with the control key and then paste it into the email with the command key as I needed to do with that template program text.

Lazarus looks interesting though and I'm curious to figure it out :)

Anyway, let's look at the same process under Ingemar's Light Weight IDE.

* First, the only window which appear are the compiler error message and the console window. No need to close these.

*Second, we need to select "New" from the file window which is the first menu item and brings up a blank text edit window.

* Third, we need to type in our first program:

program helloworld;
begin
   writeln('hello world');
end.

That is all that is required. no extra "stuff."

* Fourth, we select run and to program execute and it asks us to save the "untitled" file first, then runs and produces the expected result in the message window. The second and remaining times we run the program, there is no need to manually save the program if we select "save source before running preference."

* Fifth, stepping into the debugger provides actual information as to where the program is at. The debugger is not complete but it does show show where the program is stopped at in the source code and provides a window where you can monitor local variables and parameters.

* Sixth, when it is time to learn about units, and multiple files, LW IDE figures out all of the paths from the source file uses clauses (unless you have set up complex paths which a beginner would not do) and one doesn't have to worry about makefiles and too much about compiler line parameter options.

Again, not trying to sell LW IDE but just illustrate why I think it would be good for beginners to learn on.

Now, having spent 10 minutes with Lazarus, I'm thinking it would be nice to have a menu to be able to select from various templates to jump start one's editing.

On Apple's iTunes University there is at least one video course which was taped using Java on a some kind of semi interpretive development system. There was a lot of extra "stuff" which had to be explained before one could attempt to run the program to output a simple text string. The lecturer was engaging and interesting to listen to, but he spent a lot of time "we'll get to that bit later." In my opinion, that is wasting time and confusing for everyone. Implementing something similar on windows or other platforms like Ingemar has done, shouldn't be too difficult I'd imagine. Whether it is worth the effort to target the education market is another matter which can be argued. If it is a desirous goal and I think it is, then the right product/tool needs to be created/used. -R

Jonas Maebe
to Richard Ward

Richard Ward wrote on do, 12 mrt 2009:

Show quoted text 8 lines
* Sixth, there is a problem with the display of text on the version I have running on the Macintosh. Many of the characters aren't spaced properly, many of the last characters on a line do not display and the text insertion cursor has problems getting to exactly where you want it. * Seventh, the Mac version deviates from the standard mac interface in a few ways but the most problematic is using the control key rather than the command key for menu key equivalents.

It appears you have Lazarus 0.9.24, which was based on X11. You may want to install Lazarus 0.9.26, as has a more native interface, including the use of the command key for shortcuts and better drawing of the text. It's not completely there (there are still quite a few glitches, and many buttons are non-standard or differently placed than in other programs), but it's much better than 0.9.24.

Jonas

---------------------------------------------------------------- This message was sent using IMP, the Internet Messaging Program.