If not .Net then what?

J

jim

In a thread about wrapping .Net applications using Thinstall and Xenocode,
it was pointed out that there may be better programming languages/IDEs to
use for the purpose of creating standalone, single executable apps.

My goal is to create desktop applications for use on Windows XP+ OSs that
are distributed as single executables that do not require traditional
install packages to run.

I would like to use a drag and drop UI development tool like the .Net IDE
(or the old VB6) to make development as easy as possible. I am a hobbyist
programmer and would like to put out some useful apps, but I don't want to
have to become an expert at a complex language like C++ to do so reliably.

More than one person responding to the previous thread held the opinion that
..Net was great for corporate environments where all PCs are strictly
regulated, but may not be the best option to develop the type of apps that I
would like to develop for the PC community at large.

So what, in your opinion, would be a good alternative to use to develop the
type of applications that I am trying to develop?

jim
 
A

Arne Vajhøj

jim said:
In a thread about wrapping .Net applications using Thinstall and Xenocode,
it was pointed out that there may be better programming languages/IDEs to
use for the purpose of creating standalone, single executable apps.

My goal is to create desktop applications for use on Windows XP+ OSs that
are distributed as single executables that do not require traditional
install packages to run.

I would like to use a drag and drop UI development tool like the .Net IDE
(or the old VB6) to make development as easy as possible. I am a hobbyist
programmer and would like to put out some useful apps, but I don't want to
have to become an expert at a complex language like C++ to do so reliably.

More than one person responding to the previous thread held the opinion that
.Net was great for corporate environments where all PCs are strictly
regulated, but may not be the best option to develop the type of apps that I
would like to develop for the PC community at large.

So what, in your opinion, would be a good alternative to use to develop the
type of applications that I am trying to develop?

I think you should stick to C# (or VB.NET if you so prefer). Just
consider not targeting the latest and greatest .NET version.

Since Win2003 Windows does come with .NET preinstalled and it
is pushed out to Windows XP via Windows Update.

I believe you can even distribute the runtime with your app.

Unless your app specifically targets users with old Windows
version and/or slow dialup internet connections, then I can not
see a problem going with .NET !

Arne
 
T

Terry Olsen

The .NET framework should be installed on every Windows XP machine that is
kept updated. That means you don't have to create an installer package. You
can distribute the executable alone and it should work fine. Vista machines
have the .NET framework pre-installed.

The only objection to the .NET framework I've heard is from people who say
they don't want some big runtime library installed on their pc's. But what
do they think Windows itself is? It's a big runtime library that every
windows application ever written requires to run. The .NET framework is just
a few extra DLL's in the System32 directory.

I use primarily use VB for all my development. Every now & then some dummy
will email me and with "why don't you write a version of this program that
doesn't require the .NET framework?" And I'll respond with "why don't you
write it yourself?"

I use VB not because i'm stupid, but because I'm lazy. I like that I can
whip out a windows form in a few seconds and use the various built-in
functions and classes to do the work that I want done. I've been known to
get a quick app done in 15 minutes when someone says "I need a utility to do
this...". Using a non-ide language like gcc or other command-line compilers
doesn't make any sense to me. It's a time waster.

