Developers: What language?

Status
Not open for further replies.

bezking

Member
Joined
Aug 5, 2006
Messages
2,656
Location
On the Road
Hey software developers:

What programming language did you write your applications in? I'm thinking about learning a .NET language and am curious about what you guys did. I'm looking for good control over serial ports and data-file parsing. (I want to see how I can have a PC interact with my Garmin GPS)

Thanks!
 

gmclam

Member
Premium Subscriber
Joined
Sep 15, 2006
Messages
6,335
Location
Fair Oaks, CA
Programming

For "control programs", I like to write in a language as close to the hardware as possible, which is typically assembly. While that works for "devices" (like your scanner), it is not portable between platforms/etc such as the ability to use the same source code for a PC or MAC program. C, C++ and newer variations of C work fairly well for writing "applications" that can be transported. But it does depend on the type of program you want to write. Each language has its strong points.
 

ProScan

Software Provider
Premium Subscriber
Joined
Jul 2, 2006
Messages
7,406
Location
Ontario, Calif.
Assembly is used very little and only if it can't be done at a higher level or speed is needed. It's like re-inventing the wheel. Depending on the language, assembly is 100 to 500 times more code.

In Windows programming, normally the lowest level the programmer will want to go is the Windows API level using C++, VB, VB .net, C# .net, etc.

Learning any of the .net languages (VB .net and C# .net) is a good thing. The .net languages (also called the .net framework) include thousands of namespaces. Namespaces are libraries which are higher level then the API's. Programming with the .net framework, high level and low level can be mixed. Generally you want to program at the highest level possible. The advantage of high level is less code, faster development time, proven methods, etc. The disadvantage of high level is using libraries that may contain bugs, overhead, user downloading external programs (DirectX), or the library doesn't have the exact functionality that you want.

If there is something that can't be done a high level, then use the Windows API. Choosing VB or C# (pronounced C Sharp) is a matter of personnel preference. The syntax is different. I have only found one difference and that is VB doesn't use pointers. VB has an interop pointer but not the real thing.

During development of ProScan, I was experimenting with changing a bitmap color and to get the speed I needed, I had to use a pointer so I made a C# .dll file and called the procedure from VB .net

To answer your question. ProScan is developed with vb .net using aprox. 100 windows API for the low level audio (waveIn/waveOut), wave file write (mmio) and various miscellaneous things that couldn't be done at a higher level. The .net framework 2.0 and above contains a serial port class and all modern languages have excellent data-file parsing.
 
Last edited:

bezking

Member
Joined
Aug 5, 2006
Messages
2,656
Location
On the Road
Thanks guys - I think I'll download the Visual Studio express editions (free!) and see which language I prefer before I go and shell out however much money the real VS editions cost.

Thanks again!
 
Status
Not open for further replies.
Top