| ▲ | hugodan 10 hours ago |
| Who cares? Languages are tools, LLMs are tools. Use the ones more appropriate for what you are trying to do. Is Go better than CSS if you are doing web layouts? Is it better than zig if you are outputting minimal wasm deliverables? Is it better than swift if you are doing iOS specific development? Is it better than bash for OS scripting? Think about what you are doing and choose appropriately. This was true before LLMs. Are you having fun? Chose LISP then |
|
| ▲ | runjake 10 hours ago | parent | next [-] |
| > Who cares? Languages are tools, LLMs are tools. Use the ones more appropriate for what you are trying to do. The article specifically discusses how Go is well-suited for LLMs. It's not going on about general programming topics. |
| |
| ▲ | hugodan 10 hours ago | parent [-] | | So you are using Go with LLMs for the objective and destination of token consumption for token consumption sake? what would be the purpose then? | | |
| ▲ | ffsm8 10 hours ago | parent [-] | | Read the article to find out. Token use didn't seem to be a criteria from my casual reading, but maybe you can illuminate me what section pointed to that, I may have been too superficial in my reading | | |
| ▲ | hugodan 10 hours ago | parent [-] | | Do not assume I haven't read. | | |
| ▲ | runjake 9 hours ago | parent [-] | | > Do not assume I haven't read. It's hard not to, given your comments in this thread. | | |
| ▲ | redmoonx 2 hours ago | parent [-] | | "Never assume a man hasn't done what he hasn't said he hasn't done" -Philipesians 22:19 |
|
|
|
|
|
|
| ▲ | frollogaston 8 hours ago | parent | prev | next [-] |
| The article is about which tool is more appropriate, and you're dodging that question. Every use case has multiple langs you could use for it, and there's no universally agreed-upon choice. Like if you're writing a typical web API backend with LLM assistance from scratch, which do you use between JS, Py, Java, Go, Rust, etc? |
|
| ▲ | win311fwg 10 hours ago | parent | prev | next [-] |
| > Is it better than zig if you are outputting minimal wasm deliverables? Which tradeoffs are you willing to accept? Zig (along with several other languages) is superior in a lot of ways for that type of job, but I still settled on Go for a particular minimal WASM (browser) project. It wasn't my first choice, but it was where I ended up because LLMs kept going out to lunch in other languages and I didn't have anywhere close to the required budget to write it by hand. I read some comments like these about Go in the past so the Go attempt was mostly a contrarian Hail Mary after so many previous failed attempts in more technically well suited languages and... it worked! Shockingly well. It still isn't my first choice for it, but having something useful with happy users beats technical imperfection every day of the week as far as my needs go. Go really did show its worth as an LLM target for that particular workload. Whether or not that is reproducible for any other project remains to be seen, but there seems to be a growing sentiment that echos the same. There just might be something to it. |
| |
| ▲ | kristianp 5 hours ago | parent | next [-] | | Curious what kind of application you used wasm and Tinygo for? Obviously not the kind of app that an LLM would usually spit out a bunch of react for. | |
| ▲ | hugodan 10 hours ago | parent | prev [-] | | the Go runtime comes along for the ride when producing a wasm file, if you are interested in "minimal" (as in small or without extra cruft) then languages that do not require such a thing might be more adequate | | |
| ▲ | win311fwg 9 hours ago | parent [-] | | Tinygo's base runtime is only around 10kb. It was minimal enough for my needs. gc's runtime would have been a non-starter for that task, to be fair, but Go isn't an implementation. It is, quite explicitly, a language. There are language implementations that would have been more minimal than that, sure, but there was no obvious way to get LLMs into alignment. I tried. Multiple times. When I switched to Go, it just worked. It may not be technical perfection, but it let me ship something I had almost given up on and it has satisfied users. The tradeoff was worthwhile for my needs. That tradeoff may not be acceptable in all cases. Hence what is best being meaningless without at least defining which tradeoffs you are willing to accept. | | |
| ▲ | hugodan 8 hours ago | parent [-] | | If TinyGo works for your codebase, and those 10KB are something you can live with, then perfect. Two things to keep in mind here: 1. TinyGo is not Go, more Go-like or adjacent 2. 10KB still matters a lot in a lot of minimal target/usage scenarios | | |
| ▲ | win311fwg 8 hours ago | parent [-] | | > TinyGo is not Go Exactly. Go is a language. Tinygo is an implementation, like gccgo, gc, llgo, etc. Just as gcc, clang, and msvc are not C. > more Go-like or adjacent It is true that recover isn't fully spec complaint at this time. That's not entirely unusual for an implementation, though. msvc is famously not 100% spec complaint with C, but Microsoft still officially considers it a C compiler, as do most who use it to compile their C code. There is usually a little grace given. It is not like Solod that is Go-like but trying to do something quite different. Tinygo is intended to be a proper Go compiler implementation and has achieved that, aside from the recover situation. > 10KB still matters a lot in a lot of minimal target/usage scenarios But, of course, if the LLM cannot wrangle the language then it doesn't matter. Nobody cares how large or small your program is if you never ship it. That only matters if you are using LLMs, but since that's what we have always been talking about... | | |
| ▲ | frollogaston 8 hours ago | parent [-] | | "One of the things that most distinguishes Go is that it is not just a language, it’s a platform" according to the article | | |
|
|
|
|
|
|
| ▲ | wltr 10 hours ago | parent | prev | next [-] |
| Been doing bash scripting for years. Tried Go recently, on my, it’s so much better for everything OS scripting. I regret I haven’t started with Go years ago. All my scripts are rewritten to Go. I kept only a handful, those that are just a few lines and no logic. |
| |
| ▲ | hugodan 10 hours ago | parent | next [-] | | I regret not going with bash or even sh when I had the chance. Nothing beats that for ubiquity and getting shit done. Go is behind, specifically, you have no guarantees that a given machine has Go installed, and doing stuff like gluing commands together, inspecting some files, pipe output around, or automate the boring thing in 30 seconds. Sure Go beats bash or sh when the thing you are doing starts to become real software, but that is a problem that sits between the chair and the keyboard. | |
| ▲ | transmit101 8 hours ago | parent | prev | next [-] | | Having explicit and unavoidable error handling (which Go of course has in spades) is a particular improvement when writing/replacing Bash scripts. | |
| ▲ | soupbowl 10 hours ago | parent | prev [-] | | Are you using 'go run' or compiling these scripts? Just curious about what you are up to as I was considering moving my scripts from bash to go. | | |
| ▲ | transmit101 8 hours ago | parent [-] | | Not sure if it's obvious, but "go run" is just a thin wrapper around "go build" which compiles your Go code to a temporary location and then runs it in a single step. |
|
|
|
| ▲ | lowbloodsugar 4 hours ago | parent | prev | next [-] |
| How dare you suggest having fun! Pay attention! We’re trying to have a language flame war here! |
|
| ▲ | jibal 9 hours ago | parent | prev [-] |
| > Who cares? [sorry, but that question is trolling] People who want to use the most appropriate tool. > Use the ones more appropriate for what you are trying to do. What they are trying to do is find a programming language that LLMs work well with. > So you are using Go with LLMs for the objective and destination of token consumption for token consumption sake? The trolling gets more intense with each comment ... P.S. Someone else responded: > But this isn't a user story. The user story is what you should be picking the tool for. I don't see how this is at all relevant to my comments. I'm certainly not going to argue about what some other party should or should not be doing. |
| |
| ▲ | philipwhiuk 9 hours ago | parent [-] | | > What they are trying to do is find a programming language that LLMs work well with. But this isn't a user story. The user story is what you should be picking the tool for. |
|