32 ms·
> My entire career is now technical debt, or the code has been deprecated. My fellow dev often laugh when I tell them that instead of looking at all the long d
by TacticalCoder 3y ago
> My entire career is now technical debt, or the code has been deprecated.
My fellow dev often laugh when I tell them that instead of looking at all the long dead techs that are not useful to me anymore, my way to feel good is to look back at all the long dead techs that I didn't bother to learn.
And, geez, is the graveyard huge.
> Java Applets were also a big thing once upon a time. They were slow, and having the correct version of Java installed on your computer was always a mess.
Java applets were never that big. They didn't work very well (for the reason you mention) and weren't ubiquitous. They also nearly all looked like shit.
But Java isn't disappearing anytime soon. Java is huge and it'll have a legacy dwarfing COBOL big big times. Many may not find Java sexy but the JVM is one heck of a serious piece of tech, with amazing tooling available.
And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles.
Did anyone in the mid to late nineties / early 2000s really discover Java and Java applets and thought: "Java applets is the tech that'll catch on, I'll invest in that" and not invest in Java itself? To me Java was the obvious winner (not that it was that great but it was clear to me Sun was on to something). And, well, compared to the other dead tech, at least if you learned Java applets you got to learn Java too so it's not all lost.
- hobbescotch 3y agoI learned Java Applets in school in 2009 and it was clear to me then that they were sort of… awkward. Java itself is fine and I still do a little Java work from time time and it’s a breath of fresh air from the daily python work.
- ascar 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. Reminds me of so many devs hating on Ruby and the number of times I heard that Ruby isn't used for anything relevant, while the huge majority of them either use GitHub or Gitlab for their work.
- OJFord 3y agoDoes anyone say that? It's out of vogue but surely there must still be plenty of RoR about the web. Shopify too. Ruby not on Rails 'not used for anything relevant' is maybe a bit more defensible. Not sure it matters/what the point is though.
- Sai_ 3y agoEven more than Java Applets, I remember looking at Java Beans and being heavily, mightily underwhelmed.
- negamax 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. Don't forget Confluence and JIRA and all Atlassian products. Minecraft too. I facepalm when people say Java this and that
- Hamuko 3y agoWho are the people who belong to "I hate Java" and "I love Jira" sets? I'd love to see that Venn diagram.
- cipher_system 3y agoDo people who loves JIRA exist for real?
- layer8 3y agoI believe some managers do.
- miroljub 3y agoWhat's not to love? Infinitely configurable and extensible system that can accommodate any workflow and any process that comes to mind. It can be used and also misused, but blaming Jira for its misuse is like blaming Lisp because it's too flexible and too powerful.
- DrScientist 3y agoYep - Applets never really worked. The problem was the interface between the browser and the applet was buggy. I wrote a very simple applet in the early days - it leaked memory - nothing I could do. Also the deployment story - with a single shared version of the JVM ( at a time it was moving quite fast ) in the browser - was an issue. Quickly decided Applets were dud, but Java itself was fantastic. It's easy to forget what the other options were at the time if you wanted to write complex servers or cross-platform desktop apps.
- Lapsa 3y agoirony of that irony is like celebrating you crapped your pants just a bit less than the next guy
- lopis 3y ago> My fellow dev often laugh when I tell them that instead of looking at all the long dead techs that are not useful to me anymore, my way to feel good is to look back at all the long dead techs that I didn't bother to learn. I share this sentiment. All my adult life I've been in contact with the "tech-anxious" kind of dev that needs to be up-to-date with all the new frameworks all the time. While I've entertained several new trends, I found it counter-productive to my well-being to focus on more than 1-2 stable stacks at a time. There will always be an order or magnitude more failed frameworks than successful and this perspective keeps me healthy.
- Nanana909 3y agoIMO an argument against this is that the benefit though is not in the new tech itself, but different design paradigms it exposes you to and thought patterns you learn. Even if Rust were to die off tomorrow I’d be happy I invested my time in getting familiar with it as I’ve learned quite a bit about memory management and ways to reason about it.
- putnambr 3y agoPaying attention to the design paradigms is truly the interesting aspect. The way you write code in a language isn't fixed or proscribed. You see evolution of languages/frameworks, influence between them, repeats of what one tech has tried and failed (sometimes the new tech tries again and succeeds). The great thing is you can take those learnings back to the language you're using! If you mess around with some Angular or RxJS front-end stuff, you can take that style to the back-end if you want. If you've seen benefit from strong typing on the back-end, you can add TypeScript to a front-end project. Rust and Kotlin have even influenced Java core libraries for the better. By paying attention to the designs it's easier to figure out what's marketing-driven hype as well. For example, do I really need to jump onto the next serverless platform, or are they just repackaging and upselling AWS Compute resources? Can I accomplish the same thing as the latest edge computing platform by using service workers and a free CDN? Is Firebase Hosting basically a second interface for GCP Cloud Run?
- ilyt 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. The IDE that's written in Java most likely shares nothing with Java ecosystem parts they "hate" (I'm guessing all of the EJB, applets an general 90's Java enterprise stuff). Only irony here is you thinking it is. The 90's Java was a thing to hate. Running fat complex app server with bunch of code-as-XML for configuration just to run simple API app. IDEs are not doing that (althought Eclipse was a bit of a monster of glued in parts) > Did anyone in the mid to late nineties / early 2000s really discover Java and Java applets and thought: "Java applets is the tech that'll catch on, I'll invest in that" and not invest in Java itself? ...entirety of management it seems, it was the most popular hammer for the problem for quite some time in enterprise. Hell, we still have some less than decade old servers needing java applets for KVM
- jen20 3y agoI assure you code as XML has not disappeared from enterprise Java.
- piokoch 3y agoIt has not disappeared from enterprise and this has nothing to do with Java. XML is still very good as a document format, with powerful validation capabilities (XSD) and powerful language to do transformation of documents (XSLT), searching documents (XPath). It is still used for a reason. In addition there are standard ways of encrypting/signing XML documents.
- jen20 3y agoThose aren’t the parts that are used though - it’s the Spring XML as the replacement for the “new” keyword that is more likely to be found than XSLT or XSD.
- abraxas 3y agoIronically, deployment, management, monitoring and security of a single (even clustered) EJB app server was a much more straightforward affair that today's cloud based Rube Goldberg machines that I encouter in practically every "modern" enterprise app.
- josephg 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. Guilty as charged! I hate using Java because everything written in java seems to blend into the same indistinguishable swamp of classes with meaningless names, full of methods that constantly find new and interesting ways to obscure what your program is actually trying to do. Debugging very large Java codebases feels like living through Terry Gilliam's 1985 film Brazil. I think the problem is cultural, not technological. It seems like there's a lot of people in the Java community who still think OO is a great idea. Who think Bob Martin's awful, muddled code examples in Clean Code are something to aspire towards. People who claim the path of enlightenment requires them to replace concrete classes with interfaces - even when those interfaces only have 1 implementation. Anyone who writes class names like FactoryBuilderFactoryImpl and claims to walk in the light is at best a scoundrel, and at worst a follower of a religion so dark we don't name it in polite company. This is what makes IntelliJ so impressive. It takes a master craftsman to forge something beautiful from such an unholy material. VS Code pulls off the same feat on top of election. In each case I can't tell whether to be horrified or impressed! Either way, I'm a huge fan.
- winrid 3y agoI feel like if Java had immutability by default it would be such a better language to work with. It is so hard to determine what actually gets modified where in a large Java codebase.
- cies 3y agoToo bad immutability breaks the quite-ubiquitous-in-JVM-land Bean spec (and I wonder what one was smoking before drawing that spec). I think having proper sum-types with pattern matching would have also made it a much better language.
- cbm-vic-20 3y agoIt was designed when UML and tools like Rational Rose was being pushed hard by the big consulting firms on their clients as the One True Way to build Serious Business Software. JavaBeans was designed as a way to have a conventional interface that allows code components to be snapped into GUI applications. But someone thought it would be a great idea to use it everywhere else, too.
- lloeki 3y agoAround here, e.g banks are big on Java, and banks are not going away anytime soon, nor is their Java code, which represented huge decade-scale efforts to move away from COBOL on IBM machines (both of which seemingly not going away either). And that's only one data point. Sexy? nope. Hot new thing? neither. But the jobs are out there. Similarly that mention of RoR being "in danger" seems incorrect. It's just that Rails is not the topmost big player in the market, and I don't think it ever was, even at its early peak. Sure it made rounds in the news and had a big impact but even back then it certainly wasn't The Tech That Everyone And Their Dog Uses. That's fine. A tech doesn't need to be in the top 3 market leaders to be useful, successful, and lively.
- MaxMatti 3y agoI agree with most of what you're saying but some java applets were quite big, just not for everyone. RuneScape is the first that comes to mind, some websites that had lots of flash games also had quite a few java applet games, although I don't remember their names. There was also a google-earth-like program that ran in an applet, although I don't remember its name.
- pjmlp 3y ago> Many may not find Java sexy but the JVM is one heck of a serious piece of tech, with amazing tooling available. Not only that, what about the guest language folks spitting on the Java libraries and runtime infrasture (written in a mix of C++ and Java) that makes their shinny snowflake possible to start with? Same applies to the C# bashing on the CLR side.
- OJFord 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. I don't use an IDE (or its not written in Java, depending how you define it) but I think I can reliably tell a Java app - if not before - when it gives me an error. They always (or often - I can't say it's definitely not Java when I haven't identified it) seem to spew stack traces that the end user doesn't care about, or in many cases (not an IDE) wouldn't even know what it was.
- throwaway019254 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. And using AWS that has most services written in Java. Java improved a lot in the last few years and it’s not going anywhere.
- wernercd 3y agoJava, COBOL, C#, JavaScript, etc... all tech that's not "sexy" but are the backbones. Even dead languages like COBOL aren't dead. These techs are the tech that'll be here in 40+ years - or atleast until Skynet rewrites them in binary and we're nuclear ash. I think COBOL will be driving the satellites that monitor the heat death of the universe.
- okeuro49 3y agoI think Java virtual threads and structured concurrency are going to only improve its standing. People complain about Java, but then it could be much, much worse. What we have is a rich open-source ecosystem, great backwards compatibility and carefully considered new features.
- znpy 3y ago> Java applets were never that big. They didn't work very well (for the reason you mention) and weren't ubiquitous. They also nearly all looked like shit. Not sure if it's the same thing, but... when i was 16 or 17 i did tech support for an uncle who used to do trading with a trading client application written in java and some other tech stuff. The java thing was launched via a desktop launched and the splash screen i later found out being java web start (.jnlp extension iirc?). I didn't see the value at that time, but now that i think of it, java web start was a nice solution to manage "apps" installed and also fetch updates, automatically. IIRC there was a setting to always download the latest version, if possible. Needless to say, this was ahead of its time. As I move forward in my career i always find some new interesting thing about the java virtual machine, it truly is a marvel of technology. The latest things that got me amazed were the flight recorder and mission control toolbox (very cool to be able to see in realtime what your application is doing and why it's performing the way it is) and the new garbage collectors (we're currently using G1, but i want to propose testing Shenandoah or ZGC).
- jeff_d_miller 3y agoI'd rather claim that the main reason is that the author seemed drawn towards proprietary tech stacks that the companies behind them wanted to fully control and that contributed to their demise. It was clear from the start that Flash and VB and ColdFusion and all that wouldn't last long, just because no open ecosystem could form to keep them adapting and vibrant. I feel that's substantially different with Python, Go, JS and ... C/C++.
- akdor1154 3y agoI love go, but still, one of those things is not like the others.
- WorldMaker 3y agoThis comment helped me realize that part of what I instinctively dislike about golang comes from ColdFusion PTSD. I just realized that golang reads to me like ColdFusion in the worst ways, including and especially its terrible approach to error handling.
- jeff_d_miller 3y agoI doubt though that error handling makes or breaks a language. How the ecosystem works seems to be what counts, and as long as Google doesn't close it down any further, it can stay with us for a long time. I agree that Go is special in this list. If Google pulls the plug someday, then it would all depend on whether a strong community takes over the compiler and language maintenance itself.
- WorldMaker 3y agoError handling absolutely breaks the language for me. I understand why many don't like exceptions handling in many contemporary languages like C#, but I think that if you are going to do a sum type instead and force handling errors as a result type from functions you could at least use a proper Either monad and some form of monadic binding to remove boilerplate and enhance composition. (This was a problem with ColdFusion too. I can go on at length about some of the terrible "circuit breaker" boilerplate in that language and how tough it made handling errors correctly without killing entire applications.) As for the ecosystem, most of what I've seen is a language that seems built for supply chain accidents (random github.com main branches as far as the eye can see) built by a company with a track record of developer tools that provide terrible developer experience that live in their own little bubble divorced from most of the rest of computing. (These are also things that seem very familiar to me from my brief horrifying time with ColdFusion.) If golang works for you then that is great, but it upsets me to look at and right now you'd need to pay me a lot to have any interest of maintaining code written in it. I have enough scars from terrible things like ColdFusion on my resume.
- inflam52 3y agoDefinitely agree. It’s not “the code has been deprecated”, it’s “your attitude has been deprecated”. One of the big challenges with technology is staying current because it moves so fast. We’ve all seen trends come and go, even outside of software. If it wasn’t evolving we’d be doing something wrong.
- deleted 3y ago[deleted]
- Izkata 3y ago> Java applets were never that big. They didn't work very well (for the reason you mention) and weren't ubiquitous. They also nearly all looked like shit. It's also entirely possible you were encountering them more than you thought. My highschool website, for example, had around 4-8 on the homepage - minimalistic applets that simply showed and cycled through images, placed in a grid in the header area. They totally could have been javascript instead, you couldn't tell the difference just using the page.
- mathgladiator 3y ago> long dead techs that I didn't bother to learn. this is how I currently feel about Kubernetes and docker. I'm having all sorts of fun with the JVM, a monolithic jar, and about 20 lines of shell script. I can deploy in 20 seconds without much fuss.
- pkphilip 3y agoAbsolutely. Java development is ridiculously easy compared to many of the alternatives.. in some senses, it is actually even easier to develop in than PHP especially since Java is statically compiled.
- mathgladiator 3y agoplus, it has super powers. For example, with Adama ( https://www.adama-platform.com/ https://www.adama-platform.com/ ), my language translates to Java on the fly, compiles, and class loads to provide a new kind of serverless infrastructure. The "cool" kids are building WebAssembly while the JVM has it all.
- jayd16 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. Didn't they also make Kotlin so they could use the JVM without Java?
- everdrive 3y agoConversely, I’ve often heard people say they like working in tech because they’re “always learning new things!” It seems pretty clear to me that most of the stuff I learn in tech is a total waste of time, except for the fact that I need to understand it to get paid. It feels as if I’m learning how to work on puzzles in a book. (eg, Sudoku, or other logic puzzles.) It might be interesting to work through them, but they don’t really have any value in my life.
- winternett 3y agoWhat is most funny to me in hindsight is how much I had to fight off warnings and offers to learn Macromedia/Flash development... I literally had tons of people who were only making $45k a year telling me I was a dinosaur while I was making $70k investing in PHP dev... Fast forward to now and PHP jobs are paying over twice the old rate and grinding along while Flash is long dead and buried. Follow your instincts, not your friend's advice. :P
- JohnFen 3y ago> And most devs hating on Java are using an IDE written mainly in Java (all the JetBrains ones): the irony of that one gives me the giggles. I'm not sure why this is a salient point. There's no contradiction in hating Java and using an IDE written in Java. Lots of people hate C, too, but that doesn't make it strange that they use lots of software written in it.
- ravenstine 3y ago> my way to feel good is to look back at all the long dead techs that I didn't bother to learn. That's how I feel about design patterns. Talk about the most useless pile of academic bullshit that gets overemphasized in terms of what "every programmer" must know before going into an interview. Although there are some domains where they may be necessary to know of the top of one's head, for the most part there's usually no utility in filling your head with individual ideas that worked in one circumstance but may lead to bad patterns in another. I'm so glad I gave up memorizing design patterns, especially given that many employers seem to have lost interest in trivia questions about design patterns as well.
- vikramkr 3y agoI'm not sure why hating Java means I'm supposed to hate things written in Java, or where the irony is there
- stodor89 3y ago> Did anyone in the mid to late nineties / early 2000s really discover Java and Java applets and thought: "Java applets is the tech that'll catch on, I'll invest in that" I did. Getting people to install JRE didn't really seem that hard of a problem, and neither did sandboxing. Around the same time Rockstar Games released GTA 3 with its third-person camera, and I thought this is the worst idea ever. 20 years and 400 million sales later, I still hate it.
- michalu 3y agoI remember about 12-14 years ago I was deciding between learning Python vs. Groovy. I didn't know anything about programming then and for some reason at that particular point all articles/advice I found were saying the future is either Python or Groovy. Luckily I ended up going with Python :)
- PaulHoule 3y agoI had a job coding Java applets for higher ed when Java was still in beta. A Java applet could be small and fast loading but that required careful scoping, design, and coding. In JDK 1.0 you didn’t have JAR files and no serialization built in the platform. I wrote a program that would let you edit finite element meshes and submit to a FORTRAN code running as a CGI and the serdes code was about as large as the rest of the program.