2

I wish I was knowledgeable enough to say that a certain programming language, that has been in use by the industry for 20+ years, is utter garbage. And I could explain why that is.

Comments
  • 1
    Let me guess: Java
    And yes it is garbage.
  • 0
    @max19931 That's the thing. I can take your word for it. But I cannot explain it myself why that is.
  • 0
    Gotta thank C/C++ as well for contributing to 70% of all memory safety vulnerabilities
    No matter how good your are and what tools/analyzers you use, it keeps being a garbage insecure language with footguns on every corner
  • 0
    @Sid2006 bloated mess and OOP.
  • 2
    @max19931 "bloated mess" is no more speciffic than "garbage"

    I too would really like to know, why is that people think Java is garbage? Bcz there are but 2 technologies in IT that make perfect sense to me: Linux and Java. I'm familiar with internals and externals of both, and they make perfect sense - the optimisations, ergonomics and approaches are brilliant!

    Would you (or anyone else) mind explaining why Java is "garbage" or "bloated mess"?
  • 3
    You could list all programming languages here and at least someone will agree that at least one of them is utter garbage.
  • 1
    @devRancid C is not garbage. C is the best language that could be created in its time. It is like calling 1910 cars garbage comparing them to today’s Japanese cars. Perspective is important. Java/CPP on the other hand are becoming more and more garbage by choice.
  • 1
    @netikras I agree. Even IF there are some features of java that can be criticized, all languages have such features.

    I personally used to think Java was slow, but later I realized it was mostly just bad developers in those projects.

    Personally I think C and C++ is by far worse as languages, yes you can build more efficient and fast programs IF you are good enough. But its to easy to easy to create serious bugs and compiling takes forever.

    But I do recognize that its been an important language and for some things still is.
  • 1
    About Java:
    * too much boilerplate, too verbose
    * distinction between primitive types and objects and its consequences and weird rules.
    * lack of value types (structs)

    There are more problems with Java that I could list but many other popular languages have the same problems, so I omit them.
  • 0
    @devRancid I guess Linux is just a giant garbage insecure OS then.
  • 0
    @Demolishun idk how you think that's a Linux issue since in windows it's exactly the same
  • 0
    @Demolishun as said, you CAN build secure good programs in c and c++, it just requires very good developers and lots of code reviews but there have been a number of security bugs that mostly was due to range checking or memory problems typical of C and C++.

    Which is one of the reasons Linus Torwalds have said they are looking at allowing Rust as another language for new modules for the kernel.

    In the end, there is not one language that is just always better, it depends on the project goals, low level OS code or embedded memory constrained code, c and c++ is still among the best despite its problems.

    For a portable corporate office program java is a good alternative.

    For a beginner hobby web developer, php can be a quick way to get running, especially if your extending wordpress.
  • 2
    There are few languages who are so explicitly misdesigned that they deserve hate.

    JS - definitely.

    PHP changed dramatically, 5.3 and then 7 were major releases doing a lot of good - if used wisely.

    Java the same. JDK 8 outlived itself, which is to a large reason Oracles fault.

    JDK 11 was a kind of "fucked" release with it's short life cycle, JDK 17 brought life back in the migration. JDK 17 is definitely like PHP 5.3 - it brought many features (compared to JDK 8 and 11)… but what's more important and that is the same with PHP 5.3… it cut off many deprecated APIs / language intestines, which will make the next releases pretty interesting.

    C will never die. It was designed without memory safety for reasons. When you want to know why, just take a look at the history of C. As C started, it ran on the Intel 4004 with 4 bit...

    C++ has kind of the same trouble - it started 1980? I think. It has evolved over a time span of 40 years. 40 years.
    Every specification update adapted to changes in hardware, new possibilities / paradigms, etc.
    So yes, it has all kinds of stuff that you can - but must not - toy with. If you choose the wrong tool, it's not the languages fault ;)

    Perl. The most hated and the most loved language. The "general glue / duct tape for the internet". I hate perl... Too many symbols, too confusing and too compressed. Perl development and community self destructed. From very important script language to "arcane stuff only stubborn seniors use".

    Rust. The new kid on the block. That was designed to *match* modern hardware, embrace package management and versioning and include everything the last **generations** of other languages had to offer.

    https://blog.rust-lang.org/2015/05/...
    https://blog.rust-lang.org/2014/11/...

    What sucks in Rust are people thinking they can rewrite everything cause Rust solves everything. Which is wrong for many reasons - the behaviour of said people leads to a negative image of a fine language.
  • 0
    @IntrusionCM JS was designed in a week or so by a single guy as a quick poc. And what JS was designed for is not what it is used for today.
    So, while I agree that JS deserves the hate, the reason is not because of its design. It’s because of its (mis)use literally everywhere.
  • 0
    @Lensflare a language that was designed in a week by a single guy.

    I think that fits the description of "explicitly misdesigned" quite well.

    First because of the short timeframe, second because noone interventioned and the design was taken as is without thorough review.

    If that would have happened, I'm pretty sure that JS would be less of a clusterfuck.

    Design should always involve a peer review.
Add Comment