Picking Up A New Computer Language-What Would You Recommend?

This definitely qualifies as less than cosmic importance, so here goes…

I’m an old Oracle warhorse, and have spent the last 20 years in Oracle tools (SQL, PL/SQL, Oracle Forms, Oracle Reports, and so on). I’m trying to get a little more current in the plethora of new computer stuff out there in my spare time, now that I have a little spare time, and would like your opinions on what to do next? I’ll likely only have time to go thru one more learn-it-yourself book.

I’m going through C# right now, and am thinking maybe Java next. Only Java has a million different aspects, it seems to me…stuff like Java, JSP, Java Beans, J2somethingelse, and so on. It seems like there are so many different pieces that I just won’t have the time. Visual Basic is something I see used in a lot of applilcations, from standalone programs to Excel macros. Then there are other things I really know nothing about, like ASP and PHP.

So what would you recommend? Java, VB, ASP, PHP, or … ???

Thanks in advance.

I am very Biased, but if you know SQL then learning ASP and/or PHP can’t hurt. Most database-driven websites use ASP or PHP which in turn use MySQL or MS SQL.

And you can code Javascript, or VBscript in ASP pages (ASP is just a way of writing code into a webpage which then gets run on the server, and serves a completed html page to the client (the person browsing the web)

I also know/learned OOP C++ and Pascal (And COBOL) but I almost never use them.

I’ll second the PHP recommendation. You might like PERL as well. Then, once you are hooked on scripting, give Python a try.

Python is my favorite general purpose language, but what you should pick up depends a lot on what you want to do. What do you want to do?

Python is awesome and very different than anything you have learned. It is POWERFUL like Pearl but a little more modern. I wrote a functional search engine in less than 20 lines. I don’t use it for work. I was just interested. I am an Oracle person too and I found Python to be different and interesting.

Yes, it does, and I should have mentioned this at the beginning. I do intend to continue database development…Oracle, SQL Server, MySQL, etc. (I also dabble in multidimensional databases on occasion, specifically SQL Server’s Analysis Services and Hyperion’s Essbase products. But that’s another world entirely.) Like Lobsang, I know COBOL and Pascal (and RPG III and IBM 370 Assembler and C and PL/I) and don’t use any of them any more.

I have done some light Perl in the last few years on Unix systems, so from your input and Shagnasty’s I’ll definitely take a look at Python, and from ** Lobsang ** and **UncleRojelio’**s input, I will take a hard look at PHP as well.

So far, Python and PHP are in the lead. Keep the info coming, with my gratitude.

P.S. I know I can look at descriptions of these things, but I wanted recommendations from folk already familiar with the things.

I didn’t mention (merely implied) it in my OP, but I am fairly familiar with PHP and ASP (moreso ASP than PHP. But if you know one, the other’s very easy to pick up).

To me it makes sense that if you already know SQL then you should learn either PHP or ASP (or both) because it’s so easy to apply your SQL knowledge to them (to create clever database driven websites)

I only mentioned those other things because I never use them.

Run, do not walk, away from Java as fast as you can.
I’ve been using some variation of VB or C most my coding life, but for the last year or so I’ve been assigned to a web project that uses Java. I cannot understand how anyone would use that language by choice. It’s like they deliberately make things as difficult as possible. I swear, it took me about a half an hour the other day to figure out how to get a string in the format YYYYMMDD from a system timestamp. In C# I could have done it in no time flat.

I understand. I only mentioned my other stuff so the readers would know that I am older than dirt and not wonder why I refered to things like Java as “new stuff” when it’s been around for a decade or so.

Your insight from working with ASP and PHP is exactly what I am looking for, and I really appreciate your recommendations!

Well, heck, THAT doesn’t sound like any fun, Shoeless!

This is a tough question to answer, because it depends on what sort of work you’re trying to fine. Java has become the warhorse of business apps in large corporations and it’s never going away, ever, not until the sun explodes, notwithstanding the Java eggheads who are threatening to mass-exodus to Scala. If you need to polish your scripty sysadmin stuff or work on some older web platforms, Perl is the way to go. If you want an easy web-oriented language that will produce results pronto, PHP is your best bet. I’ve been getting quite a hardon for Ruby lately because it seems to provide the best aspects of Perl and Java without the crappy ones.

Whatever you pick, just make sure it has a good implementation of object-oriented programming (you can remove Perl from that list now, come to think of it).

If you’re looking for a language that can get you work, then perl is a great choice. It’s also fun to work in and works on just about every platform in existence; I’ve ported one perl ap from Solaris to Windows 3.1, FreeBSD (under Mac OSX), Windows XP, and Linux with no problems.

If you’re looking for a language that’s different from what you’ve learned before (kind of a “broaden your horizons” kind of move), then you might want to play with something like Lua (bonus: write World of Warcraft addons) or APL (obsolete, but it changes the way you think!) or Visual Basic (great for prototyping and doing quickie UIs, but it’s Windows-only) or even assembly language (not too practical but really helpful in understanding what’s going on behind the scenes).

As someone who went to university to learn OOP I disagree. OOP is good for creating things that benefit from the most efficient possible coding (such as computer games, advanced software) but in my experience in the real world you can become a useful member of programming society without learning an OO language. There is not a single bit of OOrientation in my post-university code. And yet it beautifully serves the purpose(s) that it was intended for.

Do you want to develop code or do you want to just update your skills from the Forms days? If you are staying in an Oracle environment, you should really look at Java. That is where that platform has been headed in a big way. If you want to update your skills, but not really just in development, take a look at BPEL (www.oracle.com/SOA) or at the BPA Suite tools (www.oracle.com/BPM). You might find a completely new way to expand your horizons.

OOP has nothing to do with efficiency. Rather, it’s useful for organizing large systems.

Assuming your timestamp is a Unix timestamp:

String date = new SimpleDateFormat(“YYYYMMDD”).format(new Date(timestamp));

Yes, there is much useful programming that can be done without OOP. But for modularity, reusability, and making a large body of code comprehensible, OOP helps a lot. It has nothing to do with efficiency, in fact OO code can be less efficient due to boilerplate and whatnot. It comes down to making change easier to maintain in large systems. Without good design, it quickly becomes a spaghettified nightmare, and OO is the best solution to this problem.

More food for thought. Thanks, all.

I always wondered about gaming-oriented languages, now I know of one. Cool!

I might well be in a position to get familiar witht the new Oracle stuff like BPEL or the BPA Suite Tools on-the-job. We’ll see about that in the months to come.