Live data from Hacker News

Build Pong in Your Terminal with Go for Some Reason

earthly.dev

31–40 of 44 posts

Re: Build Pong in Your Terminal with Go for Some Reason

#32

This was one of my first projects as a kid with Visual Basic. But with working paddles and all! I love Go and use it daily, but I wish we had anything similar to VB, even if it's just a helper UI builder. Being able to shape, position, and name objects visually, then modify attributes in code, is (to me) so much easier than doing it strictly in code. Does any such GUI builder exist? I don't necessarily want VB or a s…

Lazarus for FreePascal is kind of close but its just for Pascal.

Re: Build Pong in Your Terminal with Go for Some Reason

#33
post #15

Earlier quoted context omitted.

I don't really buy into go (it's not my type of language), but I wanted to ask a genuine question: are there many semi-mainstream languages that don't have modules that _just work_, or an official plugin for VSCode that just works? I've never found that to be a "plus", as much as it is the bare minimum. and nowadays I don't see that many up and coming languages that miss out on it. Admittedly though the cross compila…

Most compiled languages have fractured build ecosystems, and may require some tricky invocation orders, external+not-included dependencies, or some funky flags depending on your compiler version. Or may just not work because you have the wrong compiler, missing their preferred build scripting runtime, etc. NPM (packages) frequently go down, doesn't resolve packages, or just does something unexpected. Java has the Gra…

This is really the selling point of Go for me that makes up for it's shortcomings. I've probably lost years off my life thanks to gradle.

Re: Build Pong in Your Terminal with Go for Some Reason

#34

This was one of my first projects as a kid with Visual Basic. But with working paddles and all! I love Go and use it daily, but I wish we had anything similar to VB, even if it's just a helper UI builder. Being able to shape, position, and name objects visually, then modify attributes in code, is (to me) so much easier than doing it strictly in code. Does any such GUI builder exist? I don't necessarily want VB or a s…

I know it’s Apple-only, but I find Interface Builder in Xcode to be an extremely similar and enjoyable experience.

Re: Build Pong in Your Terminal with Go for Some Reason

#36
post #15

Earlier quoted context omitted.

I don't really buy into go (it's not my type of language), but I wanted to ask a genuine question: are there many semi-mainstream languages that don't have modules that _just work_, or an official plugin for VSCode that just works? I've never found that to be a "plus", as much as it is the bare minimum. and nowadays I don't see that many up and coming languages that miss out on it. Admittedly though the cross compila…

Most compiled languages have fractured build ecosystems, and may require some tricky invocation orders, external+not-included dependencies, or some funky flags depending on your compiler version. Or may just not work because you have the wrong compiler, missing their preferred build scripting runtime, etc. NPM (packages) frequently go down, doesn't resolve packages, or just does something unexpected. Java has the Gra…

I wrote a post about this topic. Consistent tooling is very valuable.

https://earthly.dev/blog/programming-language-improvements/

Re: Build Pong in Your Terminal with Go for Some Reason

#37
post #28

Earlier quoted context omitted.

You tell me, what other language has a drop-in solution that provides module management, formatting, integration with the debugger, intellisense docs, linting with static analysis while I'm typing, and even testing? The plug-in is actually made by the Go Team at Google, its not like adding Black and Poetry etc. in python, its not even like the moving target that is create-react-app or whatever people use now in JS/TS…

Rust also has those things. (It also has performance profiling, fuzz testing, benchmarking tools, etc, etc., as I'm guessing golang does.)

Thats dope, and I kind of figured.

The tooling is probably why Go and Rust get compared so often, despite having little in common. Its weird to see that written off as a common feature though. It was nothing like my experience with clojure or julia.

If there are any languages with Go-like tooling that have a bigger job market, I'd love to know.

Re: Build Pong in Your Terminal with Go for Some Reason

#38

I also have been using Go with Tcell recently. Making small games is how I have always learned new programming languages. I am coming off of a couple of years of playing with C to understand languages better, and free myself from the complex stacks that I use at work. I've been chatting with a highly-educated PL friend of mine about my language likes/dislikes, and he would always remark on really pragmatic choices Go…

I've been working professionally in Go for almost a year now and I do agree Go is really pragmatic and is largely nice for just "getting stuff done". However there is an absurd amount of nil checking which can be easy to miss and not always caught by the common linting tools. Once you use Result/Option types and proper enums with pattern matching that is expressive and safe, it wears on you that Go does not have this…

> it wears on you that Go does not have this

And it's a completely unforced error and doubled-down on by the development team.

Re: Build Pong in Your Terminal with Go for Some Reason

#39
post #15

Earlier quoted context omitted.

Most compiled languages have fractured build ecosystems, and may require some tricky invocation orders, external+not-included dependencies, or some funky flags depending on your compiler version. Or may just not work because you have the wrong compiler, missing their preferred build scripting runtime, etc. NPM (packages) frequently go down, doesn't resolve packages, or just does something unexpected. Java has the Gra…

This is really the selling point of Go for me that makes up for it's shortcomings. I've probably lost years off my life thanks to gradle.

When your build scripts require the power of a full-blown programming language, I do have to wonder what catastrophe lead to such complications! I'm sure there's a reason for it and all, but it's just not something I will deal with unless I am being paid (handsomely) to do so.

Re: Build Pong in Your Terminal with Go for Some Reason

#40
post #38

Earlier quoted context omitted.

I've been working professionally in Go for almost a year now and I do agree Go is really pragmatic and is largely nice for just "getting stuff done". However there is an absurd amount of nil checking which can be easy to miss and not always caught by the common linting tools. Once you use Result/Option types and proper enums with pattern matching that is expressive and safe, it wears on you that Go does not have this…

> it wears on you that Go does not have this And it's a completely unforced error and doubled-down on by the development team.

Where did they double down on this? They explicitly said that the design of generics was leaving the door open for sum types.
Post reply on HN