|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
#1
|
|||
|
|||
|
Best Language for Freeware apps
Hi,
I administrate some sites that use MySQL and PHP and I do all the code for that. I know some stuff about other programming languages too but not much. I have some ideas for some freeware applications and I even did one using VB.NET. The problem is that not all computers have the .NET framework and to include it with the instalation makes it huge. Now I was wondering what would be the best language to use to create small Windows applications that will use some basic database connections. Thanks for any answers. []'s |
|
#2
|
||||
|
||||
|
Java
__________________
Give a person code, and they'll hack for a day; Teach them how to code, and they'll hack forever. Analyze twice; hack once. The world's first existential ITIL question: If a change is released into production without a ticket to track it, was it actually released? About DrGroove: ITIL-Certified IT Process Engineer - Enterprise Application Architect - Freelance IT Journalist - Devshed Moderator - Funk Bassist Extraordinaire |
|
#3
|
||||
|
||||
|
Java is a good choice, but you might look into C and C++ (the non-.NET types), as well. A last resort would be non-.NET Visual Basic.
Colin
__________________
Colin Wetherbee |
|
#4
|
|||
|
|||
|
Well, it dependss...
Im new to these forums so hi!
Anyway... Java is a good choice for developing freeware apps, but c and c++ is also good. I dont think it matters which one you learn because learning one is practically learning the other. As you develope your skills you will find one you prefer. Noobish Tendency ![]() |
|
#5
|
|||
|
|||
|
A lot of votes for Java!
As far as I know to run an app written in Java on needs the Java virtual machine installed. Well, that is not included with Windows XP for instance. So basically I would face the same problem I have with VB.NET, that is: to include the Virtual Machine instalation with my app which would make it really big. So I guess I'll start looking into C/C++. I know there is this memory managment issue which makes it more complex and error prone than then VB. Also probably harder and a lot slower to program. []' |
|
#6
|
||||
|
||||
|
One of the steps to becoming a real programmer is learning how memory works and how to properly manage it.
The language is not error prone; code written without sufficient experience is error prone. Colin |
|
#7
|
|||
|
|||
|
Machine language. Or assembler, if you're one of the weirdos who are into legibility.
Seriously, just look at some languages and choose one which you like.
__________________
PHP manual | MySQL manual | Apache docs | Linux Documentation Project | Free Software Foundation Smart Questions HOWTO | PHP security | PHP FAQ | Posting HOWTO Wikipedia | English dictionary | Google | News | RFCs Thus Spoke Zarathustra | A Skeptic's Guide to Christianity | Project Gutenberg | Skeptic's Annotated Bible ParEcon | Marxists Internet Archive | The Memory Hole | Landover Baptist | DHMO Research Universal Declaration of Human Rights | UN Charter | Geneva Conventions Sinfest | Chopping Block | Filthy Lies | Bob the Angry Flower | How to Shoot Yourself In the Foot |
|
#8
|
|||
|
|||
|
It depends to some extent on the specifics of the app, but for most tasks I would choose Python as my first choice, plus py2exe to turn the python program into an executable. I would then use the Inno Setup installer to turn it into an single compressed file that could be downloaded and installed.
Python is a highly productive dynamic high-level language with a simple, clear syntax. After using Python for a while coding in C++, Java, C# etc feels like programming in a straightjacket. There are several cross platform GUI frameworks for Python, the main ones are Tkinter, which comes as part of the standard installation, and wxPython. I prefer wxPython, along with the wxGlade GUI builder. Using Python + wxPython + Glade I can create most kinds of application in a fraction of the time it would take me in Java, C# or VB.NET. To give you some idea of size, a fairly complex wxPython app I created that used a couple of third-party Python libraries came out as a 2.7MB download, which expanded to about 12MB installed. I think this compares favourably with Java or C# executable + runtime. All of the above are free and open source, so you can try them out without any financial investment. Dave - The Developers' Coach Last edited by DevCoach : October 18th, 2004 at 05:54 PM. |
|
#9
|
||||
|
||||
|
Quote:
Knowing how memory works is useful, but having to manage all the memory is unneccessary and a barrier to effective programming for most modern applications. Quote:
But some languages are more prone to particular types of error, regardless of experience. A programmer in one language will make consistently fewer errors of a particular type than a programmer with equal experience would make in another language. Languages are NOT all equal. If they were, we would all still be using assembler. Dave - The Developers' Coach |
|
#10
|
||||
|
||||
|
Quote:
I agree completely with both of these statements... developer-driven memory management is necessary only with certain applications. |
|
#11
|
||||
|
||||
|
Do you not think it's important to know what's happening in memory while your program is running?
I'm a Perl programmer these days, and I enjoy not having to work with pointers, and I'm even starting to warm up (after only a couple years) to the idea that my variables get cleaned up without my help. But, when I go back to writing C and C++, as briefly as those stints may have been lately, I relish the idea of knowing where everything is going. I think a good understanding of the way memory works and how to manage it is part of the theory a person should learn along the way to becoming a programmer. A friend of mine teaches an introductory electrical engineering class at the university here, and probably a third of the semester focuses on RISC assembler and, specifically, memory management within it. Do you think it's not worth his time to teach that? Have modern programming languages really obsoleted the necessity (or even curiosity!) of knowing, at least in one way or another, how a computer works? Colin |
|
#12
|
||||
|
||||
|
Perhaps my previous post sounds naive. I know it's possible to write complicated programs without having any idea what's going on inside the computer, and I know plenty of people do that every day.
But, I'd like to think a true programmer really wants to know what's going on behind the scenes. Is that no longer the case? Colin |
|
#13
|
||||
|
||||
|
Quote:
I understand, from my experience w/ C/C++, what is going on w/ memory management. At the same time, I want to write applications that solve business problems, not spend my life dealing w/ buffer overflows and the stack/heap. Java, Python, PHP, Perl all let me focus on the application and business requirements, with the knowledge that the memory management/garbage collection is taken care of. Knowing what is under the hood is fine; having to deal with it daily is quite another. |
![]() |
| Viewing: Dev Shed Forums > Programming Languages - More > Software Design > Best Language for Freeware apps |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|