UI's in Go

The same can be said about Swift. The common denominator for sustainability is FOSS. Wink, wink

Do you remember reiserFS? :slight_smile: - Killing your wife, might kill your FOSS projects too (see Hans Reiser). And now no one will help to solve the Y0238 challenge :slight_smile:

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.

1 Like

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 ? :stuck_out_tongue_closed_eyes:

Just kidding

2 Likes

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 :slight_smile: ). 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 :slight_smile:

Firmware c++ thatā€™s true. You understood correctly.

1 Like

OMG that would drive me to distraction. Yeah that is worth breaking things over.

2 Likes

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ā€¦

.

1 Like

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.

1 Like

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