Linux World Tour: Brasil

By: John Kaster

Abstract: John Kaster provides notes and pictures of his stop in Sao Paulo, Brasil on the Linux World Tour (updated)

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.

DemoDescription
basictest.dprAn 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.dprA 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.dprA "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.dprThis 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.dprThis 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.

McDonald's

That's all for now. I hope to see you in person!

John Kaster, Borland Developer Relations

Server Response from: SC3