aspose file tools*
The moose likes Meaningless Drivel and the fly likes Learn New Programming Language Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Other » Meaningless Drivel
Bookmark "Learn New Programming Language" Watch "Learn New Programming Language" New topic
Author

Learn New Programming Language

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

I am wanting to learn a programming language that I don't currently have any experience with. Languages I already know or are already familiar with are:

C, C++, Perl, PHP, Python, SQL, XSTL, JavaScript, HTML, Korn/Bash Shell Scripting, C#, VB.NET, and Java.

So I'd like something not in that list. It would be helpful that if you suggest something you give some reasons as to why learning said language would be worth while and possibly even fun.

I'm not going to restrict myself to any particular type of development (desktop, web based, console, etc). The only platform restriction I have is I can't do anything that is MAC specific because I don't own one. So feel free to suggest anything with those couple of limitations.

Thanks.

[ August 18, 2006: Message edited by: Gregg Bolinger ]

[ August 18, 2006: Message edited by: Gregg Bolinger ]
[ August 18, 2006: Message edited by: Gregg Bolinger ]

GenRocket - Experts at Building Test Data
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

How about Macromedia Flash (ie. ActionScript)? From the little that I have seen, it looks somewhat like Java. And it definitely blows Applets out of the water.

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Henry Wong:
How about Macromedia Flash (ie. ActionScript)? From the little that I have seen, it looks somewhat like Java. And it definitely blows Applets out of the water.

Henry


Thanks for the suggestion, however, I don't consider Flash AS a language. It's more like JavaScript than it is like Java. I know that the newest version of AS that shipped with Flash 9 is supposed to be all new and improved but I still don't like it. I had to deal with it a bit at my current job. Not to mention how expensive it is just to get the tools to develop Flash.

Actually, I would like something as far from Java as possible, if possible, realizing all languages have overlap.
[ August 18, 2006: Message edited by: Gregg Bolinger ]
Stan James
(instanceof Sidekick)
Ranch Hand

Joined: Jan 29, 2003
Posts: 8791
Well, to take a giant leap out of the mainstream, look at REXX. It's a tiny language, ANSI standard, on almost all platforms, excellent for replacing WSH or shell scripts. String handling is very cool, though I don't think it ever got regex. I mean a space is a concatenation operator. Heh heh.

This may not sound very interesting because Perl and other scripting languages fit in the same space, but then look at how it integrates as the macro language for a C/C++ application. The "command environment" and function package architectures are great. IBM used it as the macro language in everything for a while - editors, DB2 tools, etc.

Nowadays there are also OO-REXX and NetRexx which supports free mixture of REXX and Java syntax.

http://www.rexxla.org/


A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Originally posted by Gregg Bolinger:

Actually, I would like something as far from Java as possible, if possible, realizing all languages have overlap.


I know there is a chance that you won't consider this suggestion as a language either -- but going to a language "as far from Java as possible", while at the same time, staying very pragmatic....

How about SQL? And the tools are cheap too. MySQL and other databases have free versions. You can even get a full blown enterprise copy (albeit developers only) of SQL Server 2005 for $50.

Henry
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Henry Wong:


I know there is a chance that you won't consider this suggestion as a language either -- but going to a language "as far from Java as possible", while at the same time, staying very pragmatic....

How about SQL? And the tools are cheap too. MySQL and other databases have free versions. You can even get a full blown enterprise copy (albeit developers only) of SQL Server 2005 for $50.

Henry


Ok, well, maybe I should have added SQL to my list of known lanugages. If you consider SQL a language. But for arguments sake, say I did tackle SQL. Which function implementation? DB2? Oracle? MSSQL? MySQL, PostgreSQL...They all have their own function list. Nah, not going to get into all that.

Come on people. Honestly, I'm surprised no one has said Ruby yet. Or Objective C, or any of the .NET crap.

Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18674
    
    8

Everything you listed (except SQL, and no doubt you know HTML) is a procedural language. So why not try a functional language -- like XSLT for example?
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Paul Clapham:
Everything you listed (except SQL, and no doubt you know HTML) is a procedural language. So why not try a functional language -- like XSLT for example?


Crap, should have added that one too.
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

My favorite language (to learn that is) was probably Prolog. But quite frankly, I don't think you can find a compiler (or interpreter) for it anymore...

Henry
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

It looks like I was wrong. There are still quite a few prolog compilers out there, including one from GNU.


