June 20th, 2013, 02:11 AM
Is there a tool that can help me design a big project, so once design is complete it can generate the .c and .h files with the functions and arguments ?, and hopefully makefiles too ?
I have been looking into some options but these are always designed for OOP and it never gets the work done as I would hope.
It sucks that imperative programming is so underestimated these days.
June 20th, 2013, 12:35 PM
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.
June 20th, 2013, 01:12 PM
Around 50K lines considering the server and client.
Dia seems like an option but I have had some segfaults so I am looking for other options
June 21st, 2013, 01:30 PM
There is a list of tools here.
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?
June 21st, 2013, 01:56 PM
Dia: it's a macports build, so I won't blame dia directly, but I won't spend time finding out the reason.
Thanks for the list. UML is more appropriate for OOP but it seems like that is the only way of using a tool to design software and generate code.
June 23rd, 2013, 02:21 PM
Imperative programming and OOP are not mutually exclusive. Procedural, structural and object oriented programming are all examples of imperative programming paradigms.
Originally Posted by joseche
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.
June 23rd, 2013, 02:28 PM
June 26th, 2013, 01:50 AM
C programming based on Procedural, structural and object oriented programming.
I have a question based on C, this is effective today or not ?
Comments on this post