Linux World Tour
Sao Paulo, Brasil, 6-Apr-2000
David Intersimone, Charlie Calvert, Michael Swindell, Claudio Briceno, Ylonda
Davis and I are all out on the road for the next few months, demonstrating to
the world-wide software development community the world-class development
solutions Borland has for Windows, Linux, and, (in the case of JBuilder)
Solaris. Of course, the main interest was in the Kylix project, which is
bringing Delphi and C++ Builder to Linux. Naturally, I always save that for last
in these presentations, which are usually four (4) or five (5) hours long.
Ylonda Davis and I started our part of the Linux World Tour in Sao Paulo,
Brasil, with great help from our Inprise do Brasil office. We spoke to around
600 developers, most of whom were Delphi developers. Our office down there
is going to be doing the presentation again shortly to another 1000 developers.
Here are some pictures I took of the audience when Renato Quedas from the
Inprise Brasil office was
demonstrating JBuilder's support for Enterprise Java Beans and Java Server Pages. He knows
JBuilder much better than I do.

If you haven't seen us yet and want to, you can look at the schedule
for the Linux World Tour to see when
we'll be near you.
C++ Builder 5
For many developers, even the features I showed for our Windows development
are exciting. I could see the C and C++ developers in the audience nodding and
nudging each other when I showed them our truly visual C++ development
environment, which works just like Delphi, except it uses C++ as its primary language
instead of Object Pascal.
They also really appreciated CodeGuard, which is a
resurrection of a debugging technology we used to ship with Borland C++ that
makes it incredibly easy to find serious yet subtle programming errors like
trying to use previously freed variables, access overruns and other mistakes
that typically are extremely time-consuming to track down. I hope to see
CodeGuard in Delphi 6, and I will keep bugging the development team to see if
they can get it in.
Our community site has a bunch of
technical information on C++ Builder.
JBuilder 3.5
Renato demonstrated JBuilder 3.5, showing how easy it is to visually create database
applications, build Enterprise Java Beans, and develop Java Server Pages (JSP). I wish
I understood more Portuguese, so I could tell you some of the jokes he was making. He had
the audience laughing a fair amount. For more technical information on JBuilder, go to
http://community.borland.com/java/.
Renato isn't the only joker who works at our Inprise office in Brasil. Those guys really
love what they're doing, and joke around all the time. Here's several of their developer
support, web group, and training people (they wear many hats, just like we do in Scotts Valley)
helping me get some more
Stick It! pictures.

