TweetFollow Us on Twitter

Pascal Arrives
Volume Number:1
Issue Number:1
Column Tag:Pascal ARRIVES

Pascal ARRIVES

By Chris Derossi

Well, after waiting and waiting and waiting, Macintosh Pascal has finally arrived, and with its arrival, Mac users now have a serious high-level language for programming on the Macintosh. This column will help the users of Macintosh Pascal both to learn about Mac Pascal, and to learn how the wonderous abilities of the Mac ROM can tie into Mac Pascal for creating powerful and useful programs.

For this opening column, we’ll be taking a general look at Pascal, and we’ll see how you can get started right away learning how to use your Pascal to the fullest. Let us start out by examining the contents of your Pascal package.

The documentation is in three separate parts, with each section contained in its own little booklet. The first, and smallest book contains the standard instructions for using the normal Macintosh User Interfaces, to which Mac Pascal conforms. For experienced users of the Mac, this book will be of very little help; you already know all about clicking, dragging, and editing with the mouse. For the less experienced user, this book will teach you what you need to know in order to get started with Pascal right away.

The most important part of this book is the section which describes the use of the Observe and Instant windows. This is the only explanantion of these windows found in the documentation. As we get further into Pascal, the importance of these windows will grow.

The booklet titled “Pascal Reference Manual” is an important tool for beginners and experienced programmers alike. Although it is not a tutorial, it does contain the entire syntax specification for Mac Pascal. Its primary use is as a look-up reference. New Pascal programmers may wish to go through the manual to get a general feel for the language, but as I’ll discuss shortly, more can be learned by studying the example programs supplied with Mac Pascal.

The final book, “Macintosh Technical Appendix”, is probably the most useful manual included. This manual describes the differences between Mac Pascal and both Lisa Pascal and ANS Pascal. In addition, this book has detailed information on two important areas of Mac Pascal: QuickDraw and SANE. Both of these will be covered in detail in further issues of MacTech.

Unfortunately, none of the documentation included with your Mac Pascal goes into any depth in the area of the Mac ROM, except for the QuickDraw section which is really more concerned with mathematical concepts. To learn about the language, and find out its limitations and its capabilities, we will be exploring a large variety of topics in this column. To begin with, however, a good source of information can be found in the example programs contained on your Pascal disk.

The Pascal disk contains a number of interesting programs that demonstrate some features of Mac Pascal. As you’ll notice, most of the examples contain graphics, but some of them display the ability of Mac Pascal to do things like change window size, modify the cursor, interact with the mouse and the keyboard, and perform file I/O. Indeed, Mac Pascal has a wide range of abilities. Although many of the procedures and functions used in the examples are not clear, browsing though the included examples is a good way to get a feel for the power of Mac Pascal, and an idea of the range of functions available.

The other item that is included with your Mac Pascal disk is a second Mac Pascal disk. This is an exact copy for backup purposes. The backup disk is included because Mac Pascal is copy protected. The diskette cannot be copied, and the Pascal file cannot be moved to any other disks, including hard disk drives. The files, on the other hand, can be moved and should be copied.

Now that we’ve examined the things that are contained in your Mac Pascal package, let’s say just a little bit about the interpreter itself. Before Mac Pascal, Pascal programs were compiled. That is, the Pascal program was written into a text editor. Then, the Pascal compiler read the program text and converted it to a form that the computer could execute. The machine executable version was called object code, and the original text version was called source code.

If a program was to be modified, the text of the program had to be changed, and then the whole thing had to be compiled again. This could take lots of valuable time. On the other hand, the object code, since it was usually directly executable by the computer, ran very quickly. Macintosh Pascal, however, is not compiled; Mac Pascal is interpreted.

When we say that Mac Pascal is interpreted, we mean that the program is enterred into a text editor which is part of the language interpreter. When the program is run, the interpreter reads the program and converts each line to an executable format. The individual lines are converted and run each time they are needed, and the converted lines are not kept available. This means that interpreted programs generally run slower than compiled programs. If the program is to be changed, though, it can be re-run immediately after modification. This decreases the amout of development time required .

In conclusion, Macintosh Pascal presents a useful and powerful programming environment for the Mac user. For the beginner, Pascal provides an excellent learning vessel, and for the experienced Mac user, Pascal provides a useable, structured interface to the internal magic of the Macintosh. This column will explore and enhance these qualities of Mac Pascal and will help you to better understand and take advantage of Mac Pascal.

program Benchmark;

{creative computing benchmark}

 type
  datetimerec = record
    year, month, day, hour, minute, second, dayofweek : integer
   end;

 var
  a, r, s : extended;
  i, n : integer;
  result1, result2 : extended;
  begintime : datetimerec;
  endtime : datetimerec;
  t1, t2 : longint;

