• MacTech Network:
  • Tech Support
  • |
  • MacForge.net
  • |
  • Apple News
  • |
  • Register Domains
  • |
  • SSL Certificates
  • |
  • iPod Deals
  • |
  • Mac Deals
  • |
  • Mac Book Shelf

MAC TECH

  • Home
  • Magazine
    • About MacTech in Print
    • Issue Table of Contents
    • Subscribe
    • Risk Free Sample
    • Back Issues
    • MacTech DVD
  • Archives
    • MacTech Print Archives
    • MacMod
    • MacTutor
    • FrameWorks
    • develop
  • Forums
  • News
    • MacTech News
    • MacTech Blog
    • MacTech Reviews and KoolTools
    • Whitepapers, Screencasts, Videos and Books
    • News Scanner
    • Rumors Scanner
    • Documentation Scanner
    • Submit News or PR
    • MacTech News List
  • Store
  • Apple Expo
    • by Category
    • by Company
    • by Product
  • Job Board
  • Editorial
    • Submit News or PR
    • Writer's Kit
    • Editorial Staff
    • Editorial Calendar
  • Advertising
    • Benefits of MacTech
    • Mechanicals and Submission
    • Dates and Deadlines
    • Submit Apple Expo Entry
  • User
    • Register for Ongoing Raffles
    • Register new user
    • Edit User Settings
    • Logout
  • Contact
    • Customer Service
    • Webmaster Feedback
    • Submit News or PR
    • Suggest an article
  • Connect Tools
    • MacTech Live Podcast
    • RSS Feeds
    • Twitter

ADVERTISEMENT
Volume Number:12
Issue Number:4
Column Tag:Dialog Box

Dialog Box

By Matt Neuburg, letters@mactech.com

Pascal Forever

The following exchange is reprinted with permission from TidBITS #305 (27-Nov-95 - email info@tidbits.com for more information). In that issue, Adam Engst interviews Peter N Lewis, author of Anarchie, FTPd, and other well-known shareware tools. We thought our readers might be interested in this excerpt, where Peter speaks about languages:

Adam: You and Quinn are known for being major Pascal supporters in a development world that has largely gone over to C and C++. You even had anti-C t-shirts at the last few World-Wide Developer’s Conferences. Without getting too technical, why do you continue to stick with Pascal, and does that cause problems at times?

Peter: The normal C argument goes like this: “Everyone else is using C, so therefore it must be good.” Every Mac user should recognize that statement in a slightly different form, “Everyone else is using PCs, so therefore they must be good.”

Basically, I continue to use Pascal because I’m more productive in it. I consider using Pascal to be a strategic advantage, doubly so when compared to C++. I’ve been reading a C++ book recently (know thine enemy), and every time I turn the page I see new ways to make tiny errors that are catastrophic and impossible to debug. I’m amazed that anyone can produce a working C++ program.

However, programming in Pascal does cause occasional problems. The Apple interfaces tend to be quite broken. I wanted to try out QuickDraw GX, and it took a year of new versions before they finally got one that I could hack to work with Pascal. By then I’d given up on GX. In some ways this is actually a good thing for me: I have way too many projects and not enough time to do them all, so not being able to work with GX or OpenDoc is helpful for limiting my options.

Please Don’t Kill The Umpire, He Is Doing His Best

There has been, of late, mild criticism of the premises of the programmer’s challenge, and now (Don Winston in November’s Dialog Box) of the style.

I am only an amateur on the Mac, yet I find your magazine stimulating, thought-provoking and - hell, that’s enough praise for the moment. My views cannot in this case reflect those of the majority of your readers, but may correspond to those of a significant minority.

The demands have been: (1) to play down optimisation, arguing that hardware will catch up (the Microsoft approach), and now (2) the rejection of the use of “goto” in a winning answer; plus (3) that the programmer’s challenge become more practical or open itself up to more languages.

That MacTech published these comments could mean two things (and most probably more): (1) it is an open forum for constructive criticism, including criticism of itself; (2) that it is preparing the minds of readers for changes in certain items.

And it is this second possibility that worries me the most.

The PC rules demand “correctness, speed, size and elegance (in that order of importance)”. While the first is obvious, the others are essential to the spirit of your magazine. Speed and size implies that you are looking at real joes working in front of real machines - we can’t all just run out and buy PowerPC dream machines. Each time I have to launch W*rd 6 on our 660AV, I wince, scream and plead - I don’t want all software evolving into this.

