I give details of three good free Pascal compilers further down the page.
- - - - but I've become excited about the Arduino of late. It uses a C-like language, but if you can program in Pascal, you can program in the Arduino language. You say "goodbye" to the finger- annoying ":=", but "hello" to anm equally annoying "/*", and semicolons remain a "little joy" to stay on top of.....
For the Arduino: Besides these tutorials, I've started a series of "How To" articles which you can dip into at random.
Also for the Arduino, I have an alternative, "quickstart" guide. The alternative guide is written for people who already know something about programming.
For the Arduino: You may want to go to the main Arduino site, www.arduino.cc if you haven't been there before.
Lastly, please someday visit the introduction and guide to the site these tutorials are part of, if only for the site search button!
FPC Pascal: I discovered the delights of FPC Pascal, aka Free Pascal, aka FPK Pascal in June 2007. While I may have to come back to this page and eat (or at least revise) my words, I strongly suspect that this is your best bet for an introduction to Pascal in a easy- to- use environment. I've written a separate page about its virtues, setting it up, and a small test program you can use to see the installation went okay. I will be very disappointed if this Pascal is not capable of serious work. It is the basis of the Lazarus Project, which may be a "free Delphi"... i.e. a GUI for producing Windows and Linux applications. (I only say "may" because I haven't tried it. It looks promising.)
I will be working through the tutorials on this site, doing FPC versions of them for you because I like this open source product so much.
Borland Turbo Pascal: Traditionally, we used Borland's Turbo Pascal as the industrial strength, de facto "standard" Pascal. You can obtain a free copy of the powerful version 5.5, but it does come from "pre-Windows" days, and is less "Windows friendly"... although it, and the applications it produces, will run, in MS-DOS windows. I have prepared a separate page about installing Borland's Pascal, (with a first project, to test the installation). That is written primarily for XP users, but it will work... probably better... on earlier Windows, too.
Pascalite: Pascalite compiler: While less widely supported than the other two, less "powerful", this one has some special strengths arising from the fact that there is a microcontroller available which is designed to run Pascalite code, and Pascalite is equipped with special commands to access the microcontroller's inputs and outputs, which include ADCs and counters.
Recommendations: If you have not done much programming, or much Pascal programming before now, perhaps you should start with FPC Pascal, or Pascalite, and move on to the Borland product should your needs require it. FPC Pascal and Pascalite work more easily under Windows, and is easily un-installed if you grow beyond it's strengths.
This site offers you a sequence of lessons which should help you master prgramming the Arduino in its version of C, or master Pascal programming. You don't need to pay for a compiler: the tutorials can be followed with any of the free Pascal compilers, or wiht the free software that comes with Arduinos. All run on Windows, from Win98* to XP, and maybe Vista. Two (FPC and the Arduino) can also be used on Linux boxes ('Ray!) and Macs. Thus, the material should be of general use. Feel free to use the tutorials in programming courses, but a credit of the source would be appreciated. (*I haven't checked the Arduino's ability to run on Win98, sorry!)
You can follow two threads through the tutorials. One is for users of Free Pascal, aka FPC. That thread will also help users of Borland's Turbo Pascal. The other thread is written with users of the Pascalite in mind.
If you follow the Pascalite thread through these tutorials, you do not have to have the Pascalite hardware to do most things in these programming tutorials. IF YOU DO have the hardware, especially if you have just obtained it, PLEASE have a look at my Using the Pascalite Hardware It has details of how to access various features of the splendid Pascalite.
Pascalite is two things: A Pascal software programming package which you can download for free, and an inexpensive microcontroller, which is remarkably capable. The software includes not only the compiler, but also a splendid integrated working environment including editor, debugging tools and simulation of the Pascalite hardware. The download was only 482kb in late 2002, but don't be fooled into thinking that it can't be very capable in so "few" bytes. It simply wasn't written at Microsoft.
Click here to visit the Control Plus site, which gives away the software and sells the hardware. By the way, this site and the tutorials were created without payment from or affiliation to Control Plus. I just thought the product deserved publicity, and liked the fact that I could teach Pascal without requiring expenditure by my pupils. I have also done an overview of the Pascalite for you.The exercises work exactly as presented if you are using Pascalite. However, it (mostly) obeys the rules of any good Pascal and they will need little modification to run in other dialects of Pascal.
What you learn here will help you if you ever set out to learn Delphi, the outstanding way to program Windows. It will also help you if you set out to learn Kylix, which is virtually "Delphi for Linux".
Delphi is a much under-rated programming tool for Windows, and it has, hurrah, recently become reasonably available to hobbyists again. See my Delphi Tutorials site for more information on these matters.
The pages about Arduino programming were started in February 2008. I don't know much about the Arduino yet, and I don't have a lot of time to work on this right now, and it is programmed in a totally non-Pascal language!
So what IS here, and WHY!
What is here is a start. I hope to build it up in the months ahead. We'll see what enthusiam is shown.
I'm doing this because I think the Arduino is a great product. I like the support it already has, and hope to see it go from considererable strenght to even greater success.
I say that on the basis of working with computers since 1968, and as someone who taught for twenty years. I don't yet say it on the basis of extensive experience with the Arduino.
Why is my Arduino material on my Pascal page? Because the Pascal page grew from my work with the Pascalite microcontroller. The Arduino is suited... better suited... to the same things that a Pascalite is good at. The differences look huge to a neophyte, but, in regard to the device's function, there are great similarities. Doing the Pascalite things the Arduino way is mostly a matter of different vocabulary and punctuation. If you were in charge of a team building a garden shed, the job would be much the same in New York as in Madrid. You'd have to uuse a different language, but the underlying job would be the same.
I hope you will bear with me as the Arduino pages here come online. Not because I want the glory, but because I hope that you will find them useful! By all means go to Google, if you don't... there are plenty of other places to find out about the Arduino, and you don't want to miss out on that, I assure you!
I've also produced a Getting Started guide for the Arduino.
(If you think microcontrollers seem pretty cool, but you're not sure that the Pascalite or the Arduino is what you need, my introduction to microcontrollers might be just what you need!)
I dislike 'fancy' websites where there's more medium than message.... especially if that means I have to wait while multiple little items get downloaded. For a pretty picture, I can go to an art gallery. (Of course an attractive site with content deserves praise... as long as that pretty face doesn't cost download time.) In any case....
I am trying to present this material in a format which makes it easy for you to USE it. There are two aspects to that: The way it is split up and the way it is posted.
I have tried to split it up into 'bite-sized' pieces and to indicate which pieces are basic and of general importance, and which address more specific issues which may also be more complex, or require prior understanding of other issues. In other words, I try to show you how to walk before running. The 'Level 1' tutorials cover the basics. If you have no experience, start with the level one tutorials. If you decide to jump in at a more advanced level, and things are not clear, it might be an idea to skim the level one topics if only to learn about my way of expressing the concepts.
They will be opened in new windows, so use your tabs (Opera, Firefox), or just close their windows (IE) to get back here.
(Please do not ask me to list your page here unless your page already has a link to my page, and your page has been up for at least two years. (And I can confirm that with the WayBack Machine.))