Comments (3)
Thanks for your reply! I think I first used express.js when 3.0 was just released, but I can't really remember how I got familiar with it. Probably some tutorial someone with half a week more experience than me wrote :)
I'm the kind of person who likes technologies that build huge ecosystems on a few, simple concepts, like middlewares. And I've always admired projects that feel like that, given a set of useful concepts, they are the "obvious" implementations. That's all very theoretical, though, and even though it is very nice to think about, breaks down in practice quite fast, and you have to look for many different smaller things to glue together. In the end, you know exactly what you have built, though, and also know how to extend it.
On the other hand, there are frameworks like Rails (or Rocket probably) that give you an opinionated collection of things that you will probably need. And when looking for something, you often find that the framework already contains it, and can maybe even guess the name. "Guessing names" is how I learnt to use Rails, basically.
I'm not saying I like one or the other better, so far these are just observations. I have some ideas why composing small modules is more popular in a language like Clojure compared to Ruby, but nothing definite. And I have not yet made up my mind about what will work better for Rust.
from scribbles.
My favorite part of your essay is—
Most people are quite clever, know what they want, and see that it’s quite likely that all parts are already there. But it’s still hard to find this in the API documentation, because the library is very generic and it’s not always obvious how things work together.
I’ve been working through some programming challenges (Cryptopals) in Haskell and Rust as a total beginner in both, and this describes my experience with Haskell (and other Powerful Languages) so well 🤣. This (and the overall essay) resonated with my Rust experience because, after moving along quickly and solving the challenges with Rust, I had to figure out rust-openssl, and was dead in the water until I found one complete code example, in the issues tracker, from 2014 and figured out how all the pieces go together. I hadn’t realized it till then how useful the examples in the Rust book and throughout the Rust docs were.
from scribbles.
I hadn’t realized it till then how useful the examples in the Rust book and throughout the Rust docs were.
Exactly! When I was writing this post, this—the immense usefulness of examples—is what really surprised me. I'm really looking forward to seeing how we can make it more common throughout the Rust ecosystem to litter docs with examples!
This is one of the reasons I write these things down, by the way: To get the thoughts I have on a topic in order, and actually think it through (up to a point). And I'm quite often surprised about what conclusion I arrive at. (I think I read it first in an essay by Paul Graham that good essays are texts where, while writing them, you don't know where they'll take you. Edit: It was this one.)
I'll update the post to link to this issue.
from scribbles.
Related Issues (19)
- Missing column in Symbol Pronunciation, Irregular pronunciations HOT 1
- Add metadata to track external discussion
- Error in a state machine code example HOT 1
- slight code error in "Elegant Library APIs" HOT 1
- Optional bits for giftwrap HOT 8
- arc hub 4k@60Hz HOT 14
- Rich diffs of rendered HTML? HOT 1
- Typo HOT 1
- The Secret Life of Cows and `?Sized` rationale HOT 3
- About your talk @RustFest Rome HOT 1
- Comment: I like your blog layout HOT 3
- Re: Digital Information Management HOT 3
- Improve elegant APIs post HOT 3
- Technical Indicator Lib that things correctly based on Rust Language. HOT 1
- Minor issue in code example HOT 1
- How does 5.2 become 2nd February? HOT 1
- Public Domain Me Post Mortem
- Return to business! HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scribbles.