most future-proof programming language?

Discussion in 'OT Technology' started by HardTech, Feb 22, 2007.

  1. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    I know bits and pieces of a few languages, and consider myself the strongest at Java only because it's what was taught at university

    I don't much like Java, nor any of the .NET languages. If there is a single language to learn 100%, what would it be?
     
  2. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Learn a langauge that teaches you to think differently, that you may be good in many languages.

    Oh, Perl. Seriously, Perl is consistently listed as the most valuable language to learn. Not that you'll be using it full time, you probably won't have that privileg. But knowing Perl will save you days of work when you need it. Thats why it is so prominent in job ads, even if as a footnote.
     
  3. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    That was very sage of you, Peyomp.

    Given that you speak English, I think the best language for you to learn would be Latin. I'm being completely serious. There are languages with more letters than English, there are languages where modifiers follow nouns and verbs instead of preceding them, there are languages that are virtually unrecognizable to Western eyes, but Latin is fairly unique in that it's the only language that uses the Roman alphabet and yet doesn't use its grammar structure. (That's important because it means you'll be able to read it but you'll struggle to understand it.)

    In Latin, the role each word plays in a sentence is designated by a suffix -- in all other Romantic and Germanic languages (or at least all the ones I know of), words rely on context and order to determine their meaning. To give an example, in English "Your mother is a whore" and "Your whore is a mother" have obviously different meanings, yet they use the exact same words -- but in Latin I could mix up the words all I wanted and the sentence would still mean the same thing, because each word would be "tagged" according to its part of speech. It took me years to get to where I could read a Latin sentence and make heads or tails of it, just because the idea of suffix- and prefix-tagging was so foreign to me.

    How can this possibly have anything to do with programming? Well, it ties into what Peyomp said about learning a language that's different from the ones you know; each programming language uses context and tagging in varying amounts to make its code structure work, but unless you're familiar with each concept in its pure form (English being contextual, Latin being tag-based), it will always be at least a little confusing when you switch between languages that structure their code differently.

    And the way things are going these days, the ability to fluently switch between multiple programming languages is going to be more and more important, as the number of useful languages keeps increasing and the ability to compile them into a single executable keeps getting refined. (The .NET Framework is an excellent example of this multi-language, single-binary concept.) Learning Latin, even just casually, will stretch your brain in all the right ways to make you more skilled at programming. Not to mention you can impress your girlfriend with a trip to Tuscany and you can translate all the buildings for her.

    After you do that, then you should learn Perl like Peyomp suggested. :big grin:
     
  4. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    C++ is so universal since so many other "mainstream" languages are based off it (C#, Java, PHP, etc)

    But what do you want to do? That would determine what you should learn.
     
  5. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Haha, he said your mother is a whore.
     
  6. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    :rolleyes::jerkit::squint::rofl:
     
  7. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    :wtc:
     
  8. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Learn languages from the following groups. Some overlap.

    1) A 'low level' language, where you have to manage your own memory and deal with pointers. C, C++, Assembly (if you are a tough guy), whatever.

    2) A dynamic language for getting shit done quick, administration, tools and for rapid web development: perl, python, php (NOOoo!!11!), ruby, javascript, etc.

    3) An OO language: Java, .NET (NoooOOooOOooo), C++, Smalltalk... whatever

    4) A functional/procedural language: C, whatever

    5) A Declarative language: SQL, make, etc. Pick something more complex than HTML. Here you describe WHAT, instead of HOW. All the others listed are imperative. You need declarative experience as well.

    The bottom line is this: if you are the type who learns one language and then sticks to it, you aren't going to excel in IT. If you are the kind of person who learns new languages for for because you are a fucking animal, you will kick ass in IT.
     
  9. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Hey P, where does HyperCard fit into your list? :rofl:
     
  10. Coottie

    Coottie BOOMER......SOONER OT Supporter

    Joined:
    Jun 6, 2006
    Messages:
    32,407
    Likes Received:
    0
    Location:
    OKC
    Prolog...it's the language of the future!!

    Yeah I'm kidding.

    Who's to know that the most future proof language is?? noone here has balls that are crystal....so it's really it's all about experience and history.

    C++ was released in the early 80s but it's still being used today. Many thought there wasn't a need for Java, others thought it would be the last language anyone would need...but then along comes Ruby and it's a whole different ball game.

    IMO it's more important to learn and get comfortable with a broad range of languages which makes you more of a generalist. Get specific and in depth if you know what you want to do or if you are in a job requiring a particular language....otherwise....learn them all. :)
     
  11. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Ruby didn't... come along and replace Java. They don't even compete, really. They are/were both darlings, is all.
     
  12. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    That would fall under esoteric languages at this point. Google 'chef language'
     
  13. Coottie

    Coottie BOOMER......SOONER OT Supporter

    Joined:
    Jun 6, 2006
    Messages:
    32,407
    Likes Received:
    0
    Location:
    OKC
    Yeah I realize that...but with all the buzz surrounding Ruby, languages like Java seem a bit stale eventhough it's still a very prominent language.
     
  14. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
  15. Penguin Man

    Penguin Man Protect Your Digital Liberties

    Joined:
    Apr 27, 2002
    Messages:
    21,696
    Likes Received:
    0
    Location:
    Edmonton, AB
    I would add to your list:

    6. A language that is a total mind-fuck. Prolog would be a good choice. It'll make you stop thinking about programming only in terms of the procedural stuff you've learned on and make you a better person.
     
  16. HardTech

    HardTech hungry

    Joined:
    May 5, 2000
    Messages:
    28,103
    Likes Received:
    1
    Location:
    NorCal
    what a wonderful post
     
  17. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    Everyone should learn an esoteric language like Chef.
     
  18. Falconer

    Falconer OT Supporter

    Joined:
    Jun 23, 2006
    Messages:
    65,506
    Likes Received:
    1
    This thread makes me wish I was better at computers.

    When I was 7 I had a TRS-80 that required you to program everything manually in BASIC before you could run it. Fortunately, it came with a big code book with all the code laid out for you to copy :)

    When I was in high school I took Pascal, and I got As on everything until I got mono and missed some classes when we were learning about arrays. Then I started getting Fs on everything. I ended the class with a C (the average of As and Fs, hehe).

    In college I took C, and I was getting As until about 2/3 of the way through the class when I started bombing everything, and I ended with a B. One day it went from easy stuff to pointers and memory allocations or something and it was all over my head from there on.

    I am a shitty programmer even tho I work in IS and I can think like a programmer and I can talk to programmers, but I sure can't program anything. :dunno:

    I want to be a nerd but my brain doesn't want to learn that stuff.
     
  19. deusexaethera

    deusexaethera OT Supporter

    Joined:
    Jan 27, 2005
    Messages:
    19,712
    Likes Received:
    0
    Above all else, you need to have programs to write before you can learn to write programs. I don't mean code from a book, either -- I mean you need to need a program that doesn't yet exist, so you have a goal to work towards.
     
  20. Peyomp

    Peyomp New Member

    Joined:
    Jan 11, 2002
    Messages:
    14,017
    Likes Received:
    0
    This is why the dynamic languages are good: problems are easy to find.
     
  21. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    Well, considering the topic said "future-proof programming lanaguage", I would suggest you stick with C#. Microsoft put a lot of resources into .NET and C# specifically. I don't see it going anywhere anytime soon, if ever. I mean look at VB. It has been around and supported for quite awhile. It has shaped over the years but it has never been put aside by Microsoft. I see C# having an even better shelf life.
     
  22. babygodzilla

    babygodzilla I love rice

    Joined:
    Nov 5, 2001
    Messages:
    3,108
    Likes Received:
    0
    Ruby on Rails seems to be going around a lot these days. anyone can explain what all the hoopla is?
     
  23. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    I think RoR is filling a void in the small company consulting business. RoR allows you to create a dynamic website quickly without understanding a lot of what is happening under the covers. Which just so happens to be a perfect solution for graphic designers who want to provide dynamic services to their clients without spending a lot of time learning something like .NET or Java.

    Now, of course you can use RoR to build some super fancy web application and blah blah blah. My opinion is that's not the real market for the technology. :)
     
  24. P07r0457

    P07r0457 New Member

    Joined:
    Sep 20, 2004
    Messages:
    28,491
    Likes Received:
    0
    Location:
    Southern Oregon
    it's hype that is being sack-riden to death. It is a genuinely horrible band-aid solution to the need-it-quick-and-dirty-fuck-maintaining-it-or-letting-another-coder-work-with-it problem. It's a fad that needs to die, already.
     
  25. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    Certainly can agree to that.

    And certainly disagree with that. I think the "quick and dirty" award belongs to Perl and PHP. At least Rails follows MVC where PHP and Perl are just a mound of shit.
     

Share This Page