What programming language would you recommend to a beginner?

Discussion in 'The Science Forum' started by Excognito, Jun 17, 2011.

Welcome to the Army Rumour Service, ARRSE

The UK's largest and busiest UNofficial military website.

The heart of the site is the forum area, including:

  1. By way of Prolog, as one of the many meanders in another thread, the subject of programming came up and activated the version of Curiosity 0.9 that runs in my head.

    What language would you recommend for somebody to learn programming and why?

    Would you put pressure on them to learn Pascal? Would you Scheme to make them learn to LISP?

    Would it differ if budget wasn't a constraint?

    Would you recommend they dive straight into MUF and so Forth?

    Curry favour with functional crowd? -or would that be too much Haskell?

    What's the cruelest language you can think of? Would you Brainfuck them with Z notation?

    _ mod _ :Z → ( Z\ { 0 }) → Z[​IMG]


    [​IMG]n,r: Z; q: Z\ { 0 } •
    n mod q = r [​IMG]( [​IMG]d r •< d [​IMG]n = q*d + r)[​IMG]

    C what your sharp minds can come up with.


  2. We were taught Pascal at college. I'd probably recommend C++, but it would depend on what their ultimate goals in programming were.

    Being more of a web geek I mainly work in CSS, PHP and have been trying to master MySQL by writing my own forum software.
  3. Fronty

    Fronty Old-Salt Book Reviewer

    C, or at least a C-type language (C, C++, Java etc)

    Pretty standard and C itself can be compiled onto just about any type of platform. .Net/C# would be a second choice, but Objective C is taking off in the Smartphone world, so maybe that would be worth a look.

    If you hated someone, make them learn Perl.
  4. ^^ This. 10 FLetters
  5. C - because it's pretty nippy and powerful and there isn't much that can't be written in it (without being daft)
    Erlang - because functional programming is hard but good to crack
    Python - everyone needs a scripting language for day to day stuff
    Java - great for learning OOP but pretty average otherwise
  6. LISt Processing (LISP), known for its strong connections to Artificial Intelligence has now been superceded by a variant for those with a speech problem. It is now called Local Intelligent Thought Holistic Programming (LITHP). I would recommend that.
  7. Pascal is usually taught as it's very strict in how you code stuff and so can help build some good coding practices which will be of use to a beginner. C lets you do anything you want and generally **** about with things like this from some code I wrote ages ago:

    char *shellcode;
  8. I'm not a developer but I've found that simple programming skills have been very helpful.

    I work as a Technical Author. I'd learned a little bit of BASIC when I was a kid and it came in very handy when I wanted to write MS Word macros using Word BASIC 6 for use at work. (The handbooks I was writing included massive lists of spare parts created from the factory Bills-of-Material. I wrote a series of macros to strip out the bits I didn't want and and then format the rest. If I'd tried to do the job by hand, it would have taken 2 to 3 days. The macros did it all in about 30 mins.)

    I've also done a bit of programming with Turbo Pascal, which led onto C++. I'm no developer, but I know enough about C++ to write simple APIs, if needed, for the software user guides I write.
  9. I’d quite like to see kids learning a little programming alongside application use in School. It doesn’t need to be much, but with the ubiquity and increasingly complexity of computer technologies it would stand them in good stead when faced with applications they’ve never come across before.

    Recommended language for learning, at least for beginners: Probably a little Visual Basic or something similar. On the other hand if I was really allowed to have a free choice, but restricted in resources including time, I’d probably go for constructing simple databases in something like Dbase 3+. Very old now, yes (and DOS of course), but easy to learn, lacking in flashy distractions, sufficiently structured for the purpose and it would get across the all important aspect of data storage and manipulation, as well as a little structured thinking and logic.

    I suppose it really comes down to what the result of the teaching is to be, i.e. application development or underlying principles. I’d plump for the latter which I think would be more beneficial in the long run for the majority of people.

    Cruellest: Not so much in terms of outright difficulty (although perhaps close) would be 16-bit assembler (shudder).
  10. I sent a reply. Not appeared. Where is it?
  11. LISP (LISt Programming) has been superseded by a version for those with a speech impediment. It is now called Lateral Intelligent Thought Holistic programming (LITHP). I would recommend that
  12. For those aspiring to writing games, I'd suggest that they learnt 6502 assembler on a VIC-20; to learn how to write tight, functional code to produce addictive games with intense game-play. In 3.5Kb of RAM. Then let em have a C64.

    For those wanting to write anything else. FORTRAN, or COBOL. Write all programs out first, then submit complete with a flowchart, variables list, and a paper-dry run expanding all variables and strings, listing output, and so on.

    No reason, simply because I'm old and that was how it was done back when we had real programmers, and computers were kept were they belonged and knew their place. And you had to ask for CPU time.
  13. I would also jump on the bandwagon and learn C/C++. The thought being it's a fairly easy jump then to learn J++ and C#. Plus it's not a lot of challenge then learning basic or VB6.

    However, if you really want to impress with esoteric knowledge then you could learn to code in OOK (So easy they say a monkey could do it)
  14. Actually, the first thing I'd make anyone learn is...


    Hardest language in the world, that one. Must be - very very few people use it.
  15. Never needed it - my code is self-explanatory, :meditate: