24歲零基礎自學程式設計,先學哪種語言最好?水果牙7不是蘋果72019-01-01 19:23:09

從C學起,懂得基礎後,現在巨人的肩膀上學各種語言和框架都很簡單了

24歲零基礎自學程式設計,先學哪種語言最好?程式設計獅(W3Cschool)2019-01-03 14:50:05

看你是為了什麼學:

1。如果是因為感興趣,那麼建議從弱語言開始學習。

——特點:時間短,見效快。

2。為了找工作,而學程式設計,那麼建議基礎還是紮實一點,從C語言或者Java開始,這邊推薦Java。

——特點:時間長,基礎紮實,後期強勁。

時間短,見效快:

比如Python,PHP這類語言。

這類語言的特點,就是入門簡單!

而且學起來有一個非常好的優點,就是可以馬上讓你動手做出一些小專案出來。

比如學Python可以快速做一些爬蟲,或者坐一些資料分析。

學習這類語言的好處,就是讓你很快有成就感,從而不斷的保持學習興趣,提升自己。

(就我個人而言,學習程式設計單純為了興趣,所以就學Python,感覺很好玩)

時間長、基礎紮實、後期強勁:

這邊推薦C語言和Java這兩門語言。

這是兩門永遠不會過時的程式語言。

如果你有比較長的時間,特別還是在讀大學,強力建議你從C語言入門或者Java入門。

如果你學過C語言或者Java,那麼再去學別的程式語言,你會發現很簡單。

這邊最最最推薦的是Java!

Java首先入門不難,而且本身語言強大,被稱為“萬事通”語言(意思就是:啥都能幹)。

另外Java能夠讓你明白底層的邏輯,對你以後的拓展延伸有非常好幫助(也就是再去學別的程式語言,會覺得很簡單,事半功倍)。

當然,千金難買心頭好,選擇程式語言也是如此。

最重要的,還是看你自己喜歡哪一門程式語言,喜歡才是最重要。

就像追女孩子/男孩子一樣,難追不難追不是關鍵,自己喜不喜歡才是最關鍵的。

一些建議:

學程式設計,要記住兩個字“戒貪”!

不過學一半,還沒學透了,就想去學其他的技術。

這是非常致命的!

學習務必要腳踏實地!

為什麼說這個,因為我自己曾經吃過這種虧,所以多嘴提了一句。

給自己一個目標,或者一個專案,在完成之前,不要去考慮其他的事情,道理和爬山是一樣的。

等你學完後,再去學其他的!

24歲零基礎自學程式設計,先學哪種語言最好?巨大2020-12-26 17:05:12

給你提供一下一些好的語言,看你對程式語言從事的工作感興趣

HTML / CSS

人們通常從學習HTML和CSS開始,為什麼?這兩種語言對於建立靜態網頁是必不可少的。你在網站上看到的所有文字,連結,和其他內容都是HTML(超文字標記語言)結構;CSS是使網頁看起來漂亮的樣式。

為什麼不從HTML和CSS開始?您可能不感興趣為Web建立內容。正如我前面所說,你可以做很多程式碼,Web只是它的一部分。但是,如果你有興趣製作網站,肯定從HTML和CSS開始。

JavaScript

JavaScript是許多人的第一個完整的程式語言。為什麼?這是學習HTML和CSS後的邏輯下一步。JavaScript提供的行為一網站的部分。例如,當您看到表單欄位指示錯誤時,這可能是JavaScript在工作。

JavaScript已經變得越來越受歡迎,它不僅僅出現在網路瀏覽器中。學習JavaScript將使你處在一個更好的地位,因為它是一個更通用、流行的語言,JavaScript現在似乎無處不在。

Java

Java與JavaScript沒有任何有意義的相關。Java可用於從Web應用程式到桌面和移動應用程式的任何東西。Java在大型企業應用程式中有很強的存在 - 例如銀行,醫院和大學軟體。它還支援Android應用程式,因此它是那些傾向於移動開發的人的不錯選擇。

Swift

蘋果於2014年6月釋出Swift作為開發Mac,iPad,iPhone,Apple Watch和Apple TV應用程式的現代語言。如果你想進入iOS的世界,Swift是你的不二之選。

PHP

