編輯|小智
審校|Tina
本周要聞:程式設計語言排行榜, Java, C, C++ 依舊三分天下;Python 是增長最快的主流程式設計語言;Google 在中國招募 AI 工程師, 組建 AI 團隊;Oracle 大幅裁減了 Solaris 和 SPARC 團隊;Go 1.9 引入了類型別名並提升了運行時和工具支援。
Python 是增長最快的主流程式設計語言
程式設計問答網站 Stackoverflow 的資料科學家 David Robinson 稱, Python 是訪問量增長最快的主流程式設計語言。 在 Stackoverflow 上, 主流程式設計語言如 Java、Javascript、C#、php 和 C++ 的問題訪問量過去幾年基本沒太大的變動,
Google 在中國招募 AI 工程師
Google 正在中國招募 AI 工程師, 組建 AI 團隊。 AI 研究通常需要海量資料, 而中國比其它國家更容易獲取資料。 中國有超過 7 億線民, 鮮有線民對隱私問題感到不安, 從這個角度來講, 中國似乎比美國更適合發展 AI。 2010 年, Google 撤出了中國大陸搜索市場, 但保留了部分業務如廣告。 一些分析人士稱, 相信 Google 正尋求擴大在華業務。
大眾的一名工程師被判處四十個月監禁
紐約時報及其它媒體都報導了軟體工程師 James Liang 因參與開發刻意欺騙排放測試設備的軟體以低報排放等級,
此醜聞所引發的代價, 僅在美國就超過了 240 億美元, 並再次激發了人們對軟體工程倫理的討論。
Oracle 大幅裁減了 Solaris 和 SPARC 團隊
儘管 Oracle 曾承諾在本世紀 30 年代前會繼續支援 Solaris, 但是上週末該企業可能大幅縮編了 Solaris 和 SPARC 兩個產品團隊, 這給出了要對兩大產品做“安樂死”的潛在信號。 Oracle 官方尚未發佈任何相關聲明, 該廠商目前為止也未對 InfoQ 的置評請求做出回應。 但是已有多名 Oracle 工作人員在推文中都談及了“RIF”。
Oracle 的 OpenWorld 大會計畫在 10 月 1 日召開, 可能屆時 Oracle 將會出更多的計畫細節。
TIOBE 9 月排行榜:Java, C, C ++ 三分天下何時休
Java, C, C ++ 三門程式設計語言已經在 TIOBE 的前三排待了有 15 年之久。 C# 和 Python 雖然被認為是最有潛力超越他們的兩門語言, 但到目前為止也沒取得任何進展。 C# 是微軟公司發佈的一種物件導向的、運行於 .NET Framework 之上的高級程式設計語言, 但它在除 Windows 之外的系統上採用率還很低。 而 Python 屬動態類型, 這使它難以用於多數大型或關鍵型軟體系統。
其他語言與 Java, C, C ++ 這三大語言之間的差距正逐漸縮小, 但大部分語言的市場份額都在流失, 所以未來走向如何還有待觀察。 現在的整體趨勢是, 使用單一程式設計語言程式設計的程式越來越少,
Go 1.9 引入了類型別名並提升了運行時和工具支持
在最近發佈的 Go 1.9 中, 最重大的變化就是支持通過聲明類型別名(type alias)實現漸進式代碼修復(gradual code repair)。 Go 1.9 同時還提升了垃圾收集器和編譯器。
根據 Google 的工程師 Russ Cox 所述,漸進式代碼修復是代碼重構中一種很有用的方式,對於大型的代碼庫來說很有價值。簡而言之,漸進式代碼修復的目標是通過一系列的步驟完成一個較大規模的重構,也就是說不會在一次自動化的提交中完成所有的變更,而是分成多次提交。原子性的重構方式在概念上通常很簡單,但是如果代碼庫很大的話,就會造成規模很大的代碼提交,這樣很難審查和合併。借助漸進式代碼修復,我們可以按照三個步驟來重構代碼:首先,引入新的 API,它應該能與舊的 API 共存,所以我們不必立即修改所有使用舊 API 的代碼;然後,我們將使用舊 API 的所有地方替換為新 API;最後,將舊的 API 移除。
Java EE 8 最終規範現已正式推出!
Java EE 在其 GitHub 上的帳號發佈了 Java EE 8 最終規範,並提供了 PDF 格式的檔下載。按照此前公佈的計畫,Java EE 8 最終規範會在今年夏天結束前發佈。現在看來,他們並沒有食言。在 JCP 主頁上,我們可以看到,在 8 月 21 日,JCP 執行委員會以 24 票贊成票通過了 JSR #366 的最終批准投票。其中,英特爾公司放棄了投票。
負責 Java EE 和 WebLogic Server 的甲骨文副總裁 Anil Gaur 表示預計在 2017 年年底發佈的 Java EE 8 會具備基本的微服務和雲功能。Gaur 計畫 Java EE 8 的擴展會包含增強的安全性(以 secret 管理的形式,並且要支持 OAuth 和 / 或 OpenID)、獨立(self-contained)配置的 API 以及健康檢查(可能會支援應用監控)。前些日子,甲骨文表示將要把 Java EE 移交給開源組織。現在,Java EE 8 的最終規範已推出,不知道有可能將要移交給開源組織的 Java EE 會有怎樣的發展。
穀歌攜手小米,重振印度 Android One 項目
週二,小米 A1 雙攝像頭手機以 14,999 印度盧比(234 美元)的價格開始發售,這將是小米首款參與 Android One 專案的智慧手機。Alphabet Inc. 旗下的搜尋引擎巨頭谷歌于三年前開始在印度啟動了這一專案,旨在以實惠的價格提供配備最新特性的手機,與蘋果公司價格更高、功能更強大的 iPhone 相比,穀歌一直處於劣勢。但是早期的合作夥伴,尤其是在印度,都無法銷售足夠數量的設備,興趣於是有所減退。
穀歌與小米的這一合作標誌著前者放棄了低價路線,意圖在全球增長最快的智慧手機市場搶佔份額。小米 A1 是一款中端手機,也將在印尼、越南、俄羅斯和墨西哥進行銷售。目前,小米是印度第二大品牌,力求重振業績表現,並且通過走向海外等方式彌補市場份額的流失。穀歌也希望能夠吸引更多用戶,並最終解決安卓生態系統碎片化的問題。
Android Oreo 將禁止作業系統降級
Google 最新釋出的新版 Android Oreo 被發現加入名為“回滾保護(Rollback Protection)”的新功能,包含了驗證啟動機制,它將禁止設備回滾到舊版本的固件。如果嘗試安裝到舊版本的官方鏡像將會導致設備無法啟動。這聽起來像是一個好主意,但你可以拿 PC 對比一下,比如你的 PC 從 Windows 7 升級到 Windows 10 ,但發現升級後存在許多問題,想要重新使用 Windows 7,結果發現作業系統禁止你降級。或者你嘗試安裝 Linux?Google 阻止用戶選擇的做法再次引發了爭議。
DB-Engines 9 月全球資料庫排名,Oracle 跌勢明顯
本月排名前 20 名中,僅排名在第 19 位的 Hive 和第 20 位的 SAP HANA 和上個月對比,位置進行了互調,其他資料庫的排名均沒有變化。
C ++ 17 正式獲得批准,預計今年底或明年初發佈
日前,ISO C++ 標準委員會主席、C++/CLI 首席架構師 Herb Sutter 發文表示,最後一輪主要投票已經完成,C ++ 17 DIS(國際標準草案)得到了 100% 的投票批准。 DIS 的一致批准也意味著 C++ 17 可以跳過 FDIS 投票,並直接發佈。就 ISO 而言,C++ 17 已經處於就緒狀態,只需等待開發組提交更新文檔和最終的 PDF 即可。
因此,在接下來的兩個月中,專案編輯會和助理審查和修正相關的文字內容,包括拼寫、格式化等。到 11 月初,在 Albuquerque 舉行的下一次會議上,將最終的 PDF 發給 ISO 。之後,ISO 會正式對外發佈 C++ 17 語言標準。如果能趕在年前發佈,它的正式名稱將是 ISO / IEC 14882:2017 。如果要等到明年一月份發佈,會稱為 ISO / IEC 14882:2018。當然,這只是一個小細節,該標準在業界會被稱為 C ++ 17 。
Rust 語言 2017 年調查報告
Rust 語言官方網站發佈了一份 2017 年 Rust 語言使用情況報告。Rust 語言方向社區提出了一系列問題,總共收到了 5368 個回饋,這個數字比去年多了 2000 多。這份報告以這些回饋為基礎,經過統計分析,得出以下的分析結果。
詳見:
https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html
輔助線索
今日薦文點擊下方圖片即可閱讀
幫助應屆生、年輕程式師快速成長的 12 個錦囊
根據 Google 的工程師 Russ Cox 所述,漸進式代碼修復是代碼重構中一種很有用的方式,對於大型的代碼庫來說很有價值。簡而言之,漸進式代碼修復的目標是通過一系列的步驟完成一個較大規模的重構,也就是說不會在一次自動化的提交中完成所有的變更,而是分成多次提交。原子性的重構方式在概念上通常很簡單,但是如果代碼庫很大的話,就會造成規模很大的代碼提交,這樣很難審查和合併。借助漸進式代碼修復,我們可以按照三個步驟來重構代碼:首先,引入新的 API,它應該能與舊的 API 共存,所以我們不必立即修改所有使用舊 API 的代碼;然後,我們將使用舊 API 的所有地方替換為新 API;最後,將舊的 API 移除。
Java EE 8 最終規範現已正式推出!
Java EE 在其 GitHub 上的帳號發佈了 Java EE 8 最終規範,並提供了 PDF 格式的檔下載。按照此前公佈的計畫,Java EE 8 最終規範會在今年夏天結束前發佈。現在看來,他們並沒有食言。在 JCP 主頁上,我們可以看到,在 8 月 21 日,JCP 執行委員會以 24 票贊成票通過了 JSR #366 的最終批准投票。其中,英特爾公司放棄了投票。
負責 Java EE 和 WebLogic Server 的甲骨文副總裁 Anil Gaur 表示預計在 2017 年年底發佈的 Java EE 8 會具備基本的微服務和雲功能。Gaur 計畫 Java EE 8 的擴展會包含增強的安全性(以 secret 管理的形式,並且要支持 OAuth 和 / 或 OpenID)、獨立(self-contained)配置的 API 以及健康檢查(可能會支援應用監控)。前些日子,甲骨文表示將要把 Java EE 移交給開源組織。現在,Java EE 8 的最終規範已推出,不知道有可能將要移交給開源組織的 Java EE 會有怎樣的發展。
穀歌攜手小米,重振印度 Android One 項目
週二,小米 A1 雙攝像頭手機以 14,999 印度盧比(234 美元)的價格開始發售,這將是小米首款參與 Android One 專案的智慧手機。Alphabet Inc. 旗下的搜尋引擎巨頭谷歌于三年前開始在印度啟動了這一專案,旨在以實惠的價格提供配備最新特性的手機,與蘋果公司價格更高、功能更強大的 iPhone 相比,穀歌一直處於劣勢。但是早期的合作夥伴,尤其是在印度,都無法銷售足夠數量的設備,興趣於是有所減退。
穀歌與小米的這一合作標誌著前者放棄了低價路線,意圖在全球增長最快的智慧手機市場搶佔份額。小米 A1 是一款中端手機,也將在印尼、越南、俄羅斯和墨西哥進行銷售。目前,小米是印度第二大品牌,力求重振業績表現,並且通過走向海外等方式彌補市場份額的流失。穀歌也希望能夠吸引更多用戶,並最終解決安卓生態系統碎片化的問題。
Android Oreo 將禁止作業系統降級
Google 最新釋出的新版 Android Oreo 被發現加入名為“回滾保護(Rollback Protection)”的新功能,包含了驗證啟動機制,它將禁止設備回滾到舊版本的固件。如果嘗試安裝到舊版本的官方鏡像將會導致設備無法啟動。這聽起來像是一個好主意,但你可以拿 PC 對比一下,比如你的 PC 從 Windows 7 升級到 Windows 10 ,但發現升級後存在許多問題,想要重新使用 Windows 7,結果發現作業系統禁止你降級。或者你嘗試安裝 Linux?Google 阻止用戶選擇的做法再次引發了爭議。
DB-Engines 9 月全球資料庫排名,Oracle 跌勢明顯
本月排名前 20 名中,僅排名在第 19 位的 Hive 和第 20 位的 SAP HANA 和上個月對比,位置進行了互調,其他資料庫的排名均沒有變化。
C ++ 17 正式獲得批准,預計今年底或明年初發佈
日前,ISO C++ 標準委員會主席、C++/CLI 首席架構師 Herb Sutter 發文表示,最後一輪主要投票已經完成,C ++ 17 DIS(國際標準草案)得到了 100% 的投票批准。 DIS 的一致批准也意味著 C++ 17 可以跳過 FDIS 投票,並直接發佈。就 ISO 而言,C++ 17 已經處於就緒狀態,只需等待開發組提交更新文檔和最終的 PDF 即可。
因此,在接下來的兩個月中,專案編輯會和助理審查和修正相關的文字內容,包括拼寫、格式化等。到 11 月初,在 Albuquerque 舉行的下一次會議上,將最終的 PDF 發給 ISO 。之後,ISO 會正式對外發佈 C++ 17 語言標準。如果能趕在年前發佈,它的正式名稱將是 ISO / IEC 14882:2017 。如果要等到明年一月份發佈,會稱為 ISO / IEC 14882:2018。當然,這只是一個小細節,該標準在業界會被稱為 C ++ 17 。
Rust 語言 2017 年調查報告
Rust 語言官方網站發佈了一份 2017 年 Rust 語言使用情況報告。Rust 語言方向社區提出了一系列問題,總共收到了 5368 個回饋,這個數字比去年多了 2000 多。這份報告以這些回饋為基礎,經過統計分析,得出以下的分析結果。
詳見:
https://blog.rust-lang.org/2017/09/05/Rust-2017-Survey-Results.html
輔助線索
今日薦文點擊下方圖片即可閱讀
幫助應屆生、年輕程式師快速成長的 12 個錦囊