| More Interviews |

Name: Alexei Reatov 
Age: 35 
Occupation: Programmer 
Company: (contract work) 
City: St. Petersburg 
Country: Russia 

Q: Have you ever programmed with Pascal?
A: About 15 years ago, when I was a student and just learning PC programming, I had a chance to work in a "development environment" called "UCSD Pascal".  The thing was not even under DOS, it had its own mini-OS and loaded from two 360K 5" floppies!  If I remember correctly, it looked a bit like the first Turbo Pascal, but you had to change the disks all the time...  I can hardly believe how long ago that was!

After that, there was C, Forth, Basic, Assembler, VB, C++, dBase and Clipper, but never Pascal (till I moved to Delphi entirely 2 years ago). At that time I considered the language too verbose and restricting and liked C/C++ much better.
 

Q: Have you ever programmed with C/C++?
A: Yes, a lot, mostly in Borland C++.  I never liked MS C/C++ compilers because they were so awfully big and slow. I guess I just never been able to upgrade my computer often enough to keep up with the growing resource demand from MS compilers. Somehow with Borland's products it never was such a big problem.
Q: What version of Delphi did you use first?
A: I started with Delphi 1.0 and then worked with all subsequent versions, up to Delphi 4.  But after trying D4 for a while and finding that it's slower than D3 and quite picky about Integers/DWORDs, I decided to leave my existing project in D3 and not look for trouble porting them. Not yet.
Q: What is it you like about Delphi the most?
A: The notion of "controls" or "components", first introduced in VB 1.0, was always of great interest  to me and I spent a lot of time writing VBXes in C/C++.  But only with Delphi 1 it became possible to write components easily, and in the same language the rest of the program is.
Delphi, with its powerful OOP language and neat VCL architecture, fits very nicely into the niche between VB, which is very easy to learn, but restricting (no pointers, etc) and difficult to manage big projects with, and C++ (MFC), which is very powerful but slow (in development) and difficult to learn.  With Delphi, we get the best of the two worlds.
The Object Pascal turned out to have a very clear and error-proof syntax.  Although I was not a novice C/C++ programmer, it was not uncommon to spend an hour or two just to get a moderate size C++ file compiled.  This isn't an issue with Delphi, where any typos or syntax errors can be fixed in seconds.
All in all, Delphi seems very intuitive to me (and to many Russian programmers, too  -  did you ever noticed all those Russian names on public VCL sites?  Probably the percentage of Russians using Delphi is more that for any other language...)
Q: What do you dislike about Delphi the most?
A: The poor support for modern MS technologies (e.g. API header units weren't updated for ages, especially the Internet API). When MS releases a new MSDN, it might be a headache to look for the changed or missing units and translate the C headers to Delphi.

A minor but annoying "feature": in D4, DWORD is made a different data type, which is not a bad thing by itself, but leads to a lot of incompatibilities when porting projects from D3. They should have at least provide some compatibility switch in the compiler options...  Otherwise, Delphi seems to me quite close to the ideal programming environment.
 

Q: What other programming languages do you use at the moment?
A: JavaScript/VBScript.  I'm now learning the MS Scriptlet technology, which allows to write some parts of the GUI in DHTML and do part of the coding in a scripting language. This provides for a lot more flexibility in the program.   My current area of interest is building smart client apps, which would assist the user in interacting with certain Web services (e.g. send requests to search engines and analyze received results).  The design of such Web sites can change often, so it would not do to hardcode any details into the client application.
Q: Do you use Delphi at work or at home or both?
A: I work at home.
Q: What Internet sites do you run or have projects on?
A: See www.betterbrowser.com. It's mostly about the BetterBrowser - a Web research tool which is yet to be released, but also contains my personal page and a growing collection of Delphi components, mostly related to MS WebBrowser component.
Q: What programming Newsgroups do you use the most?
A: The Microsoft newsgroups related to INETSDK and some Delphi groups.  Newsgroups maybe very useful sometimes, but generally I prefer not to spend time reading them: too much junk.  I recently found DejaNews to be a very valuable service, although not too convenient to use.  I think there is a need for a client software which would research newsgroup archives and extract relevant information in a more convenient fashion.
Q: Do you have any advice to new users of Delphi?
A: After working for a while with any programming language, you will start to realize that it is the technologies you use (like ActiveX or Internet protocols, or multimedia, or image processing, or databases, or CGI scripting), not the language itself, that are most important and most difficult to master.  For a good programming environment like Delphi, there may be technologies relevant to the environment itself (e.g. writing VCL components or IDE add-ins), but it's still separate technologies, not just "knowing the language in general". So choose your field, find the relevant documentation and some sample code and start experimenting - your skills will be increasing in the process.  Look at other people's code for cool features and typical problems. And remember that any language is just a tool to achieve your goals!
Q: Do you consider Shareware worth considering for a new Delphi programmer?
A: Definitely.  Delphi is the ideal tool for writing shareware. Actually, it seems that programs written in Delphi occupy a very large part of the shareware market.  An individual programmer can write a finished program quite quickly, and it can have a neat GUI, be fast, relatively compact and easy to distribute.
Think twice, though, before including a heavy-weight database stuff into your app and always watch how those auto-scaled forms appear at different screen resolutions ;-)
Q: What books and magazines do you recommend for a new Delphi programmer?
A: Dunno. It's not easy to keep up with the periodicals in Russia and anyway I believe most of the worthy content is on the Web, not in books (except maybe for some very-very specialized ones, but I know nothing of them. If there was a book "Hidden problems of hosting a WebBrowser in Delphi", I'd would definitely have bought it!)
Q: What web sites do you recommend for a new Delphi programmer?
A: The general software collections like DelphiPages or Torry's.  Otherwise, there is a lot of scattered information on specific Delphi-related issues you can search for.
Q: What programs do you currently have available for sale?
A: Right now just a couple of components at betterbrowser.com/components.  The BetterBrowser itself will be in Beta "real soon now" and I'm planning to be publishing more components as quickly as I can.
Q: Do you use web sites like DownLoad.Com/Simtel.Net?
A: Not often.  When I have some specific need or problem and think there must be a program to resolve this, I do a search which may end up on a site like that.  Another case is when an idea of a program comes to my head and I want to check what's new in that area.  Otherwise I believe that installing and
trying a lot of shareware is more trouble than fun and anyway it is rather time-consuming.
Q: Many rumors are going around about Delphi or Inprise not surviving
the next few years, what do you think about these comments?
A: I prefer not to think about it.  I wouldn't be happy about parting with Delphi and going back to C++ (or a similar language, like Java). However, as I mentioned above, it is the technologies that matter, and in the next few years there bound to appear new technologies not supported by Delphi (especially if Inprise will not be doing well).  For example, if one is involved in a big multiplatform project, there isn't much choice besides Java or maybe Visual C, whether you like it or not.

