Discuss Design Tool in the C Programming forum on Dev Shed. Design Tool C programming forum discussing all C derivatives, including C#, C++, Object-C, and even plain old vanilla C. These languages are low level languages, and used on projects such as device drivers, compilers, and even whole computer operating systems.
Time spent in forums: 2 Months 4 Weeks 1 Day 12 h 25 m 37 sec
Reputation Power: 1809
What do you call "big"?
10K lines of code, 1M lines of code, more or less?
How many people are going to work on it? Do you need collaborative design features? For a 10K sized project with only one developer, you're looking at a good number of months of effort spanning design, code and test.
The last time I came across automatic code generation was over 20 years ago, and it made such a mind numbingly bad job of it that I never bothered with the idea again.
> Dia seems like an option but I have had some segfaults so I am looking for other options
Have you checked the project homepage / forum for support?
How about raised a bug?
Is it a Dia bug, or the code generator plugin?
Time spent in forums: 1 Month 4 Days 2 h 35 m 15 sec
Reputation Power: 1801
Originally Posted by joseche
It sucks that imperative programming is so underestimated these days.
Imperative programming and OOP are not mutually exclusive. Procedural, structural and object oriented programming are all examples of imperative programming paradigms.
Most design to code translation requires very detailed models and an accurate understanding of the semantics of the modelling language. Often it is faster to type code from a design "sketch" that is not necessarily comprehensive than it is to enter than much detail into a model. In some environments however, and on some projects the rigour of model driven development is either necessary or a contractual requirement.
Most inexpensive tools suck at code generation, and most including the expensive ones require a significant investment of time and effort to configure them to generate production quality code.
UML is currently the defacto modelling language for design and model-driven development, and is intrinsically OO. For large projects OO is probably the way to go in any case; in C++ for example you have the advantage of being able to use the vast quantity of pre-existing C and C++ code and libraries. When done "right" generally OOD/OOP leads to better and easier to maintain code.
Good free UML tools are not common. Umbrello is an excellent UML tool with code generation but only available on Linux (I have run it in a VM on Windows, so that is not such a restriction). Sparx Systems' Enterprise Architect is a low cost Windows UML tool.