[HN Gopher] To learn a new language, read its standard library
___________________________________________________________________
To learn a new language, read its standard library
Author : sferik
Score : 58 points
Date : 2021-10-24 06:38 UTC (16 hours ago)
(HTM) web link (patshaughnessy.net)
(TXT) w3m dump (patshaughnessy.net)
| epolanski wrote:
| What would the JS/TS equivalent?
| baby wrote:
| Definitely true for Golang, learned a ton reading its stdlib (and
| even found a bug this way)
| askvictor wrote:
| I find languages are pretty easy to pick up after the first few.
| What seems to be the barrier nowadays is frameworks. How do
| people go about learning a new framework? Obviously most of them
| have an intro project to follow on with, but they tend to be
| pretty simplistic, and once that's done, getting to the
| complicated bits that you actually want to implement seem to be
| the barrier.
| marginalia_nu wrote:
| I usually prefer working with mature stacks that don't require
| me to constantly work with flavor of the month frameworks.
|
| It's great to broaden your horizons and all, but that is
| something that needs to be done judiciously and deliberately if
| it is to actually be of any use.
| trevyn wrote:
| Re-implement a toy version of the framework from scratch. :-)
|
| Or, try to add a non-trivial feature to the framework.
| munchler wrote:
| This doesn't seem like a great idea in general, since the
| standard library is usually low-level code, aggressively
| optimized for speed, that is not at all typical of applications
| written in that language.
| dxuh wrote:
| To anyone that considers this approach for learning C++, I would
| advise strongly against it. Standard library code has to deal
| with too many cases and tries to be optimal for as many of them
| as possible. Also the formatting is highly unusual, compared to
| other C++ code found in the wild.
| dataflow wrote:
| Yeah... for C++ it's more like s/To learn/To _really_ learn /
| aetherspawn wrote:
| Uh yeah if you try and read the Haskell standard library,
| you're screwed. It's list fusion and fancy algorithms to hack
| asymptotics all the way down.
| eepp wrote:
| thank you
| bestinterest wrote:
| Ugh Crystal is so beautiful and sorry to make this typical
| complaint but I wish the compile time was 1/10th of what it is.
| The dev cycle loop is just not there for me but the language is
| incredible.
| trevyn wrote:
| Does Crystal benefit from these new M1 beasts? My Rust compile
| times became much more pleasant.
| cturtle wrote:
| I'm using Zig a lot right now, and I have been pleasantly
| surprised by the standard library. Maybe it's due to Zig being a
| very straightforward language, but I find most everything I read
| in the standard library to make immediate sense.
|
| I don't know about reading std alone to learn Zig though, I used
| other sources like ziglings and ziglearn which taught me syntax
| and patterns. Had I started with the standard library I doubt I
| would have picked up the language as quickly as I have.
|
| So having learned Zig I am much more inclined to look at standard
| libraries for languages I learn in the future, but I don't think
| it's wise to rely only on standard libraries for learning.
| andy_ppp wrote:
| Elixir's standard library is incredible and so simple and 99%
| written in Elixir.
| Waterluvian wrote:
| Reading the Python stdlib was a brilliant move a peer encouraged
| me to do. I learned three themes of stuff:
|
| 1. A good look at long lasting, durable pure python.
|
| 2. A good look at long lasting, durable C implementations of
| python (dict is the core of Python. Read the source!)
|
| 3. A look at a bunch of libraries that basically never get used
| and a sense of how they compare to popular third party libraries.
| (Doing this is why I'll never complain when a language's stdlib
| is small. I get it now.)
| mberning wrote:
| All well and good until you find out half of it is written in C
| or something like that. I like to go out and find the most
| starred repos on github or just ask around for a library that
| people think highly of and read that.
| marginalia_nu wrote:
| C itself is actually a pretty good example of where this fails
| as well. Its standard library is usually more macros than code.
| It's necessary if you are going to ship portable code that
| deals with every conceivable architecture and endianness and
| permutation of toolchain from 1976 until now, but it's not how
| most C code looks.
|
| K&R is a much more meaningful guide than unistd.h.
| synergy20 wrote:
| Until you realize most of the time the code is loaded with
| Macros, ifdefs, cross-platform
| conditions(windows,macos,linux...), hacks for different versions
| of OSes/dependency/whatever, the real meat is hard to spot on,
| it's easy to get lost in those noises.
___________________________________________________________________
(page generated 2021-10-24 23:00 UTC)