• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

Which programming language should I learn?

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    Learning programming

    You have to do a combination of reading books and writing code. If you can find a mentor it's great - someone who is really good at programming and can point out your mistakes. Ask someone to point you at well written code - study it and emulate the style.
    Read Scott Meyers or Josh Bloch. You can become good enough to earn money from just practising a lot and studying. In the end, there is no short cut to having spent hours and hours and hours in the debugger trying to find out why your program is failing.

    In terms of being a successful developer, writing code is just one bit of it. Lots of people can write decent code with no distractions, a clear spec and enough time. What makes it hard is working with long hours with constant interruptions, vague and changing requirements and project issues such as cutting others slack and fixing others mess without slating their work.

    By the way, understanding others peoples code is a better skill to have. Anyone can write some sort of code. Not everyone can grasp someone else's stuff quickly and understand where the weak points are.

    Never criticise someones code unless you know the conditions it was written under. Only try to improve things and take it forward.

    Comment


      Originally posted by Cliphead View Post
      Begs a question, how many of you actually do enjoy coding or is it just a means to an end?
      Cannot say I have really ever enjoyed it. My outlook changes massively when I am working on something interesting though and that is not really that often sadly, most of the time it is just chasing values through crap code.

      Comment


        Originally posted by doodab View Post
        (although didn't the Bletchley Park folks recruit people using crossword puzzles in the telegraph or something?)
        That was true. They wanted people who could guess plausible words from a few letters and crossword solvers have the ability.
        merely at clientco for the entertainment

        Comment


          Originally posted by d000hg View Post
          That's a terrible test. Firstly it requires you to understand chess yourself. Secondly it's an algorithmic challenge not a coding one... once you have solved it in one language you can hack a god-awful version in any language without knowing that language at all. A GUI-based noughts & crosses would be more useful in establishing the person can use the language/framework. A typical developer doesn't need strong algorithm/math knowledge to write a GUI, read from a DB, etc.
          A few years ago I was brought in on contract to save a project that had gone wrong - the lead analyst/developer was a Russian with a very impressive CV, he had degrees in CS and Software Engineering.
          I soon found out why the project had gone tits up: he was an absolute genius at coding when the specs were tight and he was told exactly, and I mean exactly, what to do, but he couldn't for the life of him take a complex business scenario and translate it into an algorithm, say in pseudo code. I was completely shocked by this as on paper he looked brilliant.

          I suppose you can make a living simply coding but the best developers have creative algorithmic skills as well. They used to train British grads very well in that about 25 years ago. Probably all gone to crap now.
          Hard Brexit now!
          #prayfornodeal

          Comment


            Originally posted by sasguru View Post
            A few years ago I was brought in on contract to save a project that had gone wrong
            B0ll0x - you were sad permie manager in some tuliphole in London's City (lunch making facility?).

            Comment


              Originally posted by AtW View Post
              B0ll0x - you were sad permie manager in some tuliphole in London's City (lunch making facility?).
              I don't think someone as congenitally loserish as you should really be making any accusations.
              Where's the SKA news thread? It's been years now and doesn't seem to be getting anywhere.
              Hard Brexit now!
              #prayfornodeal

              Comment


                Originally posted by Churchill View Post
                Have you ever written Linux device drivers? Is this yours cos I'd stay away from these if I were you.
                As I discovered earlier this year, given sufficient load you can push most systems to the point of a crawl, if not instability. You don't even need to muck with drivers to get there.

                Impatience will usually win if you've managed to bring a system to its knees by breakfast and it doesn't look like coming back before teatime.

                At that point you are happy that you set up your VM snapshots.
                Behold the warranty -- the bold print giveth and the fine print taketh away.

                Comment


                  Originally posted by SueEllen View Post
                  How often do you screw up an OS?
                  Surprisingly easily if you are used to "legacy" OSes which were rock solid and had decent backup systems.

                  Originally posted by SueEllen View Post
                  Some linux flavours have an update out about every 6 months so if you do screw up you probably be upgrading by then.
                  The Reformat, Reinstall and Reapply preferences thing? No thanks.
                  Behold the warranty -- the bold print giveth and the fine print taketh away.

                  Comment


                    Originally posted by sasguru View Post
                    I suppose you can make a living simply coding but the best developers have creative algorithmic skills as well.
                    I totally agree with that statement - such things are valuable. My point is that this isn't a good way to test somebody understands a specific programming language.
                    Algorithms are almost separate from programming in many cases, closer to maths. It's quite possible to be great at either in isolation - a developer who knows the language and APIs inside out but not how to solve a problem, or an academic who can write a beautiful algorithm but writes a single monolithic function in an attempt to make every language work like C.
                    Originally posted by MaryPoppins
                    I'd still not breastfeed a nazi
                    Originally posted by vetran
                    Urine is quite nourishing

                    Comment


                      Originally posted by sasguru View Post
                      Write a program to solve any Sudoku problem. That's a good intermediate problem to test your understanding.

                      For a more difficult problem, program the end game in chess with, say a few pieces, e.g. pawns and Kings only. This will require an implementation of the alpha-beta pruning algorithm.

                      The latter used to be my test for mastery in a programming language. If you can do this nothing in a commercial environment will cause you too many problems.
                      I see what you are saying, but beg to differ. My experience of the commercial environment says that a lot of it involves only basic arithmetic but a lot of I/O. Neither chess nor Sudoku will give you that experience.

                      I'd suggest picking a problem which you yourself have some kind of passion for. Even a simple app that helps with my tax return or agent contacts gives me more of a buzz than solving chess or Sudoku problems.
                      Behold the warranty -- the bold print giveth and the fine print taketh away.

                      Comment

                      Working...
                      X