OK, not the best title but in essence true. I have programmed in Quickbasic since 1995. I love the language, but changes in printers, the adddition of USB ports, and the change to DOS emulation on the 2000/NT/XP platforms indicate a need for another language. I wrote a VB.NET console application to work on all Windows printers. As soon as I tried to place it from my XP (Has Visual Net Studios on it) to my 98, I got a message that I would need to install the .Net Framework on my 98 before I could run the program. Quickbasic, as you all probably know, has a stand-alone exe option. You make an exe, distribute it to another computer, and it runs.

My question is this. What other languages would be able to take advantage of the Windows systems (like the Windows printer driver) but would not require any other product downloads to the host computer to run the exe?

Any discussion is welcome,

Pete

Recommended Answers

All 12 Replies

Borland Delphi for one. You have options of creating everything in a stand alone executeable or using either run time dlls or packages.

Thanks Bentkey, any others with simlar responses, please reply.

Pete

Thanks Bentkey, any others with simlar responses, please reply.

Pete

Power Basic has a Console Compiler that makes text mode programming easy.

It has a DOS-like feel and many of the commands and statements are the same or with minor changes. You have the added capability of using windows
api, etc if needed or wanted. No runtime modules required, tight code, and
the BEST support on their forum.

take a look at powerbasic.com

There are also plenty of third-party add-ons if you want or need them.

check out LPRINT ATTACH
for your printer.

C++ :) its would beable to do everything you want it to and would be a stand alone exe file :) and you can get compilers free for it :)

You can still use VB.NET and package up in an installation to include the .NET framework so the user wouldn't have to download it and install it. If you still want to stick to the BASIC language, I suggest you try Visual Basic 6.0.

I read about "How to Deploy" .NET applications and one of the options was to use .dotnetfx.exe to install the .NET Framework. I looked up the size of the file and it was some 23MB! My contention against using VB.NET is that 23MB is too much run-time code to include with a 1 MB business application that would run on it's own through DOS. If Microsoft ever provides the .NET Framework as a standard for all their future platforms (Longhorn is next in 2006) then they may have a decent product. Right now, unless I am way off-base about the size of a .NET Framework installation, I think they missed the mark for any developer that wants to make commercial applications.


Thanks for the reply. Comments to the contrary welcome,

Pete

Yes, I have considered that language. In fact. I have a URL to download a free C++ compiler called (of all things) "Bloodshed." The author assures everyone he just picked the name to get his product noticed. I'll give it a try, in spite of the name.

Sometimes I wonder why JAVA is not given more publicity. From what I have heard, that language will work on any platform. Anyway, it is great to have these forums to talk stuff like this over. There is just never enough time to learn about everything that is out there, otherwise.

Thanks,

Pete

I know a Buff that posts on Qbasic.com. In any event, thanks for reply and yes, I have looked over Power Basic and also one called Liberty Basic. Liberty basic requires you distribute their run-time module or some such gimmick. I know a Jonathan S. that has Power Basic and used it to write a printer program. From our discussions, he said the source code for his project was about 50K. The VB.NET one I made is 8K, but apparently you need 23 MB of run-time code downloaded to get it to work - lol. I do like Basic and with dlls and Window support, Power Basic might be the ticket.

It seems to be the new Unicode compatible printers that do not support ASCII characters (and therefore will not support LPRINT in QB that create a printing problem. LPRINT still works on XP to parallel printers that support the ASCII character set.) Also, USB ports are not supported in QB. I SHELL out these situations to NOTEPAD and use the /p switch to print. The only problem is that to control the margins, you have to set them manually or design a program to mess with the registry, where these settings are stored. Amazingly enough, RTF files can be written to set margins for WORD, but the switches that set these margins are ignored by Notepad and Wordpad. You cannot automatically print in WORD, because it does not recognize the /p switch! Just some added info, in case you're interested.

Thanks,

Pete

I'm sure I'm the same one you are talking about.

PowerBasic requires no runtimes and now supports LPRINT.
It also has an LPRINT attach that can use a portname used by windows.
(i.e. not limited to LPT1,etc)

As I said again, support is the best too on their forum.

Right now, unless I am way off-base about the size of a .NET Framework installation, I think they missed the mark for any developer that wants to make commercial applications.

Actually, .NET has become a HUGE tool for developers of commercial software. The idea behind the 23 MB file is (1) it's only 15MB when it's compressed into a setup package, and (2) once you install it, it's no longer necessary to download or install. Many developers are packaging two setup packages for their software. One has the dotnetfx runtime, and the other does not. Still others have a link to Microsoft's website to download the dot NET framework.

.NET is actually a very nice concept, and despite having to install the framework on the front end (a relatively easy task, considering all things), the ability it provides to do practically anything you want/can in Windows using any language that can use the API far outweighs the necessity to install the framework.

I say give .NET a try, and it'd probably be worth installing the framework on your Windows 98 box.

As for other free languages without runtime dependancies, you won't TRUELY find many. Most languages that offer runtime "without dependancies" just compile the dependencies into the executable, resulting in a larger file. Others require smaller DLL's (a few KB) like VB 6 or most C++ compilers. The benefit to the C langauges (unless you use SDK's like MFC or Borland's widgets to create your windows), you can make native calls to the Windows API and do most of the work, resulting in an executable with dependancies that are certain to already be installed on the target machine.

a
Sometimes I wonder why JAVA is not given more publicity. From what I have heard, that language will work on any platform.

Indeed, Java will work on any platform, providing there is an interpreter avaliable for it. Java is a fabtastic language, with alot more power avaliable in it that most people give it credit for!
.NET, in my oppinion is pointless. Micro$ claim it is multiplatform. infact, their definition of multiplatform is that it runs on any version of windows. Java runs on any unix, linux, windows (even 3.1 if you have the 32bit libraries installed!), and on BeOS and QNX!

The main gripe about Java is that as it is compiled to byte code, instead of native code (nessecary for the portability aspect), it is slow. this is changing! JIT compilers compile the program as it is running, rather than prior to executing, and make everything alot faster.

Java really is the way forward! You dont need to develop multiple versions oa program for cross compatibility anymore!

Indeed, Java will work on any platform, providing there is an interpreter avaliable for it. Java is a fabtastic language, with alot more power avaliable in it that most people give it credit for!
.NET, in my oppinion is pointless. Micro$ claim it is multiplatform. infact, their definition of multiplatform is that it runs on any version of windows. Java runs on any unix, linux, windows (even 3.1 if you have the 32bit libraries installed!), and on BeOS and QNX!

Java really is the way forward! You dont need to develop multiple versions oa program for cross compatibility anymore!

Actually, .NET (the core framework) is cross-platform. I use mono on linux frequently, and the same C# code compiles on mono and .NET, as long as you don't use a namespace that requires a Windows library (or another library that was written for Windows).

As for Java being the way forward, I have to disagree. It's good for a few cases, but it's way too bulky to use for entire programs. .NET is a very effective solution, but like any other programming solution, it has its faults.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.