PHP是最流行的網路語言之一。它支撐了大量的網站,如Facebook和Etsy等。WordPress和Drupal都是用PHP編寫的,這兩個平臺今天在網上上線了大量的網站。因為它的流行,學習PHP將很好地為你服務,如果你打算編寫Web。

Python

Python是一種通用語言,用於從伺服器自動化到資料科學。Python對初學者來說是一門偉大的語言,因為它很容易閱讀和理解。你也可以用Python做這麼多事情,很容易堅持使用語言相當一段時間,在需要別的東西。當然Python也可以建立Web應用程式,如Instagram和幫助研究人員瞭解他們的資料。

大資料

“大資料”是指以多元形式,許多來源蒐集而來的龐大資料組,往往具有實時性。在企業對企業銷售的情況下,這些資料可能得自社交網路、電子商務網站、顧客來訪紀錄,還有許多其他來源。這些資料,並非公司顧客關係管理資料庫的常態資料組(智慧化時代)

24歲零基礎自學程式設計,先學哪種語言最好?wdq45872021-08-02 11:52:19

如果你想程式設計上達到一定的造詣,以後在程式設計某方面出現問題都能自己解決,一定要從C語言開始學起,沒有別的語言比C語言更適合做專業程式設計的入門語言了。如果你沒有雄心大志只是想解決實用的問題,那是哪種適合解決你的問題學哪種,C語言不要看排名高,因為偏底層現在已經只適合嵌入式等少數場合。

依我個人的考察,現在略微知名點的語言沒有哪種是可以在未來幾十年一統江湖的,所以沒必要等合適的語言出現,我就是吃了等的虧。一統江湖的語言(佔據75%以上份額)未來有可能出現,也可能不出現,做出這樣的語言技術可行性上絕對有的,但現有的語言肯定都不是,現在還沒有哪種語言可以達到C語言當年的美譽度。象C++、Rust這樣的語言未來會長久,但並不適合入門,份額也大不了,可以後面需要再考慮。

24歲零基礎自學程式設計,先學哪種語言最好?蝸牛學苑IT培訓2021-09-30 11:30:10

大家好,我是強哥。我是一名程式設計師,也是一名架構師。我始終相信“技術改變生活,研發構建未來”。雖然我也是一家集團公司的CEO,但那只是扮演著一個角色而已。願程式與我們同在,阿門。

從2000年上大學開始,就算是正式和程式設計結緣了,但是你所不知道的是,我所學專業卻並非軟體工程,也不是相關專業,而是統計學。至於如何走上IT這條道路的,說來簡單,單純就是喜歡而已,只是高考填報志願的時候服從了調配而已,本文暫且不表。可能恰恰是因為沒有進入這個專業學習,所以才對這個領域更加好奇,更加有興趣,才想去了解更多。所以大學的4年,作為沒有一個專業老師來指導的菜鳥,沒有程式設計類的課程任務的我,有了更多時間,遨遊於程式設計的世界中。也因此,學習了很多軟體和程式設計知識,慢慢地成長為一個雜家,開發和測試,前端和後臺,技術和管理,這20年的時間裡,全部做了幾遍。從程式語言的角度,我給大家列一下我所使用過並且用來解決過真實任務或完成過專案的程式語言:C/C++、VB/VBScript、Delphi/Pascal、C#、PHP、JavaScript、Java、Python。目前主要使用後面四種程式語言,由於工作關係,目前使用這幾門程式語言主要是寫書和講課用,而不是做專案,專案基本上交給兄弟們去完成了。寫這篇文章的時候,我一查,居然使用的多數程式語言都是排行榜的前列,至少說明,選擇一些主流的程式語言還是很重要的。但是,什麼叫主流?時代不同,主流也在發生變化,這篇文章就是為了討論這個話題的,不是嗎?

24歲零基礎自學程式設計,先學哪種語言最好?

所以,作為一個資深行業老兵,技術雜家,相信我來寫一寫這個話題,還算得上是有點說服力的。同時,作為我在知乎的第一篇文章,也不想一上來就是技術細節,先跟大家聊一聊宏觀的東西,也算是讓一些對IT行業一知半解的朋友,能夠更多地瞭解這個行業。所謂“以史為鏡,可以知興衰;以人為鏡,可以知得失”,史,便是IT行業這30年,人,便是我。

