程序设计:计算机心理学

无论是作为用户,作为管理员还是作为程序员本身,我们都与编程紧密相关,但是随着时间的流逝,最终它将与我们的生活更加紧密地联系在一起。

在这篇文章中 (我计划创建的一个小系列的开始),我想与您分享一些有关我多年来发现的编程知识的概念。 我不假装技术过高,稍后将解释原因。 但是我要做的是让他们用我的眼睛看世界,如果他们喜欢它的外观,那么就让他们深入研究一下🙂

在详细介绍之前,我将首先攻击最简单的一点。

为什么我不打算发表技术文章?

好吧,对于那些阅读我的文章的人 最好的linux命令,您将对这种关注的原因有所了解。 技术总是在变化,如果我今天写点东西,如果该帖子受到好评,那么我将总是必须更新信息。 在当今最通用的语言中,唯一可以确定的就是改变。 我的意思是(程序员可以证明我是对的)框架总是在不断发展和从其核心进行修改,这是因为出现错误,有些错误可以被认为是简单的 虫子,而其他人可能会成为 漏洞。 这就是为什么今天写一篇有关特定语言的文章可以保证我可能有用几个月,在最好的情况下是一两年,但这不是主意。

电很重要

那些对最低的软件编程语言进行了一些研究的人会知道,这一切都可以追溯到电力上。 过去,编程是在硬件级别完成的,这意味着那些旧时钟,计算器和许多其他设备可以通过以下方式实现自己的命运: 硬件.

问题

更改硬件编程既昂贵又复杂🙂(至少那是他们告诉我的 )。 这就是为什么出现处理器的原因,它实际上抽象了该硬件层,为我们提供了一些命令,以便能够执行通过硬件可能进行的所有操作,直到现在才在硬件层进行。 软件。

处理器

当今的处理器具有数量有限的功能,称为 指示 在许多书中。 这些功能使您可以执行硬件可以执行的最基本的功能,并通过计算机的内存调动信息。

寄存器

寄存器是一个空间,处理器可以在其中存储信息以能够在内核上进行工作,具体取决于其架构和大小,寄存器可以具有不同的大小和顺序,但是寄存器的功能很简单,其功能是存储告诉处理器的数据。以下工作类型之一: 移动数据,算术和逻辑以及控制 流。 这些类型的功能都可以概括为一切。

二进制

处理器工作在二进制级别,这意味着他们仅了解 0SY 1是的🙂。 一个奇怪的事实here还记得GNU / Linux权限吗? 好, 您是否想知道处理器实际上如何识别这些权限? 简单🙂二进制。 在最低级别,处理器将许可权理解为连续的0和1,这就是我们形成的八进制具有值的原因 为了执行 2 用于阅读,4用于写作。 对于那些可以阅读二进制文件的人,他们将理解:

111100101111

他们为该组设置了读取,写入和执行权限 他人 同时为小组表演和朗读  且仅供文件所有者读取。 最好奇的是,最后三个1激活 setguid, setuidsticky bit。 如果您不知道此二进制文件是什么,我可以在另一篇文章中进行解释,如果您不了解setuid,setgid和粘滞位,我会留给您😉,但如有必要,我也可以在其他地方进行解释。

当好奇心呼唤...

好吧,如果您在这里关注了我,那么您的好奇心应该开始问很多事情,我想回答的第一件事(也许是这篇帖子允许我做的唯一一件事,因为我已经写了很多东西)是: 如果调用相同,为什么程序如此不同?

心理学

编程是学习思想的艺术🙂Edsger Dijkstra说,我想以很久以前读过的一句话作为本节的开头:

如果调试是调试的过程,那么编程必须是引入它们的过程

而且我找不到更好的方式来解释所有这一切-为什么编程要引入错误的艺术? 在这一点上,不只一个人会想知道。 答案很简单,因为我们的思想是人类,人类会犯错🙂这是我们的本性,只要人类存在于地球上就将存在。

