中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

一個現(xiàn)代的“Hello, World”程序需要的不僅僅是代碼

發(fā)布于:2021-01-07 10:25:54

0

447

0

初學者 Hello World 代碼

我不想承認從我最后一次編寫RPG到現(xiàn)在已經(jīng)有多久了,只是想指出可能是在我的大多數(shù)讀者出生之前。構建這個程序需要我記住如何使用一個類似kedit的編輯器,學習如何使用AS/400軟件開發(fā)工具,構建一個測試庫,編輯實際的程序,然后編譯它,并弄清楚如何運行它。

這個客戶的程序相對簡單,但我不想一頭扎進去。所以我創(chuàng)建了一個“Hello,World”。

一個有目的的傳統(tǒng)

Hello,World”程序的概念可以追溯到Brian Kernighan和Dennis M. Ritchie的《C編程語言》(第一版)——編寫一個小程序來確認你對語言和環(huán)境的理解足以嘗試更復雜的事情。大多數(shù)C程序員寫的第一個程序是這樣的:

將該文本輸入到名為“hello”的文件中。c ',然后(在任何類unix系統(tǒng)上)輸入命令

#include <stdio.h>
int main() {    
    printf("Hello, world!n");    
    return 0;
}

將該文本輸入到名為“ hello.c”的文件中,然后(在任何類似UNIX的系統(tǒng)上)輸入命令

$ cc hello.c
$ ./a.out

你應該會看到令人振奮的結(jié)果

Hello, world!

這表明您確實已經(jīng)用C語言編寫,編譯和執(zhí)行了一個程序。

正如Kernighan和Ritchie所指出的那樣,為C編寫程序意味著您已經(jīng)掌握了啟動C項目的基本步驟。

好的,我承認“其他所有內(nèi)容都比較容易”這樣的說法很幽默,但是,這確實是學習任何編程語言的重要一步。

這已成為一種編程傳統(tǒng),并且像許多傳統(tǒng)一樣,經(jīng)常遵循它而沒有意識到其目的或價值。因此,我們現(xiàn)在擁有一個在線的Hello World集合,其中包含將近600種使用Ada到ZIM語言的“ Hello,World”示例。許多IDE會為您編寫一個基本的“ Hello,World”程序,在許多解釋語言(如Python)中,“ Hello,World”只是將print(“ Hello,world!”)鍵入解釋器的REPL中。

不幸的是,這并不能提供太多實際的洞察力,換句話說,Richard Hamming認為計算的目的是洞察力,而不是文字字符串。

“ Hello,World”的真正含義是什么?

K&R最初的“ Hello,world”的重點不是在終端上看到“ Hello,world”。相反,要確保您具有所有工具,以及對編寫C程序所需的C語言和UNIX編程環(huán)境的基本了解,并具有構建程序的工具和知識是重要的第一步-也許最重要的第一步-啟動每個項目。

通常,它比最初看起來還復雜。現(xiàn)在,一個現(xiàn)實的項目不僅需要編輯器和編譯器,還需要了解如何打包程序,應如何構建構建環(huán)境,如何計劃維護版本控制,如何實際構建程序以及所需的產(chǎn)品編程項目需要交付。因此,盡管基本的“ Hello,World”程序可能仍然只有五行代碼,但是構建初始的,易于開發(fā)的“ Hello,World”可能要復雜得多。

開始一個新項目不可避免地意味著在“其他一切都比較容易”之前解決許多開發(fā)問題。

“ Hello,World”項目

為項目構建適當?shù)摹?Hello,World”更為復雜,但收益也更大??紤]一個應該交付的項目,例如,一個Web應用程序。除了選擇語言外,通常還需要選擇前端和后端的框架。您需要確定如何托管第一個應用程序以及如何管理和交付代碼。

適用于項目的“Hello,World”不僅是為了顯示可以顯示的輸出。您需要證明自己已準備好開始添加功能(如果您正在執(zhí)行SCRUM之類的功能,則可以添加用戶案例),并將其推向可以演示和測試的應用程序版本。對于產(chǎn)品而言,適當?shù)摹?Hello,World”是最低可行產(chǎn)品的最低版本,這表明隨著進一步的發(fā)展,您希望能夠提供有用的產(chǎn)品進行測試和使用。

什么才是合適的“ Hello,World”項目

顯然,此適當?shù)摹?Hello,World”項目將根據(jù)項目和環(huán)境而有所不同。我教了很多初學者,對于任何課堂項目,我建議他們應該始終以:

一個單獨的項目目錄(可能對您而言是年輕的小鯛魚,可能是“文件夾”),實際的代碼將進入該目錄。

該文件夾中已初始化的git存儲庫。是的,我甚至開始使用git?;A知識易于學習,而且我看到大量學生陷入絕望,因為他們做了一些小的改動,結(jié)果沒有達到預期的結(jié)果,現(xiàn)在他們不記得他們所做的改變足夠好了,無法還原到他們的舊版本。

他們將使用的開發(fā)工具可供選擇,包括編輯器或IDE,構建工具等。

與在命令行中鍵入編譯器的調(diào)用相比,可重復的構建過程更加健壯。

然后才是實際的第一個代碼。

當他們擁有了這些并且可以編輯,提交,構建和演示非常小的程序時,他們準備構建一些令人滿意的東西,同時避免很多會使實際過程變得不那么愉快的錯誤。

開始一個專業(yè)項目“Hello,World

可以輕松想象一個“ Hello,World”程序只適合初學者,但是大多數(shù)每個項目都始于那個令人生畏的空目錄。通常,一個現(xiàn)實的項目“ Hello,World”需要一個復雜且可疑的過程,其中包含許多活動部件。例如,在Maven中為Java程序創(chuàng)建非常基本的支架,會構造十個目錄和子目錄以在Java中構建文字“ Hello,World”程序,而Maven生成和依賴項管理器程序會將1350個文件下載到550多個目錄中。

這幾乎不僅僅是Java或Maven的屬性。使用create-react-app構建一個新的React應用需要4304個目錄和28678個文件。

顯然,手工操作會導致瘋狂。這種復雜性迫使開發(fā)人員必須構建腳本來創(chuàng)建“ Hello,World”級別的應用程序,但是即使這些應用程序還不夠完善,您仍然必須添加源代碼控制并可能配置容器或持續(xù)集成管道或部署腳本。

雖然這肯定比原始的五行“ Hello,World”復雜得多,但它仍然可以達到相同的目的:構建一個簡單的應用程序,但要確保滿足繼續(xù)開發(fā)的要求。

取得良好的開端

任何規(guī)模的任何軟件項目都從一開始就面臨著相同問題的一些變體:您如何努力掌握啟動項目,構建代碼甚至部署代碼的機械細節(jié),以便您可以專注于實際構建滿足客戶需求的代碼?

無論項目多么復雜,您都可以通過構建演示程序來確保自己有一個良好的開端,該演示程序具有絕對的最小功能,但要執(zhí)行構建,測試甚至部署的整個過程。這就是原始的“Hello,World!”的目的,這仍然是今天最好的開始。