if I want to build libp2p on Nix, where should I start? go-libp2p ?
@ober I tried mod_lisp back in the day. FCGI as well. Then decided that proxies were the best. It's like being a decade or two ahead on the mainstream when in comes to the interwebs lol
drewc @drewc supposes that being a developer for the WebHosting.com platform helped a wee bit there .... two decades ago :)
Our front-end was php3 which I transitioned to php4. Our middleware was mostly perl... many many versions of that sh@tty language. With a wee bit of C thrown in for good measure. I also helped with the transition from MySQL to PostgreSQL and (Solaris/AIX/*BSD/etc)->Linux ... a few years ahead, not a few decades, but those 90's and early naughts were fun! Survived the .com boom, left the commercial scene after 9/11, and found Lisp in '04.
Professional Web Developer since '95!
I think I remember mod_lisp... sbcl?
Yeah those were the days... "I want to make a web app. Should we use PHP or C?"
I found Scheme in 2001 or 2002. I competed in the ICFP 2001, and used C++, not knowing any functional languages. Had my butt handed to me by the OCaml people, and I got really interested in how all sorts of languages worked. Then found Scheme.
@eraserhd I used it first on CMUCL, then SBCL. IIRC it was basically a socket->repl thing that basically was a CGI-like without the OS in the way.... and without proper multiprocessing, again IIRC.
Although I know a few functional languages, OCaml included, I never really liked that "approach". Having said that, Lisp/Scheme is "any paradigm you can come up with and then some", so use "functional" all the time .. along with iterative ... and loads of side effects .... and OO. I like things that way :)
I'm really heavy on the functional... Clojure slapped me upside the head and made me realized it can actually be practical. I always tried to make things "functional" in Java and C++ in order to get confidence with unit tests.
It isn't quite practical in Scheme to do that. The "code is data" is a big motivator there, still.
In Gerbil and Scheme, I tend to make pure functions that mutate internally (as an implementation detail).
Mostly owing to not having all the nice immutable data structures yet.
In Ruby and Python, I go full OO. In C++, value objects and functional. I'm weird I guess.
In, C, I try to avoid OO, until I can't, then rewrite the whole thing with foo_new() and foo_destroy() fns. :D
@eraserhd I too end up using foo_new/destroy quickly even for toy programs
I keep hoping to write a little C file that I can drop into my zero-dependency C projects that has a GC and something like cheney-on-the-MTA so I can do functional-style, but I'm not even sure if that's possible.
I guess the continuation thing isn't really doable in C without syntactic lambdas, or some weird trick to turn a goto label into a function pointer.