TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Metaprogramming

10 点作者 Austin_Conlon超过 4 年前

1 comment

Gravyness超过 4 年前
&gt; The Missing Semester of Your CS Education<p>Thanks for sharing, very insightful! Wish there was more languages approached!<p>I have always been learning this stuff on my own and it is very exhausting, I love to experiment with new languages because of the unknown possibilities, like when compilers started throwing errors when NULL pointers weren&#x27;t handled I was <i>amazed</i> that they finally solved such a intrinsic programming problem!<p>So, way back then, when I started university, I learned C, and fell in love with it&#x27;s simplicity and predictability, I mastered pointers and data structures, but the process of getting it to run is so difficult! Every OS has their own tools, dependencies, versions, configurations!<p>It has been taking me a lot of time to learn meta-programming for a language as well-established as C. The language is predictable but C&#x27;s tooling is unforgivable: You&#x27;re supposed to know that in order for your program to send network packets you have to add 3 TCP libraries and conditionally load them with preprocessor (or a random config file) depending on the OS of the target! You&#x27;re also supposed to know that you need a build system builder if you want your code to be compilable from another OS.<p>Same thing with Machine Learning with python: using open-source repositories requires a program to orchestrate the virtual environment (python and pip) so that you can install the dependencies so that only then you can run the code. So many hidden steps in getting code from someone else to your computer and running it.