选择您的第一种编程语言

当然,这是我在谈论编程时最常出现在我收件箱中的问题之一。 如果我们要开始撰写一系列文章,使您能够学习编程并以对世界各地的自由软件/开源社区的贡献的形式回馈自由知识,则有必要回答这个基本问题。 我应该学习哪种编程语言?

小德历史

为了开始理解和选择一种编程语言,我们必须首先了解它们的历史,用法和功能,以及它们如何随着时间的推移解决不同的需求。

机器语言(低级)

俗称 组装是可以定义为更通用语言的方言的编程语言...听起来有点复杂,但我将举例说明...我们知道计算的通用语言是 电力,这意味着计算机最终读取的是 0SY 1是的,我们称之为 e电脑英语。 在此示例中,西班牙语是基本规则,但众所周知,拉丁美洲人所说的西班牙语与西班牙所说的不一样,即使如此,秘鲁的西班牙语也与阿根廷的西班牙语不一样。 显然,我们所有人的词都差不多(0SY 1s),但其用途和含义可能会根据上下文而有所不同。

这发生在处理器级别。 当我们谈论 计算架构, (amd64,intel,arm等),我们指的是该方言 电脑西班牙语。 这是因为不同的公司以他们自己的方式理解顺序和含义,所以有些公司在细节上会有所不同,例如电流的流向或保留顺序。 0SY 1s.

这些编程语言速度极快,因为它们在最低的编程级别上工作,但是它们高度依赖于体系结构,并且学习起来肯定比其他语言要复杂一些。 这些通常需要更广泛的概念基础,以便转换数据并在其上运行有用的事情。 对于视频游戏爱好者来说,SEGA控制台就是一个例子,它使用Assembly对其游戏进行编程。 显然,那时的内存量是今天的最小量,因此有必要掌握一种快速的语言并生成轻量程序。

高级语言

这个庞大的团队考虑了后来出现的那些语言 组装。 获取可移植代码的需求引起了一种称为 编译。 其中首先利用C的语言是C语言,自70年代以来一直在操作系统级别主导编程。

编译语言

让我们看一下我评论的一个实际例子。 让我们看一个非常简单的C语言程序,该程序输出一行代码。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

编译后,我们具有以下内容:

自己的设计:ChristopherDíazRiveros

但是,现在让我们看看在汇编代码中复制相同的结果需要写些什么:

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

这是我们3行代码的翻译 simple.c, 文件 simple.s 使用命令创建 gcc -S simple.c 这就是我们的处理器会在方言中理解的 组装。 显然是为了创建一个包含以下内容的可执行文件 0SY 1文件需要处理 simple.s 并将其与我们系统的共享库连接。 这是通过使用 汇编器 (as) 和 连接器 (ld).

编译语言与低级语言相比具有很大的优势,它们是 便携式的。 可移植性提供了可以在不同处理器上执行的代码,而无需为每种架构生成特定的代码。 另一个明显的优点是它在读取和编写代码时使用的简单性。 在它的主要缺点中,我们具有很高的复杂性,因为与我们将要看到的另一种语言相比,如果您不知道如何控制C所提供的自由可能是有害的,那肯定就像运送枪支一样,如果没有经历一个人最终用自己的脚射击试图清洁枪支。

口译语言

在这一组中,我们有多种语言,其中最重要的是Python,Ruby,Javascript,PHP等...这些语言的基本思想是提供一种创建和执行程序的快速方法,因为困难的过程中的一部分是在解释器中执行的,逻辑的编程是在代码中实现的。 让我们看看上面的相同示例,但是这次是用Python编写的:

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

在最出色的事情中,我们可以看到第一行负责调用解释器(将执行我们的应用程序的程序),随后的代码比C中的版本更“简单”,因为所有繁重的工作都是在翻译上执行。

拥有。 克里斯托弗·迪亚兹·里维罗斯(Christopher Diaz Riveros)

