other-languages

codeasone 2023-09-10T12:28:56.588249Z

I'm excited by the promise of Bun https://www.youtube.com/watch?v=BsnCpESUEqM seems to offer a lot in terms of quality-of-life improvements. Feels simple and compelling although I'm not sure I buy all of the performance claims.

mauricio.szabo 2023-09-11T13:39:23.251339Z

Wow, I just wrote about it! https://mauricio.szabo.link/blog/2023/09/11/bun-is-released-lets-jump-the-hype-no/

2023-09-11T13:59:13.441439Z

nice write up @mauricio.szabo You sound like someone who has seen things in his life

😅 1
mauricio.szabo 2023-09-11T13:59:55.383109Z

@aziz.aldawood for better or for worse 😄

dgb23 2023-09-11T14:00:09.863829Z

Great post. I don't necessarily agree with the last sentiment fully. It's rather atypical that you so many independent tools for package management, running, building/bundling etc. JS is a language, so comparing it to Rails only makes sense to a degree. I assume a Rails project has several heterogenous parts that are hard to coordinate properly. But that shouldn't be necessary with a language toolchain. I prefer a single or few CLIs that make things work in a compatible way. Clojure has clj (and clojure) with subcommands/sub tools. Go has go with subcommands. Rust has rustc (just compiling) and cargo (everything else). Zig just has zig for basically everything (and more...) JS/Node has so many competing tools, it's insane. Even with package management alone there are about 4 popular ones. There's bundling/building, running scripts, running projects, testing etc. Maybe inventing a new tool that does all of these things is a good thing, if the community can then rally around that single interface and optimize from there. What can also happen is further fragmentation though.

borkdude 2023-09-11T14:00:51.169879Z

Nice HN material

☝️ 1
dgb23 2023-09-11T14:01:32.607109Z

For sure. The general anti-hype and "actually test it yourself" point is very well taken.

mauricio.szabo 2023-09-11T14:01:57.560329Z

Anyway, I tested Bun some months ago, while I was debugging a weird situation where I wasn't getting some good stacktraces on Node, and wanted to check if Bun was better. It wasn't, but it impressed me how slower it was - sure enough, this 1.0 version is way faster than my last experience; still, it lost to Node

dgb23 2023-09-11T14:03:20.503909Z

It seems for some cases it is actually substantially faster. I've seen people use it and showcase it for their projects.

dgb23 2023-09-11T14:03:32.722209Z

It's good to know that this isn't generally the case.

mauricio.szabo 2023-09-11T14:03:45.398489Z

Yes, @denis.baudinot, my point was exactly that bundling these tools in the language is weird IMHO - especially when things like Babel did break compatibility between major versions

dgb23 2023-09-11T14:05:12.806089Z

That's a babel problem though. And a webpack problem and... Many of the tools that bun wants to replace have a history of breaking compatibility - sometimes for entirely superficial reasons.

dgb23 2023-09-11T14:05:30.763339Z

I have no idea if the stability guarantees are better with bun though...

mauricio.szabo 2023-09-11T14:25:02.818769Z

Also, the comparison with Rails was basically "the difficulty to update something that requires changes in the whole toolchain", which is a risk with Bun if they decide to not support old APIs of their tools - it was not in any way to compare a language to a framework

👍 1
dgb23 2023-09-11T16:14:18.203739Z

I 100% share the same concern after thinking about it more... A tool like that has to make stability guarantees. Else, the nightmare scenario you describe becomes true. But if they actually do that and manage to adhere to those guarantees, then it can be a huge win for that ecosystem. I think a framework like Rails/Laravel/Django faces much harder problems than "just" language tooling, because they compose heterogenous dependencies from the database to the frontend, multiple languages (at least JS + a server language etc.) and that often includes different development and production environments (IaaS, PaaS etc.). I agree that there are parallels. But language ecosystems (other than JS) have proven that it can be done. The cynical side of me thinks that it's too much hype and not enough stability promises for my taste. They released 1.0 but still have compatibility issues. Is 1.0 a marketing push or a signal that it can actually be relied upon? As far as I know it is written mostly in Zig, which is a promising and simple language, but it's also pre 1.0 and states very clearly that it's not stable yet. Man I really hate criticising other people's work, but I really have grown very cautious (due to pain) of things that don't put stability at the forefront.

2023-09-10T12:32:41.928939Z

I think #nbb can be used in bun. seems interesting to try

dgb23 2023-09-10T13:20:22.931929Z

Overall there seems to be a general trend or emerging subculture in web development to make things simpler, lighter and faster. See esbuild, bun, htmx, tailwind to some degree and other such projects.

borkdude 2023-09-10T14:45:13.537749Z

@aziz.aldawood nbb can be used with bun without any problems for a while: https://twitter.com/borkdude/status/1661042091324067840/photo/1

mauricio.szabo 2023-09-19T18:42:37.540089Z

By the way, seems that I'm not the only one with these numbers: https://www.youtube.com/watch?v=EVMMoDWN79E