搜尋
首頁後端開發Python教學每個開發人員都應該學習的五種程式語言(上)
每個開發人員都應該學習的五種程式語言(上)Apr 10, 2023 am 11:41 AM
程式設計語言開發者

每個開發人員都應該學習的五種程式語言(上)

程式設計師編寫程式碼的通用程式語言有很多種,大多數使用企業軟體的程式設計師在退休前通常只使用一種程式語言。然而,也有一些程式設計師在日常工作中有機會使用多種程式語言。例如,如果程式設計師使用Flatter本機模組,則有機會使用Dart、Kotlin(或Java)、Objective-C(或Swift)、C/C 等。

大多數程式設計師在一種語言上工作了幾十年,這一點會限制他們的技術技能。我們經常看到很多 .NET和Java專家。卻很少看到掌握多種語言的程式設計師。學習多種程式語言會帶來更多好處。但是,學習每一種流行的程式語言,並不是一個明智的選擇。

在這個故事中,我將向您展示每個程式設計師都應該學習的五種程式語言。並用實例說明學習這些程式語言的好處。

一、C/C

C語言幾乎是所有底層軟體元件的基礎語言。 C的抽象化更接近硬件,C為程式設計師提供了最小的語法(保留了32個關鍵字)。與其他現代流行程式語言相比,C的語法更接近組合語言。因此,C編譯器可以有效率地將C原始碼轉換為機器語言,並產生輕量級和極快的二進位執行檔。

C 是C的擴展,所以你可以使用C 的C語言缺少的特徵(例如:類別、命名空間等)。學習C/C 對任何程式設計師都有許多好處。 C/C 促使您編寫最佳化的程式碼,因為C/C 不提供自動垃圾收集。

C提高了您解決問題的能力和基本的電腦科學技能,因為它不提供預先建置的資料結構和功能齊全的標準函式庫。例如,如果需要C語言中的堆疊,則必須建立自己的堆疊。

同樣,學習C/C 有助於提升電腦科學知識和技能。下面的故事解釋了為什麼程式設計師應該先學習C語言。

為什麼每個開發人員都應該從 C 開始程式設計

你可以用任何語言開始程式設計——但從C 開始有更多好處!

每個開發人員都應該學習的五種程式語言(上)

世界上大約有700 種程式語言。但是,開發人員使用大約 20 種不同的程式語言來建立企業軟體。換句話說,即使有很多程式語言,也只有少數流行的通用程式語言。開發人員通常在學校、大學或職業生涯開始時開始編碼。

當他們開始編碼時,每個開發人員都會發現自己在問一個問題:我應該先學習哪種程式語言?如果你在大學學習電腦科學,課程大綱通常首先是 C 程式語言。

在C語言程式米銘語言仍然在與硬體相關的軟體專案中經常使用。

但 Java、C#、JavaScript、Go、Python、Ruby、PHP 和 Kotlin 等語言在現代軟體產業中佔據主導地位。這是因為他們的:

  • 人性化的語法和語意。
  • 功能完整的標準 API。
  • 社區支持。
  • 豐富的框架和庫生態系統。

另一方面,現代社群並不經常使用 C——其他流行的語言提供了比 C 更友善、簡單和靈活的環境。是的,C 是硬體相關專案的更好選擇,但大多數開發人員都在工作與網路和行動相關的專案。

讓我解釋為什麼學習 C 是最好的選擇。

C 讓你成為一個很好的問題解決者

幾乎所有程式都提供內建方法或函式庫方法來解決需要邏輯演算法的編碼問題。例如,如果您需要將特定項目複製到第二個陣列中,則可以使用JavaScript 中的內建篩選器方法。如果您使用的是 Java,則可以使用套件中的filter方法java.util.stream。從字面上看,任何流行的程式語言都有一個內建方法或庫方法來過濾數組。但是如果你使用 C,你必須自己實現它——因為 C 中沒有內建或庫過濾方法。

當您找到這些場景時,您將面臨需要解決的問題。練習演算法問題是成為優秀問題解決者的好方法。我們並不總是處理僅涉及您最喜歡的企業程式語言的標準庫和內建功能的簡單任務。我們經常處理涉及解決問題技能的任務。因此,使用 C 編寫初始程式碼會使您成為更好的問題解決者。

而且,參加競賽程式黑客馬拉鬆的開發人員經常使用 C 來解決問題。

C 給你硬體的味道

