Re: [Dev-C++] Opinion about IDE Develpment Tools for EE
Open Source C & C++ IDE for Windows
Brought to you by:
claplace
|
From: Per W. <pw...@ia...> - 2008-03-30 06:58:52
|
On Sun, 30 Mar 2008, Michal Molhanec wrote: > André Macário Barros napsal(a): > > ------xxx------ > > > > I present to you this scenario because of the following: > > In the early 80´s, the old 2-diskettes Turbo C was used in > > EE to develop a lot of systems. BCC (Borland C++) v5&6 provides > > Do you mean Borland C++ Builder 5 & 6 ? Borland C++ was name for a > completely different product. No, I really think he means the original Borland C++, i.e. the successor to the Turbo C/C++ since the courses spends a large amount of time on development of command-line tools. Builder puts it's weight on development of GUI applications. Just a note: The original Borland compiler and the Turbo Debugger are still available. They have been bought by a different company, and are sold as Paradigm C++ Professional, and are targeted for development for x86 embedded platforms. With the Paradigm linker, it is ossible map code blocks to specific memory regions. With the Paradigm debugger, it is possible to use the serial port or JTAG to debug an x86 target. > > > a way to the EE student to develop systems without the formal > > need to work in OO. I think most of this is devoted to the > > Component Based Programming style. Inside each one of the functions > > the ANSI-C is used. Minimal VCL (Virtual Component Library) is > > used (example: fscanf vs LoadFromFile). Not only in this EE course > > but in a lot of others, I found this technical behavior (to > > prefer the BCC tool). But BCC is stopped and it is necessary to > > migrate to another IDE and, perhaps another way of discipline > > structuring. > > What do you mean stopped? C++ Builder has new version nearly each year, > latest to be found at: http://www.codegear.com/products/cppbuilder > > > > > ------xxx------ > > > > I know you guys like to talk a lot more than Dev-Cpp here > > and, if you are interested to talk about this, here are my > > questions: > > a) In the showed scenario how would you struct the > > 4-year disciplines? > > If I haven't to stick with ANSI-C, I would probably go with .Net/C#, but > I understand your motivation. However the problem is that nobody uses > ANSI-C for GUI development, nor there is pure ANSI-C IDE for GUI > applications. .Net/C# are not suitable tools when the students are expected to develop embedded applications. How many microcontrollers do you think have a .NET support library? The processor may possibly have 1kB .. 512kB of program memory, and 16 byte .. 64kB of RAM. Learning to program in C for the embedded side and in C# for the Windows side may help the students to learn multiple languages which later helps them learn a third or a fourth programming language. However, that is the cs way of doing things. It may loose the studens a lot of time that they may need better for their embedded work. Going C++ for the PC side has the advantage that it is more similar to C, and as the high-end microcontrollers gets more powerful, more and more development tools will support C++. Remember that C++ was originally developed with C compatibility as a primary cornerstone. The latest C standard means that C is no longer a strict subset of C++, but close enough. The important thing is that you can take a C program, and bit by bit rewrite it into a full C++ program. Anyway, I feel that OO programming is important. People may not get the code reusability that they initially expect, but it is my experience that the additional encapsulation helps to reduce the maintenance costs significantly. And as long as the microcontroller has a real stack and registers capable of real pointer operations, it is possible to write "C programs with objects", without significantly change the memory requirements or the running speed of the embedded application. You skip any C++ libraries, templates etc but at least makes use of the C++ classes for abstraction. > > > b) With your changed (a) scenario, what IDE do you > > recommend? > > MSVC or SharpDevelop > > > c) Without changing the showed scenario, do you > > know any other tool that does the same work of BCC? > > BCC :-) > > > d) Am I wrong about MSVC? Can I do the same Component Based > > Programming using ANSI-C in the most parts of the code? > > I don't see big difference between MFC and VCL. On the other hand, I > don't think MSVC will ever have MFC-based GUI builder comparable to BCC. > > ------------------------------------------------------------------------- |