The same can be said about Swift. The common denominator for sustainability is FOSS. Wink, wink
Do you remember reiserFS? - Killing your wife, might kill your FOSS projects too (see Hans Reiser). And now no one will help to solve the Y0238 challenge
Ubuntu imploded a few open source projects and of course there are many other examples which failed terribly but they were promising and had an excellent initial support.
Sure, I recall that. Indeed, a FOSS project must be of a critical size with larger number of contributors. If it lives of a single āgeniusā contributions, the risk is similar to a proprietary project.
FOSS is NOT assurance the project wont die
Maybe FOSS with a huge dev base (like Linux kernels) ?
Especially Linux has a broad commercial Base of Development contribution. There is IBM and many other companies writing Software and contributing it to the kernel projects and without it would not be able to stay alive. I donāt know even one bigger and more complex open Source project which is not commercially supported and only existing from Open Source Developers. Without a Development structure and a Support Structure a project canāt exist. And many of this projects found their Grave at Apache Software.
@Jeannot , thanks again for the experiences with Go.
I know Java and it doesnāt satisfy my wishlist, which is why Iām discussing other alternatives on INN, but thanks for your perspective.
Interesting. What from your List is not fulfilled?
That itās not Java ?
Just kidding
Sure, and youāre not alone in that. There are actually developers who use languages other than Java and they arenāt stupid or blind :-). Every new language usually only comes into being because it sees a need and wants to do at least one thing differently and better than the other languages. Some survive, some perish, and it will continue to do so.
Thereās also no question that itās always good to use THE platform-specific tool for best results. Itās kind of in the nature of things and everything else is always a compromise (see Xojo). And thatās where it gets exciting, when I look at what Java can currently do, I wonder why I ever used Xojo.
But if I were to only develop for web frontends, for example, then frontends with vue3 or svelte still seem to me to be better and faster to implement. However, for backend tasks such as creating pdfs, office documents, zipping, etc., I have to admit that the free libraries in Java are simply very stable and feature-complete. That can also be explained, after 25 years everything was implemented at some point, which cannot be the case with younger languages. At least itās unlikely.
And this statement then led me to the realization, since I develop for many platforms and services, that one language has many advantages (as back to the Xojo promise, but without Xojo ). Of course, this cannot, does not have to and will not be the solution for everyone. And itās a compromise again, logically.
We can all only learn by sharing our experiences,
Our Java Pope here, for example, does not write firmware with Java. At least thatās how I understand @thorstenstueker. Even though Iāve never programmed firmware, I can understand why
Firmware c++ thatās true. You understood correctly.
OMG that would drive me to distraction. Yeah that is worth breaking things over.
Iāve been brushing up on my Go, so Iām curious about this example. Can you update the post to include a link to the discussions about it on the Go forums? I think I see whatās going on here, but a deeper discussion would be helpful. Thanks.
Conversely, I would be interested in an answer to this:
Perhaps the question was overlooked. I understand from your other posts that the entire Java ecosystem seems too powerful to you and thatās why youāre looking for a newer solution that doesnāt have all of that yet. Did I understand that correctly? Itās probably better to answer that in a separate thread and link to it.
And you really believe he will answer?
Not sure what question youāre referring to, but sounds like my comment about complexity vs simplicity and so why not Java? I donāt necessarily need something newer; in fact, something more mature with a likelihood of staying around for a bit is preferrable.
This video talking about āWhy of Goā resonated with me and may help in explaining what Iām looking for. Iāve also described my challenges with Xojo and what kinds of programming I do.
Things Iād prefer:
- Not mandatorily object oriented, but supports it in a practical way when you want it (I like what Go does here, as well as Julia)
- Small deployment footprint (again, Go is nice here, Julia is getting there. Coupling with GTK is a bit problematic ā Iād love to see Fyne get more mature for this reason)
- Performant for scientific and engineering applications (again, Go and Julia do this well)
- Simple but powerful; elegant
- Good support for multiprocessing, network, databases/data work
Thereās probably more ā I donāt have a formal checklist because Iām not acquiring this for my employer. Personal satisfaction and how it aligns to some projects Iām pursuing is also quite important. I come back to C, Go and Julia. I know C and it is too low-level, though a great fallback when you need performance. Julia is very interesting but needs to mature a bit more. C++, C#, Java are ātoo OOā, if thatās a thing. I looked at Vala ā I like it for the close ties to GTK, but while GTKās GObject foundation is a reasonable compromise in OO (itās still basically C, and you can use it to the degree you want while working in C), Vala brings all that closer to C# and Java than I care for and pushes you into classes for everything (not as bad as Java, though, and even in C++ you can write in C). I did like Genie, though, and have some thoughts about something like that relative to Xojoā¦
.
Not as bad as Java ā¦ wow you have no Idea about Java I would say. not even a bit. What ever you say about. We - my Company - and 11 Million other people programming with Java commercial Software every day. So we are all using a bad Development environment and Toolchain. Possibly it is not the Language you would choose. What ever. Possible. But Java is one of the most reliable und feature rich languages on the market.
That agrees with my opinion. Both GO (and Rust) are still more than āadventurousā in terms of UIs at the moment, but both have their charm in their main segments, but are less āuniversal languagesā IMHO. Thatās not bad either, but just my observation.
Yes, Java is 100% OO, it never really turned me on either. But since I had to realize how good IDEs are now helping here (probably some did already in the past, but I didnāt get it), so that there is almost no more typing work, e.g. through code generators, I have found peace with the language. But also because the IDEs are now good to help to structure the code visually and simplify navigation significantly.
It is logical that it is not to everyoneās taste and it does not have to be. I like that I donāt see how Java would limit me. Itās amazing to me what is now possible, and the common libraries I need are feature complete, stable, free of charge and still in maintenance.
Good luck with your search and please let us know where you will end up.
For the moment, Iām appreciating the journey and the discussion on these topics in INN.
The link I was given was proposal: spec: redefine range loop variables in each iteration Ā· Issue #20733 Ā· golang/go Ā· GitHub and then I dug deeper into there rabbit hole from there. I believe this would be the one instance where Iād break backwards compatibility.
Or maybe this is where they simply go to Go 2.0 if they fear it breaks too much existing code. Plus, Iām sure there are other things in the language that they could update that would break the 1.0 promise but havenāt - yet.
Checkout fyne