About two years ago I started piecing together a book on FreePascal based on my 1992 Bantam book, Borland Pascal 7 From Square One. I set the project aside in part because I needed to get my assembly book updated and back into print–something that took most of a year and all of the personal energy I could summon. But there was another problem: The text-mode IDE included with FreePascal is erratic in the extreme, and crashed constantly on me, especially under Windows. I had hoped that there was an easy fix, but apparently not. I installed the new 2.4.0 release of FreePascal yesterday, and the IDE hasn’t changed a bit. Try to set the text display resolution to anything at all (25 X 80, 43 X 80, whatever) and it crashes. One wonders why the damned thing is still there.
I’ve been following the Lazarus project since it had been the Megido project, back in 1998. The idea was to create an open-source alternative to Delphi, by writing a GUI front end for FreePascal. It’s possible to create ordinary console apps in FreePascal using Lazarus as the IDE, but I hesitated to use Lazarus as the example IDE in the book because it’s only available for Windows, Linux, and FreeBSD. (There’s a Mac port, but I’ve heard it’s less complete and much less robust than the others.)
Pascal and VDM readers, feel the irony: Jeff Duntemann hanging back from a RAD environment because he’d hoped to have a more broadbly applicable (read here: portable) book. Wow.
Heh. I changed my mind. I’ll have to go back to the beginning and pull out all the references and screenshots involving the text-mode IDE, but Lazarus is a much better IDE, even if you’re not actually doing any RAD work….yet.
“Yet” is key. If this first book works out, I hope to adapt some of my material from The Delphi 2 Programming Explorer into an intro book for Lazarus as a RAD tool. So getting readers familiar with the editing and project management machinery built into Lazarus is a good thing, even if the bulk of the app goes to waste while people learn the fundamentals of Pascal.
I’m going to try something new with this book. I’m going to pull a Cory Doctorow and give away the complete PDF version for free, and sell the printed version on Lulu. The book will be yet another descendant of Complete Turbo Pascal (in fact, it will in essence be the 25th Anniversary Edition!) and I’ve been paid for the work many times over. So I won’t be losing much by giving it away, and I’m very curious to see how many paid print sales I’ll make based on a free ebook.
Most of the work lies in the early chapters, where I introduce people to the Lazarus RAD environment. After that, well, it’s all basic Pascal, and while Delphi has extended Pascal fantastically in the last fifteen years, CASE statements are still CASE statements.
Unlike my earlier books, I intend to post regular PDFs of the work in progress, so you can follow the project as it happens. (There’s a 2008-era PDF out there now, and you can get it from my FTP area using HTTP.) I’ll post an updated PDF as soon as I untangle all the existing references to the text-mode IDE. Watch this space for more details.
I remember using Turbo Pascal quite extensively about 20 years ago, and I used Delphi quite extensively for about a year about 8 years ago. I hate to say it but if Pascal ever had a window of opportunity I think its past. BTW do they still make Delphi? I heard there was a free version from Inprise some years ago. Also has anyone gotten Free Pascal integrated with Eclipse?
They were both pretty decent products, but the world has moved on. These days all of the desktop development jobs are in C#/.NET and J2EE pretty much taking whats left. Frankly if you want to do Windows development VS 2008 is very hard to beat.
Anyway, like your diary, I remember regularly purchasing PC Techniques back in the day and always enjoyed your editorials and book reviews. It was a great magazine.
Take care.
Chris,
“These days all of the desktop development jobs are in C#/.NET and J2EE pretty much taking whats left.”
That mindset is one of the things that will make such a book even more valuable. Believe it or not there are still Pascal projects out there. A couple of years ago I was talking to a company about helping them with their flagship project written in Delphi. And for people without an existing code investment this may help to break some developers out of the popularity feedback loop.
“Frankly if you want to do Windows development VS 2008 is very hard to beat.”
Windows development isn’t what it used to be. It’s still very important, of course. But applications living on the internet have given many people an expectation of being able to run software on their OS of choice, and I expect that trend to continue. Cross platform is now both more important and easier than ever before.
FYI, when people fly in for a meeting where I work there are a lot of Macs. And many (most?) of the people are also familiar with using Linux as well.
Okay I’ll bite.
“That mindset is one of the things that will make such a book even more valuable.”
Well its the markets mindset. Why is the market wrong?
“Believe it or not there are still Pascal projects out there. ”
I’m sure there are lots of Delphi apps out there. I’m sure there are even Turbo pascal apps out there.
But let me put this to you:
Can you name 5 features in Pascal that are not already in C# or Java? How about 3? Things significant enough that someone actually decide to forgo the popular choices and chance a million+ bucks (a trivial amount of money in development, much less marketing) on Pascal instead of the popular safe choices which have thousands of developers ready and willing to go.
Talk to me as a businessman, why is it worth taking the risk. Where are the dollars to be saved?
“Windows development isn’t what it used to be.”
As a desktop software developer 89% of your potential customers are Windows users.
“But applications living on the internet have given many people an expectation of being able to run software on their OS of choice, and I expect that trend to continue”
I disagree, how many business are asking employees to use Google office to do their corporate spreadsheets? Second you say many, but you provide no links to studies on this. I know the companies who see more $ in cloud computing are pushing this idea, but who else is? Its the solution to the problem nobody seems to have.
But back on point why is Pascal better than Java in this regard? In cloud computing you can implement the server side in anything you want, typically C++ for speed. On the client side its expected the thin client will run in a browser, thus your choices are a Java applet or ug, ASP .NET.
So far as I can tell Free pascal seems to be a cross compiler (like GNU C) not have its own RTE like Java. So how is it an advantage in cloud computing?
“FYI, when people fly in for a meeting where I work there are a lot of Macs. And many (most?) of the people are also familiar with using Linux as well.”
First I like Linux just fine I spent 4 years doing embedded Linux work.
Second the numbers don’t back you up. See the link below. Looks like 11 percent combined.
http://www.w3schools.com/browsers/browsers_os.asp
To be fair, I’m sure there are a fair number of iPhone users, who are not included in the above survey. But for reasons below, this does not support your argument any better.
Third why wouldn’t cross platform developers just do the development in Java or C++/GTK? Apple developers on both the iPhone and Mac use Objective C (and Java) pretty much 100%. And Linux uses Eclipse/GnuC/C++ and GTK+ (and again Java) close to 100%.
Also GNU C/C++/GTK can be cross compiled to run on all three platforms(Linux, OS X and Windows) already and has been proven many many times. And Java will run on all three without even needing to be compiled.
So back to the original point why is the market wrong? Where does Pascal find its angle?
“…its the markets mindset. Why is the market wrong?”
I think we have a different ideas of what the market comprises. You keep mentioning desktop development as if it’s pretty much the whole development world. For the last decade desktop development has been the minority of what I’ve been doing, and I have to stress I have not been working for dot coms. And the desktop work I have done has largely been talking to servers. I’m not alone here: this is a shift in the market.
“Can you name 5 features in Pascal that are not already in C# or Java? How about 3? … But back on point why is Pascal better than Java in this regard?”
Maybe, but I’d sure have to dig, and even so it would be something esoteric. I do really miss object properties when I use C++, but such things really aren’t relevant in this context. I think there’s a market for such a book, and that having said book would be a good thing.
This reminds me of a mailing list thread about which source control software to use. It began with a simple question asking about the profusion of choices. Various people, including me, chimed in with pros and cons of software they’d used. It was all very informative and interesting. But one person took it on himself to then *defend* his software of choice against all comers, matching features, market/mind share, size of community, et al. He wanted his choice to *win*! That wasn’t appropriate.
The value I see in Jeff’s proposed book is not that it should convert the market to using Free Pascal. It’s not about scoring a *win* for Free Pascal. It’s about providing a nice, informative book for people who liked Borland’s Pascal products and/or have existing code.
“First I like Linux just fine I spent 4 years doing embedded Linux work. … Second the numbers don’t back you up. See the link below. Looks like 11 percent combined.”
Why would I look there when I can glance in the meeting room and see all the glowing apples on the laptop lids? How would it go over if I told them we’re only supporting Windows because that’s what the market decided?
The truth is that “the market” is really multiple overlapping markets. Tech pundits are telling me that the phone IS the computer now, and that’s just absurd for many market segments. Once you have the mindset of “THE market” only the majority counts. That viewpoint works well enough for a lot of people, but it’s not the total picture for computing or software development.
I really don’t want this to be a contentious discussion, Chris. You make some very valid points, and I think I do also. For many of these points we can both be right sometimes, in some market segments.
Darrin’s right here: Pascal (irrespective of implementation) will never “win.” On the other hand, it’s not dead by any means, and the market (however we want to define “market”) is more than big enough to include Pascal, as well as all the other new languages (which to me seem indistinguishable from C, or maybe Java or Python) that I read about every other week on Slashdot. Having a good intro book on a language is essential, and I just happened to have a Pascal intro book lying around doing nothing since 1995 or so. My goal is to give people who are interested in Pascal a “front door” to the skills they’ll need to program in it. I recognize that it won’t be a huge crowd, but I made my money on that book long ago, and giving it to people who might be interested seemed like the right thing to do. If it helps Pascal survive, then I’m happy.
Jeff,
“After that, well, it’s all basic Pascal…”
Well, which is it? Basic or Pascal?
I look forward to seeing how this progresses. I recently “ported” a Delphi app to Lazarus on Ubuntu to try it out. The app is a simple, single form, file copy utility so it wasn’t much of a test for Lazarus (no database stuff in there). I was surprised I only had to change three lines of code to make it compile in Lazarus. Too many other irons in the fire to explore Lazarus further right now but I’ll definitely follow your work on the book.
One of the big problems porting anything from Delphi is that most of the libraries aren’t available for Lazarus, whether originally from Borland/Embarcadero or third parties. I own a small fortune in Delphi libraries, none of which will install in Lazarus. I’ve seen what you’ve seen pretty much: Small, simple apps will port without a lot of trauma. Anything that makes any significant use of third-party libraries is either hosed or requires duplication of those libraries, which in most cases just won’t happen. So as similar as the two products are conceptually, I don’t foresee a huge amount of code moving from one to the other.
Stay tuned. The PDF version of the book will be free, and I’ll release regular updates as I work on it.
[...] described my FreePascal from Square One book project in detail a couple of weeks ago, and I work on it as time allows. There have been some hangups; in [...]
Jeff, I am delighted to learn that you are preparing a book on Lazarus/FreePascal.
I was searching to see if such a book exists and stumbled onto your site. You have wriiten some great books in the past, so it’s great that you are the one writting a book on Lazarus/FreePascal.
I use Delphi at work (plus Oracle PL/sql). But am just a Lazarus dabbler. If you need a beta-reader, I’ll work for free.
Any idea when the book will be out?
Thanks.,
Tom