Elegance is subjective; it is in part what Don Winston is protesting about. He complains that “old notions of ‘efficiency’ are passé”. No, the Programmer’s Challenge is a mindfest that makes one jump up and shout, “Yes, of course, it’s so obvious now!” It is one of those nuggets that I, as an amateur who would never consider entering the challenge, cherish. And to change these subtle criteria would diminish your magazine as a whole.

Increasing the number of language platforms for the challenge has already been argued as impractical by the column’s flame-keeper in order for him to respect deadlines. Fine. Although I would be interested in the possibility to occasionally study just the winning algorithms, perhaps in pseudo code, rather than their implementations in a specific language, the crux of the challenge lies in the participants feeling/knowing the limits of the language, and then finding the best solution.

That particular readers are not happy with specific subjects chosen for the challenge will always exist, but if you try to render it more “practical” for one group, another will protest that it is still further from their sphere of interest, and when one looks back over a year’s challenges it is a mighty varied lot: a little for everyone, and a lot for most.

Keep up the good work.

jonathan munn
format@dialup.francenet.fr

Bob Boonstra Replies...

Jonathan,

Rest assured that we have no intention of changing the primary focus of the Programmer’s Challenge from efficiency to anything else.

The letter from Don Winston makes the valid point that improvements in technology have allowed software professionals to give other factors (usability, portability, encapsulation, reliability, etc.) greater consideration, at the expense of efficiency. But, as you point out, one need only look at the performance of some popular office automation applications to see that vendors are still able to generate sluggish code, despite the improvements in hardware. In fact, I believe that the demands on software will always exceed what the technology can support. The Challenge is intended to address techniques for those time-critical functions. It doesn’t pretend to be a balanced approach to teaching every aspect of software development. I think efficiency is still relevant - less universally so, but still relevant.

It is gratifying to hear that you find most of the subjects chosen for the Challenge to be interesting. We strive to find a variety of problems that are interesting to readers, interesting to participants, sometimes useful, solvable in the limited time available, and scoreable in even less time. Suggestions from readers are always welcome.

Thank you for your comments, and remember that anyone - including a self-described amateur - is invited to enter the Programmer’s Challenge.

Bob Boonstra
bob_boonstra@mactech.com

Hooray for the Umpire, the Players, and Everyone

I just want to commend Bob on such an interesting challenge. [But which one is he talking about? Probably January’s “Sliding Tiles”, we figure. - man] This is one of the few that I didn’t even know how to solve, let alone how to solve it efficiently. Hats off to anyone who breaks the brute-force barrier and applies some finesse to this one.

The test code was excellent and invaluable.

While I’m at it I’d also like to congratulate Eric Lengyel for such a clean solution to the Enclosing Bounds problem. I started working on it myself, but all of the various conditions (odd boundaries, different pixel sizes) made a simple-sounding problem too complex for the time I had. Eric, however, cut through the complexity and delivered some excellent code.

Xan Gregg

 
MacTech Only Search:
Community Search:

 
 
 

 
 
 
 
 
  • SPREAD THE WORD:
  • Slashdot
  • Digg
  • Del.icio.us
  • Reddit
  • Newsvine
  • Generate a short URL for this page:



MacTech Magazine. www.mactech.com
Toll Free 877-MACTECH, Outside US/Canada: 805-494-9797
MacTech is a registered trademark of Xplain Corporation. Xplain, "The journal of Apple technology", Apple Expo, Explain It, MacDev, MacDev-1, THINK Reference, NetProfessional, Apple Expo, MacTech Central, MacTech Domains, MacNews, MacForge, and the MacTutorMan are trademarks or service marks of Xplain Corporation. Sprocket is a registered trademark of eSprocket Corporation. Other trademarks and copyrights appearing in this printing or software remain the property of their respective holders.
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.
 
Nov. 20: Take Control of Syncing Data in Sow Leopard' released
Nov. 19: Cocktail 4.5 (Leopard Edition) released
Nov. 19: macProVideo offers new Cubase tutorials
Nov. 18: S Stardom anounces Safe Capsule, a companion piece for Apple's
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live
Nov. 17: Ableton releases Max for Live