bashttpd
libxev
bashttpd | libxev | |
---|---|---|
6 | 6 | |
1,492 | 1,618 | |
- | - | |
0.0 | 8.1 | |
over 4 years ago | 8 days ago | |
Shell | Zig | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
bashttpd
-
[DISCUSSION] What if BASH could be used as a web server interpreter?
I've had https://github.com/avleen/bashttpd/blob/master/bashttpd bookmarked for a while... not sure if it address:
-
Zig: The Modern Alternative to C
In a way I feel that everything is an alternative to everything and at the same time nothing is.
As you said it all depends on the circumstances. But I don't really see Zig competing with Go. They both can do mostly the same things, but they both approach them from quite a different sides.
For example bash is being used in:
- gaming (https://github.com/JosefZIla/bash2048)
- web apps (https://github.com/avleen/bashttpd)
- networking
- CLIs
- distributed systems (https://github.com/frameable/aviary.sh)
- crypto (https://armedia.com/blog/blockchain-program-written-bash/ https://github.com/grondilu/bitcoin-bash-tools)
- systems programming (https://github.com/damphat/kv-bash)
- language tooling
Some of those make more sense than others. However we all talk about a mythical general case. For every language there are niches that are covered by it more significantly. For Go it would probably be web backend. It doesn't mean it is only suited to this one niche, it is used in everything. In general it is used there more. I don't believe that Rust sees the most use in the same niche to the same order that Go sees it.
Is Rust or Zig an alternative to php, awk or Lisp? In practice I don't really think so.
I guess it all depends on one's definition of "alternative". I don't think that a statistical Go programmer would see Zig as a real alternative. Statistical C programmer might see it as a Go alternative, but that probably would not be a question he would ask.
-
Examples of cool || non-standard || "simply insane" bash stuff?
https://github.com/avleen/bashttpd - httpd implementation in bash
- Bashing the Bash – Replacing Shell Scripts with Python
-
Did you know? Perl is the tenth most in-demand programming language in 2021.
Even bash, awk, and sed can do it.
- An HTTP server in a single .c file
libxev
-
libxev: A cross-platform, high-performance event loop
io_uring support is obviously great & excellent, fulfills the "high performance" part well.
i was not expecting "Wasm + WASI" support at all. that's very cool. implementation is wasi_poll.zig (https://github.com/mitchellh/libxev/blob/main/src/backend/wa...). not to be unkind, but this makes me wonder very much if WASI is already missing the mark, if polling is the solution offered.
gotta say, this is some very understandable clean code. further enhancing my sense that i really ought be playing with zig.
- Show HN: Async tasks in 350 lines of C
-
Epoll: The API that powers the modern internet (2022)
You might be interested in a pure Zig implementation of these primitives by Mitchell in his libxev library: https://github.com/mitchellh/libxev
-
Zig: The Modern Alternative to C
https://github.com/mitchellh/libxev
- one from the Tigerbeetle DB
- Libxev: A cross-platform, high-performance event loop
What are some alternatives?
darkhttpd - When you need a web server in a hurry.
unzig - Zig with Unused Variables
Bash-web-server - A purely bash web server, no socat, netcat, etc...
async_io_uring - An event loop in Zig using io_uring and coroutines
awk-webserver - A simple webserver, written in GNU awk, that supports directory listing and download of file from the directory where it is launched
sokol-tools - Command line tools for use with sokol headers
sed-httpd - HTTP daemon written in SED
http.zig - An HTTP/1.1 server for zig
uip - The historical uIP sources
zig-pico - Not so scuffed Zig project for using the Raspberry Pi Pico SDK
stoneknifeforth - a tiny self-hosted Forth implementation
mach - zig game engine & graphics toolkit