解释性语言为开发人员提供了更高的安全性,因为它们具有更严格的安全控制(请注意它们并不完美,因为即使是最好的也会出错),并且我们不再承受没有意识到而发射武器的风险,因为第一次尝试,解释器将发出警报,并且执行将被取消。 执行程序时的主要缺点很明显,因为它比二进制程序慢,这恰恰是由于要确保代码能够工作的处理量更多。 如果程序不需要非常短的期限,则差异可能不会引起注意,但是如果我们每秒谈论数千或数百万个数据,则在已编译的语言中,差异会成倍地显着。

打字

这是编程语言的特征,这些可以是 Fuertemente 虚弱地 输入。 我将把这个话题留给另一篇文章,因为有必要并且好奇地了解程序中如何存储内存,但是现在我们只需要区分一下:强类型语言是那些需要知道将要处理的数据类型的语言在变量或常量上工作,而 虚弱地 类型可以执行转换,因此 隐含的 一切将取决于转换层次结构以及语言。 (如果现在不了解,没问题,我们将其留待以后使用)

范式

像GNU / Linux世界中的所有事物一样,编程语言基于范例,社区围绕它们产生。 例如,我们有 Python基金会 o 红宝石 o PHP o Bash(在这种情况下,它是GNU社区)。 我要说的是,我无法表达每个人都有的大量利弊,但是我可以告诉你,哪里有免费的编程语言,哪里就有一个社区,您可以在其中学习和参与。 值得一提的是,许多语言解释器(如果不是全部的话)都是用C或一些近似的派生语言编写的,它们的开发通常由一小部分社区负责,他们负责影响所有语言用户的决定。 甚至可以成立机构来确保语言的正确发展,就像C语言一样。

选择哪一个?

我们已经对语言进行了足够的讨论,但我仍然没有回答最重要的内容😛。 但是我希望在阅读了这篇小文章之后,我不必告诉您选择哪种语言,因为有了这些信息,您就完全有能力寻找引起好奇心的语言。 显然,如果您想学习编程语言 组装 要使某些功能起作用需要很长的时间,如果您选择编译语言,则时间将大大减少,在这种情况下,除了在* NIX系统中具有可移植性之外,您还可以学习有关同一系统操作的信息,因为与C或派生词的接触使您以一种或另一种方式学习操作系统的一般运行方式。 最后,如果您想学习轻量级的东西,并且无需太多了解就能做很多事情,那么解释型语言是学习和发展编程技能的一种有趣方式。

学习一些激动人心的东西

这是我能给您的最佳建议,如果您想学习一些东西,首先需要找到令人兴奋的东西,否则将很难克服所有编程语言的典型学习曲线。 假设您管理系统,在这种情况下,您可能需要学习一种理想的语言来 脚本 (解释),其中有Perl,Python,Bash等...也许是您的游戏,取决于您想玩的游戏类型,有许多语言版本的项目,例如Javascript,Lua,C ++。 也许您想创建一个系统级工具,因为您将看到C,Python,Perl,所以有些重复了,这是因为许多语言可以用于许多任务,这就是为什么要定义 多用途语言 在大多数情况下。

开始一个项目

我的意思不是说您创建了以下编译器,甚至不是以下编程语言,一个项目可能是修复您喜欢的程序中的一个小错误,甚至可能有助于改善文档。 为什么要提供文件? 因为没有比阅读和帮助编写软件文档更好的方法来学习软件的工作原理,因为在源代码之后,它是您可以找到的有关程序的最大信息源。 再过一会儿,我们将看到如何阅读项目代码并了解它们获得的功能和价值。

非常感谢您的到来。一如既往,您的意见可以帮助我生成更好的内容,并知道重点放在哪里,问候语。


发表您的评论

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

*

