Software Design
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me
Go Back   Dev Shed ForumsProgramming Languages - MoreSoftware Design

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old October 9th, 2004, 10:04 PM
Webwing Webwing is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2004
Posts: 4 Webwing User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 16 m 29 sec
Reputation Power: 0
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

Reply With Quote
  #2  
Old October 16th, 2004, 06:09 PM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,225 drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level) 
Time spent in forums: 1 Day 4 h 48 m 15 sec
Reputation Power: 174
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


Reply With Quote
  #3  
Old October 17th, 2004, 12:32 AM
cww's Avatar
cww cww is offline
flit, flit, flit...
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2003
Location: New York City
Posts: 167 cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 13 h 24 m 29 sec
Reputation Power: 8
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

Reply With Quote
  #4  
Old October 17th, 2004, 12:48 PM
noobishtendency noobishtendency is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2004
Location: London
Posts: 34 noobishtendency User rank is Private First Class (20 - 50 Reputation Level)noobishtendency User rank is Private First Class (20 - 50 Reputation Level) 
Time spent in forums: 8 m 25 sec
Reputation Power: 5
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

Reply With Quote
  #5  
Old October 17th, 2004, 02:34 PM
Webwing Webwing is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Oct 2004
Posts: 4 Webwing User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 16 m 29 sec
Reputation Power: 0
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.

[]'

Reply With Quote
  #6  
Old October 17th, 2004, 03:08 PM
cww's Avatar
cww cww is offline
flit, flit, flit...
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2003
Location: New York City
Posts: 167 cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 13 h 24 m 29 sec
Reputation Power: 8
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

Reply With Quote
  #8  
Old October 18th, 2004, 05:46 PM
DevCoach DevCoach is online now
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Feb 2004
Location: London, England
Posts: 1,254 DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Week 6 Days 8 h 10 m 34 sec
Reputation Power: 265
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.

Reply With Quote
  #9  
Old October 18th, 2004, 06:21 PM
DevCoach DevCoach is online now
Contributing User
Dev Shed Beginner (1000 - 1499 posts)
 
Join Date: Feb 2004
Location: London, England
Posts: 1,254 DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level)DevCoach User rank is Captain (20000 - 30000 Reputation Level) 
Time spent in forums: 1 Week 6 Days 8 h 10 m 34 sec
Reputation Power: 265
Quote:
Originally Posted by cww
One of the steps to becoming a real programmer is learning how memory works and how to properly manage it.

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:
Originally Posted by cww
The language is not error prone; code written without sufficient experience is error prone.
Colin


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

Reply With Quote
  #10  
Old October 18th, 2004, 06:58 PM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,225 drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level) 
Time spent in forums: 1 Day 4 h 48 m 15 sec
Reputation Power: 174
Quote:
Originally Posted by DevCoach
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.



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



I agree completely with both of these statements... developer-driven memory management is necessary only with certain applications.

Reply With Quote
  #11  
Old October 19th, 2004, 01:38 AM
cww's Avatar
cww cww is offline
flit, flit, flit...
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2003
Location: New York City
Posts: 167 cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 13 h 24 m 29 sec
Reputation Power: 8
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

Reply With Quote
  #12  
Old October 19th, 2004, 01:42 AM
cww's Avatar
cww cww is offline
flit, flit, flit...
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2003
Location: New York City
Posts: 167 cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level)cww User rank is Corporal (100 - 500 Reputation Level) 
Time spent in forums: 13 h 24 m 29 sec
Reputation Power: 8
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

Reply With Quote
  #13  
Old October 19th, 2004, 02:17 AM
drgroove's Avatar
drgroove drgroove is offline
pushing envelopes, not pencils
Dev Shed God 2nd Plane (6000 - 6499 posts)
 
Join Date: Feb 2002
Posts: 6,225 drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level)drgroove User rank is First Lieutenant (10000 - 20000 Reputation Level) 
Time spent in forums: 1 Day 4 h 48 m 15 sec
Reputation Power: 174
Quote:
Originally Posted by cww
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


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.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreSoftware Design > Best Language for Freeware apps


Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your post