Python、C# 和 Java 等程式語言是非常人性化的語言。但是,這些語言與物理硬體非常抽象。換句話說,在開始使用 C 進行程式設計之前,您將無法體驗電腦硬體的行為。現代程式語言隱藏了與硬體相關的整個體驗,提供了全新的沙盒環境。在大多數情況下,這個沙盒環境是使用虛擬機器創建的。

不幸的是,開發人員跳過了與硬體相關的關鍵主題,如記憶體管理、檔案處理和程式碼最佳化——因為它們不是從 C 開始的。現代程式語言自動處理記憶體分配和垃圾回收器的釋放。另一方面,在 C 程式語言中,開發人員透過編寫高度最佳化的程式碼來管理記憶體。

使用 C 編寫初始程式碼可為您帶來難忘的硬體之旅,這是每位電腦科學家都應該體驗的。

C 教你表現和自由

當一種程式語言提供非常人性化的抽象時,特定的程式語言將變得不那麼靈活。您最喜歡的程式庫的每個標準庫方法和內建方法都充當硬編碼的黑盒子。換句話說,現代程式語言隱藏了低階程式碼,並為開發人員提供了乾淨但有限的介面。使用現代程式語言,直接動態記憶體分配實際上是不可能的。同時,C 透過公開所有低階程式碼存取為您提供真正的自由。

C 編譯器產生極快的組譯程式碼。因此,C 開發環境本身會激勵您編寫高效能程式碼。在C中,我們必須小心地宣告變數、分配記憶體、清理記憶體、存取資源和釋放資源。如果您最初使用 C,則可能不會使用目前使用的程式語言使用過多的記憶體、不需要的資源和錯誤的資料結構。

C 激勵你寫乾淨的程式碼

與現代程式語言不同,您必須用 C 寫許多程式碼行。這是因為 C 提供了對您需要的一切的低階存取——它沒有為您提供高度抽象的標準庫。當程式碼中的行數增加時,程式碼的複雜度也會增加。因此,我們必須編寫乾淨且不言自明的程式碼來擺脫雜亂的程式碼。

當我們處理行業級軟體專案時,編寫乾淨的程式碼是一項非常需要的技能。事實上,如果我們從事過基於 C 的項目,那麼編寫乾淨的程式碼就是小菜一碟。

結論

隨著 C 專案的積極發展,C 已成為 C 的子集。 C 確實是一種現代程式語言,具有功能齊全的標準函式庫。因此,學習C 和學習C是不一樣的。但是,直接的記憶體操作能力和低階存取能力還是有的。幾乎所有現代程式語言都透過引入新的語法、語義和標準庫方法來相互競爭。但是,像 Go 這樣的語言只擴展了標準函式庫和社群驅動的函式庫。

如果開發人員立即跳入 Python、JavaScript、C# 或 Java 等現代程式語言,他們將錯過 C 程式語言提供的寶貴經驗。從 C 開始程式設計是了解程式語言如何與硬體連接的好方法。

先用C語言選擇硬路線。它將幫助您成為您最喜歡的程式語言的專家。

*原文連結:https://betterprogramming.pub/why-every-developer-should-start-programming-with-c-39b3a87392bf。

二、Bash

Bash是為類別Unix作業系統建構的命令語言和命令列解釋器。 Bash解釋器程式預先安裝在幾乎所有類似Unix的作業系統中。此外,許多GUI終端軟體通常使用Bash作為預設命令解釋器。因此,我們可以為不同的類別Unix作業系統編寫可移植的Bash腳本。

程式設計師遵循不同的實踐來提高他們的日常程式設計效率。許多程式設計師通常會為重複的手動過程編寫自己的Bash腳本。例如,我編寫了一個簡單的Bash腳本來建立和複製TypeScript專案的輸出。學習Bash無疑是學習過程自動化的第一步。流程自動化確實是提高生產力的方法。

Bash本機支援進程。換句話說,您只需提及其名稱即可運行另一個程式。因此,您可以快速編寫自動化腳本以提高程式效率。下面的故事解釋如何將GUI元素加入Bash腳本中。

如何透過新增GUI使Bash腳本現代化

Bash 腳本包含一組以 Bash 指令語言編寫的指令,這些腳本可以在 Unix shell 解譯器中執行。我們使用 bash 腳本來自動執行幾個任務,如果我們按照手動方式執行這些任務,這些任務顯然很耗時。但是如果我們與現代計算相比,bash 腳本是老式的東西,因為與用戶的所有互動都是透過命令列介面完成的。我們知道一些開發人員正在使用引人注目的標誌和顏色來突出控制台介面中的重要內容。如果一個特定的老式 bash 腳本被高度技術性的觀眾使用,那很好。但是如果它被普通觀眾使用,那麼進行一些用戶友好的互動顯然是件好事。

