Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

The most easily deployable programming language

Posted on 2004-08-15
Last Modified: 2013-11-22

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?
Question by:BUCHAS
  • 3
  • 3
  • 2
  • +2
LVL 23

Expert Comment

ID: 11806978
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.


Author Comment

ID: 11807004
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.
LVL 22

Assisted Solution

cookre earned 30 total points
ID: 11807159
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.

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center


Accepted Solution

Tyrsis earned 36 total points
ID: 11807252
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.  

LVL 22

Expert Comment

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

Hence, DLL Hell:

Author Comment

ID: 11807321
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.

Expert Comment

ID: 11807343
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.

LVL 22

Expert Comment

ID: 11807445
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.

Expert Comment

ID: 11807556
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.
LVL 37

Expert Comment

by:Harisha M G
ID: 11860317
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.

Featured Post

Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question