Programming Language with no runtime files?

stustarz

Junior Contributor
Joined
Jan 10, 2003
Messages
246
Location
Earth
Hi all

Just a query really, does anyone know of any programming languages that dont require distribution of runtime files?

Which IDE is available to develop applications in this language?

Im really interested to find something like this for the development of extremely lightweight applications.

Cheers!
 
No programming language that I know of requires run time files. A company's implementation of that language may however. :) Also, it depends on what you're including in your application. A "Hello World" application wouldn't require anything extra, but a database app might. C/C++ is probably the language with the least dependencies.
 
Yes im basically looking for a language that requires the least deployment dependencies. E.g. .NET languages require the .NET framework, Classic VB requires the VB runtime files, Delphi requires the Delphi runtimes. Im trying to weigh up the various language options out there that offer the easiest deployment solutions for extremely small applications.

Im currently looking at Java as most people have the Java framework already for Internet Explorer, but still it requires that the target computer have this installed - is there anything else out there?

I.e. take a calculator application for example - 1 EXE of about 5Kb, its nothing too difficult, but i dont want to have to deploy additional files, or frameworks - or have too many limitations on the client computer.
 
Everything requires Runtimes of a sort.

Assembler has runtimes built into the bios/CPU of the chipset you're programming against. Its for this reason that with similar chipsets you can default to more general code and make a file that will work on most PCs. If you start optimizing things it won't work on all PCs.

C/C++ generally has the runtimes built into and distributed with windows. I'm not sure about Linux or OSX.

VB6 requires runtimes, but they're already installed on most Windows (Post 98 I think) machines.

.Net is in a similar boat with much larger runtimes. Everything past XPsp1 has the framework.

Java isn't included in any OS's that I know of and like .Net a lot of people are against installing it, partially because of how intrusive it is and partially because it's Java (don't ask me).

Flash is the easiest to install of the multi-OS programming languages and easiest to work with graphics. You can create executables for specific OSs like Mac and Windows and the 500k runtime files are easy to come by and most people have them. Just like with .Net & Java a vocal minority has a vandetta against it and loudly whines about hating it. The only way Flash has ever annoyed me is how it's used for banner ads (replacing animated GIFs) and when people misuse it to make redundant "intros" and animation/graphic/sound heavy web sites.

I'd say Javascript would be your best bet as everyone has a web browser, though then you have to play "browser wars" as each displays and utilizes JavaScript differently. Then there is the vocal minority with a valid claim about turning Javascript off for security/privacy reasons.

I'd say in order of accessability you have: C/C++, Flash, Javascript, VB6, Java, .Net

Flash is pretty much program and forget, C/C++ and Javascript you have to really code to your user(s)
 
Unless you're writing applictions to run on your wrist watch I wouldn't worry about runtimes. It's an install once deal and anyone that keeps their Windows up to date has the .NET runtime installed.

Oh and I have Flash, JavaScript, and animated gifs disabled.
 
C++ would be just fine. There are still people, especially those running win9x, that don't have the .net framework (and believe it or not, there are a few people without the VB6 runtimes, and more who don't have ActiveX controls commonly used with VB). As far as I know, Visual C++ 6 (I've never used 7) builds what you need into the exe. If you need to use the MFC, even older machines will have that. I generally wouldn't use anything that requires a VM in the way that a Java applet or flash does. For a lightweight app, I wouldn't even recommend Java or .Net. The few Java applications that I have used have been pretty bulky (this may not be the norm, I don't know).
 
With Delphi you can link what you need statically and then you don't need any runtimes.

HTH
/Kejpa
 
Thanks very much for all your help with this. Seems to be one of the C languages that is coming out on top at the moment. I kind of realised that everything requires a runtime of some sort, but the idea of having everything inside the one EXE (Like with C++ 6 as ive read) sounds like the way forward for me.

Thanks again, any more feedback would be greatly appreciated.

Cheers
 
What does it mean when someone says an app is compiled to native code?

Why wouldn't it be done that way all the time?
 
Having everything compiled in the exe does make the exe bigger. Another advantage of runtimes is security. I can run a certain app and know that it won't modify my computer.

Native code is fed to and executed directly by the processor. Byte code or intermediate code is read by the runtime and exeucted in a big fat switch statement. Some of the advantages of using intermediate code are portability, security, and easy implementation of advanced features (e.g. in VB6 declaring On Error Resume Next insterts a special instruction between each line of compiled code that marks the position as a resume point). A disadvantage would be the performance hit. Of course .NET provides the best of both worlds by allowing matching intermediate and native code side by side.
 
Back
Top