Interview with Marco Cantu by Clay Shannon

By: Clay Shannon

Abstract: Author and trainer Marco Cantu tells us about the 15th century house in which he lives, encourages people to turn off their televisions, praises Stupid White Men (the book, not obtuse caucasians) and, of course, talks about programming.

Marco, your book Mastering Delphi 7 came out recently. Do you have any other books in the works?

Since that book came out, and until I start working on a new edition, I've spent some time updating my free online books (Essential Pascal and Essential Delphi) and also collecting other more advanced material I've published in the past to increase my ebooks offering. The lack of a business model behind this effort (and the very limited donations for the free books), however, isn't really helping me to raise the priority
of this work. Which is very bad for me.

How popular is Delphi in Europe in general and Italy in particular?

Probably more than in the US, although Italy is quite a Microsoft-oriented country for software development. It is interesting to notice, though, that there are some companies approaching Delphi now that the Win32 version of VB is at a dead end.

Where do you live, exactly? If you are not native to that area, where are you originally from?

I live about mid way between Milan and Parma, in an area known as Italian Food Valley. The city I live in (and lived most of my life), Piacenza, is quite ancient also for European standards (not to mention US ones). There are written accounts of its foundation as a military outpost over 2,200 years ago! It was an important city for many centuries since than, but lost its role over the last few hundreds years. Still we have plenty of middle ages buildings, and even the house where I live dates back to the 15th century.

How did you get started in programming (How were you introduced to it, when did you realize you wanted to pursue it as a profession)?

When I was a teenager I got my hands on one of the early Z80 based computers: with its whopping 64 KB of RAM you could do tons of things with its built-in BASIC and its Pascal compiler. So I think I got hooked, and attending a computer science university was just a consequence of that experience.

How many years experience do you have as a programmer?

Well, counting these early experiments (I got a real PC with Turbo Pascal 3 a few years later) it's 20 years. Professionally, though, it has been 13 years.

What tool did you use prior to Delphi?

After some years in Pascal, I switched to OOP languages, learning Smalltalk and Eiffel, and eventually landing to C++ as my primary language. At the same time I got into Windows programming, with Borland's OWL and later Microsoft's MFC. On Borland C++ and OWL I wrote my first few books.

What languages do you know besides Delphi? Which ones do you currently utilize?

I know C++ and the other "C-syntax derivative" languages like Java and C#, but still I spend most of my time programming in Delphi (which seems a bit unusual having read some of the other interviews!)

Would you recommend a career in programming to young people today?

I would do so, but only if they enjoy programming. If they want to do it because they thing there is money to make, they might be in for some disillusion. Also, becoming a good programmer is an effort and an art, requires a large and continuous effort, and I guess a little passion... so if someone is looking for a "relaxing" job, I'd suggest
looking elsewhere.

If so, what courses would you recommend they take? What languages/technologies should they key on?

I think that the only important thing is to learn the core concepts and learn them well. It is not important to know the most trendy language, but to understand the OOP roots most of nowadays languages are based on. And if learning a little-used language helps concentrating on the core ideas, rather than getting to know the classes of an existing
library, I'd suggest learning the little-known language first, particularly if it is well suited for teaching. I know this might sound like a picture of Pascal, and the language was invented primarily as a teaching tool. But Smalltalk is another language I'd consider in a curricula.

When you get out of a school or university with solid foundations it is much more important than knowing the latest technologies: these will change overnight, but the core ideas evolve much more slowly. Think about operating systems: if you teach them around the UNIX core concepts, you end up having some Linux experts but also people who get grasp Windows concepts. If you base an OS class on Windows, Linux will
remain a mystery.

Of which software project/product that you have participated in are you most proud?

I'm currently involved in a huge XML-based project called geoXML I'm very fond of. It is a mix of a Delphi application server, an XML database, and a custom programmable XML DOM. Its effect is to let you create document modeling with XML schemas, code the business processes in Delphi, and provide a front end using either a browser or SOAP (and client programs).

What project[s] are you currently working on?

Mostly the one above, plus a couple of smaller open source projects. As spin-off of the geoXML project has been a web portal for newsgroup browsing, which has been a nice "toy project" over the last year and is now up and running.

What is the name of your businss and/or employer?

I work for and partially own two companies : Wintech Italia is my own training and consulting company; Geode is the company that built the geoXML project.

What is your web site URL?

www.marcocantu.com: that's where I host the source code of all of my books (which is a free download for everyone) and my free ebooks, among other things.

What 3rd party tools do you find essential?

I used a lot of the Turbo Power tools, which of course I keep using (even more) since they got published as open source libraries. I do use a few other components, but not that many. For the code of the book I tend not to use any third party tool and the framework I've built is entirely server side, compiles on Windows and Linux, is based on XSL, manages persistence on files, so there is little help in the Delphi toolbox for me.
My everyday toolbox, anyway, includes the ConTEXT editor (built with Delphi), a Delphi-based email manager (The Bat), I run a Delphi-based mail server... so I really use a lot of software built with Delphi!

What do you hope to see from Borland, especially as regards Delphi, in the future?

I hope they keep Delphi strong on all of the three platforms they support, Win32, .NET, and Linux. I know they made little money on Kylix, but as they invested so much, killing it would look foolish to me. Rather keep developing its core as a server tool, make it available at a good price, and let the the open-source community update the user
interface libraries following Qt more closely (after all, VisualCLX is on SourceForge and they gave its control to TrollTech).

Where would you be without Delphi?

Probably still teaching C++, or probably I'd have moved to Java, which is a platform I really like, although I never used it a lot. C# and .NET are now equally interesting.

