tags:

views:

176

answers:

2

Hi All,

I have worked as RPG400 programmer for 8 years. Since last 2-3 years not doing much programming as I am working as project Manager for non-AS400 projects.

Now I am planning to pickup OOP programming skills and continue fun with programming.

Looking for your help to decide which language should I learn Java or .Net?

What should be my starting point.. learn OOP first and then move on any one language?

Thanks for ALL Your Help

A: 

To learn the OOP basics, you're going to need to write code (yes, it's possible using pseudocode, but not as useful)

I would look at the job adverts for your intended working location to choose between languages (assuming you plan to transition).

Java and C# are quite close, so swapping wouldn't be that difficult.

I would recommended reading Head First Object Oriented Analysis & Design (which uses java, but very easy to convert to C#)

Mitch Wheat
uman
+3  A: 

First of all, congratulations on wanting to learn something new.

Seen from a programming point of view C# and Java are quite similar (C based syntax, objects, large runtime library), but there is a very distinct difference.

  • C# (and .NET) does not run on the AS/400, but very well on Windows machines.
  • Java runs very well on the AS/400, and reasonably well on Windows.

Both can talk to an AS/400 system, invoking programs, working with Data Queues, reading/writing members etc, giving roughly the same possibilities.

So, the major question here is if this is something that you will be able to use at work and want to use at work (as this is the best way to actually learn something new, and learn it well). If so, then consider what kind of programs your workplace needs. My job is writing Java programs in an AS/400 shop, and we have found that Java allows the world to talk with our legacy programs by adding the internet component to the usual toolbox, either running on a separate PC or on the AS/400 itself. Our need is backend programs, not frontends. If your need is new frontends running on Windows machines, then consider .NET - it is simply easier to work with - but if you need code running on the AS/400 directly then consider Java (and strongly consider getting RDi to work with both Java and RPG/Cobol/whatever)

http://www-01.ibm.com/software/awdtools/developer/rdi/

It is not free as it used to be if you are under software maintainance, but the added productivity quickly pays for itself. There is a trial available.

There is a AS/400 mailing list for Java programmers on midrange.com (archives at http://archive.midrange.com/java400-l/index.htm) and for .NET programmers too (archives at http://archive.midrange.com/systemidotnet/index.htm). The Java one is the busiest.

If you end up choosing Java, start playing with it on your usual personal computer. The best online introduction I know of is the Sun Java Tutorial - http://java.sun.com/docs/books/tutorial/ - and then continue with Head First Java - http://my.safaribooksonline.com/0596009208

Be aware that it is a long journey, there is a lot of new stuff to learn, but it is worth it in my opinion.

Enjoy.

Thorbjørn Ravn Andersen
+1 for Java support on IBM i (tosfka OS/400) - http://en.wikipedia.org/wiki/IBM_i - for example WebSphere Application Server, based on open standards
mjustin
We do not use WebSphere but have adapted a small Java web server to work in our framework instead.
Thorbjørn Ravn Andersen
Downvoted? Care to comment?
Thorbjørn Ravn Andersen