What Programming Language?

Soldato
Joined
12 Jun 2005
Posts
5,361
Hi there,

I have done programs in .NET (VB & C#), but I would like to be able to develop small applications that don't need the .NET framework to run as it is very resource intensive.

I know I could develop in VB6 as the runtimes are included with xp, but I was hoping for something a bit different.

What do you suggest I try?

Thanks.
 
Hi there,

I have done programs in .NET (VB & C#), but I would like to be able to develop small applications that don't need the .NET framework to run as it is very resource intensive.

I know I could develop in VB6 as the runtimes are included with xp, but I was hoping for something a bit different.

What do you suggest I try?

Thanks.

VB6 apps are worst performers than there .NET equivalents by a quite a margin.

The only option here would be cpp or c apps but good look with the MFC framework for creating winforms
 
Resource hogging is becoming less of an issue with workstations and .Net framework is only going to get better. Stick with it :)
 
If you can get your hands on Delphi it used to be pretty good at creating fairly efficient applications that do not require any runtime framework.
 
The .net runtime is really not a resourcehog, it''s excellant imo. However naturally a compiled language is faster in most circumstances, but only really required for resource hungry programs.

/edit VB6 is an interpreted language and much much slower than .net
 
Developing for windows - if that's what you meant?

That means nothing I'm afraid. Depending on the type of application you want to develop, different "technologies" rather than purely programming languages can be applied.

If you want to make a Windows-only Rich client application, then any of the .NET / C++ + Win API/MFC/whatever the latest one is called would be appropriate. But there are a large number of different types of setup, not all of which are obvious, and which have serious compatibility/scalability/maintainability issues.

Personally I would not touch the Windows-only route any more, I would use a GTK based independant route, the same as Firefox, then you can knock out the same application with versions for Windows/Mac/Linux with very few changes. I would use databases and databasing in general for very large sets of data which would need archiving/quierying, probably on a seperate server, and depending on the types of data processed, might even consider setting up a CMS to hook up to the backend. (This is what I am experimenting with Joomla 1.5 modules etc atm).

Already I have included in that model a large number of different programming "languages" as well as SQL and other projects. Its not really as clear cut as writing c# and adding a window+buttons... unless that is the complexity of the project you want to pursue, and as I have asked... what do you want to do?
 
*snip*... what do you want to do?

Ah i'm with you, hadn't a clue about any of that, so thanks for the info :).

Well basically i am creating a little application that feeds off the Last.fm site so the user can play his/her "playlist" from my application with a few settings that can be changed.

...it's just something to keep me busy for a few hours and to a learn a few more things....basically all it would be is a web browser, but to make it a little more difficult for me i want to make my own "skin" for it using paint events in c#.net or something like that...
 
...it's just something to keep me busy for a few hours and to a learn a few more things....basically all it would be is a web browser, but to make it a little more difficult for me i want to make my own "skin" for it using paint events in c#.net or something like that...

It's probably worth taking a look at C# + WPF in that case.
 
If you want to make a Windows-only Rich client application, then any of the .NET / C++ + Win API/MFC/whatever the latest one is called would be appropriate. But there are a large number of different types of setup, not all of which are obvious, and which have serious compatibility/scalability/maintainability issues.

That's a rather sweeping statement. I would agree MFC is a maintance nightmare, care to expand on the others though?
 
That's a rather sweeping statement. I would agree MFC is a maintance nightmare, care to expand on the others though?

I wasn't applying those terms simply to the windows technologies, I was saying that in general they all have their own strengths and weaknesses ^^.

But from the windows perspective, compatibility is certainly an issue. Anyone who develops for linux can tell you, that we don't actually develop for linux, we develop an independant framework, and then produce nightly builds for multiple platforms, thereby rolling out applications for any and all systems without major changes, as opposed to windows applications only working for windows. Its a subtle change but it can have huge effect.

An example might be FileZilla, only recently they have rolled out version 3, that had to be redesigned from the ground up, but is now rolled out across all platforms, whereas before it was a nice windows-only application. Unless you are talking home or office use only, cross-platform is a serious consideration of course depending entirely on the type of application.

It seems entirely naive these days to say "my application only runs on windows", and then when Microsoft decides to change its' operating system (without external consent, I might add) you find your application does not work or requires a "compatibility layer" (as Apple have had to roll out to keep its' ancient applications still running). These are the scalability issues that should be considered. One operating system lasts... 5 years? 10 years? Before major hardware/software changes and then your executable is out of the window except under emulation, and that is really dire and unprofessional. It was acceptable in the past when people didn't care, but people *do* care now.

EDIT : You might consider these comments when you realise in 5 years that none of your PC games from yesteryear run on the latest version of windows and require heavy emulation, or that the non-standard database that you created needs a transfer tool or you have to maintain an ancient server somewhere that is fragile. There is such a thing as BitRot and you should guard against it.

Why would you invest a lot of time and effort into something that is going to not work in 5 years time?
 
Last edited:
Have you thought about looking at Python?

I have just started learning it and its sinking in a lot easier than some of the other languages I have looked at. However, my time is split between python, css & PHP at the moment due to helping other people out. Once its done though I intend on setting up a cheap linux box and using python to write programs for both OS's.
 
I did Win32 API based development for years - C, C++, BASIC, the works really. When I finally made the move to C# .NET I've never looked back. Everything is so much easier to accomplish.

There is the very very occasional time that you wish you had a bit more power like what C++ offers but when you think about it a bit more you find a better, more elegant and likely more performant solution anyway. When all else fails C# does offer the unsafe{} block and keyword ;)
 
Have you thought about looking at Python?

I have just started learning it and its sinking in a lot easier than some of the other languages I have looked at. However, my time is split between python, css & PHP at the moment due to helping other people out. Once its done though I intend on setting up a cheap linux box and using python to write programs for both OS's.
What are you developing with Python? I'd love to learn it but only if I could make programs with GUIs that run themselves. If you know what I'm trying to say.
 
What are you developing with Python? I'd love to learn it but only if I could make programs with GUIs that run themselves. If you know what I'm trying to say.

Pygtk is a decent GUI library for python. I code for linux so its as simple as just chmod +x filename.py then all you need to do to run it is ./filename and the python interpreter handles the rest.
 
Hey Una. :) Thanks for replying. So do I code the application with Pygtk? Sorry for the questions but I've no idea about Python at all. :(

Pygtk is just a library for doing gui stuff. You just import it into your python code and write the code to create widgets/event handlers etc...

Hello world example in pygtk:-
http://www.pygtk.org/pygtk2tutorial/ch-GettingStarted.html#sec-HelloWorld

There are GUI designers (Glade) which are drag/drop like your VB crap but I stay well away from them.

If you mean what do you write python (pygtk applications) in? A normal text editor is used (I use VIM).
 
Last edited:
Back
Top Bottom