Slashdot Mirror


Ask Slashdot: What Language Should a Former Coder Dig Into?

An anonymous reader writes "I was a consultant for nearly 20 years and I got into projects where I had to work with a huge variety of software, operating systems, hardware, programming languages, and other assorted technologies. After retiring from that I have spent the last 10 years in a completely different sector. Now I find myself wanting to really focus on coding for personal reasons. You can imagine how out-of-touch I am since I never really was more than a hack to begin with. I can learn syntax and basics in a weekend, question is, what Language should I become native to? Never liked anything 'lower-level' than C, and I don't have the funds to 'buy' my development environment....help me Slashdot, you're my only hope."

9 of 530 comments (clear)

  1. Some half-truths and prejudices by Anonymous Coward · · Score: 5, Interesting

    Best all-around: Python

    Best for enterprise work: Java

    Best for OS dev, e.g. device drivers: C

    Best for system programming above OS, e.g. database internals: C++

    Best for game programming: C++

    Best for financial apps: C#

    Best social networking startup interview: Ruby

    Best for web dev: JavaScript

    Best for bioinformatics: R, SAS

  2. Ruby by Anonymous Coward · · Score: 4, Interesting

    I'm pretty much in the same boat as you, trying to revive a career that I once had but spent the last 15 years removed from coding. I looked around a lot and asked a bunch of people stuff. I have chosen Ruby because it looks like it's strong, gaining popularity, and has a big demand in jobs right now. It seems everybody and their brother already knows Python and the PHP framework, so you'll get a lot of 'be one of us' posts, but I recommend you figure out your goal, besides just personal hobby stuff which you can do in any language. Looking for employ-ability? You might find what I did, that Ruby, then Ruby on Rails will be a good fit.

  3. A Book You May Like by DannyO152 · · Score: 4, Interesting

    Pragmatic Programmers published "Seven Languages in Seven Weeks" last year. I liked the book and would recommend it for any one who wanted a taste of today's interesting languages. Over the past year, I've seen that some readers were disappointed at the language choices and some didn't like the way the author, Bruce A. Tate, selected a movie characters as shorthand descriptions for the languages' feels.

    The languages: Ruby, IO, Prolog, Scala, Erlang, Clojure, and Haskell. As for development and runtime environments, these can be had and installed at no cost.

    If I was asked to name the one language that is widely used, has immediate practicality, and the runtime is already installed on your computer, I'd pick javascript, which runs in the browser. Get a browser that has a console for reviewing javascript errors. The java part of its name is deceptive. It is quite different than java, but the 90s Netscape folks figured that that imprecision would help adoption. I'm not one to rue days, but that one could a candidate.

    You didn't mention what languages you were familiar with from your consulting days. One question to be asked is whether you want to look at a language that is familiar but advanced the the ones you did work with or would you prefer to explore the other streams of language design. If you wish to write personal application and utilities, there is likely to be a language tied to your platform. For Windows, it's C#. For OS X, Objective-C. For Linux, you will have to pick a gui framework and its language.

  4. Re:Brainf*ck by cupantae · · Score: 4, Interesting

    I'm genuinely sorry. Reminds me of school days, where some idiot would take my joke, make it louder and worse, and everyone would laugh.
    Now that's me.

    --
    --
  5. Re:Python by squiggleslash · · Score: 4, Interesting

    Disagree. Python is a great language, but it's unlike the vast majority of other languages out there. It wouldn't establish you with a base of "How things currently work". You can easily learn Python after learning one of a list of other languages, but other languages are going to come across as a tad confusing if you learn just this one.

    I'd go with Javascript. STOP. READ THE FOLLOWING BEFORE FLAMING.

    Javascript exactly at the intersection of everything right now. It's a scripting language that's close enough in concept to C# or Java for a jump to be relatively easy. It's enormously powerful, and has 95% of modern programming language features.

    Now, TO BE CLEAR (shouting again, because I know you're going to flame me if I don't!) it's NOT that I'd recommend programming in Javascript in anger, it's more that if you jump from JS to Java, C#, Python, or PHP, you're going to find it an easier jump. Jumping from Python to, say, Java is rather more of a leap.

    For learning purposes, JS is a great language. Python is also a great language, but don't allow your enthusiasm to get the better of you when promoting it. For learning how the world works today, recommending Python would be as sensible as arguing that a Chinaman who wants to talk to Westerners should learn Italian first.

    (Yes, Italian's my favorite spoken language, I'd still recommend English to said Chinese person. Good combination of Romance and Germanic languages that'll get you understanding "us", even if it sucks!)

    --
    You are not alone. This is not normal. None of this is normal.
  6. Re:Beware of dynamic languages for large projects. by sylvandb · · Score: 2, Interesting

    I disagree.

    I've done large multi-threaded systems with python. It works great.

    The only problem with "python is not reentrant" is if you are calling a module or extension written in some other language AND that extension needs to call back into python.

    That may be a problem in some applications, but has not been for me.

  7. Re:Beware of dynamic languages for large projects. by johnnyb · · Score: 4, Interesting

    I disagree about the time spent debugging - usually it is pretty straightforward. However, the problem is that users wind up hitting code paths that your tests missed and compilers could have warned you about. Either that, or you actually spend 10x writing tests than writing code, which means that using the language is no longer a help but a waste of time.

    I've found that Objective C is one of the best languages that has an intermediate between the dynamicism of Ruby and the type-checking of Java. It allows you to go uber-meta when you want to, but it does a lot of the static checking that is left out elsewhere.

  8. Re:Beware of dynamic languages for large projects. by TapeCutter · · Score: 4, Interesting

    But what has any of that got to do with coding for 'personal reasons', eg: a retirement hobby? - My 78yo dad has just discovered Python and PyGame and loves it, he is a game development team of one and the only cost involved is his time. Commercial development processes are meaningless.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
  9. Learn an HDL - vrey challenging. by hamster_nz · · Score: 3, Interesting

    If this is for a hobby, and you want to keep challenged, buy an FPGA development board (e.g. a Digilent Basys2 or a Papilio One) and learn a HDL. It will cost a little bit of money ($60) but you will get months of play time out of it.

    Once you've programmed in 10 or so languages they are pretty generic, but the jump from programming to Hardware Designing is a complete mindfsck, but one you grok it it is very satisfying. Everything happening in parallel in hard real time....

    Build your own 'soft' CPUs, invent the next big thing!