> 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 c…
My 20 year career is technical debt or deprecated
531–540 of 585 posts
Re: My 20 year career is technical debt or deprecated
#532Lisp on the side, plus the Unix cruft that goes with build systems: shell, awk, make, ...
I went through the language churn as a kid. BASIC, assembly languages, Pascal, Modula-2. Studying CS pulled me into C world; all the upper level coursework at that time was systems programming in C on Unix, whether it be compilers, networking, distributed systems, operating systems or computer graphics or what have you.
I didn't think I'd be cranking out C for another 30 years after that, but I also didn't think of any reasons I wouldn't be.
Not everything I worked on is around; but the skills left behind are entirely relevant. There is hardly any technique I ever used that is inapplicable.
Re: My 20 year career is technical debt or deprecated
#533Re: My 20 year career is technical debt or deprecated
#534Re: My 20 year career is technical debt or deprecated
#535Earlier quoted context omitted.
> It seems like there's a lot of people in the Java community who still think OO is a great idea If you're coding in Java, you've better think OO is a great idea. It's an object oriented language. And despite having loosely bolted on FP paradigms, that's not really going to change. Although I feel most of the criticism against OO is actually more like a critique of the FactoryBuilderFactoryImpl-style application of d…
> If you're coding in Java, you've better think OO is a great idea. It's an object oriented language. There's plenty of room in Java for nice, clean code. All "java is OO" means in practice is that your code needs to be in classes. Some things that work great in java: - Separates out value types from everything else. Value types should usually be tiny, and have public fields. They should not contain references to any…
Re: My 20 year career is technical debt or deprecated
#536Earlier quoted context omitted.
> 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…
> The IDE that's written in Java most likely shares nothing with Java ecosystem parts they "hate" Most vocal java haters I had met were JavaScript programmers who knew basically nothing about Java. Their hate was purely cultural - they learned on discussion forums that they should hate java. But, they had literally zero knowledge whatsoever.
Re: My 20 year career is technical debt or deprecated
#537Earlier quoted context omitted.
Trying desperately to stay on technical topic here, I'd say the only places where this dichotomy comes up are in cases that are inherently ambiguous and subjective. If something is genuinely proven then everyone does actually accept it. Conservatives and liberals don't disagree on the energy of an electron or the color of the sky. Disagreement occurs over things that can't be proven: how valuable is spending time on…
> If something is genuinely proven then everyone does actually accept it. This is demonstrably untrue. Vaccines. Evolution. Anthropogenic Global Warming.
And that's my point - if you intuit that the world is simple and progress easy, you become committed to mental shortcuts like "if a professor/civil servant says it, then it must be true". The education system forces this mentality on you, even. When other (usually older) people who don't take such shortcuts say "but actually that's not true" then it turns into a fight over what reality actually is, which is an enormously complex thing. Rather than engage down in the weeds where they might lose, young radicals prefer to just try and shout down objections. This pattern crops up again and again.
Evolution is an interesting one because in that case it's the creationists who have adopted an overly simplified model of reality and don't want to let it go. Same problem, just different groups. I don't personally think the word "conservative" is all that useful for that reason even though you often have to use it, because it just means trying to conserve things, which as a position is neutral with respect to what's being conserved.
Re: My 20 year career is technical debt or deprecated
#538Earlier quoted context omitted.
> I want to link it to whoever insisted on adding a useless TextDecoder class in javascript that you have to instantiate, instead of just calling textDecode(…, “utf8”) using a global function like the rest of the standard library. I for one would rather punch the person who proposes such a global function as the only mechanism for conversion, because charset conversion is a reasonable thing to do on chunked partial i…
> I for one would rather punch the person who proposes such a global function as the only mechanism for conversion, because charset conversion is a reasonable thing to do on chunked partial inputs Fight me. Javascript has a separate TextDecoderStream class if you want to support chunked, partial inputs. The TextDecoder class doesn't support streaming input at all. And it never will, thanks to the existence of TextDec…
Re: My 20 year career is technical debt or deprecated
#539Earlier quoted context omitted.
> It seems like there's a lot of people in the Java community who still think OO is a great idea If you're coding in Java, you've better think OO is a great idea. It's an object oriented language. And despite having loosely bolted on FP paradigms, that's not really going to change. Although I feel most of the criticism against OO is actually more like a critique of the FactoryBuilderFactoryImpl-style application of d…
> If you're coding in Java, you've better think OO is a great idea. It's an object oriented language. There's plenty of room in Java for nice, clean code. All "java is OO" means in practice is that your code needs to be in classes. Some things that work great in java: - Separates out value types from everything else. Value types should usually be tiny, and have public fields. They should not contain references to any…
Overall the move is toward having data classes (basically records) that are light on logic, as well as logic classes that are light on data. I don't think pure functions are necessary or in many cases even desirable in Java, as it largely lacks the tools required for this not to be crippling; although I will concede that any state changes typically ought to remain local.
Factories can be pretty good for separation of concerns, although in many cases it's been superseded by dependency injection frameworks in modern java. I still reach for it every one in a while though.
Also fwiw, game development is a bit of a weird case. It usually reaches for design patterns like ECS. This is in part a data locality optimization, since you can just iterate through all components in a "straight line", but mostly it's for the sake of malloc, which generally doesn't deal well with billions of objects being allocated and deallocated over and over randomly with growing fragmentation as a result. There are many types of programs this or other game dev patterns aren't suitable for.
Re: My 20 year career is technical debt or deprecated
#540Earlier quoted context omitted.
> I for one would rather punch the person who proposes such a global function as the only mechanism for conversion, because charset conversion is a reasonable thing to do on chunked partial inputs Fight me. Javascript has a separate TextDecoderStream class if you want to support chunked, partial inputs. The TextDecoder class doesn't support streaming input at all. And it never will, thanks to the existence of TextDec…
I see a benefit from having this options container: you can have a central place to set the options and then only pass down the decoder and the user of the function doesn't have to bother with the configuration