Creator of LULs (a script which helps links to point to your instance)

Come say hi here or over at https://twitch.tv/AzzuriteTV :) I like getting to know more people :)

Play games with me: https://steamcommunity.com/id/azzu

  • 1 Post
  • 47 Comments
Joined 1 year ago
cake
Cake day: June 29th, 2023

help-circle








  • I’m not an expert in formal languages at all… But when I read your question, I was like “really?”

    I mean yeah, when we talk about a program’s purpose we don’t often say “it verifies an input”. But what is verifying an input really? Deciding if a statement is true or false. And if you really want to, you can deconstruct almost anything any program does into components of that.

    Should this UI element be displayed? Input: page visit, user, users preferences. Output: reject/confirm. Should the UI element be red? Should it be green?

    And so on and so on for literally everything. Yeah, formal language theory is not strictly required for doing that, but it still is the foundation that is abstracted away. Same as you don’t need to know about the theory behind mathematical operations and classes and sets to do 1+1.




  • Usually, unless there’s a specific reason to rewrite a project in another language (like performance, maintainability requirements, skillsets of available developers, dead ecosystem, etc) I wouldn’t do it. Java is perfectly suited for your goal of “least amount of setup required for future contributors” and many contributors will know Java well.

    In general, it is much much easier to make existing code readable than to create new code already readable while maintaining the same feature set. So if you have a problem with FLTK, I would just switch to another GUI library. In the process of changing your code, you’ll actually start to understand how to separate layers of concern. Because theoretically, if your code were set up properly, it should be relatively easy to replace GUI libraries. It is likely not set up properly with lots of interdependency between UI concerns and application logic.

    Netbeans is also a pretty terrible IDE imo. With an open source project, you can apply for the open source license of intelliJ, which is the gold standard.

    That being said. If you really don’t want to use Java anymore just to learn something new, I would suggest a JVM language that can even use Java dependencies, like Kotlin or Clojure. Especially Clojure will teach you a lot of new things that will make you more productive as a programmer. However, every language will come with tooling-related quirks, it will be impossible for you to find a language that doesn’t have any problems at all like you describe. Why do you think there are so many languages in the first place? Because people didn’t like something about the other ones, often also tooling related.