Comparing Computer Languages
The purpose of this document is to compare various computer languages
and the compilers, interpreters, and design interfaces used
to write and debug code.
Basically, moving from one compiler/language to another is a real pain.
Most books either expect you to be a beginner with no previous knowledge,
or they assume a full working knowledge.
This page is for people who are comfortable with one language
and want to learn another.
Language Elements
There are a number of basic programming elements found in most all
programming languages.
Some of those are compared here.
Compiler Functions
In Windows 95, Alt-Tab switches between applications.
In Visual Basic (and perhaps other multiwindow applications),
Ctrl-Tab switches between windows within the application.
Basic Tasks
Basic Windows GUI Tasks
Form Controls
|
UIEdit
| Where the user types data
| UIMemo
| This allows the user to enter several lines of data - 61,725 bytes max
| UIRichEdit
| Similar to UIMemo - plus, allows font properties to be set per character,
files can be > 500 K
| UIPickList
| aka ComboBox and Dropdown Pick List
| UIButton
| Includes regular buttons and toggle buttons
| UIRadioButtons
| Select one of several options
|
|
Dialog Boxes
| Displaying a standard Windows Dialog/Message Box
|
Menus
| Creating hierarchical Menus
|
Tool Bars
| Creating GUI Tool Bars
|
Object Properties
| Setting GUI object properties
|
TaskBar
| How to control whether a window appears in the TaskBar
|
ScrollBars
| Notes on ScrollBars
|
StatusBars
| Notes on StatusBars
|
Windows API
| Compares the syntax used to define an API/DLL entry point
|
Mouse Icons
| Related notes
|
Colors
| The constants are very application, and version, sensitive.
|
Pop-up Menus
| In Windows, when you right click,
a context sensitive pop-up menu should appear.
This is easy in Delphi,
very clumsy in VB 6.0.
|
Re-Size Apps
| When you manually change the size of a form,
you probably want display windows to stretch
and other controls to move.
|
Bitmaps
| How to display Bitmaps
|
Keyboard Input
| How to limit what gets typed
|
Tab Controls
| These allow you to increase the number of controls on a form
without having to use scroll bars.
|
Basic DOS Console Tasks
Console I/O
| Communicating with the user (C++ only)
|
DOS Mouse I/O
| How to interface a DOS application with a mouse
using interrupt 0x33
|
File I/O
| Examples of using fstream to read a file. (C++ only)
|
Console C++
| Some of the compatibility problems compiling C++ console
(text only) applications that you might find in a first year course.
|
Languages
VisualBasic
| Microsoft Basic for Windows 95
|
Delphi
| Borland/Inprise Pascal for Windows 95
|
C++ Builder
| Borland/Inprise 32-bit C++ for Windows 95 systems
|
FileSizes
| Comparison of the sizes of various executables.
|
Console C++
| Some of the compatibility problems compiling C++ console
(text only) applications that you might find in a first year course.
|
Borland C++
| Borland/Inprise 16-bit C++ for DOS and Windows 3.1 systems
|
MS Visual C++
| Watch out, MFC causes Dr. Watson errors!
|
Flash
| Adobe Flash has become a major cross platform development system.
Programming is via
ActionScript 3.0 -
a c-like language (actually based on javascript)
|
PowerBuilder 6.0
| Just a few notes
|
MS Access 97
| Just a few notes
|
Debug Tools
| Various programs which are useful in finding problems.
|
Assembly
| How to write Windows programs in assembly language.
|
.net
| .net is Microsofts replacement for VisualBasic, VisualC++,
and several other languages.
|
Pocket PC
| Symbol Pocket PC issues including Mobile systems & Microsoft eMbedded Visual C++
|
DDK
| The Windows DDK (Driver Development Kit) is now
available for free.
Full installation requires 200 MB.
|
Javascript
| There are a number of excellent Javascript Manuals online,
but they are a little weak on truely useful examples.
These pages should help to fill that gap.
|
Java
| Notes on using Java/JDK 1.1
(Interpretted C++ with a pseudo-standard GUI)
|
Perl
| Full on-line Perl man pages
(Perl is used for cgi programs on unix)
|
Acrobat
| Adobe suggests that Acrobat be used to develop interactive forms ... be careful
|
SQL
| SQL is used to retrieve data from databases
|
DLL Hell
| This is where loading one program breaks another program.
The primary cause is shared DLLs (common control) and runtimes
(VisualBasic, Visual C++, MFC).
|
Databases
| Additional information specifically related to Database Development.
This contains a lot of Delphi and MS Access info.
|
Delphi Professional contains source code for all the included
components (and for many of the built-in functions ???);
MS Visual Basic Professional does not provide any source files.
In fact, it is not clear what MS VB6 Pro provides
that the standard edition is missing (other than MSComm32.ocx).
Visual Basic 6.0
comes with MSDN documentaion stored in
compiled html files - *.chm which opens in HH.exe.
(When running HH.exe, if you right click and select view source,
you will see regular html source code
including a lot of Object and JavaScript code.)
One or more *.cli (compiled html index) files may be associated with
each *.chm file.
In order to use the help, MSDN CD #2 needs to be continuously
available.
When the searches are not limited to a single language,
there is no way to know which language a specific example belongs to.
For instance, VB and FoxPro look similar, as do C++ and Java.
This is very confusing.
Loading VB 6.0 loads IE 4.7, there is no choice.
Some VB 6.0 programs that you write require that
you distribute IE 4.7, otherwise, your
programs won't work.
Note: This page is currently being developed
and there are numerous sections with no data.
These are filled as I get to them.
Date | Files | Size
|
---|
1-21-01 | 80 | 500K
|
12-11-01 | 119 | 715K
|
03-17-03 | 161 | 1,071K
|
The size
includes code examples, executables,
and notes which are not displayed.
References / Additional Reading
- Moving From VB to Delphi: A technical discussion
- This is a good Borland white paper comparing and
contrasting the 2 languages.
-
How to automatically clean tempory files.
- syntax across languages
- This resource contains many more languages, but no examples.
Author:
Robert Clemenzi