-
1 # 蟲蟲安全
-
2 # 惠解讀
1、Java
在2017年TIOBE程式語言排行榜上,我們總能看到Java穩坐第一寶座。 毋庸置疑,java仍然是世界上最流行的程式語言。 Java已經有20多年的歷史,被全球數百萬的開發者和數十億裝置所使用。 再者,所有Android應用程式都基於Java。無論是哪一門程式語言,其流行程度短期要超過java都是一件非常困難的事情。
2、Python
Python簡直可以評得上2017年網紅程式設計的語言,在此次榜單上,它又火了一把。 Python加入浙江省高考,而且還成為了山東省小學生教材。 小學生都開始學的程式語言,你敢說它未來幾年不火呢? 這多半也是由於:未來是AI的時代,Python語言是最接近人工智慧的語言。
Python讀取檔案內容的程式碼:
JAVA讀取檔案內容的程式碼:
初學程式設計的入門學生,Python是最好選擇,語法簡潔,執行除錯方便,現在又有越來越多的庫支援,編寫高階的業務效率將更加高,特別是現在大火特火的AI,但AI並不是Python的特權,Python上編寫AI相對普通軟體工程師也是呼叫第三方的庫,像Google的tensorflow,因為它開發效率快,可以讓開發人員更專注在解決現實業務的邏輯上更花時間。相比JAVA也能開發AI,也有第三方的AI支援庫,Weka Deeplearning4j ,AI重點還是在能理解複雜的數學演算法,知其然,還要知其所以然。
那些厲害的大牛開發者們,開發並提供了一套套的AI庫,接下來就是看像作者這樣普通的軟體工程師,怎麼去運用並落到現實的世界中,除了那些大資料計算,智慧家居、智慧家政、智慧玩具都是不錯的選擇,開發出的東西能讓普通百姓享受,懂點技術改變自己的生活。
如果想在程式設計行業深入,學習JAVA還是非常好用,學成能做找到工作的機會還是比較廣,能幹好後端,開發web並處理高併發,開發企業級的管理系統,也能做好前端,桌面軟體和Android,而且Android又是一個非常廣的行業,手機,TV,pad,各種觸屏裝置。
-
3 # IT人劉俊明
要回答這個問題,首先要搞清楚什麼是“能源網際網路”,什麼是“人工智慧”?在清楚這兩個概念之後,再具體分析一下這兩個概念背後所使用的技術,進而選擇學習什麼內容。
能源網際網路能源網際網路在我看來是物聯網和大資料融合的產物,首先能源網際網路的基礎是物聯網,其次實現能源物聯網的應用要依賴於大資料,所以能源網際網路是物聯網和大資料發展的產物之一。能源網際網路關注的是能源的合理應用、智慧應用,要實現這個目標就需要有一個完整的物聯網基礎,從生產、運輸到使用的整合環節都需要進行監控。
技術方案則是物聯網+大資料+整合平臺,從這個技術方案上看採用的程式語言需要使用C語言、Java語言、Pyton語言。
人工智慧人工智慧的概念相對來說比較複雜,也許只有哲學家才能解釋清楚到底什麼是人工智慧。但是人工智慧關注的問題可以總結為四點:1.像人一樣思考。2.合理的思考。3.像人一樣行動。4.合理的行動。
而作為人工智慧的科研人員需要從六個方面進行人工智慧的研究,這六個方面分別是:1.自然語言處理。2.知識表示。3.推理。4.機器學習。5.計算機視覺。6.機器人學。這六大方面基本上涵蓋了目前人工智慧研究的大部分內容,所以從事人工智慧的程式設計師也需要從這六個方面著手。
目前Python在機器學習領域有廣泛的應用,所以做人工智慧學習Python是一個好選擇。當然也可以使用Java,Java在人工智慧領域也有大量的應用。
需要強調的一點是人工智慧領域重點在演算法的設計和實現上,所以打算從事人工智慧的程式設計師要有良好的數學基礎。
綜上所述,C、Java、Python都是要學習的,建議從Python開始學起,因為Python夠簡單、易上手。
回覆列表
關於學python還是java得問題,之前筆者有很多回答提供了這個問題。筆者的建議是,pyhon和java是兩個型別的程式語言,學習時候兩個都學習,而不是選擇一個來選。學習時候可以調整下學習順序就可以,先學習perl,再學習java,有條件情況下再涉獵下其他的語言。
筆者在《C、C++、Java、JavaScript、PHP、Python、Ruby這些語言分別主要用來開發什麼?》問題回答中提到了很多語言的用途和已有的著名專案。
python和java主要作用和著名的專案pyton語言小巧方面是非常趁手的膠水語言。做系統應用指令碼,數值演算法,雲開發,AI介面。
在系統指令碼方面python就是個非常好的膠水語言,寫自動化小指令碼,替代shell指令碼,做些爬蟲等,都非常方便,只需短短几行code就能實現你要的功能。
使用者django寫寫web小應用,結合ansible,saltstack做dev ops運維自動化工具。這方面也很火,需求量大。
python在數值計算,人工智慧方面有著最廣泛地支援。基本上所有的深度學習系統都提供了python的介面,基於python呼叫這些系統,用DL人工智慧處理實際中的問題,非常方便快捷,當然這只是指應用,如果你想用的好,必須學習底層的演算法,學習他們的原理。有個很好的機器學習和人工智慧公開課,非常好,就是斯坦福ng大大的公開課,去搜索一下就可以找得到。
在雲方面,基於openstack的私有云開發也是一個很火,很重要的方向。
java 主要用於web,系統,大資料方面。
在WEB方面java很適合大型專案和網站的底層開發,在國內流量比較大,比較知名的網站比如淘寶、比如京東,在比如12306的售票系統都是用java開發,足矣說明java在WEB開發方面的例項。
當然php在WEB方面憑藉大量的中小心網站的數量在web開發方面是一枝獨秀佔了網際網路站點語言中的83%還多。但是java站點都是巨無霸,以一當萬,當億的。所以光從數量來比較的話對java有點不公。
java還有了大量的系統工具,中介軟體,應用框架,比如Apache基金話的專案中多一半都是java專案,而且也都是非常知名,廣泛應用的響應。這筆者在文章中《「服務安全」Tomat安全設定和版本遮蔽》做過敘述。
Java在大資料、分散式計算方面有大量的應用和專案。比如hadoop、HBase、Accumulo,ElasticSearch、吞吐量訊息佇列Kafka等等。
還有最重要的一點是java是長期佔據程式語言排行榜第一的語言,在企業職位需求上也是最多的,如果會java的話,在職場方面也是有巨大的優勢的。
程式語言學習順序關於學習順序方面,筆者也有總結過篇文章《[程式開發]從Scratch開始零基礎程式設計學習、用Python入門》。
雖然講的是對純小白從零開的的,但是你可以作為參考從python部分開是進行學習入門,然後繼續深入。
關於演算法和人工智慧方面的學習在統計算法和AI方面的學習,要提下R語言作為一個很棒的資料統計和畫圖語言R都很棒,值得學習下。