數(shù)據(jù)科學家應了解Java的六大原因
譯文【51CTO.com快譯】Java是當今最流行的編程語言之一,這是一種與平臺無關、實用且穩(wěn)健的語言。全世界的開發(fā)人員使用Java來構建應用程序、Web工具和軟件開發(fā)平臺。Java在機器學習和數(shù)據(jù)科學領域也大有用處。
如果您是數(shù)據(jù)科學家,可能更常使用Python和R而非Java。據(jù)最近的一項調查顯示,數(shù)據(jù)科學領域只有21%的人使用Java,遠低于Python(83%)或SQL(44%)。大多數(shù)人使用Python沖著其REPL功能和快速的算法試驗。同時,開發(fā)人員將R用于數(shù)據(jù)可視化和表示。
但作為一名數(shù)據(jù)科學家,您應該知道如何使用Java,因為它提供了創(chuàng)建業(yè)務應用程序的其他許多服務。如上所述,Java在機器學習和人工智能領域有諸多用途。優(yōu)步、Spotify和愛彼迎等許多大公司都基于Java。像BairesDev這樣的軟件開發(fā)公司使用Java來構建和維護關鍵業(yè)務應用程序。
數(shù)據(jù)科學家應學習Java,原因多多。最重要的原因包括如下:
1. Java有許多出色的數(shù)據(jù)科學框架
這些框架為開發(fā)人員提供了基本功能,并幫助他們節(jié)省時間和資金。典型的流行機器學習框架包括:
- Deeplearning4J——這種面向Java的開源深度學習工具包用于部署神經網絡。它可以與Hadoop和Spark集成。
- ND4J——代表面向Java的N個維數(shù)組對象。它是用于科學計算、信號處理和線性代數(shù)的工具包。它擁有numpy和MATLAB之類的內置庫。
- Apache Mahout——這是一種可擴展的分布式代數(shù)框架。它有助于分類、聚類和推薦。
Java也有許多用于數(shù)據(jù)處理的框架,包括:
- Hadoop——該框架使用MapReduce算法將數(shù)據(jù)存儲在分布式文件系統(tǒng)中。
- Kafka——它使用基于TCP的協(xié)議用于消息集抽象,對消息進行自然分組,以形成線性寫入。
2. Java易于理解
大多數(shù)開發(fā)人員對于使用Java編程很有信心。除了擁有廣泛的用戶基礎外,Java還是市場上最吃香的技能之一,許多公司通常將Java用于所有可快速執(zhí)行的項目。Java還是一種傳統(tǒng)語言,用于全球許多知名的應用系統(tǒng)和公司。
3. Java有出色的擴展功能
大多數(shù)開發(fā)人員使用Java創(chuàng)建以后可根據(jù)業(yè)務需求來擴展的應用程序。如果貴公司正從頭開始構建應用程序,Java是絕佳的選擇,因為Java提供了擴展功能以及負載均衡選項。
作為一名數(shù)據(jù)科學家,您會發(fā)現(xiàn)使用Java構建復雜的應用程序并對其進行擴展很容易;比如說,ApacheSpark是可用于擴展的分析工具,它還可以用于構建多線程應用程序。
4. Java有獨特的語法
Java的獨特語法因易于理解而在全世界得到接受。該語法使開發(fā)人員可以了解約定、變量需求和編碼方法。Java是強類型——即每種數(shù)據(jù)類型已經在該語言的結構中被預定義,所有變量必須是某種數(shù)據(jù)類型的一部分。
大多數(shù)大公司為其代碼存儲庫保留標準語法。這么做確保所有開發(fā)人員按照生產級代碼庫的約定來編程。Java通過自動維護可以遵循的標準約定來幫助他們。
5. Java速度快
大多數(shù)數(shù)據(jù)科學家將Python用于數(shù)據(jù)科學應用領域。您會驚訝地發(fā)現(xiàn)Java比Python快25倍。另外,如果您在尋找可以在任何時間進行多次計算的應用,Java勝過Python。
不僅處理速度快,Java與其他許多語言相比開發(fā)產品所需的時間也更短。它可以使用針對特定業(yè)務的工具進行開發(fā),有大量的IDE和成熟功能來創(chuàng)建大型業(yè)務應用程序。
6. Java和OLTP系統(tǒng)
聯(lián)機事務處理系統(tǒng)(OLTP)以及數(shù)據(jù)倉庫通常使用大型機系統(tǒng)進行批處理。與其他語言相比,Java與這種架構的聯(lián)系更為自然。您可以將Java與COBOL和中間件軟件集成起來。
您還可以將Java與OLTP標準和架構結合起來。如果公司希望致力于開發(fā)對采用事務處理設計的大型系統(tǒng)執(zhí)行數(shù)據(jù)分析的應用,Java就非常適合。
結論
Java是一種面向對象的、通用的、獨特的語言,提供了大量功能。其出色的性能和速度使其成為市場上最受歡迎的技能之一。它還提供安全功能、以網絡為中心的編程以及與平臺無關等優(yōu)點。
Java為數(shù)據(jù)科學家提供了許多數(shù)據(jù)科學功能,比如數(shù)據(jù)分析、數(shù)據(jù)處理、統(tǒng)計分析,數(shù)據(jù)可視化和NLP。Java有助于將機器學習算法運用于實際應用場景。它使您可以基于批處理和流處理技術,構建自適應預測模型。連同REPL和lambda表達式,它簡化了構建大型應用程序的工作。
如果您在考慮將Java應用于數(shù)據(jù)科學項目,那就用它吧。對于數(shù)據(jù)科學家和數(shù)據(jù)工程師而言,這是一種很出色的語言。
原文標題:Top 6 Reasons Data Scientists Should Know Java ,作者:Malcom Ridgers
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】