What code generation tools do you use?
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
CodeSmith - because we have our own templates that we use, and we can autogen the code to match these templates. We're also developing a MetaModeller that can gen the code for us, so at that point that's what we'll move to. [Edit]I should add that we're taking a real step back in time here with the metamodeller because it's redeveloping something that I worked on 15 years ago. I've mentioned the concept behind it here a few times, but it ties my interests in model driven development with business rules engines and entity modelling.[/Edit]
Deja View - the feeling that you've seen this post before.
-
CodeSmith - because we have our own templates that we use, and we can autogen the code to match these templates. We're also developing a MetaModeller that can gen the code for us, so at that point that's what we'll move to. [Edit]I should add that we're taking a real step back in time here with the metamodeller because it's redeveloping something that I worked on 15 years ago. I've mentioned the concept behind it here a few times, but it ties my interests in model driven development with business rules engines and entity modelling.[/Edit]
Deja View - the feeling that you've seen this post before.
Pete O'Hanlon wrote:
CodeSmith
That's a good one, I may add :-D
Pete O'Hanlon wrote:
developing a MetaModeller that can gen the code for us
Is that going to be something proprietary or are you going to market it?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
Pete O'Hanlon wrote:
CodeSmith
That's a good one, I may add :-D
Pete O'Hanlon wrote:
developing a MetaModeller that can gen the code for us
Is that going to be something proprietary or are you going to market it?
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
Paul Conrad wrote:
Is that going to be something proprietary or are you going to market it?
Ultimately we will be marketing it, but we will be field testing it with our clients initially. Essentially, it works by allowing you to build databases and applications from meta models. You start off by defining types of fields that you want, and then you move onto building your tables from this. An example might help. You want your tables to have the fields: CreatedBy CreatedDate ChangedBy ChangedDate Well, you define these as elements that you want. So, you build this up by defining the By fields as a foreign key to the users table. You also define the pattern you want to say that a By must also have a Date field as well. Then you further refine this by extending these fields because you want one to be Created and another one to Changed. At this point, you have fully defined the fields here that you want (well sort of). When you put these fields into your table, the meta model allows you to change the way they are added so that they are prefixed by the table name if you want (as an example). Finally, you can drag and drop these field structures into place with a minimum of effort. Attach rules to your fields - and then you're good to go. From this point, you can generate applications with a minimum of effort. (Well - there's a bit more to it, but you get the general idea). The interesting part of the system here is that the code covers entities so that you can span multiple physical tables. Hey - Microsoft is discovering this now, but I was working on this type of thing 15 years ago. Anyhoo, sorry that this has read like a bit of marketing spiel, but it's something we are really excited about (well I am anyway, and as I'm the boss I get to enforce my views on others).
Deja View - the feeling that you've seen this post before.
-
Paul Conrad wrote:
Is that going to be something proprietary or are you going to market it?
Ultimately we will be marketing it, but we will be field testing it with our clients initially. Essentially, it works by allowing you to build databases and applications from meta models. You start off by defining types of fields that you want, and then you move onto building your tables from this. An example might help. You want your tables to have the fields: CreatedBy CreatedDate ChangedBy ChangedDate Well, you define these as elements that you want. So, you build this up by defining the By fields as a foreign key to the users table. You also define the pattern you want to say that a By must also have a Date field as well. Then you further refine this by extending these fields because you want one to be Created and another one to Changed. At this point, you have fully defined the fields here that you want (well sort of). When you put these fields into your table, the meta model allows you to change the way they are added so that they are prefixed by the table name if you want (as an example). Finally, you can drag and drop these field structures into place with a minimum of effort. Attach rules to your fields - and then you're good to go. From this point, you can generate applications with a minimum of effort. (Well - there's a bit more to it, but you get the general idea). The interesting part of the system here is that the code covers entities so that you can span multiple physical tables. Hey - Microsoft is discovering this now, but I was working on this type of thing 15 years ago. Anyhoo, sorry that this has read like a bit of marketing spiel, but it's something we are really excited about (well I am anyway, and as I'm the boss I get to enforce my views on others).
Deja View - the feeling that you've seen this post before.
Pete O'Hanlon wrote:
sorry that this has read like a bit of marketing spiel
Well, that's okay. It was an interesting read, and I hope it works well after 15 years of putting together the ideas.
Pete O'Hanlon wrote:
as I'm the boss
That's always a nice thing :-D
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
Pete O'Hanlon wrote:
sorry that this has read like a bit of marketing spiel
Well, that's okay. It was an interesting read, and I hope it works well after 15 years of putting together the ideas.
Pete O'Hanlon wrote:
as I'm the boss
That's always a nice thing :-D
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
Paul Conrad wrote:
I hope it works well after 15 years of putting together the ideas.
Thanks. I owe a lot of this to a seriously clever guy called Graham Twaddle. If you want to know more about model driven applications, you owe it to yourself to read this[^] book. And hey - I helped write the software the book is based on, how cool is that?
Deja View - the feeling that you've seen this post before.
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
Only sissies use warm and fuzzy, girly and pink code generation tools.
"Listen, and listen well. I really like the band N-Sync. My favorite member is Harpo. I think there's a Harpo. If not there should be. I will write their next hit, maybe 'A boom-boom chiky chiky boom-boom a boom-boom chiky chaka chaka cho cho.' By the way, you must beware of Betty's iron claw. They are sharp, and they hurt. And beware his song about big butts, he beats people up while he plays it! " - Master Tang (from Kung Pow: Enter the Fist)
-
Paul Conrad wrote:
I hope it works well after 15 years of putting together the ideas.
Thanks. I owe a lot of this to a seriously clever guy called Graham Twaddle. If you want to know more about model driven applications, you owe it to yourself to read this[^] book. And hey - I helped write the software the book is based on, how cool is that?
Deja View - the feeling that you've seen this post before.
Sounds like a good book. May have to consider picking it up, and there's some good prices of it on Amazon. Could use a good reading, and I just got my August '08 Dr. Dobb's Journal in the mail today to hold me over the weekend :-\
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
The keyboard.
Work @ Network integrated solutions | Flickr | A practical use of the MVC pattern citizen 340340
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
I was forced to use a custom written app called classbuilder - about 1994. Started by creating the stored procs and classes based on the tables in the DB. I've been extending it ever since. Every place where I have contracted in the last 15 years has a copy. In 2004 I returned to an old contract (new contract) to find they were still using the VB6 version:omg:. Every few months I take it out and fiddle with it so it does a pretty damn good job for my requirements.
Never underestimate the power of human stupidity RAH
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
CP has a code generation tools competition running at present. So, whilst there are many excellent tools out there, both free and paid for, some of the members (myself included) have submitted our own ideas which you can find here: Code Generation articles[^] and which span a number of different approaches. Well worth looking at: some really good entries.
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
EHaskins wrote:
What code generation* tool(s) do you use?
Pencil and paper.
EHaskins wrote:
Why?
Reliability and user friendliness.
"A Journey of a Thousand Rest Stops Begins with a Single Movement"
-
The keyboard.
Work @ Network integrated solutions | Flickr | A practical use of the MVC pattern citizen 340340
which one? :D
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist -
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
-
which one? :D
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighistone with 101 key - no extra plug-ins for me ;)
Work @ Network integrated solutions | Flickr | A practical use of the MVC pattern citizen 340340
-
I've got a simple question. What code generation* tool(s) do you use? Why? *I'm referring to business/data layer tools.
Total geek! :)
SubSonic[^]. I also used EntitySpaces[^].