無論您是完全不熟悉程式語言還是希望跳進一種新的程式設計,最重要的問題之一是:“哪種程式語言適合我?”...
無論你是一個編程新手還是一個從未接觸過的編程新手,最重要的問題是:“哪種編程語言適合我?”
現在,你有太多的語言可供選擇,當你沒有太多的經驗時,選擇一種語言可能會讓你不知所措。在本文中,我們將介紹用於web、移動、桌面、遊戲、嵌入式和實用程序開發的最佳現代編程語言。把這當作一個概述和出發點。
用於web開發
Web開發在編程領域是獨一無二的,它提出了自己獨特的挑戰,但也帶來了一些獨特的好處。Web開發可以說是在沒有經驗的情況下最容易學會的編程,而且Web開發社區非常龐大,因此我們認為它是初學者的一個好選擇。
- HTML和CSS:雖然它們不是真正的編程語言,但是HTML和CSS都是創建網頁所必需的。HTML提供了頁面的結構,而CSS決定了頁面的樣式和美觀。要開始學習,請查看這些一步一步的HTML和CSS教程。
- JavaScript:JavaScript是添加瀏覽器端邏輯和實時更改的唯一方法(學習JQuery基礎知識是一個很好的開始)。現在,瀏覽器端和服務器端邏輯都可以使用JavaScript,使用Meteor或React這樣的框架很容易做到。
- Python:Python用於服務器端邏輯,這意味著您將需要HTML、CSS和JavaScript作為您創建的任何web應用的瀏覽器端部分。但是Python是一種令人驚歎的語言,這就是為什麼它仍然是JavaScript的強大替代品。進一步瞭解Python for web開發。
- PHP:你已經不太瞭解PHP了,因為它不像一些較新的web語言那麼流行,但它仍然被廣泛使用(包括在WordPress中,它大約佔所有網站的27%)。PHP可能很混亂,但它可以工作。請參閱我們關於使用PHP構建網站的速成課程。
要進一步瞭解web開發與其他類型的編碼的區別,請參閱我們關於web開發與編程的文章。
用於移動開發
在相當長的一段時間裡,移動發展一直是下一個重要的編程前沿,而且短期內沒有放緩的跡象。人們喜歡自己的**,也需要**上的應用程序。這是一個狹小的競爭空間,但突破應用程序仍然出現在每一天。
- Java:Java是Android應用程序開發的本機語言,這很好,因為Java也被用於其他許多方面。雖然從技術上講,您可以使用非Java語言**Android應用程序,但Java是實現最高性能和靈活性的最佳選擇。開始使用這些Android應用程序教程。
- Swift:iOS應用程序過去是用Objective C編寫的,但現在使用蘋果的新語言Swift會更好。它易於學習和使用,使它成為偉大的新手和老兵一樣。開始學習這些Swift教程,並測試您從這些Swift編碼挑戰中學到的知識。
- JavaScript:有幾種框架允許您使用JavaScript編寫Android和/或iOS應用程序。一些框架將您的代碼轉換為本機代碼,而其他框架則將生成的應用程序像包裝在人造瀏覽器中的web應用程序一樣運行。要了解更多關於優缺點和入門的信息,請參閱我們關於JavaScript移動框架的文章。
用於桌面開發
自從世界轉向網絡應用和移動應用以來,桌面應用現在並不那麼熱門,但這並不意味著它們已經過時。很多人,像我一樣,只要可能,都喜歡離線桌面應用。好消息呢?桌面應用程序的**曾經很複雜,但最近變得容易多了。
- Java:很久以前,Java應用程序是使用Swing開發的。別那麼做。更喜歡使用JavaFX,它提供了一個更豐富,更流暢,更現代的方式來設計和構建應用程序感謝場景生成器。由於Java在Java虛擬機上運行,所以您可以編寫一個在許多平臺上運行的應用程序。
- JavaScript:使用Electron框架,您可以用JavaScript編寫應用程序並將其打包用於桌面平臺。一些著名的例子包括visualstudio代碼、Atom編輯器、Discord、Slack和WhatsApp。這是一個很好的選擇,因為您可以使用相同的語言**web應用的桌面版本。
- C#:使用Visual Studio,您可以使用C#與Win32、Windows窗體、WPF(Windows Presentation Foundation)和.NET Framework等GUI庫一起創建桌面應用程序。使用xamarinstudio,您還可以使用Mono框架創建Mac/Linux應用程序。
- 斯威夫特:除了iOS應用程序外,蘋果的新語言還可以用於Mac應用程序。如果你嵌入蘋果生態系統,只打算為這兩個平臺創建應用程序,那麼你最好學習Swift,而不是像Java或JavaScript這樣更跨平臺的替代品,因為它具有本機性能。
用於遊戲開發
遊戲開發從未如此簡單。有了豐富的免費(開源)遊戲引擎,你幾乎可以選擇任何主流語言,並能用它來創建遊戲。但是有些語言顯然是優越的,如果你是新來的,我們建議你使用這些語言。
- C#:Unity是最適合新手的遊戲引擎,它的主要語言是C#。該引擎支持2D和3D遊戲開發,可以將構建導出到包括Windows、Mac、Linux、Android、iOS和HTML5在內的數十個平臺。從我們的統一初學者指南開始。
- Java:Java程序員可以使用開源LibGDX框架從頭開始快速創建遊戲。這個框架可以導出到任何支持Java的桌面平臺,再加上Android和iOS。這是一個簡單明瞭的框架,有利於快速開發。強烈推薦。
- Haxe:Haxe是一種可以移植到許多其他語言的更新的現代語言,包括java、C++、C語言和Python。使用HaxeFlixel或Luxe這樣的遊戲引擎,您可以比其他語言更快地開發跨平臺2D遊戲。不幸的是,在撰寫本文時還沒有3D Haxe引擎。
- JavaScript:JavaScript已經取代Flash成為開發****的最佳和最快的方式。我強烈推薦Phaser引擎。更好的是,你可以使用像西北js為桌面和**打包****,允許您使用JavaScript進行桌面和****開發。
對於數據、腳本和實用程序
很多時候,編程甚至不能用來創建軟件本身。也許你只需要處理一些數據和模型的趨勢,或者你只需要一個實用程序腳本,自動化否則繁瑣的任務。在這些情況下,有兩種非常有用的語言會起到幫助作用。
- R:R是一種編程語言,主要用於數據挖掘、數據計算和數據分析。如果你曾經使用過MATLAB,那麼你可以把R看作是一個免費的開源替代品。雖然MATLAB更易於使用,環境也更好,但它的成本很高(標準許可證為2150美元)。如果你不介意R的學習曲線,它是一個強有力的選擇。
- Python:Python在數據科學中經常使用,因為它是一種直觀的、不冗長的語言,使它易於學習和使用。您可以使用Python做各種事情,包括shell腳本,但是您肯定應該瞭解兩個庫:NumPy(數據計算)和Pandas(數據分析)。從這些基本的Python示例開始。
你喜歡哪種語言?
首先決定你想做什麼樣的編程,然後找出哪種語言最適合這個領域。一旦你有了一個概述,只要選擇你覺得最舒服的語言。你會更有效率,並真正享受這種編程方式。如果你討厭“最好”的語言,就不要用它!
你對什麼樣的節目感興趣?你最喜歡哪種語言?我們錯過了什麼重要的嗎?請在評論中告訴我們!
圖片來源:Makaule/Depositphotos