Language agnostic 学习并理解整个堆栈

Language agnostic 学习并理解整个堆栈,language-agnostic,frameworks,Language Agnostic,Frameworks,几个星期来,我一直在为一个想法苦苦挣扎,想看看是否有人能在这里帮助我 今天的编程充满了抽象,那些不理解抽象、不真正理解原因或设计的人开始构建抽象/层/框架,一旦走出舒适区,他们就会挣扎 我想知道是否有一种学习资源可以以渐进的方式教授编程。这将有助于理解整个堆栈 拿一个小问题来说 实现一个简单的解决方案 讨论解决方案和使用的设计 将解决方案转换为某种框架或实用程序 现在扩展问题空间并重复步骤2 通过这种方式,当有人拿起任何框架/库时,他们可以很容易地将框架试图解决的问题、做出的设计决策及其原因可视

几个星期来,我一直在为一个想法苦苦挣扎,想看看是否有人能在这里帮助我

今天的编程充满了抽象,那些不理解抽象、不真正理解原因或设计的人开始构建抽象/层/框架,一旦走出舒适区,他们就会挣扎

我想知道是否有一种学习资源可以以渐进的方式教授编程。这将有助于理解整个堆栈

  • 拿一个小问题来说
  • 实现一个简单的解决方案
  • 讨论解决方案和使用的设计
  • 将解决方案转换为某种框架或实用程序
  • 现在扩展问题空间并重复步骤2
  • 通过这种方式,当有人拿起任何框架/库时,他们可以很容易地将框架试图解决的问题、做出的设计决策及其原因可视化

    [添加以澄清意图]

    根据下面的答案和评论,我想澄清一下,我想进一步提升。构建自己的ORM以更好地理解ORM,ActiveRecord、IOC容器、数据绑定、模板引擎以及我们日常使用的其他魔法/胶水/管道主机也是如此


    谢谢。

    以下是我的建议:浏览一下汇编(一本书或一个月就足够了)。对C++有很好的复习能力(希望它也能教你一些C语言)。现在世界是你的了。Python是用C/C++编写的,对象C与C++非常接近,.NET是C++和C/V/B.NET,Windows API是面向C的。


    顺便说一下,在这之后,我选择C#作为我的抽象语言

    < P>在C语言或C++语言中建立一个完整的函数编译器。也许它不是完整的堆栈,但它是其中很大一部分。这也是我想做的事情。如果我能找到时间和空间就好了。

    我正在寻找的学习资源最好的例子是Rob Eisenberg关于“构建自己的MVVM框架”的混合课程。它一步一步地解释模式,同时也实现模式,一次攻击一个问题区域


    希望还有更多信息。

    阅读源代码。构建你想要理解的东西是一个好主意,但是你可以通过观察事物是如何构建的来显著提高你对概念的理解。这对于您似乎感兴趣的基础架构(ORM/DI/模板)尤其如此

    让软件在您的机器上构建,附加调试器并跟踪代码。这对于具有良好IDE的C#/Java来说非常容易。对于像Python和Ruby这样的动态语言,需要一个好的编辑器和大量的grepping


    如果它是一个好的软件包,它通常会有测试。测试是开始深入研究代码的好地方。它们通常明确了代码的意图,也为您提供了一个逻辑起点,让您可以剥离这些层,真正地窥视底层。

    这在“此开发人员的生活”的一集中进行了讨论:。这是我推荐他多年来所做的所有短笔刷的路径:我对他的天才有着深深的敬意。我从帕斯卡开始,然后是C,然后是ASM,再是C(这次是更勇敢)。然后是C++,现在我切换到PHP+C。但是,是的,一个人应该从低级开始,然后进入抽象层。我很确定,如果一个人知道C,他就需要抽象。当你做一些微控制器编程时,汇编真的很有用,但在现代操作系统中这并不重要。没有专门的学习资源。大多数算法至少用一种语言表示(即使Knuth选择汇编)。还有很多算法,我们一直在学习新的东西。e、 g.一年前我们都很热。。。。现在我们在质疑ORM是有史以来最好的东西还是我们应该从NoSQL开始?我可以看出,您需要一种仅用于编程方法/api设计的wikipedia。嗯,没有:)添加了一个答案和示例资源:Django书遵循您描述的关于Django Python web框架的教学模式