Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What's wrong with Java?

What's wrong with Java?

Scheduled Pinned Locked Moved The Lounge
csharpvisual-studiojavaquestion
75 Posts 34 Posters 10 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • realJSOPR realJSOP

    All programming languages are just variations on the theme we know as "assembly language".

    ".45 ACP - because shooting twice is just silly" - JSOP, 2010
    -----
    You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
    -----
    When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013

    T Offline
    T Offline
    trønderen
    wrote on last edited by
    #23

    All products in the store are just variations on the theme we know as "atoms".

    1 Reply Last reply
    0
    • T trønderen

      PIEBALDconsult wrote:

      I have no lenses younger than about twenty years -- and some closer to seventy.

      I held on to silver photography quite long; we had entered the third millennium before I got my first digital SLR, and went from lenses of the 1980s to lenses of the early 2000s. I had one major surprise: The 20 years newer lenses had dramatically improved anti-reflex coating. With my old lenses, I always had to be careful with backlight, or the picture would be completely washed out. With newer lenses, you can more or less point the camera directly at the sun! (But not for long, or it will burn your sensor!) Lenses you buy today have another great improvement: If you in the 1980s showed up with a 600 mm f/6.7 lens, weight 430 grams, about 12 cm long, people would have refused to believe it. My most recent buy is even more than a 600 mm lens, it is a 4x zoom, 150-600 mm. Or ... It is not, it is a 75-300 mm MFT lens. But if you dig up lens test result from the 1980s and earlier, comparing resolution, contrast and sharpness to modern lenses, you may be in for a surprise. There is one area where I sort of miss an old quality: Mechanical. Affordable lenses, sold to photo amateurs like me, have a touch and feeling reflecting the use of plastics. They feel plastic. Not solid, not smooth, the way the old metal stuff felt. (And that is a major reason why they are as lightweight as they are.) I know that I could go for professional lenses at triple the cost, but I am not that active as a photographer.

      P Offline
      P Offline
      PIEBALDconsult
      wrote on last edited by
      #24

      Yeah, my few auto-focus lenses -- even from the 90s -- are very plastic and cheap-feeling. Near-impossible to use manual-focus. I very much prefer my solid-feeling lenses prior to those. What a lot of today's practitioners don't realize is that increased mass increases inertia which improves stability by reducing shake. The 28-210 zoom I've used since the '80s is 778g and a joy to use. I also didn't buy a DSLR until 2016 -- when Pentax (Ricoh) released the K-1 (full-frame, dontcha know). Once I bought the K-1, I began buying more vintage lenses, mostly Super-Takumars which are as old as I am.

      T 1 Reply Last reply
      0
      • Greg UtasG Greg Utas

        From my perspective, that it doesn't let you control things the way C++ does, particularly memory. Other than that, I don't have any issues with it, although I don't know it very well.

        Robust Services Core | Software Techniques for Lemmings | Articles
        The fox knows many things, but the hedgehog knows one big thing.

        T Offline
        T Offline
        trønderen
        wrote on last edited by
        #25

        In (very) special cases: Sure. In those cases, you might as well go to assembly language. I learned 30+ years ago that trying to outsmart an optimizing compiler is futile. In my student days, we thought it crazy to write an OS in a "high" level language - but Unix did succeed, and performance was not an issue. So we abandoned assembly. Not entirely; there are cases for assembly because that is the only possible way to get access to certain hardware functions. But going assembly for performance reasons has no place in the third millennium. Today, the same goes for memory. It is almost as difficult to outsmart automatic memory management by "clever" use of malloc/free as to outsmart a compiler - in particular because you have no insight in actual memory fragmentation. The risk of memory leaks is much larger; too many programmers do not master their own memory use as well as they believe (or, they are not enforcing the programming discipline as they should). Again: There are (very) extreme cases where the cost of garbage collection is unacceptable. Usually, memory fragmentation is then unacceptable as well. So you manage your objects e.g. in a static array, dimensioned for a worst case. (I was programming one such C solution - malloc was not accepted by our coding standards. C++ new would have been rejected as well, so the case for C++ was not very strong.) Analogy: When I talk with extreme HiFi buffs, I must admit that 24 bit samples at 96 kHz does have its place, in a professional studio where a sound recording may go through many generations of various processing, mixing etc. for an end result of unknown sample width and frequency. But that is is the studio. It doesn't mean that the music I listen to on my stereo benefits from being in 96/24 format. Similarly: If you write a physical level driver for a 10 Gbps network interface, you probably cannot tolerate GC delays. But for 99.999% of all code written, GC without memory leaks is a lot better than dubious "private" memory management.

        Greg UtasG C 2 Replies Last reply
        0
        • C Cp Coder

          You realize this thread is not about cameras? :laugh: Sorry - just messing with you!

          Get me coffee and no one gets hurt!

          T Offline
          T Offline
          trønderen
          wrote on last edited by
          #26

          So let's make it one!

          1 Reply Last reply
          0
          • Mike HankeyM Mike Hankey

            It's like the ongoing dispute between Nikon and Canon users as to which is best. They are both excellent cameras it's just a matter of preference...but Nikon is way better. :)

            The less you need, the more you have. JaxCoder.com

            M Offline
            M Offline
            Maximilien
            wrote on last edited by
            #27

            cough cough Pentax cough cough...

            I'd rather be phishing!

            T 1 Reply Last reply
            0
            • P PIEBALDconsult

              Yeah, my few auto-focus lenses -- even from the 90s -- are very plastic and cheap-feeling. Near-impossible to use manual-focus. I very much prefer my solid-feeling lenses prior to those. What a lot of today's practitioners don't realize is that increased mass increases inertia which improves stability by reducing shake. The 28-210 zoom I've used since the '80s is 778g and a joy to use. I also didn't buy a DSLR until 2016 -- when Pentax (Ricoh) released the K-1 (full-frame, dontcha know). Once I bought the K-1, I began buying more vintage lenses, mostly Super-Takumars which are as old as I am.

              T Offline
              T Offline
              trønderen
              wrote on last edited by
              #28

              PIEBALDconsult wrote:

              The 28-210 zoom I've used since the '80s is 778g and a joy to use.

              That was late 1980s, wasn't it? I don't remember anything close to that being available in 1980. Or is my memory wrong? What make / model was it? Old memory from the 1970s: Vivitar announced its Series 1, the 70-210 mm as the first one going to market. A notice in "Fotografi", the major Norwegian amateur photography magazine, reported that the computers doing the lens calculations was expected to complete by the end of April that year(!) (If my memory is correct, it was done on a PDP-11.) My first SLR had a Nikon 43-86mm zoom, well know for its terrible (lack of) sharpness at the edges. The Vivitar Series 1 was by many considered the first major breakthrough in high quality yet affordable zoom lenses. 3X was impressive by that time, 7.5X for a full-format lens was far out of sight.

              P 1 Reply Last reply
              0
              • T trønderen

                In (very) special cases: Sure. In those cases, you might as well go to assembly language. I learned 30+ years ago that trying to outsmart an optimizing compiler is futile. In my student days, we thought it crazy to write an OS in a "high" level language - but Unix did succeed, and performance was not an issue. So we abandoned assembly. Not entirely; there are cases for assembly because that is the only possible way to get access to certain hardware functions. But going assembly for performance reasons has no place in the third millennium. Today, the same goes for memory. It is almost as difficult to outsmart automatic memory management by "clever" use of malloc/free as to outsmart a compiler - in particular because you have no insight in actual memory fragmentation. The risk of memory leaks is much larger; too many programmers do not master their own memory use as well as they believe (or, they are not enforcing the programming discipline as they should). Again: There are (very) extreme cases where the cost of garbage collection is unacceptable. Usually, memory fragmentation is then unacceptable as well. So you manage your objects e.g. in a static array, dimensioned for a worst case. (I was programming one such C solution - malloc was not accepted by our coding standards. C++ new would have been rejected as well, so the case for C++ was not very strong.) Analogy: When I talk with extreme HiFi buffs, I must admit that 24 bit samples at 96 kHz does have its place, in a professional studio where a sound recording may go through many generations of various processing, mixing etc. for an end result of unknown sample width and frequency. But that is is the studio. It doesn't mean that the music I listen to on my stereo benefits from being in 96/24 format. Similarly: If you write a physical level driver for a 10 Gbps network interface, you probably cannot tolerate GC delays. But for 99.999% of all code written, GC without memory leaks is a lot better than dubious "private" memory management.

                Greg UtasG Offline
                Greg UtasG Offline
                Greg Utas
                wrote on last edited by
                #29

                Special cases or not, there's no way I'd go to assembler and give up all the things that an OO language like C++ provides. And the special cases I'm thinking of aren't a question of trying to outsmart anything. One of them, in serious production code, was morphing an object to a sibling class in the inheritance hierarchy by changing its vptr. The objects' memory came from a pool of blocks, not the heap, so objects from both classes fit into the same block. No deep copying, no worries about stale pointers to the object, just abracadabra, and its behavior is now what's needed. :-D

                Robust Services Core | Software Techniques for Lemmings | Articles
                The fox knows many things, but the hedgehog knows one big thing.

                <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                K 1 Reply Last reply
                0
                • C Cp Coder

                  I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                  Get me coffee and no one gets hurt!

                  T Offline
                  T Offline
                  trønderen
                  wrote on last edited by
                  #30

                  I like the blue. It is more bitter, but with a small piece of dark chocolate it is perfect. Consider throwing in a couple of cardamom seed with the beans when grinding them. For my computer, I prefer a somewhat sharper variant.

                  1 Reply Last reply
                  0
                  • M Maximilien

                    cough cough Pentax cough cough...

                    I'd rather be phishing!

                    T Offline
                    T Offline
                    trønderen
                    wrote on last edited by
                    #31

                    Sounds like you are about to throw up, is that right? Maybe you should put that Pentax away, then :-)

                    1 Reply Last reply
                    0
                    • C Cp Coder

                      I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                      Get me coffee and no one gets hurt!

                      R Offline
                      R Offline
                      Rage
                      wrote on last edited by
                      #32

                      The snarky comments are coming from C++ (the world of fast and free memory mangement) not C# people (the java people with a Microsoft sticker on the forehead). Was that a snarky comment ;) ?

                      Do not escape reality : improve reality !

                      Greg UtasG 1 Reply Last reply
                      0
                      • T trønderen

                        PIEBALDconsult wrote:

                        The 28-210 zoom I've used since the '80s is 778g and a joy to use.

                        That was late 1980s, wasn't it? I don't remember anything close to that being available in 1980. Or is my memory wrong? What make / model was it? Old memory from the 1970s: Vivitar announced its Series 1, the 70-210 mm as the first one going to market. A notice in "Fotografi", the major Norwegian amateur photography magazine, reported that the computers doing the lens calculations was expected to complete by the end of April that year(!) (If my memory is correct, it was done on a PDP-11.) My first SLR had a Nikon 43-86mm zoom, well know for its terrible (lack of) sharpness at the edges. The Vivitar Series 1 was by many considered the first major breakthrough in high quality yet affordable zoom lenses. 3X was impressive by that time, 7.5X for a full-format lens was far out of sight.

                        P Offline
                        P Offline
                        PIEBALDconsult
                        wrote on last edited by
                        #33

                        I bought it in 1985 and it's a marvelous work of engineering. " The need for one lens able to do everything, or at least as much as possible, was an influence on lens design in the last quarter century. The Kino Precision Kiron 28-210mm f/4-5.6 (Japan) of 1985 was the first very large ratio focal length zoom lens for still cameras (most 35mm SLRs). The fourteen element/eleven group Kiron was first 35mm SLR zoom lens to extend from standard wide angle to long telephoto (sometimes referred to as "superzoom"),[191] able to replace 28, 35, 50, 85, 105, 135 and 200mm prime lenses, albeit restricted to a small variable maximum aperture to keep size, weight and cost within reason (129×75 mm, 840 g, 72mm filter, US$359 list).[192][193][194] " -- History of photographic lens design - Wikipedia[^]

                        1 Reply Last reply
                        0
                        • R Rage

                          The snarky comments are coming from C++ (the world of fast and free memory mangement) not C# people (the java people with a Microsoft sticker on the forehead). Was that a snarky comment ;) ?

                          Do not escape reality : improve reality !

                          Greg UtasG Offline
                          Greg UtasG Offline
                          Greg Utas
                          wrote on last edited by
                          #34

                          It may be fast, but it sure as hell ain't free. :laugh:

                          Robust Services Core | Software Techniques for Lemmings | Articles
                          The fox knows many things, but the hedgehog knows one big thing.

                          <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                          <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                          1 Reply Last reply
                          0
                          • C Cp Coder

                            I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                            Get me coffee and no one gets hurt!

                            L Offline
                            L Offline
                            Lost User
                            wrote on last edited by
                            #35

                            What was wrong was: Struts, Swing, NetBeans, JBoss, Apache ... and whatever else you needed to get an app going. .NET didn't require shopping around.

                            It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                            1 Reply Last reply
                            0
                            • C Cp Coder

                              I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                              Get me coffee and no one gets hurt!

                              R Offline
                              R Offline
                              Rick York
                              wrote on last edited by
                              #36

                              I worked with a customer who implemented a serious, corporate-wide Manufacturing Control System using Java. I worked with them on systems at four sites - San Jose, CA; Szenzhen, China; Mainz, Germany; and a place in Thailand I have forgotten the name of. The MCS was used with Windows, AIX, Linux, MacOS, and a few others I can't remember. We used sockets as our interface and there were no problems with it all. I don't even know what OS the systems we directly interfaced with ran on because we didn't need to. That was a few employers ago so I have forgotten some details now. The systems were used in the manufacturing of disk drives and dealt with making the disks themselves. Assembly happened at other sites and we did a few of those systems too.

                              "They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"

                              C T 2 Replies Last reply
                              0
                              • P PIEBALDconsult

                                Nikon is unusable. Pentax is the only true path.

                                pkfoxP Offline
                                pkfoxP Offline
                                pkfox
                                wrote on last edited by
                                #37

                                :thumbsup:

                                "I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP

                                1 Reply Last reply
                                0
                                • R Rick York

                                  I worked with a customer who implemented a serious, corporate-wide Manufacturing Control System using Java. I worked with them on systems at four sites - San Jose, CA; Szenzhen, China; Mainz, Germany; and a place in Thailand I have forgotten the name of. The MCS was used with Windows, AIX, Linux, MacOS, and a few others I can't remember. We used sockets as our interface and there were no problems with it all. I don't even know what OS the systems we directly interfaced with ran on because we didn't need to. That was a few employers ago so I have forgotten some details now. The systems were used in the manufacturing of disk drives and dealt with making the disks themselves. Assembly happened at other sites and we did a few of those systems too.

                                  "They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"

                                  C Offline
                                  C Offline
                                  Cp Coder
                                  wrote on last edited by
                                  #38

                                  Impressive! :thumbsup:

                                  Get me coffee and no one gets hurt!

                                  1 Reply Last reply
                                  0
                                  • C Cp Coder

                                    I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                                    Get me coffee and no one gets hurt!

                                    N Offline
                                    N Offline
                                    NelsonGoncalves
                                    wrote on last edited by
                                    #39

                                    Nothing really, as long as you remain inside its walled garden. I had a few interactions with Java, all of them ending in pain and tears because at some point I needed step out of the Virtual Machine. I fondly remember discovering that the byte type is signed (why, really why ???) and spending a few days debugging my hardware to figure out in the end that Java was to blame. Or the magical moment when one of the gazilion DLLs needed by an over engineered project had a bug. I simply fixed the bug and recompiled the source and build the DLL again. Something none of the over Java experts were even aware it was possible. And of course, how can I forget when I relied on the Java standard String library only to find out that the target where the program ran had an incomplete (but still announced as 100% compatible) implementation of that library. What can be more fun than writing your own standard library functions ? A bit more serious, there is nothing wrong with Java. It is widely used, and in most cases it is good enough. I was just an unfortunate victim of the attempt to using Java in the embedded world, where it most definitively is not right an appropriate tool.

                                    U T 2 Replies Last reply
                                    0
                                    • P PIEBALDconsult

                                      Uuuhhh... I have no lenses younger than about twenty years -- and some closer to seventy. My latest camera purchase is a Kodak Vigilant Six-20 (circa 1940). Lately I've been playing with a 4x5 monorail camera from the '60s. I say again, Nikon is unusable -- except maybe by wrong-handed practitioners (like my brother). Having said that, Nikon does make good point-and-shoot cameras, my wife is on her third.

                                      L Offline
                                      L Offline
                                      Leo56
                                      wrote on last edited by
                                      #40

                                      What's a 'camera'? Isn't that what smartphones are for? How else to instantly upload to that other essential invention ... social media? ;P

                                      P T 2 Replies Last reply
                                      0
                                      • C Cp Coder

                                        I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                                        Get me coffee and no one gets hurt!

                                        P Offline
                                        P Offline
                                        Peter Adam
                                        wrote on last edited by
                                        #41

                                        It is your view because you are a programmer, ask Ops. As mentioned above, versioning. Tell me another software with so many different version number referencing the same thing. Versioning 2.0 : Have you found your version number? Then here is another error message for you: class can not be loaded because it is version 52 but your JVM supports only up to version 51. Well, disk space was cheap THEN, so maybe it was not an issue that a 4th digit upgrade installed the full thing in a new directory. Or at least it was not a problem till someone set the JAVA_HOME to one of them, and yum removed the other one... The usual Java software customizable to an amazing degree via command line switches and config files, but very slow to start up, because it has to read all those small XML files. Config 2.0: The main selling point of one commercial Tomcat clone is that you don't have to hunt tens of config files to set up the thing.

                                        1 Reply Last reply
                                        0
                                        • C Cp Coder

                                          I don't understand the snarky comments one sees about Java. :confused: I am well versed in programming both in C# (Visual Studio 2019) and JavaFx (IntelliJ IDE). I enjoy both equally. There must be something wrong with me! :sigh: :laugh:

                                          Get me coffee and no one gets hurt!

                                          U Offline
                                          U Offline
                                          User 13269747
                                          wrote on last edited by
                                          #42

                                          Quote:

                                          I don't understand the snarky comments one sees about Java. Confused | :confused:

                                          Because language-hating on $OLD_AND_STABLE_LANGUAGE is currently fashionable. FCOL, 3 years ago I was reading commenters on reddit asking "Why would anyone in their right mind start a new project in C when Rust is available?". In that time, however, Rust changed so much that it is slightly incompatible. My observation is that, feature-wise, all languages converge towards Lisp, while syntax-wise, all languages converge towards C++ (which itself is, syntax-wise, already past the madness event-horizon and still accelerating). Java (and C#) when initially released were fairly easy to read for anyone coming from almost any existing language (C, PHP, Perl, etc). Each feature added, added to the syntax instead of replacing existing grammar (so they didn't break existing programs), leading to the situation now where a symbol may mean almost anything. I look forward to a future where source code looks more like BF than like Pascal /s ...

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups