tags:

views:

1104

answers:

9

I would like to know what are the best options for a COBOL programmer to switch to more modern platforms.

I explored Java but will all its frameworks its overwhelming. .NET appeared much simpler but I'm worried if it will result in a vendor lock-in; we have had enough of it with COBOL.

What about other choices such as LAMP, Ruby On rails?

Any idea whats the best platform for a COBOL guy to hit the ground running?

+8  A: 

Stay right where you are - Looking for job security? Try Cobol.

Analyst reports indicate that Cobol salaries are on the upswing. The language is easy to learn, there's a healthy demand for the skills, and offshore Cobol programmers are in short supply -- plus, the language itself holds the promise of longevity. All that loose talk about mainframes going away has subsided, and companies committed to big iron need Cobol pros to give them love.

gimel
+11  A: 

One thing you will have to get used to is frameworks. They are everywhere today because they offer programmers huge leverage to use packaged solutions to common problems. So right off the bat, accept that you are not switching to a new language, but to a new ecosystem, with language(s), frameworks, commonly accepted tools, and so on.

If you are concerned about vendor lock-in, then look to open-source environments like Ruby and Python. .NET does represent a commitment to Microsoft, but that's a fairly large pool to swim in.

Ned Batchelder
+3  A: 

This is very subjective, however I'll give it a shot.

I actually know another developer who was in the same exact boat that you are. He actually did end up going with C# for a variety of reasons. The biggest reason for him is actually one of the things that you bring up as a negative. By being "locked in" to a vendor, you do get better support. In my opinion, there is more technical documentation on MSDN that is meaningful than there is on php.net, for example.

A large part of it also will depend on what you plan on doing with it. Are you looking to find a full time position, do contract work, or something else? I personally moved to .NET when it came out to move away from Perl (along with the occasional VB6 application) and have been very happy with it. The robustness of the languages in the platform is great, the IDE is top-notch, the support community is great, and there is an incredible amount of 3rd party tooling. Since I have made the switch, I haven't had a problem finding work, either.

joseph.ferris
+2  A: 

On the question of whether to switch from COBOL or not: as gimel points out, it may be lucrative, but you have to decide why you are choosing a toolset. If you are looking for an under-populated well-paid niche, COBOL may be a good choice. If you are looking for tools that let you code expressively on projects other than maintenance work for accounting systems, you should switch. You probably already know which way you want to go, or you wouldn't have asked! :)

Ned Batchelder
A: 

Thank you all for your comments.

@Joseph, I'm looking for a contract.

@Gimel - I'm not going to change immediately. It takes time to build a new skill. It's nice that COBOL is in demand but it's not a positive demand - We need you COBOL guys because we simply can't get rid of you!

@Ned - yes, I'm frustrated with maintenance and I want to move on.

Shaw
I just love that comment, 'We need you COBOL guys because we simply can't get rid of you!' ;p
Thorpe Obazee
+4  A: 

It mostly depends on where you would like to apply. I have found Java to be well suited for production quality software. Java has been around for quite sometime. Naturally, frameworks/tools for testing (Junit), building (Maven), MVC frameworks (Spring+Hibernate+Struts) and lot more are readily available. IDEs like Eclipse and Intellij IDEA makes development a pleasure. All these combined with the fact that there is huge community out there makes sure your there are as little bugs as possible.

You could also check out Python, Ruby, Rails, Groovy, Grails ... etc These are widely used in a number of community driven as well as commercial projects.

Erlang is relatively new that is catching the attention of programmers for its parellel programming capabilities.

sankara
Thanks!Honestly, I don't find Eclipse to be a development pleasure and its not integrated like VS.NET. I can understand why but it isn't helping me much.I'm starting new and I find Java to have too many moving parts. At the moment, I'm leaning more towards .NET (with some reservations).
Shaw
A: 

Well, COBOL is not a sole island either. You get all the stuff from IBM (like the z/os and all the consequences of that) or microfocus (with all the tools from them). It is (to a smaller extent, agreed) an ecosystem of it's own as well. It is just that Java community (and python, and ruby, and perl, and...) produced a plethora of libraries and frameworks. This is a positive thing, even though it might be overwhelming in the beggining. But this means that you can actually reuse a decent, tested code in your own apps and do not have to reinvent the wheel.

Anyway, is this meant to get a new job? If so, I would assume either Java or .Net are the best options (most job offers). If it just for fun, try python or ruby.

Bartosz Radaczyński
+1  A: 

Those frameworks you're afraid of.... yeah, those are almost more important than the languages. They solve problems. Big problems, and without them you'd be re-solving those. So my advice would be to learn to love the frameworks.

My Personal favorite: Grails. It has all the benefits of the Java world, without actually having to deal with the Java language.

hendrixski
A: 

if you have a specific set of domain knowledge (say from a particular field or industry), take a look at what tools/languages/frameworks are popular in that domain. for example if you have experience in statistical software development and data analysis, then take a look at r: http://en.wikipedia.org/wiki/R_(programming_language)

if you are looking for a web framework, you may want to consider groovy and grails, becuase they hide a lot of the complexities of java and the open source stack: spring-mvc, spring, hibernate.

Ray Tayek