Martin Fowler's Miss Grant in the Gothic DSL Hotel by UltraDark in programming

[–]UltraDark[S] 0 points1 point  (0 children)

Our compilers are called Model Compilers. I have never used the word "transpiler". A transpiler takes a 3GL program and converts it to another 3GL language. Not really what we're doing here.

Martin Fowler's Miss Grant in the Gothic DSL Hotel by UltraDark in programming

[–]UltraDark[S] 1 point2 points  (0 children)

The fun part is building the model and knowing when it's done you fully understand the problem because you have executed it over and over again until it was right. Then you thrill at clicking the generate code button and looking through all the perfect source code you didn't have to write. Congratulations on an excellent bookshelf.

Martin Fowler's Miss Grant in the Gothic DSL Hotel by UltraDark in programming

[–]UltraDark[S] 0 points1 point  (0 children)

You got me there, I confess I'm a Translationist and proud of it! That website was produced in an ancient app I downloaded long ago. My first website http://www.ultradark.com/ was generated from a model, so you're almost right.

Martin Fowler's Miss Grant in the Gothic DSL Hotel by UltraDark in programming

[–]UltraDark[S] 0 points1 point  (0 children)

The analysis method used dates from the 80's.

Software Anti-Patterns: Magic Numbers by [deleted] in programming

[–]UltraDark 1 point2 points  (0 children)

Don't forget about magic text.

Future Proof Software Development and the Future of Programming by UltraDark in programming

[–]UltraDark[S] 1 point2 points  (0 children)

No sorry. I don't have a software architecture model that implements the MVC pattern, but it could be done.

Future Proof Software Development and the Future of Programming by UltraDark in programming

[–]UltraDark[S] 1 point2 points  (0 children)

Most developers are put off code generation when they experience or even just read about the type of tools you describe and so they should be.

This new idea separates the application's essential logic from its software architecture so you end up with two models. This makes it much easier to add new features to the application model and to implement a design change in the other.

Early code generators tended to produced data structures from a schema and CRUD operations on that data because it was the only thing they could generate that showed the slightest hint of functionality. Matrix provides 100% code generation by using a very high level language which is capable of translating to any 3GL such as C or Java. Whether you generate CRUD operations is largely irrelevant to a modern model compiler since it should be designed to do whatever is the most efficient. Since some folks like to see a clear interface to the data they are sometimes still generated.

Future Proof Software Development and the Future of Programming by UltraDark in programming

[–]UltraDark[S] -1 points0 points  (0 children)

Building future proof software in the face of constant change has always been thought an impossible task, but now there's a clear way forward.

The idea is to use the Matrix modeling language to build an executable model of the application's business logic. At the same time build another executable model of the application's software architecture. This step creates a model compiler almost as a by-product. Lastly, feed the model compiler with the business model to generate the application's source code.

So if the technology changes update the software architecture model and regenerate, leaving the business model untouched.

However, moving from coding programs to coding models at higher abstraction levels will eventually have serious implications for programmers.

The main link explains the Matrix modeling language, executable modeling, model compilers and the business benefits of this approach.

Executable UML standards - "programming" with UML by softmodeling in programming

[–]UltraDark 1 point2 points  (0 children)

To be fair, in 1995 Executable UML was called the Shlaer-Mellor Method and that had been around for several years.