Where would Delphi be without you?

Well, I never though about it in this respect. I think I helped getting a few programmer's on board, particularly around the world. The seven editions of Mastering Delphi have been out in over 15 languages in total, but the various editions had probably 40 or 50 translations worldwide. I can only guess a total, but I think the total goes to a few hundreds of thousands of books, including the US editions. So I think I helped. And I'm trying to continue, considering I have the only Delphi 7 book out there.

What effect do you foresee C# and VisualStudio.NET having on Borland in general and Delphi in particular?

A lot of Microsoft shops (but not all of them) have switched to .NET, and also some Delphi ones. This is unavoidable. The .NET platform offers a technically sound, and Microsoft had the market lead also when its solutions were well beyond Delphi! But I also see some resistance, and programmers going from VB for Win32 to Delphi as they don't trust .NET viability for certain projects.

I think that as a client-side solution Delphi still has a lot to say. But it has always been weak as a web development solution, and as much as I hate scripting-based web development, I have to say ASP.NET has a few points. Partially adopting IntraWeb has been too little and too late.

So getting back to the question, Borland seems to be very focused on .NET, but is pushing the C# language ahead of Delphi. This is upsetting some of the Delphi community. I see the reasons for Borland to do this, but the promise of a Delphi for .NET has been around too much to have only a preview with no IDE in our hands.
This is a pity, because there is no tool out there to deliver a single solution (almost a single source code) for Win32 native applications and .NET ones: the need of such a tool is there, as Microsoft is not helping with the transition, but if Borland gets there too late that particular market might disappear.

How many hours per day do you spend programming/at the computer?

At the computer its most of my 9 hours (on average) work time, unless when I'm teaching (well I still use a computer, but in a very different way). Programming is about half of my time, probably a little less when I'm writing a book.

How much time do you spend on the newsgroups/surfing the web each day?

That's probably a couple of hours. I browse the web also for non-computer related news. And I have set up my own newsgroups for the Italian Delphi community, so those I spend a lot of time with. Borland ones, instead, are the test-bed of my web front end... so I'm recently spending more time on them.

Which programming websites do you have bookmarked?

Bob Swart's site, Borland's Community, plus a couple of more general developer and computer news sites.

How do you keep current with your programming skills?

Buying more books that I can read, with magazines, and attending conferences as much as I can (family and work constraints are refraining my conference going quite a lot these days).

Which Borland Conferences have you attended?

All but the first two, I think. My first one was in 1990 in San Diego, if I remember correctly. As a couple of the people who used to have gone to all of them missed the last, I guess I'm in a very small group of people with so many BorCon on their shoulders.

Which was the best one, and why?

The early ones were more fun, or it might be just me: I was young and discovering a new world, meeting the people I had read about and learned from, now it's a little more "business". After a couple of conferences I didn't enjoy, though, last one was back to a good level. The one I remember most is probably the Orlando conference, where
Borland previewed Delphi (almost one year before shipping it) and the following one in which Delphi was everything (as Java was still small). There was little marketing or business talk at that time, it was pure technical content.

Who do you consider to be the best programmer you know personally, or know of?

It is hard to tell. If I stick to those I know personally, I'd have to choose between programmers like Danny Thorpe, Bruce Eckel, Chuck J, and so many others lesser known but even more expert... Among the system designers I like a lot the work of Martin Fowler and Scott Ambler.

Who do you admire outside the realm of programming?

A number of soccer players no one would know of in the US, same for some TV and radio talk show hosts, film-makers including the Italians Moretti and Benigni, and a few people who spend their lives for others (if I have to name one that's probably be Gino
Strada of the Emergency group).

If you weren't a programmer, what do you think you'd be?

It is hard to tell. Math and physics were among my preferences before I got into computers. But it's hard to make a profession out of them...

If you were given 30 seconds of free television air time, to be broadcast all throughout the earth, and could say anything you wanted, what would it be?

I'd probably encourage people to make these their last 30 seconds of TV, at least for some time (I mean a month or so, not a couple of hours). And then use the same time for two things: think with their own head and read, which helps thinking much more than watching. Second, I'd suggest people to think at the (even hidden) consequences of their actions (even the daily ones) and than change their habits (which is an obvious effect after realizing the consequences). I know this might sound pedantic, but you asked! And, by the way, I watch TV an average of 3 or 4 hours a week (if you don't count the tapes I watch with my daughter), and don't regret it.

What is your favorite programming book?

A tie between Thinking In Java by Eckel and Object Oriented Software Construction by Meyers.

What is your favorite non-programming book:

If you mean literature I'd probably say the Lord of the Rings, if you mean non-fiction I might say No Logo, although I'm currently reading Stupid White Men and enjoying it quite a lot.

What is your favorite movie:

This is hard because I have a very long list. Of the recent ones I've seen, The Pianist by Polanski.

What is your favorite musician or musical group:

I'd say, Sting.


This interview took place via email in April and May 2003.

Clay Shannon is a Borland and PDA-certified Delphi 5 developer and the author of "Tomes of Delphi: Developer's Guide to Troubleshooting" (Wordware, 2001) as well as the novel he claims is the strangest one ever written, "the Wacky Misadventures of Warble McGorkle" (see Wacky Warble, etc. for more information on the 4 Novels application, which contains this and three other novels he has penned).

You can find out more about Clay at: http://hometown.aol.com/bclayshannon/myhomepage/index.html
You can look into Clay's shareware and determine his current availability at:
http://hometown.aol.com/bclayshannon/myhomepage/business.html
You can contact him at:
BClayShannon@aol.com


Server Response from: ETNASC04