On the other hand, if you wrote a [shareware] product in D2 and it is successful, why care about the future of Delphi?  You can support and enhance the product for years using the same old D2.  If people eventually stop using the product, it will be because there are new better products in this field, not because D2 itself is outdated.  One exception is if your products are for Delphi developers, then the future of Delphi or Inprise really matters...
 

Q: What is 'BetterBrowser'?
A: Let's face it: a "classic" Web Browser, whether it is Netscape Navigator or IE, is not quite suitable for serious Web research.  You need to keep track of all the visited sites, to store annotated references to relevant sites, to have some way to arrange and classify them, to avoid hitting the same sites again and again, etc.   'Bookmarks' or 'favorites' are simply not sufficient. Browsing with IE is like walking through a forest full of exotic fruits and berries, but without any basket to bring 'em home.

Tired of having to remember all visited sites and of tossing around dozens of overlapping browser windows, I dreamed about a tool which would make the process effortless and efficient.  Such program would be a kind of browser, or a browser add-on, with very sophisticated link collecting and management
functionality.  You would use drag/drop or keyboard shortcuts to put into your "basket" any useful information from the Web pages you are visiting.

The project really started when I found out that MSIE4 provides a set of COM interfaces which allow a browser window to be embedded into other applications.  It took me almost a year from the idea to the beta version, and during this period I had to spend a lot of time doing various contract work for living...
 

