I have some ideas for a commercial product which would consist of PC add-on hardware along with software. While I am not a programmer by trade, I do have experience programming in VB6 and various other languages (Assembly, C, Forth, Pascal, Fortran). The VB6 programs I wrote were fairly extensive, but I never progressed beyond that. Also, the programs I wrote were for one specific user so I wasn't concerned about any of the issues involved in commercial, wide-spread distribution. Finally, I have been involved in non-programming activities for the past several years and have only watched .NET evolve "from a distance".
The program I have in mind would talk to the hardware (small microP) via USB. I would like to be able to implement portions of the code in external modules. This is where my lack of recent experience starts to show: I would guess that Active-X controls written in C++ would be a way to go. However, given the current technology, I wouldn't be surprised if that was a bad guess.
I know there are a lot of choices available for languages so I'm really trying to determine what is the best approach for a commercial program which would be distributed to a wide audience and needs to operate on a variety of machines (although I only intend to support Windows). I need good performance, reasonable executable size and the ability to implement some of the code in Active-X modules (or perhaps a more modern equivalent of Active-X).
From my explanation, it should be evident that I have slept through the past 10 years as the programming world evolved. Again, I mainly need help in determing where to focus my efforts in the right direction. I'm prepared for a very extensive learning cycle; I don't want to spend many months studying/learning only to discover I headed down the wrong path.
Can anyone enlighten me? Specific suggestions for programming language, method/language to implement controls and perhaps specific topics I should investigate including any recommendations for books.
Thanks in advance for any advice!