<div dir="ltr"><div class="gmail_default" style="font-family:monospace"><br>Hello Archie,<br><br>Thank you for your response!<br><br>> This sounds like a scenario where a domain-specific<br>> language might be appropriate. Have you considered taking<br>> that approach?<br><br>So, I have considered it, but the mental overhead in learning a new language/refamiliarizing myself with one always pushed me away. All my problems here are significant enough that it is worth blowing up the email thread, but I fear they might be worse if I tried a new domain language. Willing to give it a shot though.<br><br>The biggest reason why I am pushing for this feature is because I keep running into a very similar situation -- I attempt a project idea, I try and model it the simplest way possible to limit indirection and mutability, I either fail to do so or fail to do it to a level that I can mentally contain, and then my brain just turns to jelly trying to hold all of the indirection in my head. It's like when you work out at the gym, and then you reach a point to where you push your muscles to literal exhaustion, and they quickly start dying on you. It's the same feeling when I deal with too much indirection for the scale of problems I am trying to solve.<br><br>> An quick & easy way to experiment with this idea is to<br>> use XML+XSLT to generate whatever (e.g., Java source<br>> files). Once I used XML+XSLT to generate RPM spec files,<br>> which were then compiled into RPMs, as a way to do some<br>> DevOps automation. That's a random example but it worked<br>> well in terms of the cost/benefit trade-off.<br><br>Lol, sounds like fun. Added to the to-do list, and I'll let you know how it went once I try it out.<br><br>> Obviously, Java is a general purpose language, so for any<br>> particular subset of the programming universe, it's<br>> probably going to be sub-optimal. That shouldn't be a<br>> surprise, right?<br><br>I mean, I'd be more willing to accept that if there was literally only one obstacle stopping from doing everything else I wanted to. It is literally this one problem stopping me from making further progress.<br><br>Thank you for your time and help!<br>David Alayachew<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 4, 2023 at 4:43 PM Archie Cobbs <<a href="mailto:archie.cobbs@gmail.com">archie.cobbs@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Tue, Jul 4, 2023 at 2:06 PM David Alayachew <<a href="mailto:davidalayachew@gmail.com" target="_blank">davidalayachew@gmail.com</a>> wrote:</div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div style="font-family:monospace">I spend a lot of my time writing front end code, path finding algorithms, and natural language processing. These are basically the 3 realms I spend 90% of my time in. All 3 of these treat State Transition Diagrams as the holy grail for representing control flow and decision making. Literally ALL of the business logic I write for these initiatives involves me emulating a state transition diagram directly into Java code.<br></div></div></blockquote><div><br></div>This sounds like a scenario where a domain-specific language might be appropriate. Have you considered taking that approach? <br></div><div class="gmail_quote"><div class="gmail_quote"><br></div><div class="gmail_quote">An quick & easy way to experiment with this idea is to use XML+XSLT to generate whatever (e.g., Java source files). Once I used XML+XSLT to generate RPM spec files, which were then compiled into RPMs, as a way to do some DevOps automation. That's a random example but it worked well in terms of the cost/benefit trade-off.<br></div><div class="gmail_quote"><br></div></div><div class="gmail_quote">Obviously, Java is a general purpose language, so for any particular subset of the programming universe, it's probably going to be sub-optimal. That shouldn't be a surprise, right?<br></div><br><div class="gmail_quote">-Archie<br clear="all"></div><br><span class="gmail_signature_prefix">-- </span><br><div dir="ltr" class="gmail_signature">Archie L. Cobbs<br></div></div>
</blockquote></div>