Which code generation tools do you use? [closed] - code-generation

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
If you use one of course, which one?
MyGeneration
T4
UML Transformation Tool (precise which one)
...
All others not listed above since there are so many

Do my hands count? :)

Eclipse EMF and JET.

CodeSmith Studio - lots of great sample templates that work with it.

"Normal" code-gen tools I use that many people don't think about:
Windows Forms designer
XAML for WPF UIs
LINQ to SQL
Other code gen tools that are obviously code gen in the project:
ANTLR
Custom tools I wrote such as one that turns an Excel spreadsheet (File.xlsx) into code (File.g.cs)

Eclipse Xpand and Xtext, also known as openArchitectureWare.

I tend to avoid code generation and generate dynamic functionality at runtime, using either C# DynamicMethods or C# Lambda Expressions... I prefer not to have generated code in my solutions...

I'm using the following code generators:
Visio Enterprise Architect for generating SQL scripts for creating and updating databases
NConstruct for generating NHibernate mapping files and sometimes for generating "first draft" of an application
Visual Studio for generating UI design files, project and solution files etc.
Jet Brains Resharper for lots of code snippets, template based chunks of code etc.
I believe my productivity would be much lower without code generation tools. Code generators usually don't produce bugs in generated code so this is also a good reason to use them.

I just started playing with the code generation features of Enterprise Architect. It's nice having code generated from the model instead of the database layer, but unfortunately their code-gen tool is a bit unwieldy. So far I've tweaked its C# template to produce bare-bones CSLA classes which at least saves me a lot of typing.

Jeeves (discussed in Advanced Perl Programming).
I have a pre-build step in VS 2005 that executes Jeeves to produce source code "just in time" for compilation/linking.

I often write code generation scripts in Python. In the distant past I have also used Perl. Either language is well-suited to the task.

DMS Software Reengineering Toolkit
Can be configured to read any style of specification language, and generate code including post-code generation optimization.

I use for generating code from UML:
Visual Paradigm for UML
Netbeans IDE + UML plugin
For editing/ generating GUI's:
Netbeans IDE
MS Visual Studio
For anything else
Python (because I find it's just the quickest way to hack something together).

i use own generator jUle
http://code.google.com/p/jule/

Related

C/C++ support (binding) of reporting tools?

From the last few days, i am trying to figure out best reporting tools for my work. I have mongoDB database server and now i need to integrate it with reporting tool. For mongoDB i used the C binding so i am looking for a reporting tool in C/C++. I came across some great tools like BIRT, Jaspersoft and Pentaho but i didn't get clean answer whether they have support for C/C++. So my question is do they have C/C++ binding or API?.
Also if you have some other tools recommendation for my work then please share that also.
To answer your question: No, these tools don't have a C/C++ API.
However, as Stennie pointed out in the comment, this shouldn't really be necessary, as you can use them with a http API. If you really want to use integrate them tightly with a C/C++ program, consider embedding Java into your program and see Embed Java into a C++ application?.

UML tool for reverse engineering an eclipse project

I am currently working on a project in Eclipse but the problem is that this project is very big (a lot of codes, classes, packages, etc) and undocumented. Since, the project is written in Java, my idea was to make a reverse enineering of the project to see his architecture in UML. Do you know an eclipse plugin who can complete this task very easily? Thanks for your answer !!
I think MoDisco is what you are looking for ( here for a short intro)
It seems that the question is dealing with Eclipse plugin therefore Modisco and StartUML are not a possible choice because they are either not a graphical class diagram viewwer or an Eclipse plugin.
The tools that I have evaluated and selected are:
Topcased can reverse a project and gives an UML view. The reverse is good even if not recursive. I mean that you can detect only object having their own information such as class, interface, package, method and attributes but you can not detect calls between classes because this require a recursive reverse.
eUML will give you a visual class diagrams and the possibility to navigate but no model only EMF tags inserted inside your own code. I like the visual representation of the class diagram but having EMF tags in my code is too intrusive !!
You can try RSA which is a pretty good reverse having a real UML model but you will also get EMF tag in your code
The best for me and with no doubt is EclipseUML Omondo with no tag in the code and a high quality UML model but it is really too expensive !!
I'd advise StarUML or StavrUML, the unofficial fork. It reverse engineers code compliant with Java versions before 1.6 or something. Yes, the project was abandoned years ago, but the UML editor remains incredibly strong and powerful.
However, I'd avoid using reverse engineering a UML diagram. You'll probably get an unreadable mess out if it. Just get stuck in and make it manually :)
I'm sure you can find a suitable tool for your needs if you check these.

Using (Java) Eclipse abilities in other programming language

I use Eclipse mainly for LSL (linden Scripting language). The plug-in for this language does not provide things like templates or task-tag recognition. Is there any way that these kind of features in LSL-files (or any other generic file/code for that matter) can be used?
Take look at the XText project. If you can define the grammar of LSL there it will generate full Eclipse plugin for it, complete with syntax Highlighting, code Completion, validation and quick Fixes and more.
Another one to try (one i use myself) is LSL Editor
Full Syntax highlighting, code suggest, and even a off world run time environment. plus able to test multiple scripts by building test objects with prims.
Take a Look :)
LSLForge is being actively maintained, and has most of what you describe. If there's something missing, the developer is always looking for new challenges.

