3 ms·
No, dear Internet adversary. There is a reason why the framework landscape looks the way it does. You can see proof of my point in every job ad there is and fra
by hurril 3y ago
No, dear Internet adversary. There is a reason why the framework landscape looks the way it does. You can see proof of my point in every job ad there is and frankly, I'm quite disappointed really. Cool companies and interesting ideas get solved by using 19 century tech, so the technical state of the art remains where it has been since forever.
This makes me bitter. I constructed my own DI frameworks in the early 2000:s when I did Java. Trying to find interesting places to work now means that I get to work in new codebases that look exactly the same as they did 15-20 years ago. Why is that? Have we learned nothing?
I honestly don't even understand your position here. Are you trying to claim that Java is as useful for a normal team of software developers without using Spring Boot?
My first 10 years of Scala, I never even once thought about looking for a lightweight framework for managing shared state, DI and/or configuration management. I'll happily concede that working with ZIO is a dream, however. But it is truthfully not needed the way Spring Boot really is for Java to be modern and useful.
Same goes for JavaScript in the browser.
It isn't really about the lack of powerful tools at your fingertips, it's that you cannot make them in pure Java. You have to "cheat" but resorting to an emulation layer so that you can apply transforms and abstract lifecycle concept. We called them cross cutting concerns in 2003-2004. As in: how do you correctly (read: typesafely) construct a unit of work, correctly configured, with the correct dependencies and correctly interacting with caches and databases for all the 4000 features?
In Haskell, you'll easily solve it with a few functions, the usual combinators and the reader monad. In Java, this is Spring Boot quite literally. You need this stack to traverse ground.
Without such a type system and the ability to abstract over functions, you either invent it yourself with tests instead of types and adapters/bytecode weaving/code generation instead of functions and monads or you use a framework. Both work and probably work just as well.
Without the framework, you have to make it. And there is a basically 100% proof of this in Job Ads. This is what I am critical of.
The fact that you want to win over this because your unmentioned company has several frontends that you claim don't use or invent any frameworks is just weak sauce.
- usrbinbash 3y ago> Cool companies and interesting ideas get solved by using 19 century tech Both Javascript and Java were invented in 1995, pretty sure that's not in the 19th century: https://en.wikipedia.org/wiki/19th_century https://en.wikipedia.org/wiki/19th_century > This makes me bitter. Why? You do you. If you want to use frameworks, that's great. Have fun. If you re-read my post, you may also discover that I am not argueing against frameworks. I argue against over-using them. I argue against needless towers of abstractions. I argue against projects getting stuck in architecture-astronaut-land and analysis-paralysis, where trying to hammer the business case in shape so it fits the technology used, instead of the other way around as it should be, eats up precious, and expensive developer time. This is what I saw a lot of in Java-Land. Another beast of the same ilk, only with a slightly different head, is framework-jumping, where people bandwagon to a new shiney new thing, that does something slightly different than what exists already, but requires re-learning entire architectures. Bonus points if this leads to re-writing existing, battle tested code just so it fits a new paradigm. This is what I see alot of in Javascipt-Land. The fact that people are able, willing, and actually do build cool, valueable and inventive things while trying to minimize the amount of noise between them and their tech-stack, is not something that disappoints me. In fact, this is why I largely transitioned to Go as one of my primary languages. And I get the same feedback from many people in many other companies and roles.
- hurril 3y agoYou are missing the point completely here. I am not arguing for or against frameworks. I'm telling you that Java and Java programmers need them, and because of that you are going to have swathes of programmers fighting over which ones to use, the correct way to use them and also over the need to switch from the Apples framework to the Oranges framework because it is obv better. I want better languages instead of a mediocre one papered over with an emulation layer like Spring Boot. Why do you think there are so many translation layer efforts for JavaScript? Same reason. Java and JavaScript in and of themselves are weak. I am going to go out on a limb and claim that all of you that downvote me have completely missed this point. > The fact that people are able, willing, and actually do build cool, valueable and inventive things while trying to minimize the amount of noise between them and their tech-stack, is not something that disappoints me. In fact, this is why I largely transitioned to Go as one of my primary languages. And I get the same feedback from many people in many other companies and roles. This is not what people are doing. This is what I (and perhaps you!) want. People are _adding_ things on top of the core language. They need and want more stuff. Not less.
- usrbinbash 3y ago> I'm telling you that Java and Java programmers need them, Yes, I know, you repeated it often enough. And I keep not sharing that opinion of yours. > Why do you think there are so many translation layer efforts for JavaScript? That's a really good question, given how little value many of these add depending on the context they are used in, and how many hoops some of them make developers jump through to do things that would be plain simple using less sophisticated libraries instead of frameworks, or go with plain JS in the first place. Luckily, I answered that question several times in this thread already, so I don't need to repeat myself :-) > I am going to go out on a limb and claim that all of you that downvote me have completely missed this point. Or, and hear me out on this: Maybe the people downvoting completely understand your points, and simply...disagree? > This is not what people are doing. Yes, this is what people are doing, which is exactly why things like lightweight JS frameworks and uncluttered languages that come batteries included like Go are being so successful.