代码之家  ›  专栏  ›  技术社区  ›  Ben

学习较低的计算水平[结束]

  •  8
  • Ben  · 技术社区  · 14 年前

    我觉得我是一个很好的开发人员,但是如果没有像你在计算机相关大学课程的第一年那样学习计算机的低级知识,当我和人们谈论更多技术性的低级计算时,我会迷失方向。

    如果这是一个模糊的问题,或者以前被问过,请道歉(我确实检查过,在这里找不到任何能回答我问题的东西)。

    11 回复  |  直到 12 年前
        1
  •  0
  •   Martin Smith    14 年前

    给自己拿一份 William Stallings - Computer Organization and Architecture . 这是一本标准的教科书,涵盖了你提出的大部分观点(并且为我工作过!)。

        2
  •  3
  •   John R. Strohm    14 年前

    你当然熟悉麻省理工学院的 Open Courseware 地点。还有比在课程6(电子工程和计算机科学)部分徘徊更糟糕的事情。如果你是认真的,并且有时间,从 6.001 (还有什么?)那么 6.004 ,然后 6.033

    我应该提醒你。该网站,并探索其中的内容,可以高度上瘾。

    如果你有时间和金钱,你甚至可以考虑上大学。有了四年的工作经验,你就不会对每一所大学里发生的行政鸡毛蒜皮的事情感到烦恼,你从中得到的记忆将伴随你一生(几年前,我有机会回到学校读了几个学期,在我刚毕业的20多年后。我不会用那次经历换取任何东西,即使是豪宅 以及 隔壁的女孩们。)

        3
  •  2
  •   Noon Silk    14 年前

    我从这里学到了很多: http://www.asmcommunity.net/board/

    在汇编中写各种各样的东西是强迫自己理解正在发生的事情的一个很好的方法。你可以试试 FASM MASM

        4
  •  2
  •   Mark Schultheiss    14 年前

    从一个长期的专业开发人员以及讲师的角度来说(Comp。我知道你的处境。乍一看,我想到了几个想法。

    • 找些能控制你的爱好 音乐、机器人控制等) 无论哪一行
    • 上夜校或者 从那里开始。
    • 比如开源操作系统之类的东西 设备驱动程序 了解它在做什么。
    • 这里的所有其他答案(C,C++代码,汇编代码,好的老标准书等)
        5
  •  1
  •   Rowland Shaw    14 年前

    如果您主要是在.Net世界编程,那么了解资源管理将是有益的;这样做的一个好方法是去一种较低级别的语言,比如C或C++,编写一些非平凡的处理用户生成的数据的方法。

    阅读算法并比较它们也可能是有益的——能够理解“大O”符号将非常有用。

    在我的经验中,这些也涵盖了普通.Net程序员的两个常见陷阱——相信框架能处理内存管理的所有弊病(很容易造成资源泄漏),以及在算法上获得正确的性能(等待更快的硬件对我来说太过傲慢)

        6
  •  1
  •   Dog Ears    14 年前

    手机开发

    Android是一个很好的平台,你需要的所有工具都是免费的,你甚至不需要手机,因为SDK附带了一个模拟器。在windows机器上考虑一些你不会三思而后行的事情会让你学到很多,而从.net的飞跃并不是那么好。

    您将了解受限的环境、内存、cpu周期等,它们将使您以不同的方式思考编程,更重要的是,它非常酷!

    你甚至可以在android/ARM平台上进行本机开发的实验?

        7
  •  1
  •   Dale Ragan    14 年前

    我会从阅读开始 Computer Systems: A Programmer's Perspective . 这正是你要找的。我喜欢这本书。我有第一版,最近刚买了第二版。它在卡内基梅隆大学被用于 Introduction to Computer Systems 当然。

    以下是章节列表:

    • 第二章:信息的表现与操纵
    • 第5章:优化程序性能
    • 第六章:记忆层次
    • 第7章:链接
    • 第八章例外控制流程
    • 第九章虚拟内存
    • 第11章:网络编程
    • 第12章:并发编程
        8
  •  0
  •   Ram    14 年前

    也许你可以看看

    1. 编者
    2. 数据结构
    3. 汇编语言及其执行
    4. 微处理器
        9
  •  0
  •   Andreas F    14 年前

    http://www.duntemann.com/assembly.html )在那个话题上,我是个好的开始。

        10
  •  0
  •   bergin    14 年前

    +1关于Ram-在我的cs课程中,我们学习了操作系统(研究流水线-有趣的概念)和编译器。从基本模型开始,如果你的兴趣进一步,看看它是如何很快变得非常复杂的。有趣的话题

        11
  •  0
  •   David Cary    14 年前

    短篇小说:

    “K&布莱恩·克尼根和丹尼斯·里奇的“C编程语言”,最好是最新版本(1988年),而不是1978年的版本。

    长卷:

    “Knuth”,又名“计算机编程的艺术”,作者:Donald Knuth。 对于一本所有例子都是用机器语言编写的书来说,这是一个出人意料的高水平。

    《计算机体系结构:定量方法》,作者:Hennessy和Patterson。 可能有点太低级了——关于构建自己的CPU的信息。

    “AoE”,又名“电子艺术”,作者:保罗·霍洛维茨和温菲尔德·希尔。