jetbrains為什么這么牛 申請jetbrains賬號用的大學(xué)郵箱
夕逆IT
- 數(shù)據(jù)庫
- 2023-08-31
- 328

各位老鐵們好,相信很多人對jetbrains為什么這么牛都不是特別的了解,因此呢,今天就來為大家分享下關(guān)于jetbrains為什么這么牛以及申請jetbrains賬號用...
各位老鐵們好,相信很多人對jetbrains為什么這么牛都不是特別的了解,因此呢,今天就來為大家分享下關(guān)于jetbrains為什么這么牛以及申請jetbrains賬號用的大學(xué)郵箱的問題知識,還望可以幫助大家,解決大家的一些困惑,下面一起來看看吧!
安卓開發(fā)用kotlin好,還是java好,以后得趨勢是怎么樣的
當(dāng)然目前來說,Java依然是Android的主流開發(fā)語言,但是這兩年因為oracle公司各種花樣作死,Java的開源協(xié)議一直都有很大的問題,這讓Google在面對oracle公司的各種“找麻煩”時,非常難受。
Java優(yōu)勢不明顯,但是缺陷越來越突出我一直認為,JVM比Java要牛!當(dāng)然Java本身也還是很強大的,當(dāng)年Java出來因為跨平臺的原則,逐漸從主流編程語言中殺出重圍,幾乎完全的面向?qū)ο?、加上開源社區(qū)開發(fā)者源源不斷的貢獻,自然是有很大的優(yōu)勢。
但是隨著時間的推移,Java跨平臺的優(yōu)勢已經(jīng)不在明顯,但是代碼臃腫、運行資源比較大等特點卻越來越突出,與此同時Scala/Kotlin等基于JVM的編程語言開始出現(xiàn)。直到Java8才支持stream操作,關(guān)鍵是語法還非常糟糕,Java已經(jīng)不再是真正意義上的活躍語言,因為太成熟了,大家已經(jīng)不想再做過多的改變了。
Kotlin優(yōu)勢很多,但是目前來說還沒辦法替代Java存在在擴展函數(shù)、空安全、智能類型轉(zhuǎn)換、字符串模板、主構(gòu)造函數(shù)、操作符重載、分離用于只讀和可變集合的接口等等這些問題,kotlin有但是Java卻沒有,沒辦法很好的解決。
kotlin語言代碼可以說變得非常簡潔了,并且完全兼容Java,語法糖自然不用多說,更重要的是對于有些想要嘗試函數(shù)式編程的小伙伴,kotlin的函數(shù)式編程體驗已經(jīng)非常好了,雖然跟Lisp,haskell這種以函數(shù)式編程為核心的編程語言來說還有很大的差距,但體驗已經(jīng)算是不錯的了。
Kotlin是Jetbrains打造,而Androidstudio正是基于該公司的IntelliJIDEA,這本質(zhì)上已經(jīng)是一個完整開發(fā)者生態(tài)的雛形,未來假如Google收購Jetbrains,關(guān)鍵是這門語言還確實能夠提高Android的開發(fā)效率,這是Google真的想要去改變的。Google已經(jīng)將kotlin作為Android的第一類開發(fā)語言,親爹支持,加上自身的優(yōu)勢,相信kotlin一定會成為一個優(yōu)秀的工業(yè)級開發(fā)語言。
為何開源軟件偏愛Linux和蘋果的系統(tǒng)
Linux是一種使用越多越深入就會覺得越爽的系統(tǒng)。
它很開放,基本上任何問題只要你想搞懂,有能力搞懂,就能搞懂。從系統(tǒng)引導(dǎo),到系統(tǒng)內(nèi)核,到各種開源軟件,可以充分滿足你的好奇心。也可以任意修改,想怎么折騰就怎么折騰。(Windows上的小打小鬧已經(jīng)滿足不了我們了!)
它很強大。性能就不說了。就操作感來說,命令行和腳本,完爆Windows。打幾個字就能完成很多需要鼠標(biāo)點點可以做或者不可以做的事,實在是太方便了。比如說遠程全盤備份只要rsync一行命令就搞定了。雖然cmd.exe也能做點事,可用起來也太別扭了吧。
它是免費的。這讓我有了道德上的優(yōu)勢,可以鄙視用盜版Windows以及在上面運行破解軟件的人。要裝個軟件,也是一行命令。Windows上估計得打開瀏覽器到處找破解下載了吧。
它很安全。沒什么人蛋疼到寫Linux病毒吧(也有蛋疼的...)。公司里的Windows筆記本被迫裝了安全軟件,經(jīng)常在不合時宜的時候在背后開始掃描了,還不能停,配置那么牛屄的機器幾乎不能用。裝Linux,就無可奈何了吧。
當(dāng)然Linux目前的問題是,一些關(guān)系生活、娛樂的軟件沒有。沒有廠商愿意投資在這上面。相應(yīng)的設(shè)備驅(qū)動也不行,尤其是高端顯卡。所以桌面Linux就只能是小眾。
1.強勁的GPU和CPU。我的家用電腦和筆記本都配了頂級的顯示器和GPU。Steam上有2000+游戲,我和孩子玩了很多,并且我對CUDA和深度學(xué)習(xí)很感興趣。而Mac對此就無能為力了。對我來說,強大的GPU是非常重要的,所以我配了一臺搭載GTX980Ti顯卡、32GB內(nèi)存、3440×1440分辨率的曲面屏、i7WildDogPro處理器的電腦。而價格跟MBPRetina的價格相差無幾。
2.與服務(wù)器真正的兼容。我曾工作過的一家公司,半數(shù)腳本是用Linux腳本和GNU工具寫的,另一半是Bash和BSD工具寫的,因為這部分開發(fā)者堅持用Mac開發(fā),并認為Mac和Linux相差無幾。我只想說,這真的太亂了。后來,我花了幾周時間重寫了代碼(為了兼容)。這些人一邊說:“MacOSX是不同的”,但另一邊又說:“MacOSX跟Linux相差無幾”。但事實并不是,MacOSX與Linux差很多。
3.Linux使我更高效。幾乎不需要切換環(huán)境,我可以使用相同的工具,專注編寫腳本,與服務(wù)器無縫銜接。至今,我還沒發(fā)現(xiàn)哪個Mac用戶能展現(xiàn)出令我印象深刻的腳本編寫能力。我曾經(jīng)管理過一個需要超過100臺以上Linux服務(wù)器集群的軟件,除了Linux,其它系統(tǒng)根本勝任不了這個任務(wù)。
4.Linux上一切允許正常(Everythingjustworks)。相對那些用Mac的同事,我在Linux上碰到的問題更少。不需要安裝homebrew、fink、MacPorts,只要運行和這兩個命令就可以了。團隊里有少數(shù)人還在堅持使用Mac,他們認為這是一種榮耀。編寫腳本和程序設(shè)置電腦,Mac大概要2-3天,而Linux只要一個小時,而且?guī)缀跏侨詣踊摹?/p>
5.Linux能做Mac不能做的事。有一天,我們需要超高清分辨率的屏幕截圖,在Linux上只要輸入:,之后用Chrome把圖片放大一倍,并用Ksnapshot獲得所需圖片,前后只需要幾分鐘。誰能在Mac或者Windows上實現(xiàn)?
6.“Linux上不能運行商業(yè)軟件”這個爭論是毫無意義的,尤其是在硅谷,這里早就不使用微軟的Office軟件了。我使用Balsamiq3、Slack、DropBox、Chrome、Hangout、Google辦公套件、GoToMeeting、WebStorm、Skype、Gimp、Insync等軟件…對了,在休息時間我會在Steam上玩會游戲。所有程序都運行良好,幾乎沒有應(yīng)用程序或者系統(tǒng)崩潰。Webstorm(JetBrainsIDE)在Linux上更友好,同樣,NodeJS、MongoDB、MySQL和其它一系列開發(fā)工具在Linux都比Mac友好。
KED/Plasma的界面比Mac和Windows都友好多了。你問我為什么這么說,因為KDE/Plasma我都在使用。
這么多開發(fā)人員缺乏系統(tǒng)管理和使用腳本的技能,真是一件令人沮喪的事。相對命令行來說,MacOSX的圖形界面限制了程序員的思考。如果有一天我在硅谷創(chuàng)業(yè),我會把Linux當(dāng)做首選的操作系統(tǒng)。
注:
CUDA:一種由NVIDIA推出的通用并行計算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計算問題。deeplearning:深度學(xué)習(xí)。源于人工神經(jīng)網(wǎng)絡(luò)的研究。含多隱層的多層感知器就是一種深度學(xué)習(xí)結(jié)構(gòu)。深度學(xué)習(xí)通過組合低層特征形成更加抽象的高層表示屬性類別或特征,以發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示。需要N卡支持,而Macbook基本上配的都是Intel顯卡。一些著名的軟件都用什么語言編寫
我們來分門別類地介紹一下,當(dāng)前最為注明的軟件都是用什么語言開發(fā)的。這對大家理解語言的用途和場景會有所幫助。
超級軟件-操作系統(tǒng)說到計算機的軟件,最不能繞過去的就是操作系統(tǒng)了。目前最為流行的四大操作系統(tǒng),Windows、Linux、MacOS和Android。操作系統(tǒng)核心的內(nèi)容都是通過C或者C++開發(fā)的。
以Windows為例,其前身是DOS操作系統(tǒng),它是用匯編開發(fā)。后來逐漸用C語言代替了匯編。到上個世紀(jì)90年代左右,Windows完全拋棄了DOS操作系統(tǒng),其核心也是采用C語言開發(fā)的。如果大家學(xué)習(xí)過操作系統(tǒng)API就會發(fā)現(xiàn),當(dāng)時的操作系統(tǒng)API都是C語言接口。
另外一個受歡迎的操作系統(tǒng)是Linux。Linux操作系統(tǒng)的核心主體是C語言,有非常少量的匯編語言。但是Linux發(fā)行版包含很多配套的軟件,比如桌面軟件,則是用C++寫的。
辦公軟件另外一個常用的軟件類型自然是辦公軟件了,比如微軟的Office或者Linux下的OpenOffice,這些辦公軟件都是通過C++開發(fā)的。
上網(wǎng)沖浪現(xiàn)在人使用電腦離不開上網(wǎng),我們?yōu)g覽網(wǎng)頁最常用的瀏覽器包括火狐,Chrome、IE和國內(nèi)的其它一些瀏覽器。這些瀏覽器大多是用C++開發(fā)的,代表性的有火狐,Chrome和IE。
除了瀏覽網(wǎng)頁外,我們另外一個經(jīng)常干的事情估計就是聊天吧。這就涉及到即時通訊軟件了,比如QQ和Skype等,這些軟件大多是用C++開發(fā)的。
軟件開發(fā)IDE如果你是開發(fā)者,必然要有一個開發(fā)工具。比如常見的微軟的VisualStudio,IBM的Eclipse等是非常著名的。其中VisualStudio使用C++開發(fā)的,而Eclipse則是用Java開發(fā)的。
最近非常著名的IDE開發(fā)廠商Jetbrains開發(fā)的一些了的IDE,比如Goland,PyCharm和Phpstorm等工具則使用了Jave和C++等開發(fā)語言。
數(shù)據(jù)庫系統(tǒng)做軟件開發(fā)一般繞不過數(shù)據(jù)庫,比較著名的數(shù)據(jù)庫如Oracle,MySQL和SQLServer等都是用C++開發(fā)的。
上面列舉的都是非常著名的軟件了,希望有所幫助。當(dāng)然,著名的軟件還很多,估計想一天都想不完。不過大體上目前軟件開發(fā)使用C/C++,Java的比較多一些。然后在特定領(lǐng)域,比如人工智能Python多一些。服務(wù)端開發(fā)除了Java外,也有用PHP和GoLang的。
現(xiàn)在互聯(lián)網(wǎng)行業(yè).net是不是沒有市場了呢
真不是我黑,快2020年了,.NET依然沒多大卵用
首先說明,我是開發(fā).NET的。所以,我最有資格噴.NET沙雕。
沒錯,.NET又火了,不過火的是.NETCore(新一代.NET,可跨平臺,寫網(wǎng)站,機器學(xué)習(xí),搞進容器,做微服務(wù),寫移動應(yīng)用,嵌入式,還可以在一定程度上替代.NETFramework)。oh,mygod!簡直十項全能!聽起來就很屌屌的,有木有??
但是恕我直言,在了解了一段時間之后,我還是覺得很雞肋,沒什么卵用。
1,在.NETCore3出來之前,.NETCore最大的作用就是寫寫ASP。沒錯,這對搞B/S應(yīng)用的來說,似乎聽起來很振奮。畢竟ASP網(wǎng)站終于可以跟IIS說拜拜了。用上容器,自此可以更方便地在Linux之間移動(雖然從WindowsServer2016開始,容器也可用在WindowsServer上,但是Linux容器免費啊!而且完全定制?。?,自此告別WindowsServer授權(quán)費,也不用因為使用盜版Server而良心愧疚了呀!但是,在高呼.NETCore牛B的同時,也要注意到它的局限性。跟PHP簡潔的語法相比,ASP的語法明顯啰里八嗦,臃腫不堪。雖然.NETCore3推出Blazor,聲稱不必了解JS就可以搞網(wǎng)站(實際上為了制作B/S應(yīng)用,會不得不調(diào)用JS相關(guān)的庫,也完全做不到全然不用)。但是Razor語法簡直莫名其妙,網(wǎng)站結(jié)構(gòu)很不直觀(也許看多看順眼了就不覺得)。沒錯,能搞,但我討厭這么搞。最最關(guān)鍵的是,ASP畢竟太古老,即使今天自我革命,但要面臨的是已經(jīng)占據(jù)B/S端開發(fā)大部分市場份額的其它動態(tài)開發(fā)語言的競爭。我不看好。
2、能寫移動應(yīng)用。Xamarin+C#,就能搞出跑在Android和IOS上的APP。一次開發(fā),到處運行,好厲害的樣子啊。沒卵用。用Xamarin開發(fā),如果我完全不懂Android開發(fā)或者IOS開發(fā),用Xamarin開發(fā)仍然會遇到與Android或IOS相關(guān)的問題,可是我完全不懂Android,甚至連Activity是什么都不知道,我連布局界面都是問題,更別談再遇到其他與Android或IOS相關(guān)的問題了。所以,是能搞,但我不看好這么搞。有學(xué)Xamarin的精力,還不如直接上手Android或IOS,它們的市場占有率比Xamarin高那么多,況且能提供更過就業(yè)崗位。
3、能機器學(xué)習(xí)。哇塞,好牛逼。我.NET/C#也能搞這么前沿的技術(shù)了啊!我不想說什么,就拿github上star數(shù)來說,tensorflow是139k,http://ML.NET是6.6k。誰火爆,誰主流,一目了然。沒錯,是能搞,但不怎么火啊。既然如此,我為什么不選python+tensorflow的方式,而非要選不怎么火的ML.NET+C#的方式呢?前者還那么簡潔直觀?
4、能搞嵌入式。我搞嵌入式為什么用C#?有QTC++,即使不用什么QTC++,我完全可以用純正的C++或C,為什么要選性能差的C#呢?僅僅是編碼簡單易維護嗎?對,是能搞,我為什么要放棄C++用C#搞呢?我需要一個合理的解釋。
5、替代.NETFramework。沒錯,.NETCore3發(fā)布后,是可以開發(fā)Winform,WPF應(yīng)用。據(jù)說要停止更新.NETFramework,統(tǒng)一到.NET5版本。先不說現(xiàn)在用.NETCore開發(fā)Winform和WPF的略微雞肋,就說一個現(xiàn)實問題:我的winform和WPF應(yīng)用在.NETFramework下運行得好好的,為什么要移動到.NETCore?你說性能好?拿出證據(jù)來。如果性能差別不很明顯,我有理由拒絕用.NETCore重寫.NETFramework應(yīng)用。而且,傳統(tǒng)的WCF應(yīng)用怎么辦?畢竟.NETCore還不支持WCF。我的WCF應(yīng)用跑得好好的,為什么要找另一種替代方案重搞一遍?
總結(jié)一下,就是能搞,但是搞得理由不充分,且市場不夠火熱。2020會不會更火?其實,不止2020,在.NETCore沒有充分理由贏得市場青睞之前,都沒有持續(xù)火下去的正向動力。希望吧,畢竟.NET在革新,雖然有補功課的嫌疑。
關(guān)于jetbrains為什么這么牛的內(nèi)容到此結(jié)束,希望對大家有所幫助。
本文鏈接:http://xinin56.com/su/13292.html