2000年之前:程式語言誕生期

你一定聽說過雷軍,沒錯,他是一個程式設計師。你也聽說過馬化騰,沒錯,也是一個程式設計師。你可能還聽說過喬布斯(英年早逝那個)、比爾·蓋茨(讓你透過視窗看世界那個)、拉里·佩奇(被牆的那個)、馬克·扎克伯格(繼續被牆的那個)、劉強東(不知妻美那個)、李彥宏(跟莆田是好朋友的那個)、周鴻禕(轉一圈那個)、張小龍(一個人孤獨地站地球上那個)、張一鳴(讓你刷得停不下來那個)、丁磊(養豬那個)……

沒錯,他們都是程式設計師出身,改變這個世界的科技大佬們,幾乎都是程式設計師出身,或者非程式設計師的技術人員出身。我也是,但是目前還沒改變世界,也許會有那麼一天,誰知道呢,夢想不是說還是要有的嗎。為什麼科技大佬幾乎都是技術出身呢?這背後必然是有其潛在邏輯的,這個話題,我另外專門寫篇文章給大家探討探討背後的故事。咱們言歸正傳,在2000年之前,這些科技大佬們,當時都在使用什麼樣的程式語言寫程式呢?

2000年之前的IT世界並不主流,是一小部分發燒友的天地,那時候,很多程式語言的出現都只是為了解決一些單機應用而已。早期最主流的程式語言主要是C/C++語言,程式設計師使用這門程式語言來開發一些計算機領域的基礎設施,比如作業系統、資料庫、編譯器、網路通訊、文字處理、音訊影片解碼器、防毒軟體、硬體驅動以及其他一些硬體裝置的數字通訊。基本上這些基礎設施都是使用C或者C++來進行程式設計的,再配合組合語言或者硬體描述語言(VHDL)完成基礎開發。這裡普及一個基礎常識,大家會發現很多地方講程式語言的時候,都是把C和C++寫在一起的(C/C++),這是因為他們雖然是兩門不同的程式語言,但是C++是面向物件的C,同時又完全相容C的特性,所以基本上只要你會使用C++,就會用C。但是注意,這跟Java和JavaScript可不一樣,Java和JavaScript是完全兩個世界的語言,各自沒有任何關聯,就像雷鋒和雷鋒塔的關係一樣。

正因為C和C++當年如此受到重視,以至於看得微軟都眼紅,於是乎在2000年左右,微軟搞了個C#出來(其實就是C++++,是不是比C++看起來更牛逼?),當然這是後話。暫且不表。所以在當時搞基礎設施建設的這個階段,其他程式語言便沒有什麼機會出人頭地,只能用來解決一些邊邊角角的問題。比如90年左右那一段時間,大家對C++當道表示完全不服,陸續開發了以下一些程式語言:

Objective-C:面向物件的C,跟C++有差別,後來被蘋果公司用於開發iOS應用,才讓我們想起了這段往事,08年後的那幾年也著實火了一把。

Perl:用來處理一些Linux/Unix上的運維和批處理工作,吐槽一下,主要是Shell確實太垃圾了。

Python:跟Perl類似,也是為Linux/Unix作業系統設計,跟今天Python的地位可沒法比。

Java:那個時候,Java主要用來搞點Applet:小應用程式和伺服器端應用,跟今天的小程式可不是一回事,那時候的Java也是個小兄弟而已。

當然,2000年之前,各行各業也開發了自己的程式語言,用於處理特定的任務,比如:

PHP:基於C語言開發的解釋型語言,主要用於開發Web應用後臺,與MySQL完美融合,為網際網路應用貢獻了很多力量。

Cobol:一門古老的程式語言,主要用於金融行業,資料處理為主。由於金融行業的核心繫統追求穩定,而不是最新技術,所以到今天,仍然有一小部分程式設計師在使用。

FORTRAN:為科學、工程問題或企事業管理中的那些能夠用數學公式表達的問題而設計的,其數值計算的功能較強。

Basic:比爾蓋茨用Basic設計了最早期的作業系統,微軟公司與Basic/VB程式語言那絕對是生死之交,那感情,C#都趕不上的。當然,目前也基本上只有在微軟的產品陣營中,能看到Basic的影子,比如微軟公司基於Basic設計了一系列改進版本:

Visual Basic:用於開發Windows圖形視窗應用,我上大學的時候也是異常火爆,很多當時的企業也都喜歡用VB。

VBScript:VB的指令碼語言,比VB簡單,功能也少很多,當時主要用來開發ASP網頁應用。

VBA:內置於Office套件裡面的指令碼語言,可以方便的對Word,Excel等進行二次開發。

http://

VB。NET

:伴隨微軟的。NET戰略基於VB完全重生的一門程式語言。

5。PASCAL:一門通用的古老的程式語言,語法上跟Basic類似。後來被一家牛逼哄哄的叫做Borland的公司(一家能夠叫板微軟的專門做程式語言開發工具的公司,已於10幾年前倒閉,有點像今天的JetBrains)重構出來一款開發工具叫Delphi,專門開發Windows應用,與Windows底層介面完全適配。那個時候非常風光,企業開發應用程式主要使用兩款工具:VB和Delphi,當然還有Visual C++。

大家可以看到,微軟在程式語言上也是有很多造詣的,Visual Studio系列開發工具影響了一代又一代的程式設計師,至今,微軟的開發工具依然流行於世界,但是,國內反而用得比較少。原因有很多,歷史遺留問題,生態問題,版權問題。如果微軟早一些擁抱開源,Java就不一定是怎麼回事了。當然,Java也有Java的問題,後面再聊。

90年代後期,網際網路開始萌芽,今天很多耳熟能詳的科技大佬們,紛紛開始出鏡,屬於他們的時代,即將來臨。那個時候的網際網路,後臺通常又是使用什麼程式語言呢?PHP,ASP還有CGI,當然還有用於前端介面的HTML、CSS和JavaScript。

2000年-2010年:傳統網際網路

2000年3月10日NASDAQ指數到達5048。62的最高點時到達頂峰,至此,第一波網際網路泡沫宣告正式破滅,與之一起破滅的,還有無數的一夜暴富的夢想,和無數科技公司的估值。於是,談網際網路色變,你走在大街上告訴別人你是做網際網路的,大概就跟今天你告訴別人你從武漢回來的是一樣的待遇。當年NASDAQ指數最低跌至1114點,跌幅達78%。給大家舉個例子,網易,沒錯,養豬那個,寫本文時股價是348。22美元。你知道2000年網易上市後,股價最低跌到多少嗎?網易的股價從上市時的15。5美元一路下跌,最低跌至0。48美元,跌幅達97%,其市值也從上市時的4。7億美金跌至不足2000萬美金。那裡的科技公司,用慘烈都不足以形容。

24歲零基礎自學程式設計,先學哪種語言最好?

泡沫過後,總要生存,怎麼辦?大家都在尋找新的應用場景,尋找變現的門路。於是,簡訊業務,移動增值服務,電子商務,遊戲慢慢地變成了科技企業的商業模式。同時,大家也在利用網際網路尋找各種商業機會,湧現了一大批新興行業和軟體公司,網際網路搞不定,那就老老實實做軟體吧。所以,軟體公司慢慢得到了更多機會,企業也慢慢地發現資訊化是一件重要的事情,勢在必行。在這10年時間裡面,網際網路企業其實並沒有真正為技術做出多少貢獻,能數得上的也就Google、微軟、蘋果等少數幾家公司吧,國內的公司幾乎沒有。難道你要告訴我阿里巴巴、騰訊、百度、Amazon、Facebook為技術做了多少貢獻嗎?至少那10年是沒有的,他們都在求生存而已。