*

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

  1.   匿名

    一如既往的10 !!!!!! 感谢您的文章。 问候还有更多!

    1.    克里斯·阿德

      非常感谢🙂鼓励我继续写作。 干杯

  2.  

    我认为问“选择哪种语言”是一个错误。 我是认为语言最少的人之一,重要的是要学习编程的基础知识并“从计算上思考”。 确定语法,类型,是否支持OOP,其实用程序等。 我认为这是工作室中很自然的事情,毕竟每个程序员都知道超过1、2和3种语言...而且由于他拥有的编程概念(而不是语法),他能够用您尚未体验过的语言进行编程。
    但是,对于入门人员来说,我认为一种好的语言可以因为它的简单性而成为Python,但最重要的是,要进一步研究它,研究算法并了解事物在内部的工作方式。

    问候克里斯·阿德

    1.    克里斯·阿德

      您好Rubén,谢谢分享
      在编程世界中,随着时间的推移,我学到了一些东西,那就是“博学多才的他不会被挤压”,用这个众所周知的短语,我的意思是很多时候,尤其是最热情的人,决定尝试一下,在学习编码方面会非常快速。 我相信,而且我个人认为,一个优秀的开发人员除了具有某种汇编方言的概念外,还应该了解并掌握编译器语言和解释器语言。
      原因如下,原型制作必须始终是简单,快速,易于生成的,并且通常可以显示结果,但是如果这样做还不够的话,那么必须有“计划B”可用于解释员到达时。它的极限。
      知道Assembly的方言不仅可以给您信心,还可以教会您“以计算方式”思考,但是显然,这部分是所有部分中最复杂的部分,并且肯定不是所有程序员都喜欢的。
      回到主题,因为我认为主要思想是“选择一种语言并练习很多”,因为真正擅长编程的唯一方法是通过读写代码,这是我从中学到的内核社区当您长时间保持相同的语法时,您将不再看到表单,而开始担心Background。 从一开始就选择一种语言或语法的想法是,人们能够以一种可以习惯于阅读该程序的MEANING而不是该程序语法的方式来习惯其阅读和编写。
      这是这篇文章的主要原因,每个人都选择他们的语言,以便在下面我们可以解释概念,也许由此可以澄清疑问。
      问候和感谢分享。

  3.   迪比斯·孔特雷拉斯

    谢谢你的帖子,很好。

    问候

    1.    克里斯·阿德

      您好Deibis,谢谢分享sharing

  4.   豪尔赫FS

    我的建议:除了PHP以外的任何东西。 20年前,PHP的存在具有一定意义,这是因为其高度复杂性使得使用CGI以另一种语言对Web进行编程。 但是今天,有各种各样的框架可以使Web开发在功能强大的语言中更加有趣,例如Django for Python,Spring for Java或Rails for Ruby。 尽管PHP当前出现在所有语言的流行度图表中,但我认为PHP会随着时间的流逝而失去其相关性。
    我强烈建议从C \ C ++入手,以了解编程的实际情况,尽管学习难度很大。
    问候。

    1.    克里斯·阿德

      您好Jorge,感谢您的分享,只记得Laravel,这是一个非常可靠的框架🙂我个人从不喜欢使用Spring或Java进行Web开发,我觉得它很麻烦,但是我想这是他们所花时间的一部分在当时,它们是市场的先驱,现在肯定是现代替代品(Js,Python和Ruby)改进了呈现无需大量工作即可读取和修改的代码的方式。
      我也倾向于人们在生活中的某个时刻学习C / C ++,我是从Java开始的,但是我想那是编程的美,只要您能保持一致,就可以从任何您想要的东西开始乐于助人

    2.   

      我不能再反对你了。 我很多年前开始使用C和VB,后来专注于PHP和JS(因为我专注于Web开发),后来又学习时主要学习了C / C ++和Java。
      PHP具有许多我无法在此消息中列出的优点。 PHP7速度很快(比Python更快……不使用hhvm,不同的缓存,类似Phalcon的框架或Python的字节码),它具有大量的库和框架,具有大量直接实现的功能可供使用它们在任何时候都可以使用,其类似于C的语法使迁移到其他语言变得非常容易。
      全世界有30%的网站是用WordPress(PHP)制作的,而且似乎没有改变,维基百科使用它,Facebook(使用hhvm)和大量网站总计80%。

      我提醒您,像Django这样的Ruby on Rails已有12岁了! 他们这次取得了什么配额? 当然,我们正在谈论的是实际上具有垄断地位且没有零碎类型的两个框架。 我还有其他严肃的选择吗? 说PHP将失去相关性几乎没有道理。

      由于Python具有快速的学习曲线,因此它已成为时尚,它是一种简单的语言,在诸如Google和Google等公司的支持下,他们以“在20个小时内成为Python的程序员并开始使用它”的身份将其出售给您。现在有一种寻找新语言的方式(Go,Dart ....)以在CV中脱颖而出(或者每天都有50种Javascript框架!),但这并不意味着事情会改变。

      Ruby是一种非常有趣的语言,但是它与既定的模式相去甚远,因此我很难相信它比PHP更流行。 当然,我认为Ruby是开始编程的最糟糕的语言。
      我了解您告诉我,Python可以很有趣,甚至Ruby具有许多特殊功能……但是Spring与Java一样? 真? Java可以有很多东西……但是比Python和PHP更有趣?

      从Python开始非常好,但是如果您仅坚持使用Python,就有冒着许多公司会认为您的编程水平不高的风险(即使您非常擅长Python)。 这是因为您正在与其他``多用途''语言竞争,例如C ++或Java。 您可以使用Python进行编程,而无需了解到底有什么不同:指针,按位操作,垃圾收集器如何工作以及冗长的操作等等。
      Python可能与现有的“经典编程”最不相似,并且可以将其视为“儿童语言”(隐喻),这反过来又是一种优势,也有一种劣势。

      1.    豪尔赫FS

        “ Python可能与现有的“经典编程”最不相似,并且可以看作是“孩子的语言”(隐喻),而这反过来又是一种优势,也是一种劣势。” 大声笑,这是我见过的关于Python的最有趣的事情之一。 您是否真的学过Python?
        PHP以外的世界已有多久了?
        朋友PHP死了。 由于非常糟糕的初始设计,PHP(\ d +)承担了很多负担,并且为了维护用户社区,PHP继续非常彻底地拖延了所有这些初始设计错误。 PHP诞生时就没有模块化,而是具有许多C样式的功能(顺便说一句,我不知道您从哪里来,因为它的语法类似于C,可以很容易地移植到其他语言中)。 PHP应该表现的高级语言具有丑陋的东西,例如其官方网站上列出的这些功能 http://php.net/manual/en/indexes.functions.php这是因为它是在没有模块化的情况下诞生的,因此所有内容都是肮脏的,并且没有名称空间。
        这是一段PHP代码:
        “ Stream_notification_callback”);
        stream_context_set_params($ ctx,$ params);
        var_dump(stream_context_get_params($ ctx));
        ?>
        在某个时候能否确定所有这些“流”功能的导入来源? 不,您可以说它们是内置函数,但是整个生态系统就是内置函数?。 因此,PHP代码中有很多垃圾,如果您不能够理解这种不良设计的复杂性和无用性,请原谅我,但仍有很多地方可以看到。
        Wordpress是出色的软件解决方案,但这并不意味着它具有良好的技术基础。 您可以用石头锤打,用牙齿打钉子,您仍然可以做出色的木工工作,但是,当然,比起另一个用一把好锤子的木匠来做得多。

        另一方面:“在20个小时内成为一名使用Python并成为一名程序员的程序员”,我从未见过如此愚蠢的事情。 您可能会在20小时内用PHP建立网站,而对Web编程或编程本身的工作方式一无所知。 实际上,这就是为什么PHP如此受欢迎的原因,因为进入这个世界的新手将PHP视为快速发展的要点(这就是为什么这么多的PHP代码如此困难)。
        关于Python的缺点,它唯一成功的地方就是使用了指针,但是无论如何,Python是一种高级语言(与Java一样),并且它不在语法级别使用它们。 但是按位运算,很严重吗?,您的意思是x << y,x >> y: https://wiki.python.org/moin/BitwiseOperators。 我对垃圾收集器的了解少得多: https://docs.python.org/3/library/gc.html.
        PHP差距:
        -PHP的面向对象编程(OOP)设计非常糟糕。
        -您还不能重载运算符。
        -惊喜 function overloading 在PHP中,您自然不会从这个概念中得到期望。
        …..我只是无聊了呵呵。
        问候。

        1.   

          我在括号中“理解了隐喻”(通过在相同的工作环境中将Python与C ++ / Java进行比较),很明显您不理解它。 我可以告诉你,C ++程序员学习Python的速度比Python程序员学习C ++的速度快得多,因为C / C ++程序员的平均薪水比Python高很多就不足为奇了。 Python一。
          我可以用其他示例向您解释,即使是图纸! 但似乎您只专注于将我的内容去上下文化和嘲笑。

          我从来没有说过PHP是世界上最好的语言,或者它具有典范的设计,我不知道您从哪里得到的。 我认为在判断他人的知识之前,您应该提高阅读理解力。 真实的(我在信息中说过)是,除了可以找到的整个框架,库和实用程序生态系统之外,使用它进行开发也非常敏捷。
          另外,我们进行哪种比较? 是将Python作为一种多用途语言还是用于网络? 在那种情况下,为什么我们将其与PHP进行比较? PHP有一个特定的领域,在该领域,Python(占0.2%的份额,这一年没有变化)在PHP旁边显得苍白。
          现在我们将看到PHP趋势; 从82,4年2017月的83.1%到2018年XNUMX月的XNUMX%: https://w3techs.com/technologies/history_overview/programming_language

          Python会废除PHP吗? 在哪一年在什么五年内? 十年?
          Python将能够在许多其他任务中使用,甚至比PHP更加广泛地使用,但是Python作为Web开发语言距离相关性尚有很短的距离,从0.2年的83.1%到现在的XNUMX%停滞。

          您还可以说我不会在PHP之外闲逛,这暗示着我只知道PHP,而正是由于我很长一段时间没有使用PHP编程,哈哈。 目前,出于工作原因,我主要使用Java进行编程。
          我也没有说过通过Python进行编程,您不会了解按位,垃圾回收器或指针。 相反,您甚至可以不使用Python进行编程。 但是,我非常怀疑C ++程序员会遇到这种情况。 很明显,当Python进入“多用途语言”领域时,我进行了比较,而不是针对Web编程。

          在20小时内成为一名程序员只是一个玩笑,是一种夸张。 但是,我可以在这里给您提供有关在线教育平台和课程的各种链接,这些链接都可以实现类似的目标。 不要怪我,要怪它是一个认为要成为“专家程序员”的职业市场,要花20个小时的时间。 Python是一种流行的语言,并且学习速度最快...白色且瓶装。

          我坚持认为,您的信息基于说PHP有多糟糕(在某些方面,我同意)。 在我看来,这是正确的,除了我的信息不是关于此的,而是为什么PHP将继续使用,并且明天不会如您所愿消失。

          问候

  5.   没有人

    C->转到->(Lisp | Haskell | Java |其他)

    1.    克里斯·阿德

      最近,一位读者向我发送了一封电子邮件,向我推荐了一本Go书的推荐书,肯定是将来要考虑的一种语言,也许在这里会发表一篇帖子🙂许多图形要分享

  6.   MVR1981

    好吧...我该如何编程? 为什么今天要与已经存在的优秀和经验丰富的程序员一起学习编程语言? 我可以解决哪些其他人尚未以更有效的方式解决的问题呢?……简而言之:今天的程序员是多么原始? 如何与他人合作,而不会因缺乏知识和经验而被踢出或踢出?

    1.    克里斯·阿德

      您好mvr1981,非常有趣的问题🙂我们将把它们从最后一个推到第一个。

      我如何与他人合作,而不会因缺乏知识和经验而被踢出或踢出?

      如果您不想被踢,第一步就是学习过程,您无法想象有多少人想以自己的方式做事,希望社区适应他们的愿望。 肯定就像我来到你家弄得一团糟并且不尊重你的家人一样(那是很多次的感觉)。 如果您想防止这种情况的发生,请密切注意贡献的准则,实现的方式,并且不要发送不完整的内容,如果您需要帮助,总有沟通的方式,但工作可能很糟糕产生不良的第一印象。 如果您不希望自己选择自己,可以将他视为无用的程序员,不知道自己在做什么,或者不知道自己正在成为一名优秀的程序员,这只有在实践中才能发生,当然一路上的错误。 在获得Gentoo开发人员身份之前,我错了很多次,尽管经历了“糟糕的时光”,但这并没有阻止我尝试。

      今天成为一名程序员有多原始?

      -这与创造力无关,在今天是必须的,想一想以下情况,即20或30年前,打字是必须的,许多工作可以推断出您知道或至少可以做到。 今天,了解Office是必不可少的,几乎没有一项工作能使您站在Office文档的前面。 明天,很快,编程将是必要的。 从个人角度来看,这也适用,知道您将金钱,健康,家庭等重要事物托付给他们的程序中发生了什么,这对我来说是合乎逻辑的,因为只有知道了它们的工作原理和用途,才能知道它们的局限性。要知道它,您需要知道如何编程。

      我可以解决哪些其他人尚未以更有效的方式解决的问题?

      -你会惊讶于 功能 说实话,社区中有世界上最好的程序员也没关系,工作量永远大于开发人员的工作量,我可以在Gentoo上验证一下是开发内核的人,为Google,索尼等工作的人……我们所有人的唯一共同点是,没有人有足够的时间来完成所有待处理的工作。

      为什么今天要与已经存在的优秀和经验丰富的程序员一起学习编程语言?

      -这在第二个问题中得到了回答。😉现在,我可以补充说,几代人必须能够支持已经开发的工作,这意味着那些“有经验的”开发人员将逐渐消失,因此“年轻人»开发人员要承担责任并帮助保持生命周期,一个没有年轻人和经验不足的人的社区会随着时间的流逝而消失,这正是因为没有机会传播知识。

      我该编程什么?

      -这也许是最难回答的问题,但是我将举一个例子说明poco,我最近开始遭受GNOME 24及其与Wayland的连接问题的困扰,这些问题使诸如Shutter之类的程序无法截屏。 这对我来说是个问题,因为当我写文章时,我需要向您展示我的意思🙂环顾四周,我来到了GNOME屏幕截图应用程序,至少可以说是“极简主义者”。 它的功能之一是拍摄屏幕区域,但是如果我拍摄不好,会发生什么情况? 好吧,我必须离开并重新进入程序,这肯定是乏味的,一个说“ Retake”的按钮或类似的东西可以让我进行新的拍摄而不必退出并再次输入对我有帮助。编程项目,我从来没有在GNOME框架中编程过任何东西,所以很明显,在使用新按钮发送“补丁”之前,我有很多东西要学习,但是在学习编程的过程中,很幸运 特集 当所有人都可以使用时,它将对多个应用程序有所帮​​助。

      这是一个例子,它很简单,并且肯定任何其他“专家”程序员都可以做到,但是由于明显缺乏时间,事实并非如此,现在我是有可能这样做的人。而不是真正的超级程序员。

      现在,只有您才能找到使您如此频繁使用的软件使您的生活变得“简单”的事物,其美妙之处在于,如果我们遵循我将在以下文章中为您提供的建议,该语言没关系,因为您将了解开始理解所阅读的代码并对其进行修改以执行所需操作的基础知识,这是一种非常特别的感觉🙂

      问候和再次感谢

      1.    没有人

        我认为只有打开gnome Captures程序后,最简单的方法是转到键盘快捷键并分配三个组合打印以捕获所有alt打印以捕获活动窗口,然后通过超级打印从菜单中进行选择捕获区域,可用的快捷方式已经可用,只需分配它们即可

        1.    克里斯·阿德

          这就是为什么我们举一个例子🙂因为像按钮之类的小东西正在编程中,它们可以帮助某些东西,因为它们可能会被其他人忽略,但是它们肯定满足了主要目标,帮助学习了编程,并让位于新功能,在该按钮之后,可以启动许多操作,例如会话管理或所有已拍摄照片的预览屏幕,或者简而言之,可以完成许多操作。 这样做的想法是,您会发现一些让您好奇的东西,由于时间不足或尚未实施人员,可能需要对系统上运行的任何软件进行改进或添加新功能🙂

      2.    MVR1981

        谢谢你。 是很好的答案。

    2.    吉列尔莫

      好吧,对于不打算成为该领域专业人士的人来说,有必要了解他们在哪种环境下工作,无论是对于管理任务还是指令,例如Python / Basic以及如何在Office程序包(例如LibreOffice或MS Office)中编程宏都是很有趣的。 有时候,这可以为您或您周围的其他工人节省很多时间,并要求他们执行重复的任务,您可以创建一个仪表板,以在与数据库连接后快速计算公司的主要比率并执行一些SQL查询。
      像一切一样,如果您触手可及的工具,可以考虑如何充分利用它。 并非一切都是虚构的。

  7.   马塞洛

    吉列尔莫完全同意您的观点,“并非所有事物都是发明的”,并且发明的内容是可以修改的。 您必须充分利用这些工具,并使用最适合您需求的工具。

  8.   Ricardo

    对于编程而言,首先要学习的语言是英语,然后是最吸引他们并且对他们来说看起来最漂亮的语言。

    1.    克里斯·阿德

      我没有写过,但是真正的🙂知道英语很有帮助,因为大多数语言都是用英语写的,而且因为大量的第一手信息也非常感谢您的分享

  9.   鲁本·萨尔加多

    优秀的文章,除了激励。

    1.    克里斯·阿德

      很好,非常感谢thank问候

  10.   贡萨洛·马丁内斯

    编程人员知道如何推理并将该推理转换为指令。

    关于本文的两个澄清:

    1)根据我作为编程老师的将近10年的经验,无论学习哪种语言,都不会影响学习的方式和复杂程度。

    我认为,可以以一种结构化的方式学习然后再进行其他更复杂的事情的语言,比从一开始就从Java之类的语言开始要容易。

    用几行代码(例如,在Pascal的情况下为PROGRAM或#include 对于C),您可以开始开发算法并直接使用其逻辑对程序进行编码,就像在Java中一样,Java本身需要一个类,一个方法以及一些其他东西,对于初学者来说这是信息重载不必要的东西,很可能会被忽略并转移到其他事物上,但是它们是存在的概念,我认为,忽略事物并不是学习的好方法,尤其是当语言迫使您使用它们时。 这就像是第一次使用M-16进行目标练习,然后在半自动模式下用双手像手枪一样握住手柄射击数月。

    2)语言是解释还是编译取决于其实现方式,而不取决于语言本身。 例如,如果您使用Python,对于使用wsgi的Web应用程序(在Apache中是mod_wsgi,对于Nginx是uwsgi),则在启动相应的模块时会编译python代码,生成.pyc文件

    还有用于Java的二进制文件生成器(生成本机二进制文件而不是字节码),或纯二进制文件中的php脚本编译器。

    关于他们对PHP的看法,它只是在另一个时代设计的一种语言,同时考虑了其他因素,并且没有考虑当时不存在的方面。 显然,使用最广泛的事实并不能使其成为世界上任何事物的最佳选择,但这是现实:这是在所有编程中最有可能找到工作的语言。 知道它不会带来伤害,即使您不喜欢它也是如此。

    甚至我已经担任系统管理员几年了,离开了开发人员的工作,每隔一段时间我都不得不将PHP代码放入某些东西中。

    1.    克里斯·阿德

      嗨,贡萨洛,感谢您的分享,

      当然,在谈到不必要的信息过载时,知道可以解释或编译相同的语言在现阶段是没有必要的。🙂当然,实现很重要,但如果说在此级别上,我们所产生的不只是混乱。 同样,没有解决面向对象的编程问题,也没有解决其他必须逐步解决的问题,以免让人头晕目眩。

      由于篇幅所限,本文的主要目的是向希望编程的读者展示两种语言世界,“传统”解释的语言更加“简单”,“传统”解释的语言更加丰富“复杂”,但值得拥有更扎实的理解的复杂程度,并且取决于每个人选择语言,因为取决于编程方法,他们将能够在同一时间选择自己喜欢的项目时间,他们将能够理解他们读和/或写的内容🙂

      再次谢谢你,问候。

      1.    贡萨洛·马丁内斯

        这是一个错误,没有编译或解释的语言,每种语言都有解释器和编译器,两者都适用于不同的情况。

        现在提起它不是信息过载,做出这样的声明是错误的。 我认为,如果您不希望信息过多,则忽略解释器会更有效率。

        1.    克里斯·阿德

          感谢您的澄清,当我回到主题时,我会考虑它。 干杯

  11.   战神

    考虑到PHP不受欢迎,您建议服务器端使用哪种语言?
    对于数据库也是如此,我不知道是否会有比mySQL更好,更现代的东西。

    1.    克里斯·阿德

      PHP并没有失宠……每种语言都有其生命周期,并且php当然已经是一种进入“成熟”规模的语言,这使其在业务水平上非常有用,而稳定性最重要的是……就像一些仍在用Java开发的银行一样,它比php更为“成熟”,并且肯定有它的追随者和反对者……更不用说COBOL了。

      如果您正在寻找的是统一性和现代性,那么javascript正成为所谓的``全栈开发人员''的最爱之一,尽管ruby范例或python的``简单性''也是很好的参考.... 根据需要,甚至可以选择perl🙂

      如今,ORM(对象关系映射器)在关系数据管理方面发挥了巨大作用。 它从SQL语法到类和属性处理...几乎所有语言(如果不是全部)都处理某些ORM。

      。 Mongo DB是非常重要的关系数据库的替代方法;但是,有必要了解其优缺点,并根据特定需求验证它是否是最佳解决方案。

      希望对您有帮助,问候🙂

      1.    战神

        谢谢,我会检查的。

      2.    战神

        我忘了。

        您如何推荐我在Linux中使用JAVA?
        如果可以区分免费和封闭更好。

        1.    克里斯·阿德

          Eclipse和NetBeans是开放源代码,我不确定是否有任何纯自由软件,我有使用vim的习惯,因为有时大量的代码会使使用整个IDE的速度变慢,并容易出现执行错误。 问候🙂

        2.    保罗·泽塔

          要在Linux中使用Java,我建议您使用IntelliJ。

          1.    克里斯·阿德

            PS,IntelliJ是专有软件🙂

  12.   je

    伙计们还记得...我在一家银行工作,我告诉你编程语言排在后面,让SQL和存储过程先行。

    1.    贡萨洛·马丁内斯

      您必须考虑它们的存储过程,但是至少在我看来,通过在引擎之间不使用可移植的语言,除非没有其他选择,否则总是避免它们。