IT仍然執行在Java 8上 ·Vicki Boykis
在2011年的某個時候,我偶然發現了一個名為Hacker News的不起眼的網站。當時,我是一名主要使用Excel和SAS工作的資料分析師,幾乎所有的頭條新聞對我來說都很陌生。Git差異?PyPy?實時API?
然而,我很快意識到,HN是科技行業的心跳,這裡討論了很多線索和興趣點。
我仍然給新手提供每天閱讀駭客新聞的建議,點選他們感興趣的連結,以及谷歌他們不知道的東西,直到認識到它有意義。
但是,一開始,我讀的越多,我對自己(為什麼我不知道一切?)以及我工作環境中的所有事情都變得越厭惡。
我們為什麼還在使用Oracle?為什麼我有一臺糟糕的Windows機器?為什麼我們不使用Gmail而不是Outlook?為什麼我們的團隊不被稱為“資料科學”團隊,為什麼我們不做“資料科學”呢?
我學到的越多,我就越生氣,我個人知道越得多,就意識到我的公司多麼可怕。
我沒有意識到的是,我正在成為認知的犧牲品,今天的世界有各種可能被稱為過濾泡沫,錨定,可用性或框架效果的各種組合形式,使您相信您最瞭解整個世界的實際運作方式。
Hacker News教給我的是整個IT行業的全新研究,使用Go和Rust,Docker和CI來構建令人驚歎的產品。
轉變
經過十多年的技術,在各種不同的環境中,從財富500強公司到創業公司,我終於意識到大多數業務和開發人員根本不會圍繞HN的趨勢。
大多數開發商 - 和公司 - 都是Scott Hanselman 之前稱之為99%的一部分:
我的同事達米安·愛德華茲和我假,被稱之為Dark Matter Developers(暗物質開發者)。不會閱讀很多部落格,他們從不寫部落格,他們不會去使用者群,他們不會發推文或Facebook,而且你不經常在大型會議上看到他們。
許多技術不會以這種速度迭代,也不應該。嵌入式開發人員仍在使用C和C ++。兩者都是非常成熟和易於理解的語言,在社交網路上不需要大量的流失或恐慌。
暗物質開發者在哪裡?也許在當地市政府或小型辦公室使用ASP.NET 1.1。也許在VB6的墨西哥裝瓶廠工作。也許他們正在大型晶片製造商處編寫PHP日曆應用程式。
雖然有些公司正在使用Spark和Druid以及Airflow,但有些公司仍在使用Coldfusion.
Java8
在我工作的一家公司,我們經歷了SVN到Git的遷移。在許多行業中,監管仍然是一個重要的考慮因素,開發人員無法對自己的計算機進行管理訪問。由於升級安全問題,我在Java 8仍然是最新版本的環境中開發。
根據2018年的JVM生態系統報告, Java 8 仍然是主要的開發環境。
如果您認為這很糟糕,請檢視Oracle:
Oracle資料庫12.2。它接近2500萬行C程式碼。這是一個難以想象的恐怖!您不能在不破壞現有測試1000次的情況下更改產品中的單行程式碼。 |
首先,技術不像人們想象那樣快速前進,公司有政治。有不更新的理由。在某些情況下,這是國家安全問題(如NASA),在其他人中,人們習慣了他們所知道的。
在某些情況下,這既是安全問題,也不是優先事項。這就是許多政府機構以PDF格式或XML格式返回資料的原因。但是,不僅政府機構正在執行XML。
出於各種原因以及更多原因,大多數處於美國成功巔峰的公司都在幕後悄悄地執行Windows Server 2012。
而且,他們不僅在Windows 2012上執行Java,而且還沒有進行機器學習,AI,或者你聽說過的任何性感流行語。大多數業務規則仍然只是:硬編碼hardcoded的案例是由業務決定,傳遞到業務分析師,並在Excel表格中完成,一半是因為bureacracy和intraction,有時,因為你只是不需要機器學習。
最後,第三部分是“暗物質”效應,大多數開發人員根本不會談論他們正在做的平凡工作。當每個人都在做Tensorflow.js時,誰願意在銀行系統之間分享他們的C#事務交易?
在今天的數千名開發人員線上的線上經濟中,聲音最響亮的人獲得的權重最大。而最響亮的人肯定不會是那些使用遺留系統的人。
我擔心的是駭客新聞,程式設計,技術新聞和會議等地方讓我們看到了許多關於我們行業的技術前瞻性偏見,這些偏見對新技術的承諾過於熱烈,而沒有談論權衡。
最響亮的聲音獲得最大的可信度,因此,我們正在聽到我們公司也許不需要的分散式網路和佇列以及無伺服器和微服務以及機器學習平臺的複雜設定和過度工程系統,以及大多數接受我們工作的其他開發人員都無法與之相關,甚至無法與之合作。
如果技術實際上是陳舊的和過時的,並且替換它的代價低於保留它的代價,我們當然不應該跳過用最新和最好的替代它。雖然我們應該公平地評估新工具,但大多數情況下,Postgres工作得很好。
無論好壞,世界仍然在Excel,Java 8和Sharepoint上執行,我認為對於我們來說,技術專業人員要記住並注意這一點非常重要。
HN點評:
有趣的是,從純粹的技術角度來看,Java(甚至是5年前的Java 8,當然還有最新版本)遠遠領先於大多數其他在HN上大肆炒作的東西(以及不那麼大肆宣傳的東西)。事實上,沒有任何其他平臺能夠與最先進的Java最佳化編譯器相比,它有最先進的GC和低開銷,以及能生產中進行分析/監控/管理相結合。關於這些問題的許多前沿開發和技術突破繼續在Java中進行發展中(披露:我在OpenJDK全職工作)。就在過去的幾年裡,我們已經看到了開源GC的釋出,最壞情況的停頓時間不到2毫秒(ZGC和Shenandoah),這是最佳化編譯器(Graal / Truffle)的一次革命,而且 即將釋出的低開銷深度剖析(JFR)流媒體訪問版本。因此Java不僅是嚴肅的伺服器端軟體的安全選擇; 這也是前沿。
相關文章
- IT 執行在雲端,而云執行在 Linux 上Linux
- 如何給執行在 SAP BTP 上的 Java 微服務增添訪問控制功能Java微服務
- 手錶Android Wear工程執行在手機上的配置方案Android
- 通知!TargetSdkVersion新規執行在即!
- 在Windows筆記本上除錯執行在iOS裝置上的前端應用Windows筆記除錯iOS前端
- 使用SSH命令列遠端登入執行在CloudFoundry上的應用命令列Cloud
- Java不僅僅是Java:盤點執行在JVM下的其他9種語言JavaJVM
- 【譯】用maven使java web應用執行在內嵌的Jetty或TomMavenJavaWebJetty
- new Handler().postDelayed(new Runnable())是否執行在主執行緒?執行緒
- 從零開始寫一個執行在 Kubernetes 叢集上的 Gin 應用
- 解惑Android的post()方法究竟執行在哪個執行緒中Android執行緒
- 十週後,62%的PHP網站將執行在一個不受支援的PHP版本上PHP網站
- 構建一個執行在Azure虛擬機器上的MySQL Spring Boot應用程式虛擬機MySqlSpring Boot
- 如何用Visual Studio Code遠端除錯執行在伺服器上的nodejs應用除錯伺服器NodeJS
- MySQL執行在docker容器中會損失多少效能MySqlDocker
- 將 Laravel 執行在 swoole 之後 summerblue/administrator 報錯Laravel
- 微軟再次宣稱Windows 10正在執行在超過7億臺活躍裝置上微軟Windows
- 銀行在IBM區塊鏈上進行跨境交易IBM區塊鏈
- 讓別人的小程式執行在自己的app中APP
- windows10的執行在哪裡_windows10怎麼找到執行Windows
- w10的執行在哪裡_windows 10執行怎麼調出Windows
- 節點計算提供商(全球節點)執行在 ADAMoracle 安全可靠的區塊鏈上Oracle區塊鏈
- 執行在 CCV2 環境上的 Spartacus Storefront 如果出現效能問題該怎麼分析
- Java 8 for mac(Java 執行環境)更新331版本JavaMac
- 執行在 CCV2 環境上的 Angular 伺服器端渲染應用的效能瓶頸分析Angular伺服器
- 如何使用 Chrome 除錯執行在手機上的 SAP UI5 Cordova 混合應用試讀版Chrome除錯UI
- JavaWeb專案執行在單獨的tomcat 以及單獨的jdk執行環境JavaWebTomcatJDK
- win10 怎麼開啟執行?win10執行在哪裡開啟Win10
- win10執行在哪裡 win10如何調出執行命令視窗Win10
- 如何在桌面電腦端除錯執行在手機上的 SAP UI5 應用試讀版除錯UI
- 【連載 03】Java 執行緒池(上)Java執行緒
- Java面試之多執行緒&併發篇(8)Java面試執行緒
- 資料顯示62%的網站仍然執行PHP 5網站PHP
- Java 8 併發篇 - 冷靜分析 Synchronized(上)Javasynchronized
- Java8 新特性併發篇(一) | 執行緒與執行器Java執行緒
- JDBC + SAP雲平臺 = 執行在雲端的資料庫應用JDBC資料庫
- 【Java8新特性】不瞭解Optional類,簡歷上別說你懂Java8!!Java
- Java 多執行緒共享模型之管程(上)Java執行緒模型