• 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

    #71
    Originally posted by NotAllThere View Post
    SAS... hmm. Well, if you find statistics interesting, I guess you would say that.
    Typically ignorant response, I'm afraid.
    Most people think statistics is about the compilation of figures, whereas in reality it's far deeper: it's about epistemiology, how we know what we know and to what level of confidence.
    As the world becomes increasingly evidence driven, and the data deluge continues, statisticians are increasingly in demand with salaries to match.
    And if you have experience in programming as well as mathematical stats, well the world is your oyster.

    For Today’s Graduate, Just One Word - Statistics - NYTimes.com
    Hard Brexit now!
    #prayfornodeal

    Comment


      #72
      Originally posted by d000hg View Post
      What exactly is your case? A lot of search results? in that case, search for "global warming". Or maybe you claim if enough people spread the same misinformation that makes it true?

      This thread is eye-opening into your thought processes. Unlike AGW this is hard, measurable science where we don't have conflicting, unprovable models to support our claims. Modern JIT compilers are very quick - as evidenced by recent improvements in browser JS performance as well actually - and differences are down to a small margin.

      I think you're just trolling.
      You seem to have fallen for the marketing hype (a bit like AGW).

      Here's a few points you can chew on:

      Making Sense of Java

      For a lot of reasons, Java is likely to always be slower than C++ and Fortran for the typical application. (A range of 50% to 300% slower than C++ has been suggested as the practical limit of Java performance improvements.) Some of these reasons are:

      Reliance on pointers for objects: Every Java object access means a pointer dereference; C++ programmers have the option of either linking objects with pointers or placing one object inside the other, thereby eliminating a level of indirection.

      Reliance on heap storage for objects: While basic types (int, float, etc.) can reside on the stack, objects in Java can only be allocated on the heap. This means more work for the memory manager and the garbage collector. Stack-based objects are much faster to reclaim, giving another advantage to C++.

      Garbage collection: While garbage collectors have their merits (they make programming a lot easier, they are a general solution to the memory reclamation problem. And for many application there is a specific solution to memory allocation and reclamation that will outperform the general one. Where performance is critical, the programmer can probably do a better job of handling this task than even the most cleverly written garbage collector (which the GC in today's Java most definitely is not).

      Run time method selection: C++ gives the programmer the choice of using virtual or nonvirtual methods. Nonvirtual methods are implemented at functions, while virtual methods require an extra level of indirection through a method table. All Java methods are virtual, which means more overhead on every method invocation. This does make life a lot easier for the programmer, who doesn't have to worry about which methods are resolved when. But there is a small price to pay.
      Insistence on object orientation: Although arguably better from a design, development and maintenance standpoint, object oriented programs tend to be written as a large number of small procedures. This means more frequent method invocations, which can mean slower code. C++ can be written in a more procedural fashion. In addition, C++ programmers can use inline declarations to eliminate function calling overhead. Java does not provide such programmer control.

      Thread-safety: Java was designed as a multithreaded language. Thread-aware languages need thread-safe libraries, in which each procedure allows for the possibility that it will be invoked simultaneously from multiple threads. To avoid problems should this happen, the procedure must set up access locks around critical sections of code. This extra work makes thread-safe libraries slower than their unsafe equivalents, which is why most thread-safe C and C++ libraries are also supplied in unsafe versions. Since Java's run time libraries are of necessity thread-safe, they are another source of overhead in comparison to C++.

      JIT translation has to be fast: Most compilers have optimization modules that perform highly sophisticated analysis on the code they generate to make it more efficient. One problem with optimization is that it increases compilation time, sometimes by quite a lot. But for performance critical applications that take a long time to run or are run regularly, the extra compilation time is more than compensated by the improved run time performance. Now apply this analysis to Java applets and just-in-time translation: instead of incurring the overhead once at compilation time, we would see it every time the byte code applet loads and is converted to native code. Clearly we don't want to wait any longer than necessary for our applet to start. This places severe limits on the kinds of optimizations that Java JIT compilers can do. Note that this constraint does not apply to Java applications, which can be compiled to native code just like C++ programs and can have a similar degree of optimization applied to them.

      Java doesn't need to be as fast as C++; just fast enough: Here's where economics come into play: once Java is fast enough for most tasks, the emphasis vendors place on performance is likely to move onto some other area where they can offer differentiation. Improving performance takes a lot of work for each small gain. So once the perception of Java as a poor performer dissipates, the marketing advantage of improving performance does the same. It's is much like the situation with
      C++ compilers: although C++ has features like variable references that would permit it to run faster than the equivalent C using pointers, compilers don't take advantage of that opportunity to produce faster code. In at least this regard, Marketing and customer demand drive technology.

      Here's the latest sea level rise



      HTH
      Last edited by BlasterBates; 30 May 2011, 15:56.
      I'm alright Jack

      Comment


        #73
        Originally posted by BlasterBates View Post
        Type "Java App slow" in Google.

        I rest my case.
        Java App Slow = 35,000,000 results
        C App Slow = 182,000,000 results

        So C must be > 5 times slower than Java then?

        I think you are trolling as well TBH, either that or you just don't have a ******* clue what you are talking about.
        While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'

        Comment


          #74
          Originally posted by doodab View Post
          Java App Slow = 35,000,000 results
          C App Slow = 182,000,000 results

          So C must be > 5 times slower than Java then?

          I think you are trolling as well TBH, either that or you just don't have a ******* clue what you are talking about.
          I think though to be fair won't google ignore the 'C' as being too short so you're actually comparing;

          Java App Slow = 35,000,000 results
          App Slow = 182,000,000 results

          Not wanting to get involved though, IANAP.....

          Comment


            #75
            Originally posted by stek View Post
            I think though to be fair won't google ignore the 'C' as being too short so you're actually comparing;

            Java App Slow = 35,000,000 results
            App Slow = 182,000,000 results

            Not wanting to get involved though, IANAP.....
            Good point Stek, though I suspect Doodab is just trolling.
            I'm alright Jack

            Comment


              #76
              I think Google causes more arguments, heartache and misery than it solves or cures


              (\__/)
              (>'.'<)
              ("")("") Born to Drink. Forced to Work

              Comment


                #77
                Originally posted by BlasterBates View Post
                Good point Stek, though I suspect Doodab is just trolling.
                No, I'm just making that point that # of google hits for a random search term is not a terribly useful metric.
                While you're waiting, read the free novel we sent you. It's a Spanish story about a guy named 'Manual.'

                Comment


                  #78
                  Originally posted by BlasterBates View Post
                  You seem to have fallen for the marketing hype (a bit like AGW).
                  Aaprt from you don't even know what my position is on AGW and therefore your claim makes no sense, I'm a computer scientist rather than a C++ dinosaur looking for reasons to hate Java.

                  Here's a few points you can chew on:

                  Making Sense of Java

                  (A range of 50% to 300% slower than C++ has been suggested as the practical limit of Java performance improvements
                  That doesn't explain your debugger problem, which you use as proof Java is slow. Your 30min comment would suggest a slow-down of about 1000X. You're using a provably unrepresentative data-point to form your very own hockey-stick.

                  Go back to the wishy washy AGW topics where you can make these claims with impunity.
                  Originally posted by MaryPoppins
                  I'd still not breastfeed a nazi
                  Originally posted by vetran
                  Urine is quite nourishing

                  Comment


                    #79
                    Originally posted by sasguru View Post
                    But anyone serious about development will eventually have to learn a handful of languages.
                    WHS

                    Comment


                      #80
                      Originally posted by EternalOptimist View Post
                      I think Google causes more arguments, heartache and misery than it solves or cures
                      Hehe. I once took the latest Guinness Book of Records into my local rugby club to try and settle a few sporting arguments.

                      It had the reverse effect.
                      Behold the warranty -- the bold print giveth and the fine print taketh away.

                      Comment

                      Working...
                      X