[2 days left] What’s wrong with your cloud strategy? Learn why multicloud solutions matter with Nimble Storage.Register Now


The most easily deployable programming language

Posted on 2004-08-15
Medium Priority
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
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
  • 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 120 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.

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.


Accepted Solution

Tyrsis earned 144 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

Tech or Treat!

Submit an article about your scariest tech experience—and the solution—and you’ll be automatically entered to win one of 4 fantastic tech gadgets.

Question has a verified solution.

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

Although it can be difficult to imagine, someday your child will have a career of his or her own. He or she will likely start a family, buy a home and start having their own children. So, while being a kid is still extremely important, it’s also …
Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
Simple Linear Regression
Suggested Courses

656 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