Which is the best RCP platform [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 10 years ago.
Improve this question
I am building a desktop application. Our analysis says it would be better built with a RCP. Should I use the eclipse or netbeans platform to build my application . Some of the factors to consider are
Performance
Look and Feel
Popularity among target users (developers/testers)
License (has to be some FOSS)
The application will be having things like text editor, grid views, block diagrams and graph visualizations.
I already have experience with netbeans development, but learning eclipse won't hurt. any other options would be welcome too.
I've used Eclipse to build an RCP text editors, multiple views and graph diagrams (lacking only the block diagrams you mention). The environment was pretty good as well as the support in the community for getting help (it was my first Eclipse RCP experience - nearly all my questions had been answered at one point or another in the eclipse forums. When not - I got great feedback.)
The platform was pretty lightweight and handled memory well generally speaking. Some problems that you might run into, you'll likely run into on any platform you choose.
I would look at Netbeans. Netbeans is based on Swing while Eclipse uses SWT. Sun has put a lot of effort into Netbeans over the past few years and it's quite good.
There are some tutorials on the Netbeans site for plugins and platform.
http://www.netbeans.org/kb/trails/platform.html
This of course is a bit of a religious question. You will find it debated repeatedly on the web. Here are a couple of interesting threads.
http://www.nabble.com/Choosing-Netbeans-platform-or-Eclipse-RCP-td16012394.html
http://www.javalobby.org/java/forums/t103146.html
My vote is for Netbeans. Many of its shortcomings have been corrected in the 5 and 6 releases. The community is smaller, but certainly just as helpful.
Another option is the Swing Application Framework (JSR-296) which provides a very lightweight framework for building Swing applications. It provides some of the basic plumbing such as an Application context to share data and basic status and worker components. It doesn't provide any complex components, so it may be too lightweight for what you need.
I suggest using Eclipse RCP, as far as I can see, it has many useful aspects like action and command mechanism, Eclipse Forms, data binding, etc. You can use GEF and Zest for graph based visualization and visual editors. Also Window builder is a convenient choice for drag and drop ui creation. Also there are many sources for learning Eclipse4 RCP, vogella.de is a good starting point. cheers...
Eclipse RCP is powerfull. I have used it for one of my projects. Yes It has some bugs but it has lots of documents and it is faster than Netbeans RCP I think.
Do you have to choose only between Eclipse and Netbeans?
I heard Spring is good
Eclipse has bugs especialy with the text editors. Netbeans on the other hand sucks RAM worse that Crysis

How to make mockup screenshots without VB [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I am looking for a program to make mockup screenshots with. I first found out I could do it with Visual Basic (uglier names I have yet to hear a programming language being called) from joelonsoftware.com. I don't want to start learning VB now, especially since I am still in the process of learning Java. I then found mockupscreens.com, with the searchstring "how to make mockup screenshots". But seeing as I am going to use this program quite infrequently, I don't think paying $80 for it is worth it.
The mockups I'd like to do would be mainly for Windows XP (perhaps also for GNOME, KDE and Mac OSX, but these are not top-priority).
Edit: Balsamiq is suggested, but this is also a non-free program.
Balsamiq
Visio works well, if you have it.
Personally, I like paper and a pen. Then I can't get bogged down in the LOOK of it, and go more for the usability and function. Same with websites.
Once you have the form infront of a customer, you have zero room to move - it you dont deliver it pixel-perfect, they get..... angry. :)
You don't have to learn the language to use the visual forms designer from Visual Studio to create mockups. Furthermore, the Express Edition of Visual Studio is freely available in several languages, namely VB, C# and C++. Take your pick. All ship with the same forms designer that generates backend code in one of the languages. But if you only need the designer, the code might not be relevant for you.
Microsoft Visio used to come with a template containing common Windows UI elements for this purpose. I don't know if it still does.
Jeff Attwood posted about this on CodingHorror - where he mentions Powerpoint prototyping
pen and paper, or if possible, whiteboard. Once you have something you personally think could work I'd go for as rough a computerized model as you can so you don't spend time agreeing font size before the workflow etc is done. The tool I have used here is my visual designer of Visual Studio (it doesn't look too good with screenshots, only good enough to convey what you'd like to build).
Pencil (runs within firefox)
As suggested, C# Express would be well for this, as like VB, it has a GUI designer, but it is also syntactically similar to Java, so - given what you are trying to learn and do with this, it might be a nice fit.
There is a pretty exhaustive list here:
http://c2.com/cgi/wiki?GuiPrototypingTools
Important point is whether the tool has "black&white" (or "hand-drawn") skin for your mockups, as already commented by others. Many of the tools (including my own, MockupScreens) do.
wxGlade would work as well, plus it's free software.
http://balsamiq.com/ was already mentioned, but I want to explain why I like it.
It will allow you to sketch up a screenshot, and it still looks like a pen and paper version, or a whiteboard discussion.
If you get to detailed on your screenshot, then the customer thinks you are "done" and does not understand whats taking you so long to finish the project. So this "sketchyness" serves as another layer of abstraction.
MockupUI is another one, but its mockups don't look like hand-drawn. They look like the real thing and with real data. It lets you draw wireframes as well as native widgets inheriting their appearance from your OS configuration (aka Windows visual style).
About high-fidelity mockups: The risk that a customer thinks that it's "already done" is minimal as long as you do your mockups during the design specification phase of your project (that's before starting to code). On the contrary, a sketch may be too abstract for the customer to digest, unless he is a software designer too. Sketches are for developers not customers.
Wireframes (or sketches) and mockups are not the same thing and they have different uses. One is to explain functionality, the other is a representation of what the product will look like. Check out Yisela's post about the difference between wireframes and mockups.
Your question was about mockup screenshot software, but you ended-up buying a pretty powerful wireframing software.