I believe the principles the article author is looking for are core to Pivotal Tracker. I've often tried to persuade teams to use Tracker, but everyone sure loves the whiteboard metaphor!
HN user
0atman
Rusteacan, recovering Pythonista. Creator of the YouTube channel, No Boilerplate, and the hopepunk sci-fi podcast, Lost Terminal.
My go-to is "Alice has 3 brothers and also has 6 sisters. How many sisters does her brother have?". They all say 6!
This test is nice because, as it's numeric, you can vary it slightly and test it easily across multiple APIs.
I believe I first saw this prompt in that paper two years ago that tested many AI models and found them all wanting.
10/10, no notes XD
I love LSP as much as the next person, but bacon's flicker-free zero config clippy watching basically TAUGHT me Rust!
Welcome to the cargo cult!
I don't understand the question, but only one of those is a full stack web framework.
I don't know why OP felt moved to write this weird guide, https://leptos.dev is incredible!
For anyone wanting a actual full-stack framework with sensible defaults, type checked sql+api+rsx, and overwhelming community approval, don't reinvent the wheel: It has existed for years and is called https://leptos.dev
(If you're just making a simple rest api backend, I still dig the simplicity of poem-openapi + sqlx)
I can't understand if rust on rails is a joke, badly written by gpt, or written by someone who doesn't understand both Rust and web development in general. It's full of typos and baffling design decisions. (shelling out to an external comand to generate rust code?! MACROS EXIST!)
This is the right answer. How can you go back to a non-typed world after Rust I don't know.
I use html-node which has a typed submodule for even greater strictness. I just build some valid html, make a string and write that to the output directory and get on with my life. Eg: https://github.com/0atman/noboilerplate/
Templates... Rust functions
Flow control... Rust match expression
Abstraction... Rust modules
Html validation... Rust compiler
I like to think that in writing the html-node crate, Vidhan taught the compiler to speak html! https://lib.rs/crates/html-node
YES! sqlx::query_as in the wild!
Making queries like this checks the sql is valid at compile time by connecting to the real database and running it with demo data inside a rolled-back transaction!
(If you'll forgive the self promo, I explained it better in this video https://youtu.be/pocWrUj68tU)
Rust's macro system allows you to program the compiler with each new program, and sqlx is my favourite example of this.
Trust, but verify.
"[If we all wear seat belts] we could end up in a less secure future, where nobody understands why, with red tape that prevents you from finding out what went wrong."
Insane.
and we we wouldn't let that founder do PR, right?
You don't believe me? That's an extremely weird reaction, he's on public record with this kind of behaviour, just look at most of the comments in this very thread of people saying the same thing.
You've forced me to look up the talk, and the one I have the ticket for in my email is actually from 2011, my memory of the date was wrong: https://localevents.theiet.org/register.php?event=bc7fd2
Someone took a terrible video of it (ah 2011 video) here https://www.youtube.com/watch?v=vazlMe7sNzM but that doesn't seem to include the Q&A section where he went off the rails.
Yeah! I've seen a lot of re-branding to "plant-based", same meaning, less baggage.
I sympathise with your position, but is rms all we've got?
No developers were persuaded to change their language from 'open source' to 'free software' that day in 2009, him shouting at us was utterly ineffective.
We need good communicators, not just passionate people. I'm not suggesting he shouldn't write his good ideas down, but keep him away from an AUDIENCE.
I read just today that there's no such thing as 'cancel culture', what it is, is 'consequence culture': The observation that it's becoming less accepted that we must protect the rich/famous/powerful just because they're rich/famous/powerful.
I went to a small talk rms gave in London in around 2009. The talk was unmemorable (my fault, likely, not his) but the Q&A afterwards was remarkable:
He screamed at people for using 'open source' instead of 'free software' in their questions, raved about the Amazon "Swindle" like a 12-year-old, and talked over and down to everyone. He was often accurate in the core of what he was trying to say, but his attitude was unhinged, and discouraged most people from interacting.
The 100 or so developers all left the talk in silence, mourning the loss of the hero we had imagined him to be.
To those who say we need him for GNU outreach: we absolutely don't. ANYONE would be better for the job.
I thank him for his many incredible contributions to our world, and wish him a speedy recovery, but we don't need these talented assholes to represent our community.
if you write it inside a rust macro, you get syntax checking and the full ecosystem for free! eg https://crates.io/crates/macro_lisp
how long does the average npm install take? That's cached for second executions just as rust is, typical recompile times are < 1s
(no boilerplate author here) Thank you so much for linking!
When I was first getting started I learned so much from Amos and his INSANE deep-dives over at fasterthanli.me, basically he taught me Rust. For my 3rd video I messaged him and asked if I could base it on his article and he said 'go for it' - since then we've both found ways to go full-time in our respective worlds, and we shitpost in a private discord together :-D
This video isn't really a good intro to either my channel or the WHYs of Rust, just the syntax.
If I may signpost my own intro to Rust playlist https://www.youtube.com/watch?v=oY0XwMOSzq4&list=PLZaoyhMXgB...
And an example of one of Amos's deep-dive videos "C++ vs Rust: which is faster?" https://www.youtube.com/watch?v=VMpSYJ_7aYM
C++ was rejected as a driver language. All those other languages you mentioned also are also not suitable. Why could this be?
Linus Tovalds is not an easy man to please. You're saying he's been fooled by marketing?
Sometimes tech is really good, dude, it's ok, don't die on a weird hill, not everything is shit.
My apologies, it's faster than svelte, not just react: https://www.youtube.com/watch?v=4KtotxNAwME
We're not talking about hypotheticals. Rust wasm is used in production now. https://developers.cloudflare.com/workers/tutorials/hello-wo...
Emscripten and experimental backends hardly count as support for Nim. Python can run in webassembly by the same token, but no one would. The standard rust compiler compiles directly to webassembly, natively, with the stable toolchain.
In other languages, yes, the js bridge is a problem. However, not only will this be fixed in browsers at some point, but rust is so fast that TODAY yew.rs, a mature wasm framework, is faster than react.
My thoughts are better explained in this video https://youtu.be/P4LMfkFLRsI
Popularity counts. Find all those languages in this graph, then find rust. https://redmonk.com/sogrady/2023/05/16/language-rankings-1-2...
Nim is too timid. Most languages are too timid.
My context: I'm a maintainer of iNim, creator of the Rust channel, No Boilerplate, and a professional python web developer for 15 years.
The features you are excited about in Nim are compromised for the sake of simplicity:
- Macros can't change syntax,
- There's a limit to how real-time the standard language is,
- Compiling to javascript is a nice trick, but if it didn't rely on GC it could compile to webassembly, which is better,
- Ask any advanced python developer: Indentation for syntax is a bad idea at scale. Hell, have you ever used YAML?
What Rust does is a revolution because they solved the problem of memory safety without garbage collection with the Borrow Checker. The knock-on effects are GARGANTUAN.
This was a hard problem to solve, and it makes the language more complex to learn, but it unlocks all the language's superpowers. If you 'cheat' with a GC, you get nothing. Nim started its life, just as most languages did with a GC, and the efforts to keep the syntax the same while offering alternatives are greatly compromised. It's far easier to add GC/RC to a low-level language than it is to remove it from a high-level one, where the whole ecosystem relies upon this behvaviour.
Of COURSE I know about Nim's plugabble GC options. That doesn't impress me at all (though Araq's effort is to be commended). In Nim they are compiler options, in Rust they're libraries. The difference is vital. For example, at a per-variable level, I can choose to reference count with https://doc.rust-lang.org/std/sync/struct.Arc.html if I so wish (I rarely need to because the borrow checker is magic).
If you want python, you can have it inside a Rust macro, sort of like this https://crates.io/crates/inline-python because rust macros CAN change syntax. With Macros and no GC, you can rebuild ANY FEATURE inside Rust, the floor of the abstraction is the metal, and the ceiling is the sky.
This is what Rust is all about: full power to the developer, no compromises. My video on this topic for those interested is: https://www.youtube.com/watch?v=PuMXWc0xrK0
I love both languages, but I can only see one language being the standard next 40 years, and demonstrably so can Linux, Microsoft, Cloudflare, Discord, and many others.
Or perhaps an operating system just missing a good text editor ;-)
(to be clear, I love emacs, and use spacemacs as my distro!)
This is very normal in the open source world: Half of the desktop software included in a modern Linux distro I was using in the late 90s!
From memory: VLC, GIMP, Blender, Audacity, Firefox, Gedit, OpenOffice, XBMC (now Kodi), FileZilla - the list is HUGE
Find your favourites here: https://en.wikipedia.org/wiki/List_of_free_and_open-source_s...
Still needs some optimisation, but my m1 air oh asahi still has crazy battery life. Gets better every month!