事實上,您可以使用Zenity命令列工具將基於GUI(圖形使用者介面)的輸入/輸出元件包含到您的下一個bash 腳本中,該工具幫助我們顯示GTK 對話方塊。此外,可以使用notify-send命令列工具顯示本機 GUI 通知。這兩個工具通常隨流行的 Linux 發行版一起提供,因此不需要任何類型的預先安裝。

訊息方塊

很明顯,使用本機訊息方塊向使用者顯示任務完成情況比在控制台中列印原始文字要好。使用Zenity可以輕鬆產生錯誤、資訊、問題和警告類型的訊息框。

訊息訊息框:zenity --info。

每個開發人員都應該學習的五種程式語言(上)

警告訊息方塊:zenity --info。

每個開發人員都應該學習的五種程式語言(上)

錯誤訊息方塊:zenity --error。

每個開發人員都應該學習的五種程式語言(上)

錯誤訊息方塊:zenity --question。

每個開發人員都應該學習的五種程式語言(上)

如果使用者允許,需要執行一組指令,則可以使用問題類型訊息。例如,從磁碟刪除檔案。這可以透過使用簡單的if條件或$?儲存最後一個傳回值的特殊變數。

通知

通知非常適合顯示長時間運行的批次指令的狀態。這一點非常重要,即使用戶正在做一些其他工作,而不是查看控制台以了解發生了什麼,他們也會收到通知。透過notify send命令列工具,可以輕鬆生成本機通知。

考慮下面的簡單例子…

Zenity還具有發送通知的功能,但notify send為我們提供了更多調整的自由。

輸入元素

Zenity透過提供各種輸入元素為收集使用者輸入提供了良好的支援。它有以下類型的輸入框。

日曆輸入框zenity --calendar。

這是一種更好的捕獲用戶輸入的日期的方法,而不是要求用戶從控制台以yyyy-mm-dd格式輸入所需的日期。

字串輸入框zenity --calendar。

我們通常使用read指令從控制台取得一些字串輸入。 bash腳本對於非技術人員的可用性可以透過提供一個GUI文字欄位來增強,該欄位還接受通用的按鍵(主/結束鍵等)和簡單的複製貼上功能。

非常類似的zenity --password可以用來捕捉使用者的秘密字串,如密碼或PIN碼。此外,密碼輸入還允許您啟用使用者名字段。然後返回使用者名稱和密碼,並用|字元分隔。

檔案選擇對話框zenity --file-selection。

本機儲存/開啟對話方塊可以順利顯示。我在Neutralinojs中也使用了此功能。

列出選擇

如果我們使用普通的控制台輸入來詢問使用者的一些選擇,我們可以為使用者所需的選擇實現幾個縮短鍵輸入。例如,要求使用者輸入字母A以接受一個選項,另一方面要求使用者輸入字母B以啟動另一個選項。從使用者的角度來看,透過顯示基於GUI的清單選擇,可以稍微改進此方法。

讓我們假設您正在製作一個安裝腳本,您需要詢問需要安裝哪個幫助程式插件,以便與主軟體程式進行雙重驗證。

高階範例

如上所述,有幾個GUI輸入元素可以與bash腳本一起使用,而不是一直使用原始文字。此外,我將向您展示一個更高級的範例,該範例是使用這些本機GUI元素實現的。

*原文連結:https://medium.com/swlh/how-to-modernize-your-bash-scripts-by-adding-gui-cba613a34cb7。

#

以上是每個開發人員都應該學習的五種程式語言(上)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
如何知道 Windows 上是否安装了 PHP?如何知道 Windows 上是否安装了 PHP?May 01, 2023 pm 09:31 PM

如何在Windows10或11上检查PHP版本在学习本教程之前,请确保已在您的Windows系统上正确配置PHP。除此之外,您还需要一个命令提示符或终端访问权限。使用命令提示符或Powershell检查PHP版本识别已安装的PHP版本的最好和最简单的方法是使用其命令行工具。但是,要使用,用户必须有权访问Windows命令行应用程序,如CMD。转到Windows10或11搜索框并键入CMD或Powershell。您可以使用其中任何一个。当图标出现在这些

Web 开发 FastAPI、Flask 和 Streamlit 的比较Web 开发 FastAPI、Flask 和 Streamlit 的比较Apr 09, 2023 am 11:51 AM