begin   {of main program}

 gettime(begintime);
 for n := 1 to 100 do
  begin
    a := n;
   for i := 1 to 10 do
      begin
         a := sqrt(a);
         r := r + random
    end;
    for i := 1 to 10 do
      begin
        a := a * a;
         r := r + random
    end;
    s := s + a
  end;

 result1 := abs(1010 - s / 5);
 result2 := abs(1000 - r);
 gettime(endtime);
 t1 := begintime.hour * 3600 + begintime.minute * 60 +   begintime.second;
 t2 := endtime.hour * 3600 + endtime.minute * 60 +       endtime.second;
 writeln(‘time in seconds=’, t2 - t1);
 writeln(‘ accuracy=’, result1 : 20 : 18);
 writeln(‘ random=’, result2 : 20 : 18);

end.
 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Dashlane 6.2027.0 - Password manager and...
Dashlane is an award-winning service that revolutionizes the online experience by replacing the drudgery of everyday transactional processes with convenient, automated simplicity - in other words,... Read more
ffWorks 2.1.5 - Convert multimedia files...
ffWorks, focused on simplicity, brings a fresh approach to the use of FFmpeg, allowing you to create ultra-high-quality movies without the need to write a single line of code on the command-line.... Read more
Dropbox 101.4.434 - Cloud backup and syn...
Dropbox for Mac is a file hosting service that provides cloud storage, file synchronization, personal cloud, and client software. It is a modern workspace that allows you to get to all of your files... Read more
1Password 7.6 - Powerful password manage...
1Password is a password manager that uniquely brings you both security and convenience. It is the only program that provides anti-phishing protection and goes beyond password management by adding Web... Read more
EyeTV 4.0.0 - Watch and record TV on you...
EyeTV brings a rich TV experience to your Mac. Watch live TV on your Mac. Pause, rewind, and record whenever you want. EyeTV gives you powerful control over what you watch and how you watch it. Put... Read more
Tidy Up 5.3.7 - Find duplicate files and...
Tidy Up is a full-featured duplicate finder and disk-tidiness utility. Features: Supports Lightroom: it is now possible to search and collect duplicates directly in the Lightroom library. Multiple... Read more
Pinegrow 5.97 - Mockup and design web pa...
Pinegrow (was Pinegrow Web Designer) is desktop app that lets you mockup and design webpages faster with multi-page editing, CSS and LESS styling, and smart components for Bootstrap, Foundation,... Read more
BlueStacks 4.210.0 - Run Android applica...
BlueStacks App Player lets you run your Android apps fast and fullscreen on your Mac. Feature comparison chart How to install Bluestacks on your Mac Go to MacUpdate and click the green "Download"... Read more
WhatsApp 2.2027.10 - Desktop client for...
WhatsApp is the desktop client for WhatsApp Messenger, a cross-platform mobile messaging app which allows you to exchange messages without having to pay for SMS. WhatsApp Messenger is available for... Read more
Art Text 4.0.1 - $29.99
Art Text is graphic design software specifically tuned for lettering, typography, text mockups and various artistic text effects. Supplied with a great variety of ready to use styles and materials,... Read more

Latest Forum Discussions

See All

