Post ATOj3E0bZjLcnbsfOC by benjaminhollon@fosstodon.org
 (DIR) More posts by benjaminhollon@fosstodon.org
 (DIR) Post #ATOj3BmLrkl3spCFtY by benjaminhollon@fosstodon.org
       2023-03-08T02:40:43Z
       
       0 likes, 0 repeats
       
       I'm looking into the possibility of writing my own CLIs and TUIs; what languages and frameworks should I consider using?
       
 (DIR) Post #ATOj3CWn55uACqvLHM by dmoonfire@octodon.social
       2023-03-08T02:50:46Z
       
       0 likes, 0 repeats
       
       @benjaminhollon I've done CLIs in a lot of languages, but usually it's C#, TypeScript, or Rust for me. Mostly, it comes down to which ecosystem floats your boat and what is your goal?Ten thousand dependencies with 1.23 dependency vulnerabilities/hour? TypeScript.Questionable ethics? C#.Terabyte-scale source directories with single file outputs? Rust
       
 (DIR) Post #ATOj3D2hATQRnnqp0a by benjaminhollon@fosstodon.org
       2023-03-08T02:51:54Z
       
       0 likes, 0 repeats
       
       @dmoonfireHa, I'm considering Deno, but I'm not sure I want to do a terminal application in such a loose language. I'm intrigued by the possibility of getting back into Rust, though it does feel somewhat like the opposite extreme… Not sure yet.
       
 (DIR) Post #ATOj3DW7P4xfH3cJs0 by dmoonfire@octodon.social
       2023-03-08T02:53:26Z
       
       0 likes, 0 repeats
       
       @benjaminhollon Deno does have native TypeScript support so you can get type safety if you go that approach.
       
 (DIR) Post #ATOj3E0bZjLcnbsfOC by benjaminhollon@fosstodon.org
       2023-03-08T02:54:11Z
       
       0 likes, 0 repeats
       
       @dmoonfireHmm, yeah, I suppose. For whatever reason I've never felt myself drawn to learn TS. I honestly have no idea why.
       
 (DIR) Post #ATOj3EZLUZ8YXM8PXU by dmoonfire@octodon.social
       2023-03-08T02:56:28Z
       
       1 likes, 0 repeats
       
       @benjaminhollon It started as basically a bolted on language to JavaScript and was rough. But, I feel with a lot of the more modern features, it has a lot of benefits over JavaScript... if you are willing to take the hit for needing a stricter language when the ecosystem only barely supports it.For me, I need that static analysis that TS gives. JS (and Python and Ruby and Perl) are too "squishy" for me because you don't have the safety of having the static analysis catch typos, wrong variables, or give semantic documentation.
       
 (DIR) Post #ATOtAWLan557FAoafI by sotolf@social.linux.pizza
       2023-03-08T08:40:14Z
       
       1 likes, 0 repeats
       
       @benjaminhollon nim :) it's a great language, and you owe it to yourself to give it a try :) you can check out some of my projects to get a feel for it:https://codeberg.org/sotolf/tapet-nimhttps://codeberg.org/sotolf/nimesweeperhttps://codeberg.org/sotolf/tapet-nim
       
 (DIR) Post #ATOtEe9NilQObR4SAq by paul@notnull.click
       2023-03-08T08:45:40.502622Z
       
       0 likes, 0 repeats
       
       @sotolf agreed!use #Nim, @benjaminhollon
       
 (DIR) Post #ATOvPBV4mVr2q8N3Vg by sotolf@social.linux.pizza
       2023-03-08T09:05:05Z
       
       1 likes, 0 repeats
       
       @paul @benjaminhollon As an added plus if you absolutely want to use some javascript thing that you already know you can use it to compile to js and ffi to your js libraries.Like what @pietroppeter  is doing in https://github.com/pietroppeter/p5nim for example :)Or of course you could use c or cpp libraries as well as nim native ones Here is an example of something a bit more visual linking to SDL for example:https://codeberg.org/sotolf/life-nim