Live data from Hacker News

Bubble Tea: fun, functional and stateful way to build terminal apps

github.com

31–40 of 116 posts

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#31

I've seen the charm suite on HN before, and everytime I see them I wish they had bindings to other languages. I'm just not interested in Go, but I'm really interested in learning to create ssh applications. Its an application runtime with a lot of potential for the dev space, but almost no quick-start frameworks!

Why not? There's a lot to hate about every language, but one advantage about Go is that it's fairly easy to context switch in/out of, which makes it great for side projects, because it's cognitive load while using it is really low.

Unlike say, Rust. I do love Rust though.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#32
post #29
post #9

I don't like things that pollute our natural language namespace. Couldn't you have named it something unique?

I bet you HATE the Go language name.

I myself just don't understand why any reasonable person would pick an existing common word for a project in 2022 instead of using the plethora of name generators that can give you something original without even trying.

But like, people that work for Google surely know something about search term collision. Or just don't care about making anything else that has "Go" in the query gets confusing results. Which is an odd stance for Google employees, but none of my business I guess.

Of course it's common anyway, I just don't see why you'd do this to yourself. You either bury your own project, or you are so successful with branding that no one can find what used to have that name. Google can push something hard enough with perfect SEO to make sure that Go the language shows up. A github page?

I mean, it's not Google but: https://duckduckgo.com/?t=ffab&q=go&ia=web First hit -- https://go.dev

https://duckduckgo.com/?t=ffab&q=bubble+tea&ia=places This project is not anywhere near the front page and I can't imagine it ever being. Too many different companies are selling boba tea.

I never really like it when companies use existing common words, but unless you're a huge project or a company that can push the SEO and marketing it's actively burying your work from anyone finding it.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#34
post #31

I've seen the charm suite on HN before, and everytime I see them I wish they had bindings to other languages. I'm just not interested in Go, but I'm really interested in learning to create ssh applications. Its an application runtime with a lot of potential for the dev space, but almost no quick-start frameworks!

Why not? There's a lot to hate about every language, but one advantage about Go is that it's fairly easy to context switch in/out of, which makes it great for side projects, because it's cognitive load while using it is really low. Unlike say, Rust. I do love Rust though.

I'm only really interested in learning a language if it excites me, or if I'm getting paid to do it. I don't hate Go, and would be fine to learn it on company time for company projects, but there is no spark that would lead me to learn the language on my own. I've written some basic Go, but if I'm using it in personal projects, I'd would have to invest time to understand the ecosystem, runtime, standard lib, best practices, etc.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#35

I spent a good chunk of time last week looking for a solid cross-platform GUI toolkit. I came to the conclusion that the terminal is the most portable GUI platform available. You can create an app that has windows, buttons, mouse support, etc, statically compile it for Windows, Linux, and Mac, and run it over SSH. The closest you can get to that with real graphics is using a toolkit built on OpenGL, and you'll be for…

Almost every language has an ncurses library or module. Isn't ncurses fairly cross-platform?

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#36
post #14
post #9

I don't like things that pollute our natural language namespace. Couldn't you have named it something unique?

An overwhelming number of programming-related things "pollute our natural language namespace". Off the top of my head: Ruby, Python, Java, Rails, React, Go, Rust, Elm, Dart, C, C#, Node, Next, Nest, Kafka, LaTeX, bash, fish, cat, Android, Apple, Windows… I'd be happy to search for this with "bubble tea framework" or "bubble tea tui" or similar and it doesn't bother me.

I'm having trouble thinking of a single example of a language, library, or piece of technology that is not either an acronym, a name of something that exists, or a combination of such names. Be it an object (Flask), a concept (Scheme), a letter (C), a person (Sinatra), or an animal (Python).

Maybe we need explicit namespacing in English? I'll start saying stuff like "programming languages colon colon ruby" so people can be absolutely sure what I'm talking about.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#37
post #14

Earlier quoted context omitted.

An overwhelming number of programming-related things "pollute our natural language namespace". Off the top of my head: Ruby, Python, Java, Rails, React, Go, Rust, Elm, Dart, C, C#, Node, Next, Nest, Kafka, LaTeX, bash, fish, cat, Android, Apple, Windows… I'd be happy to search for this with "bubble tea framework" or "bubble tea tui" or similar and it doesn't bother me.

I'm having trouble thinking of a single example of a language, library, or piece of technology that is not either an acronym, a name of something that exists, or a combination of such names. Be it an object (Flask), a concept (Scheme), a letter (C), a person (Sinatra), or an animal (Python). Maybe we need explicit namespacing in English? I'll start saying stuff like "programming languages colon colon ruby" so people…

Alas, people might get the wrong idea about what kind of colon you mean.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#38
post #14

Earlier quoted context omitted.

An overwhelming number of programming-related things "pollute our natural language namespace". Off the top of my head: Ruby, Python, Java, Rails, React, Go, Rust, Elm, Dart, C, C#, Node, Next, Nest, Kafka, LaTeX, bash, fish, cat, Android, Apple, Windows… I'd be happy to search for this with "bubble tea framework" or "bubble tea tui" or similar and it doesn't bother me.

I'm having trouble thinking of a single example of a language, library, or piece of technology that is not either an acronym, a name of something that exists, or a combination of such names. Be it an object (Flask), a concept (Scheme), a letter (C), a person (Sinatra), or an animal (Python). Maybe we need explicit namespacing in English? I'll start saying stuff like "programming languages colon colon ruby" so people…

erlang

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#39
post #8

Earlier quoted context omitted.

Just curious, I'm not familiar with Go. Will it copy the references anyway, meaning both structures now have a pointer to the same object? That's the way it works in other languages I'm familiar with, so you have to be careful about what you copy and how you use it.

Yes, but it doesn't actually matter. You can use pointers for models, return the same pointer, and it will re-render fine. We do this for our CLI at https://www.inngest.com for creating new serverless functions via a quick walkthrough. It's actually the `tea.Msg` that causes re-renders. Here's the code: https://github.com/charmbracelet/bubbletea/blob/v0.20.0/tea.... . tea.Msg is, in Redux land, an "action" that trigg…

Do note, however, that paints will only occur if the output changes, and only lines that have changed will be redrawn.

Re: Bubble Tea: fun, functional and stateful way to build terminal apps

#40

I spent a good chunk of time last week looking for a solid cross-platform GUI toolkit. I came to the conclusion that the terminal is the most portable GUI platform available. You can create an app that has windows, buttons, mouse support, etc, statically compile it for Windows, Linux, and Mac, and run it over SSH. The closest you can get to that with real graphics is using a toolkit built on OpenGL, and you'll be for…

Lately I'm all in on LÖVE (https://love2d.org). No dynamic linking required, cross-platform, less bloat than mainstream toolkits. Anything it can't do I just accept as a constraint I can't change.
Post reply on HN