The most easily deployable programming language


I'm looking for a Win32 programming language/environment that doesn't need any library (except the ones I manually create), to run on the client machine. I mean, just if I put the stand-alone EXE on the client machine, and execute it, it'll run flawlessly.

I'm currently using .NET 2002, but for a really small VB.NET application, it needs lots of MBs of libraries to be installed on the client, just a big head-ache. The same with MFC. Perhaps the 2003 version is a bit more deployable? I used to use VB6, which needs just a couple o DLLs, but it's a obsolete language.

I've heard that Borland's Delphi and C++ Builder are what I'm looking for. Is that true?
Who is Participating?
It's hard to figure out exactly what you're asking.  Though from what you've written, Borland's C Builder and Delphi are indeed what you are looking for.  While not as popular as VC / .NET, they are both very good products for developement.  They are centered around RAD (rapid application developement) and if you want to create an application quickly that runs very well, then the Borland products are indeed what you are looking for.  

Depending on what you develope though, dependancies can vary.  Though the majority of the time (90%+), there are no external depandancies besides the DLLs that are included in all versions of windows.  

Any language that lets you statically link libraries into your application will do.
This includes C and C++, among others.  You can use the ANSI/OSI/STL standard
libraries rather than the proprietary Microsoft DLLs that may-or-maynot be

You can use a technology like Java that can download missing classes on the fly.

> I mean, just if I put the stand-alone EXE on the client machine, and execute it,
> it'll run flawlessly.

That is a rather unrealistic pipe-dream in a Windows operating environment.
There are many factors in Windows besides DLLs that affect the ability of your
application to "run flawlessly" - nearly all of them beyond your control.

BUCHASAuthor Commented:
I think I need to read more books, I don't know what a "static library" is, may you explain? Also, OSI and STL don't ring a bell.

Well, I've seen many programs written in Delphi, which just consisted of a single EXE file. Working from Win95 to WinXP, that's what I search. I just want to gather information if there is some alternative on MSVC++ as I've never dealt with Delphi before.
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

Every Windows program makes use of standardized libraries.

Simplified description of the two step process used to create an EXE:

1) Compilation
The source code is parsed and a form of machine code (an 'object' module) is generated for each source module.  The compiler doesn't create an EXE directly because it can't assign addresses to externally defined subroutine references such as calls to Window's libraries (APIs).

2) Linking
The linker puts together all of the object modules, resolves references the compiler couldn't, and creates the EXE.  The most common decision made when linking is whether to do a 'static' or 'dynamic' link.  A static link causes all externally referenced libraries to be included in the EXE.  A dynamic link creates an EXE in which external calls are satisfied at run time by DLLs already on the box the program is running on.

A dynamicaly linked EXE is smaller than if it were dynamicly link, but depends on the right versions of all the needed DLLs being on any box the program runs on.  However, it's not uncommon for a user to upgrade or install some package that replaces a standard DLL with a newer one, thereby causing some older dynamicaly linked EXEs to fail.

Most IDEs out today do both the compile and link when you click 'Build', but the static/dynamic choice can usually be found somewhere, but not, most notably, VB and .NET.

>>>besides the DLLs that are included in all versions of windows

Hence, DLL Hell:
BUCHASAuthor Commented:
cookre, thank you, that clears things up. Can you tell me a list of developing environments with either dinamic/static linking/compiling capabilities?

Tyrsis, what I want is developing environment that when I create a simple project, a 50kb EXE file, it won't pester me asking for hundreds of dlls(.NET Framework, MFC dlls, and so on), on a Windows environment in the client machine.
Then I suggest trying the Borland products.  Either Delphi or C Builder.  Both will create relatively small EXEs and everything you require is compiled into the EXE.

I don't know about C Builder, but when I used Delphi several years ago, I noted it still hooked up with Win32 APIs.  Perhaps that's changed, but I doubt it.  Afterall, a small EXE simply can't have all the code needed to manipulate windows, dialogs, message boxes, menus, and all the messages that Windows generates.
Yes, but he asking about a developement environment that doesn't require distributable DLLs with the EXE.  All windows applications require the base Win32 API DLLs.  MFC and .NET require distributables just to run the EXEs.  Delphi / C Builder EXEs do not require any distributables, and run directly ontop of the base Win32 DLLs with everything else compiled into the EXE.
Harisha M GCommented:
Since you are running your application on a Win32 machine, most of the DLLs will already be present in that client machine. So, only the extra files, like your own libraries and controls will be installed and, eventhough it appears as if MB's of space is being used, it is not true.

So, you can always use VB6 to build the application, perhaps the Fastest, and  Most Reliable developing environment.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.