Back when I used Delphi (win32), programs made with it would run on windows, with no need to install any runtime libraries like .NET or Java(?). Is this still the case? If not, which language can do that?
It is still the case for the "normal" Delphi, i.e. Delphi for Win32. There is also Delphi Prism which targets .NET for which it is obviously not the case.
Currently there's Delphi for Win32 available, which doesn't require any runtimes and Delphi Prism (for .NET application development). Delphi for 64-bit native Windows development is promised next year.
Delphi executables don't have any external dependency. It's true since Delphi 1 up to Delphi XE.
I just wrote a post on my blog about this fact I like very much in Delphi. http://blog.synopse.info/post/2010/09/20/Dll-hell%2C-WinSXS-directory-and-Delphi-paradise No dll hell with Delphi applications!
Deploying a Delphi application is very easy. If you need some database access, you could need some additional components, like the BDE, or the ODBC drivers, or whatever...
But there are a lot of stand-alone frameworks, with no external dependency, available for Delphi. We provide one Client/Server Open Source solution, using SQLite3 as database storage. And one of great feature of SQLite3 is that it doesn't need to install any client software. Our framework provide the Client/Server features, in pure Delphi.
Both the language and the IDE had some serious improvements from Delphi 1.
To name a few extentions for the language:
- Support for interfaces
- Records with methods
- Record and class helper functions
- Annonymous functions
- Generics
- Hinting directives
There are also some IDE improvements.
- Unicode support
- More integrated tools
- Usage of identifiers (2011).
There are still some things missing:
- 64 bit support
- generics still have some bugs.
Well, Lazarus obviously :-)
Seriously, Delphi is fine, but before you buy a recent one, if you need win9x support, check thoroughly. (since the unicode versions might no longer support that)
Actually, there is ONE dependency that must be there. On a completely clean Windows installation you must ensure that the Msvcr71.dll file is present, otherwise you must deploy this with your application. I have done this many, many times and Msvcr71.dll is not present by default on a spanking new OS with no applications installed.