Visual Basic vs Delphi
what are the main differences between the two - and more specifically which one is better/more popular?
Hi,
I think this forum is a little bit "biased" if your gonna ask that question here. (
This is a Microsoft Forum!)

Well, it depends, if your referring to VB 6 vs. Delphi then I would have to go to Delphi coz (IMO) I'm an ex-pascal programmer (1996)
and I really love the language structure of Pascal. But if I'm to choose over VB.Net adn Delphi, then I would wholeheartedly choose VB.Net coz its more structured right now than delphi... And plus, its created by microsoft! (the creator of the .net framework and windows on which your application would run)
Note: All of this is just based on my own opinion... so just chill-out 
cheers,
Paul June A. Domag
As far as the differences--
- Delphi is "lower-level." It compiles to native code, allows you to easily use native Win32 APIs, and in some cases will be faster.
- VB is designed to be an easy-to-use language for getting simple apps to work ASAP. It isn't and never has been very good at complex apps or anything even remotely low-level. (Try implementing MD5 in VB, or try supporting a binary network protocol.). VB is a "Turning-complete" language, so it can be done, but what a pain. That said, if you are asking this question, you are probably not going to be doing anything like this.
- VB is more popular by far. I have heard (though not from necessarily reliable sources) that VB6 was the most popular development language for Windows business applications by a huge longshot. Now that VB.net helps to alleviate some of VB6's terrible problems (mostly performance related), it will likely become even more popular.
- Delphi doesn't require a huge framework to be installed for applications to work. When you distribute a Delphi application, you can assume it will work on the platform. With VB, if the user doesn't have the .NET framework installed (and not just any .NET framework--but a version as new or newer than your development platform), then the app simply won't work until it is installed.
- Ironically, VB may be more cross-platform, since VB compiles down to Microsoft's java-ripoff language "CLR," which can be run (with exceptions) on non-Windows platforms using
Mono. There's a Linux version of Delphi called Kylix (or something like that), but you can't just copy a project straight over and expect it to work.
- Personally, I am not exactly a big fan of the way the VB syntax works--it tends to encourage very bad coding style that won't do when using more sophisticated languages like C, but I particularly can't stand Pascal, so I consider VB the lesser of two evils. This is purely a personal preference though. As an earlier poster stated, he really likes how Pascal works. Many people do.
It is probably easier to compare C# or even C++ to Delphi. Delphi is probably better for making large, complex apps, but .NET languages are more popular and are often easier to use than lower-level languages.
If you are a beginning programmer, I would recommend that you use something like C# or Java more than Delphi, but I'd use Delphi over VB.
If you don't care about becoming a good programmer and just want to get some applications up and running, VB is definitely the way to go.
Finally, if you are interested in knowing how things work internally, try C, then assembler. Knowledge in both of those is all but required for being a top programmer in any language (C because most OSes and low-level APIs are written in it, assembler because, ultimately, ALL software is written in it).
Hope this vague post helps. Good luck!
Two completely different questions. To answer the second question first, there is no doubt that VB has been, is, and will continue to be more widely used than Delphi. I used to write a lot of Delphi/Object Pascal database systems, just because it was very elegant and reliable and I loved it; but over the last few years, Delphi has lost a lot of its popularity, not that it was ever one tenth as popular as VB. During that same time I switched those kinds of projects over to VB just because of the vastly greater market for those development skills. (And by the way, I have always used C++ also, for certain projects.) This is the situation in the USA. In Europe, Delphi gets a much better market share, for some reason unknown to me; but I think Delphi is less commonly used even outside the USA.
Now, as to the first question, that depends entirely on the purpose to which you're putting Delphi or VB. If you're going to write traditional Win32 type applications, and you want the greatest runtime speed and reliability, then Delphi is probably somewhat better technically than VB6 for that purpose -- assuming you really don't care that ninety-five percent of hiring development shops in the USA would choose VB over Delphi, and a VB programmer over a Delphi programmer! But for .NET programming, I would definitely go with VB if forced to choose between those two development products. There is a Delphi .NET development product, and it's probably competent, but I think the nature of the relationship between Microsoft and .NET makes any choice outside Visual Studio a bit questionable in a strategic sense.
Back in 80s I had to take a basic class - didn't know what the heck it was. In fact, the only time my program ran error-free was when I included a ' at every line.
Then one day I realize that Basic was just algebra for the PC and that was when I cracked it. Borland's Pascal was far better and easier to use. But then came Visual Basic for DOS, then Windows - it was apparent that was the way to go.
But I prefer Assembler any day over C. While it's true that with assembler you had to write a lot of code, you got intimate with the CPU and that made it easy. But as I understand it, you can't buy Assembler anymore... MASM or TASM?
But the great mystery to all this is... why is one language faster than the other?
In the end, they are all machine language. It seems to me the problem lies in the
compiler. I would think by now compilers would be optimized for efficiency.