Jesus 'n Jim
A mainly PC (some Mac) site w/Software, Computer Repair Info, How-To's on Using Computers
Technical Support 1-360-521-2060 (my business line cell)

Java or C++...?

 

Java

- difficult to compile. you usually end up writing a custom batch file to compile each program.
- hard to distribute to other people because you don't usually end up with executables. no .EXE unless you use a special program off the internet.
- they must have the java runtime installed to run your programs.
+ NICE programming library of classes to choose from (not teaching classes, data types)!
+ includes windows stuff
+ GUI oriented
+ windows stuff (swing) requires a book to program
- no low-level system access (that I know of) - all access is provided through JRE
- Java Virtual Machine is somewhat slow to load
- not as fast as C++
+ windows vista/7 compatibility handled by people installing latest JRE (Java from Java.com).

C++

+ has reasonably nice library of functions
+ may include windows stuff
- windows stuff is hard to program, even with a good book
- can be somewhat clunky at times to do a job (so use the STL)
+ multiple inheritance, if you think you need it.
- command-line program oriented
+ system and low-level access (access to UNIX Kernel/Darwin/Win32)
+ optional assembler instructions inclusion
+ make/access drivers
+ make/access DLL's (shared libraries)
+ make/access ActiveX/OLE controls
+ fast
+ if GUI, good candidate for writing NSIS installer so people can use the program
- windows vista/7 compatibility must be specially handled

Visual Basic

+ based on Microsoft BASIC (always a nice implementation)
+ access/create ActiveX/OLE controls easily
+ access .Net
+ easy to generate a setup installer (with commercial version)
+ easy to create windows "forms" and draw in windows controls and use them
+ ODBC for accessing databases, great for making database clients
- requires a book or instructor or mentor to learn it
- code not as fast as C++
+ crystal reports plugs in nicely

PHP

+ powerful comprehensive language
- lots of functions that do all kinds of things
+ mysql and posrgewsql functions
+ sqlite functions
+ C file I/O functions
+ includes many C functions
+ XML processing functions
+ http and ftp functions
+ md5, date & time, array functions
+ supports classes & objects
- sometimes hard to write
+ regular expressions
+ looks like C
+ really decent manual with commments and examples available

Auto-it3

- very diffifult to make anything other than a dialog
+ great shell-out for wrapping around command-line executables and turning them into GUIs.
+ BASIC-like
+ can make sub-dialogs using a function
+ concept of local and global variables
+ can generate 64-bit code
+ very small, tight, standalone executable code
+ lots of GUI functions and OS functions
+ includes SQLite database
- ability to call Win32 DLLs like the kernel are not working properly yet
+ code editor and compiler, ability to test-run script from windows explorer.
- fine for small programs, but I wouldn't use it for big projects
+ generally made for automating things
+ regular expressions

take a moment and decide what you would like to do. you will need the JDK to write programs for Java, and a C++ compiler to write programs for C++, and a programmer's editor in all cases (try Notepad++).

I still write in C/C++ and PHP and a few other languages.

Microsoft Visual Studio
requires .Net 3.5 SP1 which is only available for XP/2003/2008/Vista/7
you can pick the parts you want or install the whole package. EULA (license) prohibits distributing source with the executable (no open source programs).
$800(no msdn)-$2500(with msdn)
I don't think there are limitations on whether you can develop open source programs with it. but there are some limitations you should read about. includes VISUAL BASIC, C++, C#, web apps, Microsoft SQL Server, Office 2007 dev tools.
PHP script interpreter
Server not required
php.net free
powerful comprehensive language. must be configured to run long stuff.
C++ compilers
relatively new (1.0), crashes a lot, but compiles code ok. uses newer gcc compiler than the mingw below. generates proper 64-bit executables. can be made to make vista/7-compatible EXEs if you compile in a manifest XML resource. optimizer is junk beyond -O.
mingw 32-bit windows GNU compiler set (C++, Objective C, Fortran77, Ada, Java), available from $
stable. uses a nice installer-downloader. can be made to make vista/7-compatible EXEs if you compile in a manifest XML resource. optimizer is junk beyond -O. makes tight monolithic executables.
DJGPP, available from delorie.com free to download or $200 cd package
compiler for creating 32-bit DPMI-enabled DOS files. but my understanding is that the files require XP to extract correctly, due to what I have seen in the length of the filenames. use unzip32 that comes with it, not your unzipping utility!
Borland C++ 5.5.1 32-bit windows compiler is mentioned here and available here, free. SP1 and SP2 are available here.
nice optimizer.
Java
java runtime, available from java.com free
JDK EE, available from java.sun.com
enterprise platform. regular JDK is no longer offered by Sun (other than EE, you have to compile your own Open Source compiler).
OpenJDK, available from openjdk.java.net free
hard to mess with, requires compiling
Auto-it3
generally made for automating things.