scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言
我曾在某處讀到過(可能在《代碼大全》,但我不敢確定),程序員應該每年學習一門新的編程語言。但如果做不到,我建議,你至少學習以下 5 種開發語言,以便你在職業生涯有很好的表現。
每個公司都喜愛精通多種編程語言并且多才多藝的程序員。一個既能很麻利地寫腳本,也能編寫復雜的Java程序的程序員,確實相當有價值。所以實際上,對于高級開發者來說,學習不止一種編程語言,幾乎就是必然的要求。
目前而言,面試官越來越看重那些擁有多種編程語言經驗的工程師。比如,同時有C++ 和Java的經驗就很不錯,Python和Java也是。我個人喜歡那些在C++ 或者Java方面有著豐富經驗,而且能用Groovy、Perl或Python寫腳本的軟件工程師。
很多時候,寫一個小腳本就足以快速搞定一些專有任務。我不想我的程序員們花上一整天用Java 去寫一個讀取 CSV 文件的程序,或者在 TCP/UDP 端口抓取信息的程序,這是很浪費時間的一件事情。
為什么我在文章中選擇這 5 種語言呢?我的理由簡單且實際。我是基于這些語言的用途、編程范式和流行度及代表性來選擇的。
例如,如果你想找一份應用開發的工作,就不能忽視Java。同樣,做與web相關的事情,就得知道無處不在的JavaScript。
在開發者職業生涯的早期,我強烈建議學習 C 語言。它能幫助開發者貼近系統底層,知曉那些編程的關鍵概念,這是隱藏在 JVM 或 CLR 底下的東西。
對于腳本語言,我的選擇是 Python,盡管你也可用 Perl 或 Groovy 代替。但在擴展支持方面來看,Python 的表現無疑是最棒的。有很多 Python 模塊可供選擇,幫你能分分種搞定各種任務。
學習一種面向對象的語言的同時,也學習一種像 Haskell 或 Scala 這樣的函數式編程語言,這能拓展你的思維和編程認知。你可以在本文找到學習這 5 種語言的更多理由。
言歸正傳,下面就是我列出的 5 種每個程序員或軟件開發者都該嘗試學習的編程語言。
它包含了語言的大雜燴,比如[面向對象的]語言,函數式的語言,腳本語言,提供了對底層的控制,也涵蓋了廣泛用于服務端開發的語言。
1. Java
Java 是近二十年來最流行的語言之一。它統治著全球的服務端應用開發,同時在基于 Anroid 開發的移動應用和游戲市場,以及企業 Web 開發領域,也占有相當一部分比重。
Java 最初的構想是一次編寫各種平臺均能運行(Write Once Run Anywhere)。隨著時間的推移,它確實做到了運行在各個平臺的各個角落。
你應該學習使用 Java 構建健壯的、可擴展的服務端應用。你可以用 Java 構建多種復雜度的工程。與之相伴的,有很棒的工具、技術和社區支持。
為什么你應該學 Java 呢?你會學到如果專注于應用層面和代碼結構的設計,而不用關心特定系統的細節和內存管理。JVM 幫你搞定了后面這些。
如果你已經決定開始學習 Java 了,那么 Udemy 上的 The Complete Java Master Class 教程就很棒,用它作為入門教程很好,它包含了 Java 的所有核心概念,很詳細。
順便一提,如果你想要更多選擇,而且不介意使用免費的課程學習,那可以看看這上面給新手提供的課程。
Java 被許多世界上的大型組織所使用。而且能夠向眾多用戶展示你用 Java 開發的 Android 應用。
2. Python
在全球范圍的學校和院系,Python 是教授最多的語言之一。在美國,許多學術課程中,Python 已經取代了 Java 成為接觸編程的首選語言。你將從學習 Python 中得到什么呢?——那將非常多。
Python 既能用于寫腳本,也能作為一種面向對象的語言編寫大型工程。
許多流行的網站,比如 Reddit,就使用基于 Python 的框架來構建,比如 Django。近段時間,許多大型組織也轉向使用基于 Python 的框架了。
Python 也越來越多地用于像機器學習、人工智能、數據科學這樣的新一代技術中。這也難怪,因為有基于 Python 的非常棒的機器學習庫,比如 TensorFlow、Scikit-Learn以及其他。
我個人倒是在用 Python 寫腳本。這能很快地完成一些有用的事情,比如,你可以用 Python花 5 分鐘寫一個 UDP 消息的監聽器,相比較,用 Java 可能就要花20分鐘。忘掉“編譯、打包,然后才能使用”這些步驟。你可以直接為特定任務編寫Python腳本。如果你有興趣學習Python,那么 The Complete Python BootCamp 就是個很好的開始。
如果你需要更多選擇,而且不介意使用免費的課程學習,那也可看看這上面給新手的課程。
并且,如果你困惑于不知道該從Java還是Python開始,看看這個,它比較了兩者。
3. JavaScript
你可以用 Java 替代 C++,用 Python 替代 Ruby,但是,坦率地講,當前沒有 JavaScript 的替代品。在最近5年,JavaScript 完全統治了世界。
它不再僅僅是客戶端腳本語言。有了 Node.js 這樣的庫,和Angular、React這樣的框架,你可以在服務端做用戶界面的開發。
JavaScript 的巨大成功,有一部分要歸功于 jQuery。它真正改變了人們在客戶端使用JavaScript 的方式。
作為一個在工作中使用 JSP 和開發基于 Servlet 的應用的程序員,我有許多機會同時使用jQuery 和 JavaScript。
有了此語言的知識,可以幫助我們決定哪些功能應該在服務端實現,哪些該在客戶端實現。比如,許多服務端的校驗邏輯,就被我們遷移到了客戶端。
如果你想從頭開始深入學習 JavaScript,那 Udemy 上的 The Complete JavaScript 就是你可加入的最佳在線課程。
如果你想要更多選擇,且不介意跟著免費的課程學習,那么可以看看這里為web開發者提供的課程。
4. C 和/或 C++
如果不知道 C 或 C++,你就不能成為真正的程序員。這聽起來有點苛刻,但是我的經驗之談。
了解 C 的工程師或者開發者,就是比不了解 C 的程序員要優秀。這可不是簡單的巧合。
這是你必須要了解的編程語言之一。我在求學期間學習的 C 語言,并在那時學到了關于編程的許多關鍵概念,比如結構體、數組、指針、內存管理等等。
C 仍然是操作系統編程方面最受歡迎的語言,并且在這兩年,給排名榜首的 Java 帶來了強勁地沖擊。如果你想學習這門美妙的語言,那 C Programming for Beginners就是個很好的開始。
它同樣是最古老的主流語言之一,已經存在了四十多年。
C++ 和 C 很像,都允許你為系統和驅動編寫底層代碼。如果你想學習 C++ 而不是 C,可看看我為新手列出的免費 C++ 課程。
5. Scala
Scala 是基于過去 20 年來的最佳實踐而創造的語言。它是一種函數式編程語言,提供了一種跟面向對象語言不同的編程范式。這能改進你的思維和代碼認知。
雖然有許多函數式編程可供選擇,比如 Haskell。我選擇 Scala,因為作為一名 Java 開發者,我發現學習 Scala 比 Haskell 更容易。
有人也可以把學習 Haskell 當作一個挑戰。但是從實際的角度講,我認為學習 Scala 對于 Java 開發者來說更有意義。
對于 C++程序員,學習 Haskell 可能更合理。坦率講,你可以選擇任何一門函數式編程語言,但請選擇一門有商業需求的比較好。
作為一名職業開發者,我傾向于把時間投資在那些對我的職業有幫助的事情上。如果你想學習Scala,那么 Beginning Scala Programming 是個很好的入門課程。
無論你學習了多少種編程語言,你需要遵從 Bob Martin 在《代碼整潔之道》給出的編碼和設計原則,才能成為一名專業的程序員。它是在你的編程職業生涯能給與你最大幫助的技能。
以上所有清單的內容,列出了每個軟件工程師都該學習的 5 種編程語言。你們中有些人可能已經發現了,這是 Java 開發者應該學習的 5 個編程語言。也正是如此。
學習能提供不同編程范式的語言,是提升編碼技能的最佳途徑。它能幫你有效地解決日常任務。
理想情況下,一個程序員的工具集里,應該包含一個接近底層系統的語言,比 C 或 C++;一個面向對象的語言,比如 Java,Python 或 C++;一個函數式編程語言,比如 Scala 或Haskell;一個強大的腳本語言,像 Perl、Python、Ruby 和 JavaScript。
本文由葡萄城技術團隊翻譯,轉載請注明出處:西安葡萄城。原文出處:5 Programming Languages Every Programmer Should Learn - DZone Web Dev?dzone.com結語
最后,感謝各位閱讀這篇文章。如果你喜歡這些編程語言,請與你的朋友和同行分享。
如果你有任何問題或反饋,或其他任何你認為什么編程語言也應該值得每個程序員都應該學習,也歡迎發在評論區和我們討論。
總結
以上是生活随笔為你收集整理的scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一键多功能按键识别c语言,单片机一键多功
- 下一篇: java 设置头错误信息,错误:在nod