選擇您的第一種編程語言

當然,這是編程時最常出現在我收件箱中的問題之一。 如果我們要開始撰寫一系列文章,使您能夠學習編程並以對世界各地的自由軟件/開源社區的貢獻的形式回饋自由知識,則有必要回答這個基本問題。 我應該學習哪種編程語言?

一個小歷史

為了開始理解和選擇一種編程語言,我們必須首先了解它們的歷史,用法和功能,以及它們如何隨著時間的推移解決不同的需求。

機器語言(低級)

俗稱 裝配是可以定義為更通用語言的方言的編程語言...這聽起來有點複雜,但是我將舉例說明...我們知道計算的通用語言是 電力,這意味著計算機最終讀取的是 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,正如您將看到的某些重複的那樣,這是因為許多語言可以用於許多任務,這就是為什麼定義 多用途語言 在大多數情況下。

開始一個項目

我的意思不是說您創建了以下編譯器,甚至不是以下編程語言,一個項目可能是修復您喜歡的程序中的一個小錯誤,甚至可能有助於改善文檔。 為什麼要提供文件? 因為沒有比閱讀和幫助編寫軟件文檔更好的方法來了解軟件的工作原理,因為在源代碼之後,它是您可以找到的有關程序的最大信息來源。 再過一會兒,我們將看到如何閱讀項目代碼並了解它們獲得的功能和價值。

非常感謝您的到來。一如既往,您的意見可以幫助我生成更好的內容,並知道重點放在哪裡,問候語。


37條評論,留下您的評論

發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  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的方言不僅可以給您信心,還可以教會您“以計算方式”思考,但是顯然,這部分是所有部分中最複雜的部分,並且肯定不是所有程序員都喜歡的。
      但是回到主題,因為我認為的主要思想是“選擇一種語言並實踐很多”,因為真正擅長編程的唯一方法是通過讀寫代碼,而這是我從內核社區中學到的當長時間保持相同的語法時,您將不再看到表格,而開始擔心背景。 從一開始就選擇一種語言或語法的想法是,人們能夠以一種可以習慣於閱讀該程序的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)已經能夠改善呈現代碼的方式,這些代碼無需大量工作即可讀取和修改。
      我也是從Java入手的,所以人們傾向於在生活中某個時候學習C / C ++的人,但是我想這就是編程的美,只要您始終如一,它就可以隨心所欲地開始。乾杯

    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之類的公司的支持下,他們以“在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高一點也就不足為奇了。
          我可以用其他示例向您解釋,即使是圖紙! 但似乎您只專注於將我的內容去上下文化和嘲笑。

          我從來沒有說過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框架中進行過任何編程,因此在發送帶有新按鈕的“補丁”之前,顯然我需要學習很多東西,但是在此過程中,我學會了編程,希望 特點 當所有人都可以使用時,它將對多個應用程序有所幫助。

      這是一個例子,它很簡單,並且肯定任何其他“專家”程序員都可以做到,但是由於明顯缺乏時間,事實並非如此,現在我是有可能做到這一點的人,而實際上並沒有成為一個超級人程序員。

      現在,只有您才能找到使您如此頻繁使用的軟件使您的生活“更簡單”的事物,其美妙之處在於,如果我們遵循我將在以下文章中為您提供的建議,那麼語言就沒有關係了,因為您將了解開始理解所閱讀代碼並對其進行修改以執行所需操作的基礎知識,這是一種非常特別的感覺feeling

      問候和再次感謝

      1.    沒有人 他說:

        我認為只有打開gnome Captures程序後,最簡單的方法是轉到鍵盤快捷鍵並分配三個組合打印以捕獲所有alt打印以捕獲活動窗口,並通過超級打印從菜單中進行選擇捕獲區域,可用的快捷方式在這裡,只需分配它們即可

        1.    克里斯·阿德 他說:

          這就是為什麼我們舉一個例子🙂因為像按鈕之類的小東西正在編程中,它們可以幫助某些東西,因為它們可能會被其他人忽略,但是它們肯定滿足了主要目標,幫助學習了編程,並讓位於新功能,在該按鈕之後,可以啟動許多操作,例如會話管理或所有已拍攝照片的預覽屏幕,或者簡而言之,可以完成許多操作。 這樣做的想法是,您會發現一些讓您好奇的東西,由於時間緊缺或尚未實施人員,因此可能需要對系統上運行的任何軟件進行改進或添加新功能🙂

      2.    MVR1981 他說:

        謝謝你。 是很好的答案。

    2.    吉列爾莫 他說:

      好吧,對於不打算成為該領域專業人士的人來說,有必要了解他們在哪種環境下工作,無論是對於管理任務還是指令,例如Python / Basic以及如何在Office程序包(例如LibreOffice或MS Office)中編程宏都是很有趣的。 有時候,這可以為您或您周圍的其他工人節省很多時間,並要求他們執行重複的任務,您可以創建一個儀表板,以在與數據庫連接後快速計算公司的主要比率並執行一些SQL查詢。
      像一切一樣,如果您觸手可及的工具,可以考慮如何充分利用它。 並非一切都是虛構的。

  7.   馬* 他說:

    吉列爾莫完全同意您的看法,“並非所有事物都是發明的”,並且發明的內容是可以修改的。 您必須充分利用這些工具,並使用最適合您需求的工具。

  8.   里卡多 他說:

    對於編程而言,學習的第一語言是英語,然後是最吸引他們並且對他們來說看起來最美麗的語言。

    1.    克里斯·阿德 他說:

      我沒有寫過,但這是真的🙂知道英語很有幫助,因為大多數語言都是用英語寫的,而且因為大量的第一手信息也非常感謝您的分享

  9.   魯本·薩爾加多(Ruben Salgado) 他說:

    優秀的文章,除了激勵。

    1.    克里斯·阿德 他說:

      很好,非常感謝thank問候

  10.   貢薩洛馬丁內斯 他說:

    編程人員知道如何推理並將該推理轉換為指令。

    關於本文的兩個澄清:

    1)根據我作為編程老師的將近10年的經驗,無論您使用哪種語言學習,都不管您如何學習以及它的複雜程度。

    我認為,可以以一種結構化的方式學習然後再進行其他更複雜的事情的語言,比從一開始就使用Java之類的語言要容易。

    用幾行代碼(例如,在Pascal的情況下為PROGRAM或#include 對於C),您可以開始開發算法並直接使用其邏輯對程序進行編碼,就像在Java中一樣,Java本身需要一個類,一個方法以及一些其他東西,對於初學者來說這是信息重載不必要的東西,很可能會被忽略並轉移到其他事物上,但是它們是存在的概念,我認為,忽略事物並不是學習的好方法,特別是如果語言迫使您使用它們。 這就像是第一次使用M-16進行目標練習,然後在半自動模式下用雙手像手槍一樣握住手柄射擊數月。

    2)語言是解釋還是編譯取決於其實現方式,而不取決於語言本身。 例如,如果使用Python,對於使用wsgi的Web應用程序(apache中的mod_wsgi或Nginx的uwsgi),則在啟動相應模塊並生成.pyc文件時會編譯python代碼

    還有用於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.    貢薩洛馬丁內斯 他說:

      您必須考慮到存儲過程,但是至少在我看來,通過在引擎之間不使用可移植的語言,除非沒有其他選擇,否則總是要避免使用它們。