4 ms·
Even as a polyglot that picks up new languages quickly and often, I think this is true of most actively maintained major languages now. We’re in an age where m
by swatcoder 5y ago
Even as a polyglot that picks up new languages quickly and often, I think this is true of most actively maintained major languages now.
We’re in an age where major languages are expected to cross-pollinate: if there’s a cool paradigm or technique in some other major language, how do we evolve our language to support it?
That’s not a terrible thing in itself, but it means that most major languages are multi-paradigm now and become more so every release.
As a consequence, learning becomes less straightforward.
C may feel like a nice starter to you specifically because it’s been comparatively resistant to this trend. It’s got a ton of tricks to learn, but there are only a few paths through learning it.
- pjmlp 5y agoEven with C it only looks like it, if one sticks mainly with a specific compiler and OS.
- gotaquestion 5y agoC takes on many dialects based on specialization. Compare code from the following, and you will see a range from trivial to understand to WTF. These are all real-world applications: - Linux kernel (events) - https://github.com/torvalds/linux/blob/master/kernel/events/core.c https://github.com/torvalds/linux/blob/master/kernel/events/... - Arm CMSIS - (16-bit math) - https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/DSP/Source/StatisticsFunctions/arm_absmax_no_idx_f16.c https://github.com/ARM-software/CMSIS_5/blob/develop/CMSIS/D... - Numerical Methods in C - (Jacobian FP) - https://github.com/saulwiggin/Numerical-Recipies-in-C/blob/master/Chapter11.Eigensystems/jacobi.c https://github.com/saulwiggin/Numerical-Recipies-in-C/blob/m... - GNU 'ls' Command - https://github.com/coreutils/coreutils/blob/master/src/ls.c https://github.com/coreutils/coreutils/blob/master/src/ls.c - Gstreamer - (De-facto media streaming) - https://github.com/GStreamer/gstreamer/blob/master/gst/gstelement.c https://github.com/GStreamer/gstreamer/blob/master/gst/gstel... GStreamer is my favorite because it basically creates VTables like C++ but calls them Klasses (based on Gnome), and it is just a brilliant framework in general, but an utter perversion of C IMHO.
- mrlonglong 5y agoThe Linux kernel does the same thing as Gstreamer with file operations etc, I r thought it pretty neat, not really a perversion at all.
- gotaquestion 5y agoI didn't know that. Cool. Also, I was being silly, because for some reason it took me a while to get my head around klass, and compared to my other listed samples, it is an oddball.
- deleted 5y ago[deleted]