Clash Royale: The Road to Legendary Aren...
Supercell recently celebrated its 10th anniversary and their best title, Clash Royale, is as good as it's ever been. Even for lapsed players, returning to the game is as easy as can be. If you want to join us in picking the game back up, we've put... | Read more »
Steam Link Spotlight - Disco Elysium
Steam Link Spotlight is a feature where we look at PC games that play exceptionally well using the Steam Link app. Our last entry was Signs of the Sojourner Read about how it plays using Steam Link over here. | Read more »
Distract Yourself With These Great Mobil...
There’s a lot going on right now, and I don’t really feel like trying to write some kind of pithy intro for it. All I’ll say is lots of people have been coming together and helping each other in small ways, and I’m choosing to focus on that as I... | Read more »
Pokemon Go's July Community Day wil...
Pokemon Go developers have announced the details concerning the upcoming Gastly Community Day. This particular event was selected by the players of the game after the Gas Pokemon came in second place after a poll that decided which Pokemon would... | Read more »
Clash Royale: The Road to Legendary Aren...
Supercell recently celebrated its 10th anniversary and their best title, Clash Royale, is as good as it's ever been. Even for lapsed players, returning to the game is as easy as can be. If you want to join us in picking the game back up, we've put... | Read more »
Detective Di is a point-and-click murder...
Detective Di is a point-and-click murder mystery set in Tang Dynasty-era China. You'll take on the role of China's best-known investigator, Di Renjie, as he solves a series of grisly murders that will ultimately lead him on a collision course with... | Read more »
Dissidia Final Fantasy Opera Omnia is se...
Dissidia Final Fantasy Opera Omnia, one of Square Enix's many popular mobile RPGs, has announced a plethora of in-game events that are set to take place over the summer. This will include several rewards, Free Multi Draws and more. [Read more] | Read more »
Sphaze is a neat-looking puzzler where y...
Sphaze is a neat-looking puzzler where you'll work to guide robots through increasingly elaborate mazes. It's set in a visually distinct world that's equal parts fantasy and sci-fi, and it's finally launched today for iOS and Android devices. [... | Read more »
Apple Arcade is in trouble
Yesterday, Bloomberg reported that Apple is disappointed in the performance of Apple Arcade and will be shifting their approach to the service by focusing on games that can retain subscribers and canceling other upcoming releases that don't fit... | Read more »
Pixel Petz, an inventive platform for de...
Pixel Petz has built up a sizeable player base thanks to its layered, easy-to-understand creative tools and friendly social experience. It revolves around designing, trading, and playing with a unique collection of pixel art pets, and it's out now... | Read more »

Price Scanner via MacPrices.net

B&H Photo offers $200-$300 discounts on A...
B&H Photo has new 16″ MacBook Pros on sale today for $200-$300 off Apple’s MSRP, starting at $2149. Expedited shipping is free to many addresses in the US: – 2019 16″ 2.6GHz 6-Core MacBook Pro... Read more
Clearance 2019 15″ MacBook Pros on sale today...
Amazon-owned Woot is blowing out Apple refurbished, clearance 2019 15″ MacBook Pros starting at only $1579 and up to $950 off Apple’s original MSRP. According to Woot, “These MacBooks are Refurbished... Read more
Apple Refurbished iMac Pros available for $35...
Amazon-owned Woot is selling Apple refurbished 27″ 3.2GHz 8-Core iMac Pros for $3599.99 shipped. That’s $1400 off Apple’s original MSRP for this model. According to Woot, these iMac Pros are “Factory... Read more
Clearance 2019 13″ 2.4GHz/256GB MacBook Pro o...
B&H Photo has dropped their price on the clearance 2019 13″ 2.4GHz/256GB Quad-Core Silver MacBook Pro by $500 off Apple’s original MSRP to a new low of only $1299. Expedited shipping is free to... Read more
$219 Apple AirPods Pro are back at Verizon, s...
Verizon has Apple AirPods Pro on sale again for a limited time for $219.99 on their online store. Their price is $30 off Apple’s MSRP, and it’s the lowest price we’ve seen for AirPods Pro. Available... Read more
Apple’s $779 13″ MacBook Air deal returns to...
Apple has clearance, Certified Refurbished, 2019 13″ MacBook Airs available again starting at $779. Each MacBook features a new outer case, comes with a standard Apple one-year warranty, and is... Read more
$200 13″ MacBook Pro discounts are back at Am...
Amazon has 2020 13″ 2.0GHz MacBook Pros on sale again today for $150-$200 off Apple’s MSRP. Shipping is free. Be sure to purchase the MacBook Pro from Amazon, rather than a third-party seller, and... Read more
Deal Alert! Apple AirPods with Wireless Charg...
Sams Club has Apple AirPods with Wireless Charging Case on sale on their online store for only $149.98 from July 6, 2020 to July 9, 2020. Their price is $50 off Apple’s MSRP, and it’s the lowest... Read more
Xfinity Mobile promo: Apple iPhone XS models...
Take $300 off the purchase of any Apple iPhone XS model at Xfinity Mobile while supplies last. Service plan required: – 64GB iPhone XS: $599.99 save $300 – 256GB iPhone XS: $749.99 save $300 – 512GB... Read more
New July 2020 promo at US Cellular: Switch an...
US Cellular has introduced a new July 2020 deal offering free 64GB Apple iPhone 11 smartphones to customers opening a new line of service. No trade-in required, and discounts are applied via monthly... Read more

Jobs Board

Product Manager, *Apple* Commercial Sales -...
Product Manager, Apple Commercial Sales Austin, TX, US Requisition Number:77652 As an Apple Product Manager for the Commercial Sales team at Insight, you Read more
Physical Therapist Assistant - *Apple* Hill...
Physical Therapist Assistant - Apple Hill Rehab - Full Time Tracking Code 62519 Job Description General Summary: Under the direct supervision of a licensed Physical Read more
Operating Room Assistant, *Apple* Hill Surg...
Operating Room Assistant, Apple Hill Surgical Center - Full Time, Day Shift, Monday - Saturday availability required Tracking Code 62363 Job Description Operating Read more
Perioperative RN - ( *Apple* Hill Surgical C...
Perioperative RN - ( Apple Hill Surgical Center) Tracking Code 60593 Job Description Monday - Friday - Full Time Days Possible Saturdays General Summary: Under the Read more
Product Manager, *Apple* Commercial Sales -...
Product Manager, Apple Commercial Sales Austin, TX, US Requisition Number:77652 As an Apple Product Manager for the Commercial Sales team at Insight, you Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.