If I need to make a program that works without the .NET framework (one
that'll run on a BartPE bootable CD, for example) then I use BCX. But to
design the form, I use VB6 to create the .frm file, and use a program I
wrote to convert the .frm file into the BCX code needed to create the form
at runtime.

So it's up to you. Use whatever you're comfortable with and don't listen to
people who have pre-conceived ideas about your language of choice.
 
C

Cor Ligthert[MVP]

Jim,

Honestly the application that you want to develop is from the previous
millennium from the time that Dos was reigning.

Now user's wants (while they tell that they do not), all kind of advanced
behaviour. That needs a lot of extra software for which the Net framework
is, it seems to me, the best solution today. You alone cannot create all the
classes which help us to make software today. The runtime of that software
(however not only that runtime, there is much more) is now in the Net
assemblies.

Another advance from Net related software is that it is easy to deploy
because the real application can be relative small because most people have
already the .Net versions and a Windows OS on their computer. The advance
from the Net versions is that it is undependable from the Windows OS that is
running. However not small as not any OS part is (and every runtime for
windows is).

Be aware that there never were really small applications that could run on
windows OS systems. An average VB6 was by instance much huger to deploy and
absolute not deployable with dialup connections. In past every (non
assembler type) program language had its own runtime even when big parts
were included in the OS (like in mainframes)

If you don't know why runtimes are build: First they appeared to overcome
every time repeated simple instructions as adding, which can be, without a
runtime, need real a lot of instructions, while in fact it is endless times
done in a program. This can be used of course for everything and is every
time done more.

I hope that this explains something to you.

Cor
 
R

Richard Heathfield

[followups set to comp.programming, where I'm reading this thread]

Terry Olsen said:

The only objection to the .NET framework I've heard is from people who
say they don't want some big runtime library installed on their pc's.

Another objection is that it's slow. The first program I moved to .Net ran
around 60 times slower than native - way too slow to be useful.

A third objection is that it's non-portable. Even if I were of a mind to
run .Net programs under Linux, I couldn't actually do so - at least, not
yet. Mono promises to sort that out... oonnee ddaayy...... but in the
meantime Linux users would rather have something that actually works.

I use VB not because i'm stupid, but because I'm lazy.

Being even lazier than you, I use C++ Builder for those rare occasions when
I need to write a Windows program. Because I'm so lazy, though, I prefer
to use Linux, where almost everything is so much easier to do. (In the
interests of balance and fairness, I will of course concede that there are
some things that it's easier to do in Windows. But industrial-strength
programming isn't one of them.)
I like that I can
whip out a windows form in a few seconds and use the various built-in
functions and classes to do the work that I want done. I've been known to
get a quick app done in 15 minutes when someone says "I need a utility to
do this...".

What took you? My personal record for responding to such a request is 30
seconds (including compilation) for the first version, and another 60
seconds when the user suddenly decided to require some extra features.
Builder rocks like that. I recommend it to you - and it doesn't need that
silly .Net framework either.
Using a non-ide language like gcc or other command-line
compilers doesn't make any sense to me. It's a time waster.

I don't like wasting my time, which is why I use the best tool for the job.
Sometimes, that's an IDE tool like C++ Builder. But sometimes it's a
command-line tool. If you think command line compilers are a waste of
time, that suggests that you haven't much experience of life outside the
world of pointy-clicky.

So it's up to you. Use whatever you're comfortable with and don't listen
to people who have pre-conceived ideas about your language of choice.

There, at least, I can agree with you.
 
M

Michael Rubinstein

Hi Jim,
More than one person responding to the previous thread held the opinion
that .Net was great for corporate environments where all PCs are strictly
regulated, but may not be the best option to develop the type of apps that
I would like to develop for the PC community at large.
that kind of opinion is often offered by people jealously guarding their
'corporate' pond and perks it offers. No matter what environment you are
developing for what matters is the quality and usefulness of your program.
It is much easier to conceal lousy workmanship in a corporate environment
where expressing an honest opinion may cost dearly.
I would like to use a drag and drop UI development tool like the .Net IDE
(or the old VB6) to make development as easy as possible.
Just don't it expect to think for you.
In a thread about wrapping .Net applications using Thinstall and Xenocode,
it was pointed out that there may be better programming languages/IDEs to
use for the purpose of creating standalone, single executable apps.
I never used Thininstall. Xenocode allows wrapping the whole application -
executables, Dlls, ActiveX, databases, INI or XML, plus, when necessary,
the whole .NET Framework, into a single executable. This executable can also
wrap registry entries. You can simply copy such an executable onto the hard
drive of the target machine without the traditional setup. This is
especially handy when the application includes an ActiveX that normally
would require registration on the target machine. I word of caution - if you
do it as hobby, it may cost you some money, besides the time and effort.

Michael
 
M

Michael Moreno

In a thread about wrapping .Net applications using Thinstall and Xenocode, it
was pointed out that there may be better programming languages/IDEs to use
for the purpose of creating standalone, single executable apps.

Delphi 7 (newer versions are not as stable) does that very well.
 
K

Kerem Gümrükcü

Hi Jim,
for the purpose of creating standalone, single executable apps

No application is standalone, every application has at least
an reference to the kernel dll and maybe to advapi, gdi, netapi
or user api. The only standalone application you can say is a real
standalone application would be a BIOS Code, Bootloader,
oskernel and code working in that space,...

..NET Framework is just fine, some additional dlls and a little
pe modification for such a great framework is more than acceptable!

Regards

Kerem

--
 
I

Ignacio Machin \( .NET/ C# MVP \)

Hi,


You can always use C++ and write unmanaged apps, if you only use win32 API
you know for sure that it will run always.
 
J

jim

Thanks!

I've seen Delphi pop up a lot in these conversations, but I was kind of
afraid that it may not be that reliable since Borland couldn't make a go of
it.

I'd hate to begin using a language/IDE and have the company supporting it go
under. It would just waste a lot of time that I could have spent learning
something else.

jim
 
R

Richard Heathfield

[F-Us set to c.p]

Kerem Gümrükcü said:
Hi Jim,


No application is standalone, every application has at least
an reference to the kernel dll and maybe to advapi, gdi, netapi
or user api.

Bear in mind that this thread is cross-posted. What you say may well be
true in Windows, but it is not true of all computer systems, and
especially embedded systems, which might be the *only* software running.
The only standalone application you can say is a real
standalone application would be a BIOS Code, Bootloader,
oskernel and code working in that space,...

It depends how pickily you're using the term "standalone". People nowadays
have a fairly loose definition of "standalone", as in "all I have to ship
is the .exe" - and under that definition, there's lots of scope for
standalone applications, even under Windows, let alone under Linux,
MS-DOS, and the Mac.
.NET Framework is just fine, some additional dlls and a little
pe modification for such a great framework is more than acceptable!

Ah, but here we must agree to differ. :)
 
K

Kerem Gümrükcü

Hi Ignacio,
You can always use C++ and write unmanaged apps, if you only use win32 API
you know for sure that it will run always.

as long as you use apis that are downward compatible and do not
depends on sh*** like mfc (anf if soyou need the rigth runtime) and
you target the right cpu (32/64), then you can run your code on any
windows,...if you target windows,..

But if you need indipendend runtimes then go write generic x86 asm and
store it in libs ond objectcode that you can compile into single exe image.
But i see only need for this if you need fast algo's and dont want to depend
on any runtime (c-runtime, mfc, msvb, et al,....)

Regards

Kerem



--
 
F

Family Tree Mike

Bear in mind that this thread is cross-posted. What you say may well be
true in Windows, but it is not true of all computer systems, and
especially embedded systems, which might be the *only* software running.

The original post stated Windows XP or higher. The original post apparently
was written differently on the non-dotNet groups.
 
K

kevininstructor

Jim,

On top of what has been said already you have very little to lose trying
..NET since the Express edition is free. There should be no concerning about
large required run times since they are most likely there already and if not
99% of users without the framework can install it quickly and easily.

To be honest (coming from a former long time Delphi developer) at this
moment in time .NET is an excellent, or should I say the best way to write
desktop applications. For someone just beginning you should have only a
short learning curve. As task become more complex you need look no farther
then these newsgroups for resources to questions which come either in the
form of expert responses or pointers to web sites which hold the key to your
issue at hand.

VB.NET or C#, that has already been hashed out high level. I like C# but my
agency settled on VB. Either one will get the common task done.
 
A

Arne Vajhøj

Ignacio said:
You can always use C++ and write unmanaged apps, if you only use win32 API
you know for sure that it will run always.

Only if you do not use features only available in newer windows
versions.

But admitteded the Win32 API is rather mature in not much
is added these days.

Arne
 
K

Kerem Gümrükcü

Hi Richard,
Bear in mind that this thread is cross-posted. What you say may well be
true in Windows, but it is not true of all computer systems, and
especially embedded systems, which might be the *only* software running.

yes, this was meant for windows systems, i dont talk about any other system,
nor linux, nor vx, nor mac or other archtitecture. It was only meant for
Windows Systems, and i think the OP was talking about windows,...
It depends how pickily you're using the term "standalone".

Oh yes, it really depends and the the transition from monolithic to
modular or in our case from standalone 2 library dependency is
also very vague,...
People nowadays
have a fairly loose definition of "standalone", as in "all I have to ship
is the .exe" - and under that definition, there's lots of scope for
standalone applications, even under Windows, let alone under Linux,
MS-DOS, and the Mac.

I asume you are a experienced developer so the term "standalone" is
truly very "loose". I think if we start a discussion here what can be
told standalone or modular could end up in a book of software
architecture. I have really a lot of experinence in writing code for
a bunch of OS's and architectures from (not kidding) binary over asm
till completely OOP even functional PL, and i know that something
can be for some developer a closed library but for the other a complete
stackable, modular, reusable component, e.g. when you thing about
functions, exports, code segements, just the COFF&PE Format is
just a piece of reusable (binary) data structure/code when it comes
to e.g. hooking binaries just to give an example,...
.NET Framework is just fine, some additional dlls and a little
pe modification for such a great framework is more than acceptable!
Ah, but here we must agree to differ. :)

Suum Cuique ;-)

Each to his own dude,...

Regards

Kerem


--
 
S

Scott Roberts

jim said:
Thanks!

I've seen Delphi pop up a lot in these conversations, but I was kind of
afraid that it may not be that reliable since Borland couldn't make a go
of it.

I'd hate to begin using a language/IDE and have the company supporting it
go under. It would just waste a lot of time that I could have spent
learning something else.

jim

If by "Borland couldn't make a go of it" you mean "Borland has developed 10+
versions of it over the span of 10+ years" then I guess you're right. I
started using Delphi 2.0 in 1997.

People have been predicting the demise of Delphi for years. The reality is,
it's a niche product that performs admirably for it's intended purpose. And
I think it would be great for someone who wants to create "standalone" Win32
apps. I would gauge it as "far superior" to VS up until VS 2003. I agree
with the previous poster who recommended Delphi 7. It's very stable. D8 was
a complete nightmare - so much so that I haven't tried any version since.

Further, you can supposedly port your code to linux fairly easily using
Kylix (Delphi for Linux), though I've never tried it (and neither did anyone
else, from what I can gather).
 
A

Arne Vajhøj

Richard said:
[followups set to comp.programming, where I'm reading this thread]

Changed back to include the groups more relevant for the question.
Terry Olsen said:

Another objection is that it's slow. The first program I moved to .Net ran
around 60 times slower than native - way too slow to be useful.

I think you should spend a bit more time studying .NET !
A third objection is that it's non-portable.

Since the original poster stated:

#My goal is to create desktop applications for use on Windows XP+ OSs

Then that should not be a problem.
What took you? My personal record for responding to such a request is 30
seconds (including compilation) for the first version, and another 60
seconds when the user suddenly decided to require some extra features.
Builder rocks like that.

I am not particular impressed by either claim. If I had ever created
an app that fast I would try to keep it a secret - if you get my point.

Arne
 
A

Arne Vajhøj

Richard said:
[F-Us set to c.p]

Set back again.
Kerem Gümrükcü said:

Bear in mind that this thread is cross-posted. What you say may well be
true in Windows, but it is not true of all computer systems, and
especially embedded systems, which might be the *only* software running.

The original post said:

#My goal is to create desktop applications for use on Windows XP+ OSs

So the assumption about Windows is fine.

I just don't think the original poster should have included
a group as general as comp.programming for a Windows specific
question.

Arne
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top