• 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

    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.

    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.
      An interesting challenge and something I'll work towards, just day one so far. The algorithms I'll be comfortable with just need to learn how to turn those into C# code.

      Coding is just as creative as writing a piece of music and just as rewarding. I figured out some things for myself today, intuitive C# seems to be.
      Me, me, me...

      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 have to disagree here, in my career most of the projects I have worked on are far more complicated than writing a chess program.

        Comment


          Originally posted by russell View Post
          I have to disagree here, in my career most of the projects I have worked on are far more complicated than writing a chess program.
          Especially if your software is going to play against sasguru - a couple of prawns is all you need to check mate him...

          Comment


            Originally posted by sasguru View Post
            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.
            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.
            Originally posted by MaryPoppins
            I'd still not breastfeed a nazi
            Originally posted by vetran
            Urine is quite nourishing

            Comment


              Originally posted by russell View Post
              I have to disagree here, in my career most of the projects I have worked on are far more complicated than writing a chess program.
              Perhaps it is your inability to apply the concepts involved in something like the scenario described to more seemingly complicated scenarios that is the issue?

              Comment


                Originally posted by oracleslave View Post
                Perhaps it is your inability to apply the concepts involved in something like the scenario described to more seemingly complicated scenarios that is the issue?
                No, those concepts were taught in the early part of my education, they in no way represent the complexity of any large project I have worked on, more like a homework assignment.

                Comment


                  Originally posted by Cliphead View Post
                  intuitive C# seems to be.
                  You've started talking like Yoda too
                  While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'

                  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 guess it depends what you are looking for. I've interviewed grads and even a phd student who would probably pass these sorts of tests fairly easily but ask them about design patterns, n-tier architecture, automated unit testing and they don't have a clue. Still, it's nice to use this sort of thing once you have whittled out the people who have little practical experience. I like "spot the error" paper tests as well, it whittles out the people who know the language from the sloppy ones who rely on the IDE to catch their mistakes.

                    OTOH you mostly won't be hiring someone to rewrite the standard libraries, so you could argue this sort of thing is irrelevant for a lot of jobs. Of course there are jobs out there that require hardcore algorithmic and maths skills but I think those would generally have higher barriers to entry than newspaper puzzles (although didn't the Bletchley Park folks recruit people using crossword puzzles in the telegraph or something?)
                    While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'

                    Comment


                      Originally posted by SueEllen View Post
                      How often do you screw up an OS?

                      Some linux flavours have an update out about every 6 months so if you do screw up you probably be upgrading by then.


                      One of the young guys in the office has already done so.
                      Have you ever written Linux device drivers? Is this yours cos I'd stay away from these if I were you.

                      Comment

                      Working...
                      X