I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones. ~ Albert Einstein
I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones. ~ Albert Einstein
The storm of the U. S. Capitol would be the most shocking one, probably, as nobody dared to do that.
Also, 9/11 events, nuclear/thermonuclear bombs, nuclear power plant disasters, many things.
Technologically, the fact that an everyday laptop can deliver tens of billions of arithmetic instructions per second is still mind-boggling to me.
Honestly, despite my experience in standalone programming and algorithms, my experience in web development is limited. I’ve had experience with ASP dot NET, Actix (Rust framework Lemmy is powered by) with Diesel ORM, and PHP. ASP is limited in .NET ecosystem, and the primary IDE to develop ASP dot NET apps is proprietary, not something I want to work with. Actix is doing pretty good, it uses Tokio internally, one of the fastest and most robust async frameworks in the wild. I’ve been using Rust for more than 2 years, and I’d be honest: it was designed for medium- and large-scale application development. For making prototypes, you probably want another programming language. And I see PHP as one of the easiest ways to prototype.
For Django, I’ve never used it, maybe I’ll have to use someday. Nevertheless, I see Python as a rather bloated (in terms of overlapping language features) language which suffers from similar problems as PHP, like no type checking (by default). Also, Python packages are tied to some exact version of Python, which causes a large dependency mess when using multiple packages (Rust also has this problem, but at much smaller scale, and developers of packages often use conditional compiling of language features). Meanwhile, I think that some Python problems could be resolved using a package manifest file, like Rust does.
If you have something to add, go on, because I’m always thinking what server language/framework I should use for my Next Big ProjectTM.
Why do you call write() for every char? You can always just pass a pointer with its length.