所以,在這一階段,程式語言本身並沒有什麼突破性的技術,也並沒有新的程式語言誕生,大家都是吃老本而已,無非做修補,做最佳化,做升級而已。但是,由於時代的變遷,程式語言的主角也在慢慢發生著變化。就像今天很多人在討論,究竟學Java還是學Python,做前端還是做後臺,或者是做開發還是做測試類似的道理。2000年後,隨著微軟的。NET戰略及Visual Studio 2000正式釋出,以及Java在網際網路應用和企業級應用開發中的地位越來越重要,大家討論最多的話題就是:搞C#還是搞Java呢?跟隨Sun還是跟隨Microsoft呢?也會討論做ASP。NET還是做PHP,亦或是我到底應不應該放棄C++(大家一致認為C++是學習成本最高的一門程式語言)。我上大學後開始接觸程式設計,基本上在論壇裡面感受到的,大概就是這樣的畫風,我也不知道什麼程式語言好,我就慢慢地,把這些程式語言都學了一遍。不是說小朋友才做選擇題嗎,成年人不需要做選擇題,都要。我的選擇邏輯就這麼簡單,反正每一門程式語言對我來說都是新的,也都是有價值的,那幹嘛不都學呢?所以我也搞不懂為什麼,20年過去了,人們還是要做選擇題,生怕多花了時間做了無用功,還是功利驅動吧估計。會是無用功嗎?當然不會,要不然我今天不至於能夠精通這麼多技術,能夠在兩三天時間完成一門程式語言的學習,之前所花的時間,以後都會找回來的。

言歸正傳,這一段時間,雖然沒有創造程式語言,但是由於大量企業的參與,程式語言得到了空前的發展,形成了今天的程式語言的基本形態。也使得軟體開發越來越標準化,規模化。程式語言從底層開發走向了應用開發,IT從業者也越來越多,愣是把IT行業從一個小眾領域做進了大眾行業,為IT行業成為所有行業的基礎行業奠定了堅實的基礎。什麼叫基礎行業,就是行業中的行業,所有行業的依賴的行業,提升效率的行業,比如金融行業,物流行業,房地產行業,這都叫基礎行業,沒有這些基礎行業,產業根本發展不起來。

