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