电脑没错

我们是犯错误的人,团队将始终限制自己复制我们告诉他们的内容,他们不承担任何责任,不解释任何事情,不反对任何事情,只是阅读和行动。 因此,在另一本C书中,我读过这样的内容:

C是粗鲁的语言,您可以使用它做很多事情,但是如果您愿意这样做,它永远不会阻止您用脚射击。

这是一个相当奇怪的事实🙂因为在如此低的级别上工作时,可能执行的许多操作可能是破坏性的,而在稍高级别的语言中则不会发生这种情况,因为它们的防错层较旧。

一切都是心理学

每种语言,框架,程序员都尊重并遵循某种哲学,如果没有,就没有一个非常有希望的未来。 我们中从事UNIX及其衍生产品工作的人们可能会知道这句话:

做一件事,做得很好。

这种理念是诸如内核之类的一些项目所遵循的理念,相当小的功能只能做一件事,但是会尽力而为。

如果我们使用其他语言,则每种语言都将具有一种功能和目标,其中一些更具宽容性,而另一些则更具限制性,但是所有语言都遵循自己的思维方式。

学会读思想

程序员之间有一种很普遍的说法,就是有数百种方法可以解决相同的问题。 的确如此,但是在这方面还有更深的意义。 阅读源代码使您可以阅读思想-不仅是任何思想,而且是编写它的程序员(或多个程序员)的思想。 这是一种虚拟的,深厚的日记🙂它使您可以深入了解开发人员的想法,对于大型项目,它可以使您了解其逻辑和批判性思维随时间增长的方式。 一种非凡的东西,极大地滋养了最年轻的人们,因为您可以了解必须发现他们的人们的最佳道路🙂

保持一致

许多程序员和专家说,我们必须摆脱困境 舒适区,尽管这是事实,但维护某些流程和格式也非必要。 这很容易解释,我们的思想是重复性的并且尊重结构,如果您每天以相同的方式编写代码,那么在很短的时间内您将不再考虑表单,而将精力集中于此。 背景。 这使您可以看到 逻辑 该程序的而不是 语言语法。 这就是为什么我认为学习 概念 永远比学习更重要 表格。 这是个人观点,但我希望阅读完所有这些内容后,您才能理解我为什么这么认为🙂还有一些必须使用C,Java,Javascript,Python,Ruby,PHP和其他语言进行编程的人告诉他们🙂概念使编写代码变得容易。

总之

好吧,这是本系列的第一步,我希望它将帮助您对编程艺术有所不同,甚至邀请您深入研究使您可以执行已编写数百次的代码的概念,但是它们还没有停止思考它的真正作用。 对于那些尚未开始编程但希望进行编程的人,可以对真正重要的事情进行一些优先排序🙂问候


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   哈维尔·德尔加多

    在一篇非常认真的文章中(在这种情况下)可能以一种更深入编程的新语言讨论了编程(在这种情况下),我的支持如下。

    1.    克里斯·阿德

      嗨,哈维尔,非常感谢🙂我认为这非常重要,因为他们一直只想教我重现代码,即著名的Ctrl + C…Ctrl + V🙂,但即使是即使这是世界上最简单的问题,我宁愿编写它,也不愿从别人那里复制它,这让我觉得这是我的创造。
      问候

  2.   巴鲁阿

    我已经在等待下一章了,很久以前就停止了编程,我想在下一章中可以找到我做出决定的一些原因,实际上,我从这一章中脱颖而出。

  3.   克里斯·阿德

    你好Balua🙂
    好吧,我会为下一个提出一些建议。 以一种可以在任何帖子中跟踪线程的方式对所有内容进行排序有点复杂,但是我将尽快尝试使用此线程(以及其他一些问我的线程)。 谢谢你的评论。 干杯

  4.   Anders

    文章的瑰宝!,我希望下一篇...