5 ms·
By the virtue of being the most convenient alternative, not because its actually good.
by ActorNightly 3y ago
By the virtue of being the most convenient alternative, not because its actually good.
- lazide 3y agoHow is that not actually good? Engineering is all about tradeoffs, and ‘works’ is pretty high praise frankly.
- insanitybit 3y agoYou can justify every project that has succeeded against any odds by saying "but it did succeed". It's true, but imo not a very good way of judging when a technology was a good fit or not.
- lazide 3y agoWhat other criteria do you suggest? Ideological purity is rather subjective, and has an unfortunately poor track record of real world success.
- insanitybit 3y agoI guess it's too much to ask for software engineers to understand how a technology matches its constraints.
- lazide 3y agoIs it also too much to ask that someone explain how they think a technology which has been chosen by market participants and is used widely and (apparently) successfully by them does not actually match the real constraints of the market or participants? And perhaps proposes a concrete alternative that matches those constraints better? Don't forget to include things like long term support, developer time, interoperability, etc.
- insanitybit 3y ago> Is it also too much to ask that someone explain how they think a technology which has been chosen by market participants and is used widely and (apparently) successfully by them does not actually match the real constraints of the market or participants? Kind of, yes. Since instead of evaluating based on an understanding of the technology you're saying "In this universe was chosen for a project, the project was successful, show me the universes where the alternative decision was made".
- lazide 3y agoThat is not what I'm saying at all. I'm saying that if you think something is crap and doesn't meet customer needs, at least propose a concrete alternative you believe is better so someone can respond meaningfully! Or concretely what concrete needs are not being met! Currently, we have one example of something that all evidence leads us to believe fits the universe as it exists, at least in that specific niche. If you think it doesn't, how doesn't it? Or if you're saying there is something better, are you saying that is hand written assembly? Or TurboPascal? Or ADA? Or some as yet not designed system? I'm not asking for an alternative universe. I'm asking you to support your statement with enough details it can be assessed in the current universe.
- insanitybit 3y agoThem: People are using Java for this because there aren't alternatives You: If it is the convenient alternative than it is a good choice Me: That is a bad justification for something being a good choice You: What criteria then? Me: An understanding of the engineering principals/ domain Am I accurately summarizing this conversation so far? This isn't about alternatives, or what else they should have done. Something can be a bad fit and the right choice. As an example, I could say "Java dominates that section due to historical artifacts of business, not technology. Java is a bad fit for this type of work otherwise because of the complexity involved in implementing a Java VM in hardware". I can then also say "Java is the only real choice because of those historical artifacts so I have to recommend that you use it unless you're willing to build your own hardware from scratch". I actually don't have to propose any alternatives at all, hopefully you can see that - we can just evaluate Java as a language (complex VM, assumes a heavy runtime) against the constraints (custom hardware, low energy) and see that the fit is weak. Obviously people overcame that and made it work, and because of that Java is the obvious choice for this technology.
- ActorNightly 3y agoCompiling to native isn't exactly black magic and works just as well. JVM wastes cycles on things like classes, which is not necessary at all. Going forward, Rust has already proven that you can do things at compile time to guarantee things like memory safety.
- pjmlp 3y agoAt the expense of productivity. ART also compiles to native since Android 5. Android 14 is around the corner, time to keep up with the times.
- lazide 3y agoCompiling to native on whatever random chip is always a recipe for hassles and random incompatibilities which need work to unravel/fix. Having a spec that chip manufacturers can implement (and that can be trivially tested) and/or a JVM that can be exercised and ported to a chip once and validated removes the vast majority of the integration work. Does it always make sense? No. But clearly a bunch of folks have found it valuable in many niches.
- palata 3y agoStill better than ElectronJS, I would say
- tgtweak 3y agoIt's actually very well suited to low level extremely low power embedded systems. The toolkit and dev experience targeting these platforms is actually pretty good DX. 32 bit 4mhz processor with ~64kb of nvram all running off of an induction charge!
- ActorNightly 3y agoI doubt its any better than native code. After all, modern jvm use is pretty much all jit anyways.
- pjmlp 3y agoThere are plenty of native code options for Java as well.
- EdwardDiego 3y agoYou doubt it, but can you back up your belief?