stustarz Posted May 23, 2005 Posted May 23, 2005 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! Quote Visit: VBSourceSeek - The VB.NET sourcecode library "A mere friend will agree with you, but a real friend will argue."
Machaira Posted May 23, 2005 Posted May 23, 2005 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. Quote Here's what I'm up to.
stustarz Posted May 23, 2005 Author Posted May 23, 2005 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. Quote Visit: VBSourceSeek - The VB.NET sourcecode library "A mere friend will agree with you, but a real friend will argue."
thenerd Posted May 23, 2005 Posted May 23, 2005 I bet you don't need runtime files if you code in machine code. Quote
Denaes Posted May 23, 2005 Posted May 23, 2005 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) Quote
IngisKahn Posted May 23, 2005 Posted May 23, 2005 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. Quote "Who is John Galt?"
Leaders snarfblam Posted May 23, 2005 Leaders Posted May 23, 2005 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). Quote [sIGPIC]e[/sIGPIC]
kejpa Posted May 24, 2005 Posted May 24, 2005 With Delphi you can link what you need statically and then you don't need any runtimes. HTH /Kejpa Quote
stustarz Posted May 24, 2005 Author Posted May 24, 2005 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 Quote Visit: VBSourceSeek - The VB.NET sourcecode library "A mere friend will agree with you, but a real friend will argue."
realolman Posted May 24, 2005 Posted May 24, 2005 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? Quote
IngisKahn Posted May 24, 2005 Posted May 24, 2005 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. Quote "Who is John Galt?"
Leaders John Posted June 2, 2005 Leaders Posted June 2, 2005 Here is a nice free C IDE: http://www.smorgasbordet.com/pellesc/ Here is one for ASM: http://radasm.visualassembler.com/ Here is the free version of MS Visual C++ (command line): http://msdn.microsoft.com/visualc/vctoolkit2003/ All will allow you to create Windows programs with no external dependencies. These are just the ones I have experience with. Quote "These Patriot playoff wins are like Ray Charles songs, Nantucket sunsets, and hot fudge sundaes. Each one is better than the last." - Dan Shaughnessy
FGump Posted June 4, 2005 Posted June 4, 2005 RealBasic I remember seeing this a while back. http://www.realbasic.com Looks like it may work for you too and should be very easy! Good luck, FGump Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.