IBM Releases Open Source EGL Development Tools 50
New submitter dd1968 writes "Today IBM announced the release of a new set of Open Source development tools based on their EGL programming language. The announcement describes the tools as being built from the ground up on an 'open, extensible compiler and generator framework.' The one-language approach places an abstraction layer between the developer and target languages, frameworks, and runtime platforms."
Not EGL. (Score:5, Informative)
Re: (Score:2)
Interesting (Score:3)
I'll have to check this software lineup in more detail and see if I have competition for my code manufacturing approach. I use expert-systems techniques to "compile" an enhanced ERD/object model that is not based on UML into the object-relational-mapping code (currently focusing on Java, though I did do an earlier variant with C# as well.)
But I'm not trying to prove a be-all solution with my work, I'm just trying to automate the grunt work and leave the business logic and user interfacing up to skilled developers.
Check out http://msscodefactory.sourceforge.net/ [sourceforge.net] if you're curious. I'm debugging the latest version of the PostgreSQL DbIO code right now, and should have that done by Monday. After that I can start doing the "forks" of the PostgreSQL DbIOs for other databases.
Make that _very_ interesting (Score:4, Interesting)
They've taken a completely different approach to code production than I do, but it still seems pretty powerful. I think most of what they've accomplished is a clean, elegant variation on good old C pre-processor macros, but restricted so it's a lot harder to hang yourself when writing such code expansions.
It seems to borrow a fair bit from the concept of annotations and UML stereotyping for it's expansion arguments, rather than inspecting a business application model for that information.
It's definitely competition for the grunt code market, but I think my approach requires less work on the part of business modellers, while IBM's approach is probably more comfortable for coders than modellers.
Either way, I'm going to have to hurry up with coding a GUI for this beast so people can use it without groking raw XML.
But why should I care? (Score:5, Insightful)
I just read through your whole site, but I have no idea what MSS Code Factory is, what problems it solves, what it would do for me or why I would want it. I get that it generates code from a model using a bunch of rules, much faster than a human could type it - but that is rarely the critical problem in writing code.
Now, I've worked with various code generators and high level modelling tools for decades, and none of them have been worth the effort so far. The effort involved in learning the system, working around the inevitable bugs in it (usually involving having to keep patching the output again and again as the model evolves), and interfacing with the bits the model can't handle just make them an exercise in frustration. It's a bit like the old regular expression joke.
I'm not saying yours is the same; for all I know it's totally awesome and doesn't suffer from the same problems as all the other ones I've had to deal with - but you are so into your own project that you've forgotten how to explain why anyone else should care.
Take a small step back, put yourself in our shoes, and tell us why we need it.
what (Score:2)
regular expression joke?
Re: (Score:2)
Sorry - just like the OP I'm assuming everyone knows what I know! It's a common problem...
"Some people, when confronted with a problem, think
“I know, I'll use regular expressions.” Now they have two problems."
http://regex.info/blog/2006-09-15/247 [regex.info]
Re: (Score:2)
In a nutshell, one of the big problems that has always faced cross-platform product development is vendor lock in. I provide an abstraction Object-Relational-Mapping architecture that defines the interface to the database, and then implements each database interface using custom code. So unless you have very specific query needs that have to be hand coded through the BL (Business Logic) layers of the manufactured code, you neither see nor touch actual SQL.
All strings passed to the database are encoded
Re: (Score:2)
OK, I can grok that, thanks for taking the time to explain. Understanding what problem is being solved goes a very long way to making the rest of it comprehensible.
I've been programming about the same amount of time as you, and I can't claim to be much better at explaining my own technologies. :)
EGL (Score:5, Informative)
Would it really be that hard to put a brief summary of what EGL is in the summary?
http://en.wikipedia.org/wiki/EGL_(programming_language) [wikipedia.org]
EGL (Enterprise Generation Language) is a high level, modern business oriented programming language, designed by IBM to be platform independent. EGL is similar in syntax to other common languages so it can be learned by application developers with similar previous programming background. EGL application development abstractions shield programmers from the technical interfaces of systems and middleware allowing them to focus on building business functionality. EGL applications and services are written, tested and debugged at the EGL source level, and once they are satisfactorily functionally tested they can be compiled into COBOL, Java, or JavaScript code to support deployment of business applications that can run in any of the following environments:
Re:EGL (Score:5, Funny)
Yay it looks like Java, Cobol and VB had a baby!
Rosemary's baby infact!
Re: (Score:2)
Great, now they just have to find a way to make it dependent on CORBA and they can really kill it before it lives.
Re: (Score:2)
You must be new here or you'd know the answer is "Yes".
Why? (Score:3)
Web: the above + PHP/Ruby/Javascript
Scripting: the above + Python
Why do we need another language? From a cursory look over EGL it does not appear to offer anything these don't.
Re:Why? (Score:5, Insightful)
Why create C++? We already had C, Smalltalk. and ObjectPascal.
Why create Java? We already had C++, Eiffel, and Objective-C.
Why create C#? We already had VB, C++, and Java.
Re: (Score:2)
Re: (Score:3)
so there will be another Jobs now?
Noooooooo... sadface
Re: (Score:2)
Re: (Score:2)
In other words, it's like everything else in the software world that has the word "Enterprise" in it.
Re: (Score:2)
Re:Why? (Score:4, Insightful)
Why create C#? We already had VB, C++, and Java.
Precisely because we had Java.
Re: (Score:3)
Why create C#? We already had VB, C++, and Java.
Precisely because we had Java.
C# and the CLR runtime brought very little to the table that Java already didn't. The Base Class Library (BCL) for the CLR shows that imitation of Java is the sincerest form of flattery. Scala, running on the JVM, leapfrogs C# nicely in almost all respects.
It's worth noting that Microsoft, in its typical schizophrenic fashion, has backed away from .Net for Win 8 development, and instead is pushing HTML 5 and Javascript, of all things. Meanwhile, Java and other JVM hosted languages are seeing steadily increa
Re: (Score:2)
FTFY. Dates are date work first started on the language, and the date it was released to the public.
Re: (Score:2)
I get your point, yes. But... Why create PHP?
Re: (Score:2)
because whitespace made my eyes bleed
Re: (Score:1)
I am vomitting (Score:2)
This is awful, it like the worst of java with the "best" of cobol and a bit of peoplecode.....
Re: (Score:2)
exactly, I never see the point of a 'higher level" language that compiles down to java. Now, if it went to C then we might have a good reason for using it - all the benefits of fast, raw C but created from a simple-to-build language that simplifies many common constructs.
Re: (Score:1)
IBM has outdone themselves! (Score:2)
IBM has outdone themselves! They managed to create a language that combines the worst parts of Java, C aaaaand COBOL!
It's yet another 4GL, nothing to see... (Score:3, Informative)
It's yet another 4GL and they're nothing new. Most programmers here know about languages that are 3GL (Python, Java, C, C#, Clojure, Lisp, whatever, they're all 3GLs).
I started working using 2GL: manually entering opcode into the machine but I digress.
4GLs exists since a long time. This "EGL" is just a new enterprise (read bloated, inneficient and solving the wrong problems) 4GL. IBM here is creating a new language to bill more $IBM-consulting/hours.
Don't feel threatened: it will be used exactly the same way other 4GLs are.
Re: (Score:2)
ie. to get data out of obsolete big-iron databases and display it on green screen TN3270 terminals.
Re:It's yet another 4Exactly GL, nothing to see... (Score:2)
Re: (Score:1)
Code debates are boring folks. Use what works. We have been using EGL for over 4 years with large enterprise customers and it does a great job of bridging the gap between older technologies (COBOL, RPG, Java, VSAM, 3270, 5250) and the web 2.0 world. It interfaces nicely with Java and Javascript so you can freely decide how much to do in EGL, Java or Javascript depending on your needs.
Syntax is syntax. Any coder can pick this language and tooling up.
-- eric