這一時期,開發應用系統最火的當屬微軟系列(Delphi、C#、VB)和Java,但是由於IBM,Oracle等巨頭也轉而支援Java(否則呢,難道支援競爭對手微軟,畢竟Java是開源的),基於Java的應用伺服器(Webshpere、Weblogic、JBoss)幾乎是所有金融行業系統更新的首選(因為穩定,可靠,高併發,高效能),所以金融行業算是支援Java最為廣泛的行業。大家一看,金融行業這麼苛刻的行業都在用Java,那咱們也用Java唄。也就是從這一時期開始,Java慢慢地站上了歷史舞臺,成就了Java的輝煌20年。當然,這也跟Java的跨平臺的特性和開源政策有很大關係。

其實微軟的開發體系也是非常完整的,而且開發效率也很高。為什麼微軟的開發工具要叫“Visual Studio”,視覺化程式設計嘛,就是你拖拖拉拉的就能解決一大部分程式設計的問題。但是因為微軟的收費政策(Windows作業系統要收費,Visual Studio開發工具要收費,SQLServer資料庫要收費,就連C#的很多第三方元件都要收費),導致微軟流失了一大批粉絲,不是說微軟的程式語言不優秀,而是費用太貴,軟體開發公司需要付費購買,開發好的軟體給甲方公司使用,甲方公司要不要買SQLServer?要不要買Windows伺服器?盜版不行嗎?個人用盜版一下問題不大,企業呢?但是如果我跟隨Java或者PHP體系,我可以把免費的Java或PHP運行於免費的Linux作業系統上,並且連線免費的MySQL資料庫,大家只需要關注程式設計本身,而不用關心版權問題,這個世界本就該這麼簡單就好不是嗎?

再聊一下PHP。畢竟並不是每個網際網路應用都是金融行業那般規模嘛,一個小網站,搞那麼複雜幹嘛呢?PHP由於其更低的學習週期,專為Web系統而設計的特點,開發也非常快速,很適合網際網路的特點,所以很多網站也基於PHP開發。於是乎,一種牛逼的系統組合誕生了,LAMP(Linux+Apache+MySQL+PHP),一套完整的開源伺服器及後臺解決方案,讓無數企業免於版權的苦惱。當然,LAMP的M,今天也可以指MongoDB,P也可以指Python。

但是,我們不能忘記了,還有一批技術大牛們,是從早期的C/C++走過來的,基礎設施建設得差不多了,總得跟自己找點活兒幹啊。其實很多從C/C++過來的人,是看不起這些後起之秀的,他們覺得這些技術太Low。C和C++當然不會落幕,基礎設施還得繼續完善,同時,高校那萬年不變的課程體系,也繼續延續著這些程式語言的學習,這也是為什麼程式語言排行榜,常年的前三甲者是Java、C、C++的原因。另外,網際網路泡沫破滅後,遊戲行業空前發展(直到今天,遊戲行業也是為數不多的純靠軟體本身實現盈利的行業)。遊戲開發使用最多的是C++。用C++來開發遊戲並不是說C++多麼適合遊戲開發,而是遊戲(主要是端遊)的底層介面和遊戲引擎基本都是基於C++來開發的,而作業系統的渲染引擎如OpenGL,DirectX也者是C++介面。當然,C++的執行效率也是不二之選。

2008年,iPhone開始風靡全球,一機難求。手機行業贏來了新的拐點,智慧手機開始發力,Google也在同一時期聯合一些運營商和手機制造商把Android推向了市場。兩大科技公司幾乎瞬間佔領了科技制高點,引領全球移動網際網路行業至今,仍沒有第三個王者。在所有這些主流的程式語言中,蘋果公司一個都沒選,而是選擇了Objective-C作為iOS的應用開發語言,文章開始的程式語言排行榜中,大家可以看到,這門程式語言從名不見經傳到從2015年到達第3名的巔峰,靠的就是蘋果。當然,由於原生應用開發的逐漸下滑,排名又下滑到第10名。而此時的Android,卻選擇了Java作為應用開發的程式語言,所以,智慧手機又再次給Java加了一把火,Java從此常居排行榜第一位,暫無競爭對手,也是可以理解的了。你用Android手機嗎?那不就完了。

伴隨著網際網路的應用,還有一門程式語言,也開始變得牛逼哄哄,那就是JavaScript,一門主要運行於瀏覽器中的程式語言,徹底拉近了Web頁面與人們的距離,各種互動方式,越來越方便的操作,越來越友好的使用者體驗,背後是大的功臣是JavaScript,其次才是HTML和CSS(但是,它倆不能算程式語言,只是一堆標記而已,本文就不討論了)。

回顧這10年,最大的贏家是Google和蘋果,最大的輸家其實不能說是諾基亞,而是微軟。Java打敗了微軟的Visual Studio,PHP打敗了微軟的ASP。NET,Google和蘋果,即將打敗微軟的Windows Phone,MySQL打敗了微軟的SQL Server。而微軟畢竟是微軟,雖然犯了很多錯誤,但是依然活得很好,在戰場上,也只是區域性失利而已。

2010年-至今:移動網際網路

這一個階段,移動網際網路的這10年,相信大家都是參與者,對很多事算是都經歷過了。這10年,移動網際網路走向了巔峰,傳統網際網路的形態被徹底打破,很多跟不上節奏的企業,要麼轉型,要麼死。轉型成功的少,死的多,死了,不會有多少人記得你的名字,只有你成功了,才會有人記得。

作為移動網際網路,我本該是最核心的參與者,但是工作原因,我卻錯過了移動網際網路最黃金的幾年創業期,所幸還是沒有錯過得太離譜,算是成為了一個後移動網際網路時代的深層參與者。畢竟,我現在仍然參與其中,誰說錯過了就一定是壞事呢?說不定我也錯過了破產呢?移動網際網路,從2008年智慧手機上市以來,2010年算是基本上家喻戶曉,真正成功地推廣了移動網際網路。當然,這也跟3G的正式運營有關,難道靠著GPRS能夠移動互聯?

這一個10年,有多少人為移動網際網路瘋狂,又有多少人書寫著創業的血淚史,不一而足。移動網際網路在中國的創業,基本上是在2014年到達頂峰,大部分科技公司完成IPO,開始收割。而這一階段,大家都在忙著造手機,軟體領域,創新大多是應用創新而非底層創新,基礎設施領域,無非雲計算和人工智慧而已,大資料也只能算是一個應用領域而已,並沒有在技術上有多大突破。

至於程式語言,除了Java和JavaScript這異父異母的哥倆外,Python簡直是在瘋狂奔跑,這年頭你要不說自己會點Python都不好意思說是程式設計師。而PHP逐步開始落幕,C/C++還是那個老樣子,四平把穩。Objective-C隨著iOS走上舞臺,又隨之慢慢落幕。C#在國外應用不錯,國內相對要差很多。簡單給大家聊一下原因。

為什麼Java能夠繼續火,一來是歷史遺留問題,因為傳統網際網路時代,Java已經佔據大半壁江山,導致企業技術體系架構基於Java,人才擅長Java,那麼必須延續Java。二者,Android的市場佔有率80%多,主要使用Java開發原生應用。三者,很多網際網路企業要完成高可靠,高併發的架構設計,還非Java莫屬,其他程式語言還真幹不了這個。第四,Java的生態非常完善,各種第三方庫和框架,讓開發變得越來越簡單高效。最後,Java能幹的事情確實有點多,C#能幹的,Java全部能幹,PHP能幹的,Java全部能幹,Python能幹的, Java也基本都能幹。而反過來,則不行。C#開發不了Android應用,PHP幹不了大型系統,也開發不了Android,Python也不是專門用來構建高併發的大型系統的,當然也幹不了Android。Python能幹的事情不少,但是要代替Java,不可能,最多二者和平相處,各自負責好各自擅長的領域。

但是,有沒有Java不能幹的,當然也有。C和C++能幹的很多事情,Java幹不了。Python在資料方面的處理能力,Java目前還不完全具備;開發Windows視窗應用而不是Web應用,Java並不擅長(這是C#或者QT擅長的事情,QT是C++的桌面開發庫,開發桌面應用很牛逼);同時,一些專有的領域,比如R語言(統計分析),比如硬體程式設計,比如機器學習,並不是Java的陣營。

再來說說JavaScript為什麼能夠火起來,其實傳統網際網路也會大量使用JavaScript,所以我們不能說JavaScript越來越火,只能說他越來越重要而已,它本來一直都很火。只是由於JavaScript技術門檻相對較低,所以早期並沒有那麼嶄露頭角而已。隨著H5全套標準的落地和移動端開發的流行,前端開發的應用場景早已不侷限於PC端瀏覽器,而是幾乎滲透到應用程式的各個形態中。比如Web頁面,WebApp,混合式開發,小程式,甚至很多硬體開發,都使用JavaScript來進行呼叫。並且JavaScript的前端框架也越來越成熟,學習成本也越來越低,從業者眾多當然是可以理解的。其實後移動網際網路時代,除了遊戲開發和作業系統原生應用必須使用原生開發,大部分移動應用都可以使用JavaScript來進行前端互動,這樣可以大大降低開發成本。企業不需要為iOS和Android以及不同的版本和廠商雲適配不同的介面,一套H5,搞定所有平臺,所有廠商,所有版本,豈不快哉?事實上,無論iOS還是Android,其瀏覽器核心都是使用的WebKit,兩家廠商是同一個核心,所以在處理H5應用時,根本就不存在相容性的問題。我可以這樣說,只要移動應用不死,JavaScript就會一直被重用。但是,JavaScript也有其侷限,除了應用於Web應用中,一個大牛也開發了Node。js框架用於後臺開發,但是這個框架有點不瘟不火,因為它很難取代Java,PHP,C#和Python的傳統地位。

Python為什麼能火,從早期Python設計用於運維,到今天,資料分析,機器學習,Web開發,爬蟲開發,測試開發,大資料等,都在廣泛應用Python。在眾多程式語言中一枝獨秀,甚至某些排行榜把Python排在了第1名。主要有幾個原因:

這個世界上並不都是程式設計師才會寫程式碼,很多非程式設計師群體也要寫程式碼不是?而什麼C++,Java,C#等流都太專業了,學習起來也很難,對於非程式設計師群體來說,精通一門程式語言不是目的,目的是解決工作和學習中的問題。你讓我一個搞科研的學程式設計?你讓我一個搞運維的非要變成一個程式設計師?你讓我一個做測試的,變成比程式設計師還牛逼?你讓我一個搞統計分析的人非得要學成個Java開發工程師?我這不吃飽了撐的嗎?而Python,恰恰在這些領域有很深的積累,擁有很多成熟的第三方庫,學習成本也不高,拿來簡單學學就基本能用。

Python由於其簡潔的語法,快速的學習成本,讓很多不想立志成為程式設計師的人,找到了利用程式解決實際問題的捷徑。同時,這幾年人工智慧和大資料以及爬蟲(廢話,你不爬資料哪來的大資料呢),也把Python推向了應用前沿。越來越多的企業開始使用Python解決問題,或者Python和Java體系在一家企業中共存。因為兩者很難完全互相替代。

國家也把人工智慧定位成國家戰略,而從小學開始就要進行程式設計教育,讓很多人看到了Python的商機,包括我自己所在的企業,也多少受到這方面的影響。難道你讓一幫小學生天天編C語言編Java?Python是非常適合於小朋友學習的。

總而言之,Python是面向非程式設計師群體的最好的程式語言,沒有之一。你一定要知道,這個世界上,非程式設計師群體可比程式設計師多得多,Python當然會火,而且一時半會兒估計下不來。但是,國內很多企業從招聘角度來看,還是Java比Python的招聘需求多,這個情況會不會在未來被改變,我不知道。主要看Oracle到底會不會把Java生生給玩兒壞了,這是最大的一個風險。(因為Oracle收購Java後,狼子野心,天地共憤)。

近幾年,也有一些新的程式語言出現,比如Go語言,Swift,Kotlin,Sky,WebAssembly,Dart等等,層出不窮。面對未來,我們應該怎麼辦呢?難道把所有語言都學一遍?

2020年-未來:萬物互聯

未來,必然是物聯網大發展的時代,如果還沒有進入IT這個行業的朋友,可以進來看看了,否則,你可能會錯過一個時代:萬物互聯的物聯網時代,那可是萬紫千紅,繽紛多彩啊!試想一下,你開的車是聯網的,你家的燈是聯網的,你坐的馬桶是聯網的,你家的空調冰箱電視機是聯網的,你家的梳妝太窗簾餐桌是連網的,街邊的建築物是連網的,馬路上的攝像頭是聯網的,電梯是連網的,甚至你帶的眼睛,你用的牙刷,都是連網的。(我不開玩笑,現在都有這些產品了),那將會是一個什麼樣的新世界?會孕育多少新的商機?哇,難以相像。

那麼,在這樣一個時代,我應該用什麼程式語言或者學習什麼新的程式語言呢?寫到這裡,聽我吹了這麼多牛逼了,如果你還糾結用什麼程式語言,那麼可能是我沒表述清楚。程式語言根本不是這個世界的核心,也不是你人生的主宰,無論用什麼程式語言,最終我們是要解決現實世界的問題。哪門程式語言適合解決什麼問題,我們就用哪門程式語言,你總不能說用Python寫個作業系統吧?而程式語言,也變得越來越簡單,學習和使用它,將不再是問題。作為IT從業者,我們只需要思考,未來有哪些問題,還可能透過IT技術來解決,就夠了。至於程式語言,你非得要讓我說總得學一個的話,那麼我就用下面的話,來結束這篇萬字長文吧。

如果這個世界只有一種程式語言,我建議你學習Java;如果有兩種,我建議你學習Java和Python;如果再給我一次機會可以選三種,那麼我建議你學習Java、Python和C++。因為這三種程式語言,可以解決這個世界上絕大部分現實問題,無論軟體還是硬體,無論網際網路還是物聯網,無論前端還是後端。不對啊,強哥,前端不是隻有JavaScript嗎?沒有不對啊,Java都會了,你還擔心學不會JavaScript?如果你Java會了,學習Python和C++將變得非常容易,如果你這三門程式語言都會了,這個世界上所有的程式語言,我保證,你花三天時間,足夠搞明白怎麼回事了,進而馬上可以應用於專案中,在專案中再去解決實際的問題就可以了。我就是這麼幹的。

大家好,我是強哥,我是一名程式設計師,我快40歲了,但是我依然在寫程式碼,樂此不疲,因為,我喜歡寫程式碼。多謝大家關心,我的頭髮依然茂盛。

24歲零基礎自學程式設計,先學哪種語言最好?

:本文由蝸牛創想集團CEO鄧強老師撰寫,首發至知乎專欄《強哥學堂》,原文連結

https://

zhuanlan。zhihu。com/p/10

6808045

,切勿擅自轉載!