Python 已成为最流行的 Web 开发编程语言之一,这要归功于它的简单性、多功能性以及大量的库和框架集合。在使用 Python 构建 Web 应用程序时,开发人员有多种选择,从 Django 和 Pyramid 等全栈框架到 Flask 和 FastAPI 等轻量级微框架,再到用于数据科学应用程序的 Streamlit 等专用工具。在本文中,我们将比较三种最流行的 Python Web 框架——FastAPI、Flask 和 Streamlit——以帮助您为项目选择合适的工具。我们将探讨每个

基于Taichi的Python高性能计算入门指南基于Taichi的Python高性能计算入门指南Apr 12, 2023 am 08:46 AM

自从Python编程语言诞生以来,它的核心理念一直是最大限度地提高代码的可读性和简单性。Python对可读性和简单性的追求简直达到了如痴如狂的境地。一个事实即可证实这一点:只要你在Python系统的根目录中输入命令“import this”后按下回车键,竟然马上打印出一首英文小诗,翻译成中文大致意思是:“美丽胜过丑陋,显式优于隐式。简单比复杂好,复杂比繁杂好。扁平优于嵌套,稀疏胜过密集。可读性很重要……”简单总比复杂好,可读性很重要。毫无疑问,Python确实在实现这些目标方面非常成功:它是迄今

如何在 Windows 10 上使用命令提示符安装 PHP如何在 Windows 10 上使用命令提示符安装 PHPMay 08, 2023 pm 05:13 PM

使用命令提示符或PowerShell在Windows上安装PHP安装ChocolateyChoco包管理器我尝试了Windows默认包管理器Winget,但无法通过它安装PHP。因此,剩下的另一个最佳选择是使用流行的Chocolatey包管理器。但与Winget不同的是,Choco默认情况下不存在于我们的Windows系统中,因此我们需要在我们的系统上手动安装它。转到您的Windows10或11搜索框并键入CMD,出现时选择“以管理员身份运行”将给定的命令复制

html和css算编程语言吗html和css算编程语言吗Sep 21, 2022 pm 04:09 PM

不算。html是一种用来告知浏览器如何组织页面的标记语言,而CSS是一种用来表现HTML或XML等文件样式的样式设计语言;html和css不具备很强的逻辑性和流程控制功能,缺乏灵活性,且html和css不能按照人类的设计对一件工作进行重复的循环,直至得到让人类满意的答案。

在 Windows 11 或 10 上安装最新 Python 的 2 种方法——GUI 和 CMD在 Windows 11 或 10 上安装最新 Python 的 2 种方法——GUI 和 CMDApr 13, 2023 pm 11:31 PM

在 Windows 10 或 11 上安装 Python 3在这里,我们讨论两种设置 Python 的方法,一种是使用图形安装向导,另一种是借助提示符或 Powershell(终端)中的命令。使用图形用户界面:1.下载Python最新版本众所周知,默认情况下,Windows 中不包含 Python 来编译我们基于它的程序。因此,请访问官方网站python.org ,通过单击“下

Python Web3 开发:用 Brownie 部署智能合约Python Web3 开发:用 Brownie 部署智能合约May 19, 2023 pm 05:34 PM

Python是最通用的编程语言之一:从研究人员运行他们的测试模型到开发人员在繁重的生产环境中使用它,几乎在每个可能的技术领域都有使用案例。在今天的指南中,我们将了解Brownie,一个基于Python的工具,用于编写和部署智能合约。准备安装Python3以太坊节点文本编辑器终端什么是Brownie?智能合约开发主要由基于JavaScript的库主导,如web3.js、ethers.js、Truffle和Hardhat。Python是一种通用的、高度使用的语言,也可用于智能合约/web3的开

30 个数据工程必备的Python 包30 个数据工程必备的Python 包Apr 12, 2023 pm 04:58 PM

Python 可以说是最容易入门的编程语言,在numpy,scipy等基础包的帮助下,对于数据的处理和机器学习来说Python可以说是目前最好的语言,在各位大佬和热心贡献者的帮助下Python拥有一个庞大的社区支持技术发展,开发两个各种 Python 包来帮助数据人员的工作。在本文中,将介绍一些非常独特的并且好用的 Python 包,它们可以在许多方面帮助你构建数据的工作流。1、KnockknockKnockknock是一个简单的Python包,它会在机器学习模型训练结束或崩溃时通知您。我们可以

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境