Anyway, what makes Prolog an interesting language is its ability to backtrack. Every function (predicate, rules) call actually has multiple results.

What the language will do is call functions, and then use the result in the next function call, and so on. If it encounters a case where there isn't a solution, it will actually backtrack to the previous function for a different result, and continue. It will keep doing it until every possible combination of results is tried (unless you request it to not to).

Henry
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42292
    
  64
I second Prolog. It's very different from OO or procedural languages, so you'd learn quite a bit. There's a good Java implementation at jlogic @ sourceforge. (BA: I implemented a BSF interface for JLog, at http://www.ulfdittmer.com/jlog/index.html
[ August 18, 2006: Message edited by: Ulf Dittmer ]

Ping & DNS - my free Android networking tools app
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30776
    
157

I'll throw Lisp into the ring. It's definitely a different way of thinking than a procedural/OO language.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Prolog sounds interesting. I'll look into it. I've messed with Lisp before but didn't add it to my list of familiars because I am not that familiar with it. So that is something else I might possibly look into.

Keep them coming though.
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

Why has Ruby not yet been mentioned?


[Jess in Action][AskingGoodQuestions]
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Ernest Friedman-Hill:
Why has Ruby not yet been mentioned?


I wouldn't mind a brief rundown of why I should consider Ruby if someone can do it and be specific to the language and not mention RAILS.
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
[Gregg]: I'm surprised no one has said Ruby yet.

Well that was my first thought, but I considered it, ummm... obvious. And evidently it was, since you mentioned it yourself. But yeah, Ruby + Rails has a good number of enthusiastic supporters out there, and you've probably already seen quite a few, um, "discussions" of the merits of the various languages/platforms/frameworks/whatever. Hyperbole and vitriol aside, Ruby seems like a language that is both fun and productive, and worth looking into, whether you end up embracing it wholeheartedly or not.

Alternately, Haskell might be a good way to at least bend your mind in different directions than it's used to.


"I'm not back." - Bill Harding, Twister
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

What's difficult, at least for me, is to find good arguments for Ruby without RAILS coming into the equation. I've read documentation on the Ruby web site and done some really simple scripts.

But lately, since RAILS is the big buzz, I can't find any decent articles on the language and it's merits all by itself. Didn't Lasse right something up on the Journal? I am going to go look...
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Found it but it is about RAILS.
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
Oh sure, make another post a couple minutes before mine which just completely undermines what I posted. (And a couple more after that.) Fine. I can't be terribly specific; I haven't delved very far into Ruby. I can say that Ruby has appeal to me independent of Rails. I like the easy and thorough support of closures, and wish we had that in Java. Groovy is also cool for similar reasons, but hasn't come as far in stabilizing and attracting a user base, and if you're looking for something different from Java, Groovy is not what you want, since it effectively seems to be a middle ground between Java and Ruby/Python. Hopefully someone else can go into additional detail.
[ August 18, 2006: Message edited by: Jim Yingst ]
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Not sure how legitimate this is, but here you go...

http://gafter.blogspot.com/2006/08/closures-for-java.html
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24187
    
  34

Ruby the language has a novel sort of intuitiveness about it that's hard to explain, but easy to experience. Read an introductory chapter or two about Ruby, and then try to write some code. You'll find that most things you try will work -- moreso than with other languages. It's not really due to similarity with other languages, either -- it's just that it has a nice self-consistency that's missing, IMHO, from other languages in the same space (like the 3 P's.) Once you understand part of it, you'll be able to guess the rest of it.
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Ernest Friedman-Hill:
Ruby the language has a novel sort of intuitiveness about it that's hard to explain, but easy to experience. Read an introductory chapter or two about Ruby, and then try to write some code. You'll find that most things you try will work -- moreso than with other languages. It's not really due to similarity with other languages, either -- it's just that it has a nice self-consistency that's missing, IMHO, from other languages in the same space (like the 3 P's.) Once you understand part of it, you'll be able to guess the rest of it.


Thanks Ernest. I did do some reading and like I said, have gone through some really simple scripts. I'll see what else I can find.

Also, I don't want this thread to become Ruby specific, so more suggestions are welcome. Thanks for everything so far.
Jeroen T Wenting
Ranch Hand

Joined: Apr 21, 2006
Posts: 1847
For historical completeness you should learn Fortran, Cobol, or PL/1.

Fortran is still important in scientific computing, and Cobol and PL/1 are in heavy use in mainframe systems.


42
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