Delphi 5
Delphi is very successful in Brasil, with several Portuguese technical
publications devoted to it. One of them is the Delphi journal (Solucoes para o
progamador Delphi), at
www.delphijournal.com.br. Another very new Delphi journal is
Clube Delphi.
There is so much in Delphi 5 (and C++ Builder 5) that it is a rare developer who has the
opportunity to examine all the features of the product. I showed the features I've been
working with the most lately, WebBroker and InternetExpress. I used the comment thread server
I wrote for the community site as the example for WebBroker, and the existing InetXCenter
demo that ships with Delphi 5 for InternetExpress, because it's a great way to explain how
InternetExpress works. For more information on WebBroker in Delphi and other web development,
you can go to
http://community.borland.com/delphi/webtech/. InternetExpress-specific information can be found at
http://community.borland.com/delphi/webtech/xml/.
Kylix
I start the Kylix portion of the talk with several slides that aren't too boring that are based on the
Kylix Compiler
and RTL article Danny Thorpe wrote back
in March. The information in this article is very valuable, because it covers many of the issues
Delphi developers will be facing when moving their applications from Windows to Linux, because
they are the same issues we needed to solve.
The build of Kylix I currently have doesn't have an IDE (I got mine at the start of April), so Renato
and I used some pre-written sample applications that manually create and configure components on a form
rather than boring everyone with a demonstration of our typing skills. The first sample application
is an homage to the original demo Borland did for Delphi 1 at SD West on February 14th, 1995. We
went on from there. Here's a description of the demos we showed.
| Demo | Description |
| basictest.dpr | An edit box, list box, and two buttons on a form. You can type into the
editbox and hit Button1, which will add the Edit box contents as an item in the listbox. The second
button would insert some static text into the listbox, typically "Ola Brasil", "Hola Argentina", "Hola Peru",
"Hola Chile" or something else that shows my incredible talent for languages. This was written by either
Charlie, David, or Michael Swindell. Not sure who. |
| CalcTest.dpr | A calculator component that was the first custom control for Kylix. Looks very
much like any other calculator. It would be a good sample component for Delphi 6 as well. It was written by Robert Kozak. |
| SimpleText.dpr | A "simple" text editor that shows Kylix support for OpenDialog, SaveDialog, FontDialog,
text searching, replacing, copying, cutting, pasting, styles (and themes), menus, alignment, and more. This sample was written by Mark Duncan. |
| ksockdemo.dpr | This is a socket chat client that we connected (using a cross-over cable) to my
Windows box, which was running almost the identical code, and we chatted back and forth on the two machines. This was written by
Gregorio Chavez-Montiel. |
| consoler.dpr | This is a very simple application I wrote to demonstrates that Delphi will work very well for
server applications, if performance is important for the server. It's a simple console application that asks for some text,
and the number of times to say it, then loops through the number of times requested, using WriteLn to display
the text. |
Renato ran consoler 100 times, then 1000, then 100,000. It finishes on my Linux notebook (Dell Inspiron 7000)
in about 5 seconds when it writes the text 100,000 times.
Of course, someone in the audience asked how fast it would run on Windows. While Renato was occupying the audience,
I quickly typed in the equivalent code in Delphi 5 on my Windows notebook (IBM Thinkpad 770Z). We then ran a comparison
on the Linux machine and the Windows machine, using 100,000. The Linux version finished about 20 seconds ahead of the Windows
version. Since this was the end of the demo and we started taking questions, I started each machine running one million (1,000,000)
times when we began answering questions. The Linux version finished in less than five (5) minutes. The windows version finished
about 20 minutes later.
Here's the source code I used:
program consoler;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
i, j : integer;
s, count : string;
begin
// Insert user code here
write( 'What should I say? ' );
readln( s );
write( 'How many times should I say "' + s + '"?' );
readln( count );
j := StrToInt( count );
for i := 0 to j do
writeln( s );
end.
There is a tremendous amount of excitement for Kylix in Brasil. During one of the breaks, someone came up to
me and insisted on my giving him a Kylix CD. Several times. He was quite annoyed when I told him it was not
yet available.
More to come
Our co-workers in Brasil were wonderful hosts, and insisted we go down to Rio de Janeiro for the weekend instead of staying in
Sao Paulo before heading to Buenos Aires, Argentina the following Monday for the second part of the Latin America tour. Jose Rubens,
the general manager of Inprise do Brasil, even got up early Saturday morning to chaffeur Ylonda and me to the airport.
From Rio, we will continue on to Buenos Aires, Argentina. I'll put up some pictures and notes from there as soon as I
get a chance.
Before I left for South America, I grabbed the latest Kylix build and installed it on my Linux notebook. While
I am on the road, the team is making great progress on Kylix, so I should be able to demonstrate more Kylix
features in Colombia, after I'm able to get a more recent build.
Maintaing a Tradition
David Intersimone (my boss, and a culinary connoisseur of world-wide renown) has made a habit of comparing
the cuisine in each country he visits by comparing a gourmet dish that can be found almost anywhere:
a McDonald's hamburger. Since he wasn't with us on this trip, I thought I would do my part to add to his data sample.
Brasil has excellent food (not just McDonald's), and they prepare beef very well. Having already sampled native cuisine,
I was expecting a very tasty hamburger. Our friendly native guide, Marcello, took Ylonda and me to a McDonald's situated
between Copacabana Beach and Ipanema Beach, insisting that this would be the best McDonald's burger we have ever tasted.
He was right. I immortalized the occasion with a picture.
That's all for now. I hope to see you in person!
John Kaster, Borland Developer Relations
|
Connect with Us