Has anyone used or encountered a language called COOL:Gen? I had not heard of it before today, and have been offered an opportunity to work with it. I'd be grateful for any opinions.
I believe it to be a 4GL, but am concerned that it may be a very proprietary non-standard dead-end similar to Compuware's Uniface. (Hope I haven't offended too many people there.) I understand it generates code from a design model. Does this mean BigDesignUpFront? And, it may also be multiplatform - does this mean it works to the lowest common denominator?
One of my clients in the Chicagoland area uses cool:gen. Interesting that you should mention Uniface, because cool:gen reminds me so much of that product. I used Uniface briefly in another life; that's a long story.
CoolGen, like all code generators, promises big things and delivers some of them most of the time. The language is very COBOLesq and yes, it does generate COBOL code from "models". Their GUI builders are below average in my opinion and, while I don't use COOL:Gen on a day to day basis, it seems that those that do have their fair share of problems with it.
To address your concerns: Yes, it is a 4GL. Yes, it is very proprietary. And, yes, it is completely non-standard.
A little bit of history: cool:gen started as a Texas Instruments product IEF (I looked it up :->). Then someone, CA I think, bought them out.
If you want, I can get more information. My $.02 worth: Stay away from cool:gen unless you really need the work. -- JeffPanici
Thank you, Jeff. I think that confirms what I suspected. I've used Uniface too and if cool:gen is like that then it is not for me. Compuware has some very good tools but I really didn't like Uniface. I've noticed that 4GL's seem to promise "Component Based Development", which sounds almost like OO but has the advantage that it can interpreted any way the manufacturer likes. They generally don't support objects and inheritance though. The lack of standards is a major turn off. That is what I meant by "dead end" above.
What really set the alarm bells ringing was that a search on Amazon failed to find any books on the subject.
I think these 4GL languages are marketed very effectively towards management rather than programmers. The attraction to programmers seems to be that a niche market exists, and that has some obvious benefits.
Personally, I like to think of myself as a pretty good code-generator. :)
I've seen some mission critical projects completed in record time by fully qualified coolgen developers.
A fool with a tool, is still a fool.
I think it's impossible to say whether a project has completed in record time, unless you ran the project in parallel using different technologies. For me the important point is that a fully qualified developer in any language can do wonderful things. The language isn't actually the thing that gets in the way of project success most of the time. Unless the language is an inflexible proprietary 4GL.
Cool:Gen is indeed a high level code-generation tool / case tool, which can (or at least claims to) knock out code in a variety of different languages and for a variety of platforms. As well as allowing the developer to create business logic, it also includes database schema design (and DDL generation), drag-and-drop gui design, client-server communications, etc. It also includes its own version control repository ('encyclopeadia').
It's a nice concept and there are some very neat ideas in there, but for me, any savings in coding time were far outweighted by the awful source control mechanism, and the complications invloved in changes to the data model during the course of the development phase. Take into account the lack of flexibilty that is inherent in such a high-level tool, and the lack of knowledge and avaiable resources, I would stay away from this product at all costs.
Jeremy
I took COBOL; Cool:Gen Case tool in college for my AAS and I forgot it's function. I need to refresh my memory. is it still used? perla1015@yahoo.com
If any of you have some answers to the below mentioned questions, that will be useful to me, please help:
(1). How Cool:Gen is different from Cool:Plex? Are they just one and the same or are they different all together? (2). I heard that Cool:Gen produces lot of code that is not useful for the programmer to understand the program logic, but all that is control code used only by the Cool:gen environment, is that true? (3). This continuation to previous question. If Cool:gen produces such extra code, generally how much of such code (in terms of percentage) will be there in say 100 lines of total code? So, can we consider the rest of the code like any other COBOL code? (4) What are the ways to estimate a project to migrate a Cool:gen application in to say Java technology? Assume that we dont have lines of code data, we dont have function points data.
Nagesh nagesh_maru@hotmail.com
OK, I used it and then got laid off - and there are few, if any jobs out there using it.
Here is the real deal: It is very hard to click in your code because you know what you want to do, but it is very hard to know how to click everything in without getting hung up on the tool. ie. where to click and in what order.
I would say that to do something in Cool:Gen would take at least 3-5X longer than just doing it in Cobol.
Everyone is getting rid of it. They are either converting to something else or outsourcing to India because using that tool is so labor intensive.
Those who work on it, typicall only know Cool:Gen (even if they worked on other things before). They go from job to job having to move about the country because once their job ends, it is rare that they can find another Cool:Gen job in the same city.
One of the above posters is correct: It is marketed to managers and NOT to programmers.
Now here is the fun part -- everybody gets so scared about changing an existing program because so many other pgms access it. It gets to be such a tangled mess of weeds that people will make a new Cool:Gen pgm instead of taking the chance of changing one line of code to an existing pgm.
Then it grows into such a huge mess that nobody can get a handle on what modules do what.
But the good side is that once you are there and know an application well, you become very valuable.
So I would say that if you have a lot years left to work, stay away from it. But if you are retiring soon, you just may be able to take that job and ride it out. But you won't enjoy the headaches.
It took a whole team of Cool:Gen pgmers 8 hrs just to change one line of code. And that is pretty typical.
Hi guys,
Just want to stand up in defence of CA Gen. I've been a developer in Gen for more than 10 years and have travelled the world using my skills and been paid very handsomely for it in the process. Gen consultants always have and still do earn more than mainstream programmers who are two a penny.
Previous poster mentioned "Then it grows into such a huge mess that nobody can get a handle on what modules do what." That is complete rubbish - any system can become a tangled mess if it is not designed and MAINTAINED by good professionals. A tool is never a silver bullet - you always need good people to write good systems.
Many Gen sites were written in the 90s and it is testament that they are still up and running large scale enterprise systems today (15 or 20 years later!). That's a good return on investment for the companies that bought it way back when!
Another claim from previous poster was "to do something in Cool:Gen would take at least 3-5X longer than just doing it in Cobol.". Nonsense. The whole concept of Gen is that you can build systems quicker and easier than traditional programming methods - that was how TI/Sterling/CA have marketed the expensive licensing model over the years - and why do you think companies stuck with Gen instead of throwing it out as soon as they realised their new expensive tool was taking 3-5 times longer than (non-proprietary) COBOL programmers to do the same job? Because it's simply not true! Gen delivers MUCH faster than any traditional programming language, and you can have one team of Gen experts delivering COBOL, Win Client Server or Java web apps (instead of 3 separate teams of experts!).
But don't confuse Gen with something it isn't. It is an excellent tool to build large-scale back-office enterprise systems in a very short time. So if your project budget is more than 1 million, it will still be a good choice today, as you likely succeed in you implementation due to many of Gen's characteristics that when used with the right SKILLED people, enable a team to very quickly prototype, build and deploy large applications in a short time. But if you are looking at a small budget, or a good looking customer front-end application, then Gen is not your man.
Downside of Gen today is what other posters have noted - there is a real shortage of jobs out there. There have been no new Gen customers for years, and while there are many, many sites out there still using it, these systems have been in place for many years and are consequently very stable with few changes going on.
So while I strongly disagree about the comments of previous posters on the technical abilities of Gen, I wouldn't advise anybody getting into the field as job opportunities are severely limited. Try a job search and you will struggle to find any jobs at all in the whole world, let alone your own city!
--- I totally agree with the above explanation of COOL:Gen. I developed using COOL:Gen for 10 years. Excellent Tool. Take a word from the experts and you'll hear strong about it. If you ask the beginers, then you won't hear it right. It is super-quick. What takes a week for a developer to code/test in cobol/java/c, you can do it in 1 day because of its strong integration. The only reason I got out of it was because very few companies use it which kep me away from home on a consulting job. --- Ditto. 15 years CoolGen. $$$high and travelled the world. I'll give a gun COBOL/C programmer a race with a server spec - they can even use skeletons and copylibs etc !!! Yes - if you are a wally and/or learn 1/2 the tool you will not like it. nb. I have just done 2 weeks Websphere (WID, BPEL, ESB, BAM) training....OMG - CoolGen is a doddle !!! :))
--- I am actually searching for CoolGen developers for several 6 month to one year contract positions in Austin. For the position below, I need 7 people. Following are the required skills followed by preferred:
Required: Minimum 3-4 years of full life-cycle development experience for applications using CA:GEN 6.5 and above. Experience with CANAM Report Composer. Experience with GuardIEn and CSE Access
Preferred: Experience with CA:GEN target Implementation for HP/Tandem NSK platform. Experience with C and SQL on HP/Tandem NSK platform Experience with TACL, Inspect tools for HP/Tandem NSK platform. Experience CA:GEN target implementation for Java on Wintel platform Medicaid application experience in financial and claims processing systems. Quality Center, Serena or similar test and configuration management tools
Scope: Analyze, design, build and test changes to CA GEN based application for one or more of the following functional areas: Provider, Member, Claims Processing, Payment. Review design and build deliverables from other developers in the project team.
Assist team lead in planning and overseeing work products of other developers in the project team.Work closely with business analysts to understand business and functional requirements and ensure application development meets those requirements. Work closely with application architects to ensure application development meets technical requirements and adheres to architecture standards. Produce high-quality documentation that is accurate and consistent with current project standards. Take hands-on approach with technical resources to design and implement necessary changes to meet technical requirements. Coordinate testing and defect resolutions with test and development teams. Identify, escalate, and manage project issues and risks in a timely manner.
This will give you an idea on at least what is out there. I am looking to fill these positions with start dates in October, November, and December 2011. I am also filling Java Developer positions as well. If you are interested or know someone who is interested, have them contact me at crichison@starktalent.com.