Originally posted by Jeroen T Wenting:
For historical completeness you should learn Fortran, Cobol, or PL/1.

Fortran is still important in scientific computing, and Cobol and PL/1 are in heavy use in mainframe systems.


Learned both in college, don't remember poop about either one. I think I'd like to keep it that way for now. But thanks.
Deepak Bala
Bartender

Joined: Feb 24, 2006
Posts: 6662
    
    5

VC++


SCJP 6 articles - SCJP 5/6 mock exams - More SCJP Mocks
Jeroen T Wenting
Ranch Hand

Joined: Apr 21, 2006
Posts: 1847
Originally posted by John Meyers:
VC++


da no a language, da a dialekt!
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Originally posted by Jeanne Boyarsky:
I'll throw Lisp into the ring. It's definitely a different way of thinking than a procedural/OO language.


For some reason which I find hard to explain, Lisp is a language near the bottom of my list of programming languages.

I could never write elegant code with that language. No matter how hard I try to make Lisp code look readable. If I revisit (my own) code after a only a month, I have to figure it all out again.



The language on the absolutely bottom of my list, was used to implement a very cool Windowing System, that went by the acronym "NeWS". However, the language was postscript -- and whoever thought that using postscript was good idea should be shot.

Okay, maybe not shot.... If he was shot then we wouldn't have gotten Java...

Henry
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Originally posted by Gregg Bolinger:


Learned both in college, don't remember poop about either one. I think I'd like to keep it that way for now. But thanks.


There is actually a language related to Fortran called "ratfor" -- which is short for rational fortran. One of my favorite books in College was called "software tools" which used that language -- it was later changed to used a different language for examples. (This was a bad idea, which I will explain)

The whole idea of the book was to write very small but useful tools, and then build on them to write very small but more useful tools. It starts with simple data get and set, to very complex parsing. In fact, by the end of the book, you end up with a "ratfor" to fortran processor.

It was really cool both learning a new language, and by the end of the semester, actually seeing a preprocessor that implemented that language.

Henry
Robbi Palacios
Ranch Hand

Joined: May 25, 2006
Posts: 96
You might try assembly language. You can use to it program any
electronic device you invent then try to make a robot.


Sun Certified Java Programmer 5.0
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
Ruby or REXX would do, but I really agree about assembler.

If you do not know at least one platform's assembler language, you should.
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

I took an Assember class in college as well.
Guy Allard
Ranch Hand

Joined: Nov 24, 2000
Posts: 776
I'm stretching - how about SNOBOL?

The original name was SEXI.
Marilyn de Queiroz
Sheriff

Joined: Jul 22, 2000
Posts: 9047
    
  10
smalltalk?


JavaBeginnersFaq
"Yesterday is history, tomorrow is a mystery, and today is a gift; that's why they call it the present." Eleanor Roosevelt
Amit Batra
Ranch Hand

Joined: Mar 04, 2006
Posts: 361
How about japanese or chinese its going to be in big time demand soon(The latter)
Barry Gaunt
Ranch Hand

Joined: Aug 03, 2002
Posts: 7729
caml or ocaml?
haskell?
Scheme?
EFH?
[ August 19, 2006: Message edited by: Barry Gaunt ]

Ask a Meaningful Question and HowToAskQuestionsOnJavaRanch
Getting someone to think and try something out is much more useful than just telling them the answer.
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 61437
    
  67

BLISS!

But you'll have to get yourself a VAX.


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Jim Yingst
Wanderer
Sheriff

Joined: Jan 30, 2000
Posts: 18671
Of course, you wouldn't want to overlook the merits of Whitespace either, would you?
Svend Rost
Ranch Hand

Joined: Oct 23, 2002
Posts: 904
Hi Gregg,

im assuming that you'll learn your new language because of the fun of it,
and the learning expirience - not because you aim you land a job using
your the new programming language.

I would suggest (as other also have suggested) you to learn a new programming paradigme.

Functional programming: ML or Haskell
Logic programming: Prolog

Another thing that you might find interesting is Aspect Oriented Programming (AOP).
The obvious choice of AOP language would be AspectJ, since it's
basicly Java.

/Svend Rost
Liu Zhixiang
Ranch Hand

Joined: Aug 12, 2006
Posts: 32
Originally posted by Amitabha Batranab:
How about japanese or chinese its going to be in big time demand soon(The latter)






I Think Therefore I Am
 
permaculture playing cards
 
subject: Learn New Programming Language