Q: On your web site you write 'Creating thematic link collections with BetterBrowser is a snap!", could you please explain this?
A: There are millions of Web pages on the 'Net, and the number is growing exponentially.  Of course, everybody use search engines, but when you really need to research some problem, you'd end up spending hours making searches and following links. The result of all this work is usually a list of
relevant sites, probably with some comments as to how good you think each of the sites is. If you are lucky, you may save some work by finding some such lists people with similar interests made earlier.

Unfortunately, there is no standard and easy way to create such lists. Unless you are really serious about the problem, you'd probably just add a few sites to your Favorites folder and never care to present the knowledge in a form available for other people.  Which is a pity, because this is your unique personal
"know-where", the secret map of scattered treasures of the Web.

With BetterBrowser, you start a research session by opening a "Web collection" document and you put there any interesting links and pieces of information you come across on the Web.  And with the fast and convenient user interface it is very easy to do.  For example, you only need a single click to add every link on a page to your collection.
 

Q: Alexei, you mainly work for HREF, what do you think of them?
A: Michael and Ann, the founders of HREF, are very nice and friendly people. Michael is HREF's "programming genius" and the author of WebHub and most other HREF's technical solutions,  while Ann runs all aspects of HREF's everyday business .  It was a good school for me to watch them discussing
business or ideas of new projects.  At HREF, the distance between a good idea and its implementation seems to be so short (quite opposite to what I was accustomed to here in Russia)!   I enjoyed a lot staying with them, and the memories of Santa Rosa often warm me up during the long and cold winter.
Q: What is it like to program in Russia?
A: It depends.  In large cities like Moscow and St-Petersburg,  a programmer has a much better chance to get a decent job than in a province.  But in a country where most people have to live on less than $100 a month (or much less then that!),  the notion of a "decent" job is much different...   I used to work in a
small company which does contract programming for customers in US and Finland ("offshore" development).  There is a number of such companies in Russia and they may be quite successful and stable, being not so much connected with the local economy.  In such a company, a programmer can
expect to earn anything from $200 to $1000 a month, depending on his qualifications, etc.  A programmer in such a company is considered a lucky one, but he must be a very good professional and have good English.
Q: Would it be easy for a programmer to get started in Russia?
A: It's all changed since I was getting started...   At that time it was guaranteed that any graduate student gets a job (actually, after the institute a young person had to work for at least 3 years at the position he/she was assigned to).  Some students were smart enough to find a good job during their study and keep it, otherwise you could be sent to work to any region of the Soviet Union, without much choice.

I believe now there is more freedom, but also more chancy and more difficult to start.  When I was starting, positions where a programmer could spend a lot of time writing some code just for the fun of it were quite common (in research institutes, etc).  Now everybody struggles to earn more money, or just enough money to survive...
 

Q: How have the recent changes in your country made a difference in your ability to program?
A: The changes have not affected me, since I'm not connected with local employers. However, some friends of mine have suffered badly from the crisis, as the organizations they worked in had to stop development or to "freeze" their rouble salaries. With the USD-to-rouble exchange rate falling from 1:6.3 to 1:24, this meant cutting the real salaries 4-fold!  And of course being underpaid and frustrated does not do any good to their ability to program...
Q: What do you think of the year 2000 problem?
A: I don't think of it.  Dates were never important in the kind of software I write. I believe that any programming tool I use must support the dates correctly and transparently.
Q: What future plans do you have?
A: I'll keep working closely with HREF Tools and also developing Internet software on my own - BetterBrowser and other programs along the same lines.

Every month great new programs appear on the 'Net, some of them become very popular and their authors rich.  Why can't I hope to become one of them?
 

Q: What do you do to relax?
A: (In the Winter, I just go to the kitchen and eat something ;-)  In the Summer, I go out to paraglide, although not as often as I'd like to.
Q: How can people contact you?
A: By email, of course:  [email protected]

 | More Interviews |

Tokoroa
North Island
New Zealand


Hosted by www.Geocities.ws

1