編程語言說話
① 簡述計算機編程語言發展歷史
fortran、algol、cobol、lisp(和其各種scheme方言)、ada、pascal、basic、smalltalk等等,還有許多,找本關於計算科學的歷史書看看就知道了,或到wikipedia去查相關目錄。fortran主要用於科學計算,現有的程序庫是大多是用其編寫的;C的發明借鑒了algol的內容;過去商務計算大都用cobol,因為cobol和英語很接近;lisp多用於人工智慧領域,當然用來描述演算法也是很好的,其它的就不多說了,自己查查吧。
② 什麼是編程語言
編程語言(programming language),是用來定義計算機程序的形式語言。它是一種被標准化的交流技巧,用來向計算機發出指令。一種計算機語言讓程序員能夠准確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。
最早的編程語言是在電腦發明之後產生的,當時是用來控制提花織布機及自動演奏鋼琴的動作。在電腦領域已發明了上千不同的編程語言,而且每年仍有新的編程語言誕生。很多編程語言需要用指令方式說明計算的程序,而有些編程語言則屬於聲明式編程,說明需要的結果,而不說明如何計算。
編程語言的描述一般可以分為語法及語義。語法是說明編程語言中,哪些符號或文字的組合方式是正確的,語義則是對於編程的解釋。有些語言是用規格文件定義,例如c語言的規格文件也是ISO標准中一部份,2011年後的版本為ISO/IEC 9899:2011,而其他語言(像Perl)有一份主要的編程語言實現文件,視為是參考實現。
編程語言俗稱"計算機語言",種類非常的多,總的來說可以分成機器語言、匯編語言、高級語言三大類。電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。 目前通用的編程語言有兩種形式:匯編語言和高級語言。
基本簡介
計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。 如果按語種分,可以分為英文符號語言和漢語符號語言兩類。 電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行的,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
③ 開發聊天軟體找誰好用什麼語言最快
如果您要開發一個聊天軟體,建議您找有豐富經驗的軟體開發公司或者團隊合作,他們可以提供專業的技術支持和豐富的經驗,確保您的聊天軟體開發順利進行。
至於編程語言,使用哪種語言最快要根據您的需求和開發團隊的技術背景來決定。一般來說,目前最流行的聊天軟體使用毀喊的編程語言包括:
java:Java是一種跨平台編程語言,非常適合開發聊天軟體纖或野,因為它具有高度的安全性和可靠性,並且可以快速開發大型的應用程序。
python:Python是一種易於學習和使用的編程語言,被廣泛用於Web應用程序和數據分析。Python可以幫助您快速創建聊天機器人,同時也可以輕松實現一些自然語言處理技術。
Swift/Objective-C:這兩種語言都是蘋果公司的開發語言,非常適合開發iOS應用程序。如果您的聊天軟體主要面向iOS用戶,那麼使用Swift/Objective-C是個不錯的選擇。
總的來說,使用哪種編程語言最快要根據具體情況而定。如果您需要快速開發一個基於Web的聊天軟體,那麼團中使用Java或Python可能是最好的選擇。如果您的聊天軟體主要面向iOS用戶,那麼使用Swift/Objective-C可能更加合適。
④ 學什麼編程語言
我想,每個人可能會根據工作要求的必然條件、興趣愛好的充分條件,做出相應不同的選擇。
也有很多工程師在學習一門新的技術時,會擔心自己所學的技術是否會越來越流行,盡量去避免學習了一個非常小眾和冷門的技術。
這種擔憂是可以理解的,畢竟,一門技術使用的人越多,對於早期學習這門技術的工程師來說,就有越多的好處和優勢。
與此同時,如果學習了一門冷門的技術,不但英雄無用武之地,而且,在求職市場上也沒有什麼優勢。
要問我的入門編程語言選擇,我首選一定是 Python,其具體原因可以引用一位網友的回答,「學完 Python,可以上天」。
運維為什麼要用 Python
Good question!!!為什麼不用 php,JAVA, C++,Ruby?
這里我只能說,見人見智, 如果你碰巧已經掌握了除 Python 之外的其他語言,那你愛用啥用啥,如果你是一個連 Shell 都還沒寫明白的新手,想學個語言的話,請用 Python,為什麼呢?
首先,PHP 是跟 Python 比的最多的,其實他倆根本就不用比,為什麼呢? 兩個語言適用性不同,PHP 主要適用於 Web 開發,可以迅速的做出中小型,輕量級的 Web網站。
但後端嘛,基本還是要藉助其它語言,藉助什麼語言呢?Shell?Python?呵呵。而 Python 呢,是個綜合語言,前後端都可以,單拿出來比 Web,也一點不比 PHP 差,但為什麼 Web 方向上 PHP 比 Python 要火?
先入為主嘛,PHP 90 年代誕生就是做 Web 的,Python 2000 年後才出現 Web 框架,但論優秀程度上,Python 的 Web 框架基本上出其無左,至少是跟 PHP 比。
搞個運維小平台,用 Java真心沒啥必要,在我看來,Java就是穩定的中年男人,穩定、成熟、禿頂,而 Python 代表的就是青春,簡潔、快、干凈、帥!
C++/C,這個嘛,我只能說,如果你會了 Python,又會 C 的話,那你會更吃香,但是不會 C 的話,其實也無大礙。但對新手來講,不建議把 C 做為第一門語言開始學習,為什麼呢?打擊自信心…呵呵,你懂的。
Ruby,日本開發的,還不錯,風格跟 Python 有點像,因為 Ruby on rails 出了名,國外用的比較多,國內,放心吧!沒戲,Python 已經把它的想像空間都占死了。
當然還有新的語言 GO,有些搞運維的看見做開發的人員搞 GO,也想湊熱鬧,覺得是未來,我想說,別沒事跟風,GO 再成功,也不會變成運維開發語言。
一個博士講過一句話,他說:程序效率高低,80% 都是寫程序的人決定了,語言本身就占 20%。
所以下次有人再說 Python 效率低的時候,請讓他先回去自己檢查下自己的程序多了多少無用的邏輯、循環等等。
這個博士自己用 Python 寫的 Web程序,一台伺服器每天能處理上億請求,一秒並發近兩萬,什麼 Web框架這么牛 B?別問它是誰,它叫 tornado。
在選擇使用哪一門編程語言之前,我還想提醒讀者的是——「世界上只有兩種編程語言,一種是天天被人吐槽但卻被廣泛使用的編程語言,一種則是無人問津沒有存在感的編程語言」。
Python 語言作為排名第一的動態類型語言,自然有它的道理。如果我們充分了解它的優缺點,在使用的時候,取其精華去其糟粕,那麼,Python 一定是工程師解決問題的一把利劍。
--來自wechat公眾號《51CTO技術棧》
⑤ 什麼是編程語言
編程語言(programming language)可以簡單的理解為一種計算機和人都能識別的語言。一種計算機語言讓程序員能夠准確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。
編程語言處在不斷的發展和變化中,從最初的機器語言發展到如今的2500種以上的高級語言,每種語言都有其特定的用途和不同的發展軌跡。編程語言並不像人類自然語言發展變化一樣的緩慢而又持久,其發展是相當快速的,這主要是計算機硬體、互聯網和IT業的發展促進了編程語言的發展。
計算機編程語言能夠實現人與機器之間的交流和溝通,而計算機編程語言主要包括匯編語言、機器語言以及高級語言,具體內容如下:
匯編語言
該語言主要是以縮寫英文作為標符進行編寫的,運用匯編語言進行編寫的一般都是較為簡練的小程序,其在執行方面較為便利,但匯編語言在程序方面較為冗長,所以具有較高的出錯率。
機器語言
這種語言主要是利用二進制編碼進行指令的發送,能夠被計算機快速地識別,其靈活性相對較高,且執行速度較為可觀,機器語言與匯編語言之間的相似性較高,但由於具有局限性,所以在使用上存在一定的約束性。
高級語言
所謂的高級語言,其實是由多種編程語言結合之後的總稱,其可以對多條指令進行整合,將其變為單條指令完成輸送,其在操作細節指令以及中間過程等方面都得到了適當的簡化,所以,整個程序更為簡便,具有較強的操作性,而這種編碼方式的簡化,使得計算機編程對於相關工作人員的專業水平要求不斷放寬。
⑥ 常用的計算機編程語言有那些
種類很多,要學的話,主要看你要從事哪個方面,編程都是大同小異,如果你學會一門,其他的學起來也就輕松許多。 如果你想當個普通的公司職員,建議C\C++這類的。 如果你想當個破解人員,建議匯編(我覺得是相當的難...)。 如果你想當個黑客,擁有一定的軟體知識(很低層的那種)和硬體知識(使用軟體掌控硬體)和網路知識(入侵這類的)。 如果你想當個紅客,主要是網路安全知識。
這需要看將來想從事什麼類型軟體的開發吧。如果在國內開發windows類型應用程序,據說vb比較流行,但如果開發和硬體關系較大的嵌入式程序,則使用較多的還是C語言,而網路這個方面,無論是有線還是無線,大多數都選擇了JAVA。以上是從應用角度來講的,如果從性能和投入方面分析,C語言無疑性能上最好的,但它的復雜度太高,開發和維護費用較大,一般比較好的游戲程序或者速度要求較高的程序會選擇C++來開發,而VB等由於它的簡易性,可以極大縮短開發周期,也是程序員的寵兒之一。另外有一種語言python在國內逐漸出現,國外好像已經流行了十幾年吧,linux的引導程序和BT的一些組件都是用它開發的,具有開發周期短,易維護等特點,運行速度也比JAVA要快,並且面向對象,無平台限制,據說還開放了源碼,不過由於在國內流行時間不長,各大公司出於對以前開發代碼的兼容性的需要,可能一時間接受不這個語言,但可以明顯看出,它的發展潛力相當大。 總而言之,C為基礎,掌握JAVA,會用VB,了解python,應該看得出這幾個詞彙之間的輕重差別吧。:)單機編程語言主要有qb,vb,c++,vc++,c語言,我覺得最常用的是c語言,因為現在我們常用的windows操作系統就是用c 語言編寫的.非常常用. 網路編程語言現在用的是html 語言,還有java.ada
asp(含asp.NET)
basic(含VB)
b(C語言的前身)
css
c(含VC)
c#(含VC#.NET)
c++(含VC++.NET)
fortran
foxbase
html(含xhtml和shtml)
jacc(不確定是不是這個名字了,一種開發語言的語言)
java
java script
jsp
latex
lua
pascal
perl
php
prolog
python
ruby
sgml(html和xml用得很多,單獨列出,其實也是一種sgml)
shell
sql
tcl/tk
vb script
xml 最常用的是 JAVA C C++ java VB 是比較好學的 最牛的要屬C#了
世界上編程語言太多了,就像每個國家都有自己的語言一樣的.但是從編程語言發展的角度說:
大概經歷 這樣 四個階段: ############################################################
第一個階段是 機器碼編程 (你肯定知道計算機只能識別0和1,以前就是這樣編程的).現在的PC計算機依然是這樣,馮.諾依曼結構的計算機.你可以去網上搜索 馮.諾依曼 是干什麼的.你會想,為什麼現在編程不是0,1,計算機怎麼識別呢?當你開始編程的時候,你用的編譯器就在做這些事情.
########################################################### ##########################################################
第二個階段是 低級語言,比如匯編語言,台灣叫做組合語言.其實組合翻譯還是比較准確的.一般有IBM PC匯編語言,還有AT&T的匯編語言.學一個就可以了,另一個只是形式不同.對於Intel的CPU來說,8088 8086是對應於16位的匯編語言,80386以後到現在的奔騰都是對應32位匯編語言.現在大學學的是8088/8086的匯編,這遠遠落後於時代了.目前已經推出了64位的CPU了. 匯編之所以是低級語言,是因為可以對計算機硬體進行直接操作.尤其是對BIOS的中斷調用.最典型的是,在我們操作系統啟動的時候(比如XP,LINUX...),內核引導程序就要調用BIOS來獲得計算機的硬體信息供內核的調用. 低級不是代表功能不強大. 對硬體進行直接操作的,一般如果代碼量小的話,會選擇匯編來寫.匯編的效率極高.
為什麼代碼量小才用匯編呢?因為匯編代碼別人很難讀懂.而且非常難維護.所以在選擇匯編語言編程的時候要考慮,我的程序是關注什麼方面的.
並不是只有匯編語言才能對硬體編程,C語言一樣可以,C++,JAVA都可以,但是考慮到執行效率,匯編比他們都有絕對優勢.一般系統級編程用匯編,C語言比較多 很多人說匯編語言將被淘汰,但是在一定的領域,這個東西不會被淘汰的.據我所知,目前的系統啟動部分除了用匯編寫,還沒有用其他語言寫過,操作系統的內核,多用C來寫,還沒有用C++來寫.據說Linus以前嘗試用C++改寫Linux內核,不過後來放棄了.如果有人對我的假設有什麼疑義,請推薦給我一個不用匯編寫啟動的代碼,或者內核是用面向對象編程語言來寫的OS的程序代碼,我將不勝感激.
如果有人有反對意見,我保留我自己看法,因為在計算機上沒有不可能的事情! ################################################# #################################################
第三個階段是:結構化高級語言
這個代表就是C語言,PASCAL語言,FORTANT語言.
C語言相比較這三個語言來說,應用是最廣泛的. C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。 C語言具有繪圖能力強,可移植性,並具備很強的數據處理能力,因此適於編寫系統軟體,三維,二維圖形和動畫它是數值計算的高級語言。 這里提到可移植性,補充上邊說的匯編語言,匯編語言因為是直接面對硬體,所以如果硬體不同,編程的語法就不同,所以匯編一般不可移植,或者移植非常困難. C語言常用的編譯軟體有Microsoft Visual C++,Borland C++,Watcom C++ , Borland C++ Builder,Borland C++ 3.1 for DOS,Watcom C++ 11.0 for DOS,GNU DJGPP C++, Lccwin32 C Compiler 3.1,Microsoft C,High C,等等...... 大學里教學用的是TC2.0,這里的T表示TURBO,是Borland公司的產品. ************************************************8
有必要了解一下C語言的發展歷史 C語言的發展頗為有趣。它的原型ALGOL 60語言。 1963年,劍橋大學將ALGOL 60語言發展成為CPL(Combined Programming Language)語言。 1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,於是產生了BCPL語言。 1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,並為它起了一個有趣的名字「B語言」。意思是將CPL語言煮干,提煉出它的精華。並且他用B語言寫了第一個UNIX操作系統。 而在1973年,B語言也給人「煮」了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BGPL的第二個字母作為這種語言的名字,這就是C語言。 為了使UNIX操作系統推廣,1977年Dennis M.Ritchie 發表了不依賴於具體機器系統的C語言編譯文本《可移植的C語言編譯程序》。 1978年Brian W.Kernighian和Dennis M.Ritchie出版了名著《The C Programming Language》,從而使C語言成為目前世界上流行最廣泛的高級程序設計語言。 1988年,隨著微型計算機的日益普及, 出現了許多C語言版本。由於沒有統一的標准,使得這些C語言之間出現了一些不一致的地方。為了改變這種情況,美國國家標准研究所(ANSI)為C語言制定了一套ANSI標准, 成為現行的C語言標准 3.C語言的主要特點 。C語言發展迅速, 而且成為最受歡迎的語言之一, 主要因為它具有強大的功能。許多著名的系統軟體, 如DBASE Ⅲ PLUS、DBASE Ⅳ 都是由C 語言編寫的。用C語言加上一些匯編語言子程序, 就更能顯示C語言的優勢了,象PC- DOS 、WORDSTAR等就是用這種方法編寫的。 C語言的特點 1. 簡潔緊湊、靈活方便 C語言一共只有32個關鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級語言的基本結構和語句與低級語言的實用性結合起來。 C 語言可以象匯編語言一樣對位、位元組和地址進行操作, 而這三者是計算機最基本的工作單元。 2. 運算符豐富 C的運算符包含的范圍很廣泛,共有種34個運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C的運算類型極其豐富表達式類型多樣化,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。 3. 數據結構豐富 C的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據類型的運算。並引入了指針概念,使程序效率更高。另外C語言具有強大的圖形功能, 支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。 4. C是結構式語言 結構式語言的顯著特點是代碼及數據的分隔化,即程序的各個部分除了必要的信息交流外彼此獨立。這種結構化方式可使程序層次清晰, 便於使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。 5. C語法限制不太嚴格、程序設計自由度大 一般的高級語言語法檢查比較嚴,能夠檢查出幾乎所有的語法錯誤。而C語言允許程序編寫者有較大的自由度。 6. C語言允許直接訪問物理地址,可以直接對硬體進行操作 因此既具有高級語言的功能,又具有低級語言的許多功能,能夠象匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可以用來寫系統軟體。 7. C語言程序生成代碼質量高,程序執行效率高 一般只比匯編程序生成的目標代碼效率低10へ20%。 8. C語言適用范圍大,可移植性好 C語言有一個突出的優點就是適合於多種操作系統, 如DOS、UNIX,也適用於多種機型。 ######################################################
第四個階段:面向對象的高級語言
典型的是C++ JAVA 在C語言的編程過程中,大家發現 結構化編程的C語言編程比較麻煩.
比如,我要編寫 描述3個凳子的程序,如果用C寫的話,我必須一個一個描寫凳子.如果要寫100,1000個或者更多呢?不就麻煩死了.為什麼我們不能先構造一個凳子的基本模型,然後根據具體凳子的特點添加代碼呢? 這樣代碼量不是大大減輕了,程序員就少做很多重復勞動了.這個基本模型就是面向對象里邊經常提到的類.
當然C++和C比較不僅僅是這些有點,優點太多了,我只是做一個假設而已,C++的內容很多,C++是C的超集.你學習C++你就知道了. C++和C的語法很相近,C++一樣能處理結構化的程序,基本和C一樣.
所以,你可以直接學習C++.C++和C沒有什麼必然關系.
############################################# 此外還有其他一些腳本語言perl,標記語言html等等.
游戲開發也經常用到腳本語言. -------------------------------------------------
編程語言就和人說話一樣,等你熟練掌握了,你應該學習如何說話的方法和技巧了.就是計算機上常說的 數據結構 和 演算法 當你熟練掌握編程語言的時候,你會發現再學一門新的語言不是什麼難的事情.很容易上手,確實是這樣的.
--------------------------------------------------------------
--------------------------------------------------------------
剛才我說了編程語言基本分為那些,知道這些語言最擅長的地方,你學游戲還是學什麼都會有個目標. 無論你從事什麼計算機編程工作,我都覺得應該好好學習基礎知識,不管你是先學再干,還是先干然後知不足才學.形式都是次要的,關鍵是解決問題. 不管怎麼樣,你還是要了解一些數學知識,比如游戲編程要涉及的 線性代數的矩陣知識,等等.數學是很重要的.不要認為編程和數學沒有關系.在高級編程中應用數學知識太常見了. 游戲編程現在大家學習3D的比較多.畢竟玩游戲,還是要逼真的感覺的.你初學可以學習OpenGL或者D3D,這些結構和C語言相似,他們不是編程語言,只是介面.編譯器你可以採用MS的VC++或者LINUX下的GCC + GLUT,當然編譯器只是工具,你喜歡採用什麼編譯器,調試器都是你自己的選擇.MS底下也可以採用其他的,Linux底下也可以採用GTK等等.看你喜好了.
再有就是Web編程語言語了:aspasp.net PHPJSP
⑦ 編程語言有哪些
一場編程語言之戰
@Author:Runsen
本人懂一點Python,Java,根據自己想法而來,純屬虛構。
現狀
進入2020年3月,新的編程語言排行榜新鮮出爐,TIOBE最新發布了3月編程語言排行榜。
從榜單中我們可以看到,前三名分別為Java、C、Python。相較於上個月,Python繼續以1.85%上升至10.11%,以10.11%的份額穩居第三。
我們先了解下比較常見的編程語言的,如Java,Python,JavaScript,C/C++,Go,C#各編程語言的用途。
「眾口難調」,面對多種多樣的編程語言,大家眾說紛紜,每種編程語言都有兆念棚其存在的意義,編程之戰從未停止,「戰火」一觸即發。
家庭內戰
最近,編程語言家族開了一場「家庭聚會」,都是在討論自己的排名。
下面是家庭成員的對話。
老三Py:最近,我可厲害了。從2015年,人工智慧的開始,人人學我,基本上我成為最無敵的大佬。
老四C++:可不是嘛,老三,你的爬蟲,數據分析,機器學習,深度學習高悉,自然語言處理再加上你的Django,flask等Web開發等,就連你的PyQt也想佔領我的QT圖形界面市場,都是你這個流氓,害得我從老三變成老四。
老三Py:那都是你太難寫了,學我就是幾分鍾就能入門的,誰叫你這么難懂,什麼面向對象,你的一百行代碼,我十幾行就搞定了,誰還會學你,很快,我就是老大,你就是我的小弟。
老四C++對老大Java說:大哥,有人想謀權篡位。
老大Java:現在,確實是老三的時代,現在個個數據分析師只會Python,都喊出了:人生苦短,我用Python。要怪就怪數據分析人員編程水平太低了,寫來寫去就是py代碼,完全學不會其他語言。
老二C鄙視的說:就算寫Python太厲害,也最多就是一個導包俠,沒有什麼了不起的。老三,話說你有什麼本事當老大,我都不敢謀權篡位。
老三Py:不如我們比一比,看看現在開發者需要我多些還是老大多先。
老大Java:好,比就比。誰怕誰,我到底看看你有什麼本事。
老三Py:我代碼簡單,寫起來輕松易懂,比如我列印一句HelloWorld,就是一個,就是這么簡單。就問你們服不服?
老大Java:列印一個HelloWorld,我確實需要好幾行代碼,還要聲明一個HelloWorld對象。
老二C:我還要定義一個main的主函數,列印一個HelloWorld確實有點多。
老四C++:我是抄老二的,寫個HelloWorld比老二還要多。
老三Py:看見沒有,這就是差距,誰會寫那麼多代碼,直接簡單粗暴我就是一個列印HelloWorld。
老大Java:老三,你這樣不行啊,萬物都是對象,寫一行代碼,我覺得都要聲明一個對象。
老三Py:什麼對象,我能列印出來就Ok了。
其他人:確實老三寫的代碼太簡單了,連小學生基本都能學會,我們自愧不如,老三,你還要什麼本事嗎?
老三Py:要說我牛逼莫過我的第三方庫,超過上萬個,安裝也簡單,一個就輕松搞定,還給人看到安裝進度條,你們說我牛不牛逼。
老大Java:這我可不服,你去的maven倉庫看看
我的jar包任何一種場景都有,我的生態系早就完善,怎麼不如你老三?
老三Py:你在pom.xml安裝什麼任何信息告訴族則別人,而且你的dependency鬼死那麼長,人家願意寫嗎?
老二C和老四C++:我們gcc和cmake添加第三方庫還要編譯才可以。
老三Py:我的requests,selenium,beautifulsoup,pyquery,lxml,Scrapy,Crawley,Pyspider等一系列爬蟲庫和爬蟲框架厲害到爆,幾乎所有爬蟲都是我來編寫的,你們的爬蟲市場早沒有你們的份了。
老大Java:我的WebMagic,Nutch,Heritrix,Jsoup,SeimiCrawler,JLiteSpider爬蟲編寫的代碼確實比你多了好幾倍,以前爬蟲的市場都是基本用我,現在給你佔去,悲哀。
老二C老四C++:爬蟲,小心爬進監獄,現在首例爬蟲禁令,禁止爬取微信公眾號,都是老三你的爬蟲造成多少假流量,造成多少網站奔潰,就說12306有盡20%以上都是爬蟲訪問流量,有多少人搶票,再提價出售,官方發票,又被他們搶了,你以前讓多少人搶不票,這背後引發了一系列的骯臟的資產鏈。
老三Py:這關我毛事,現在的網路蜘蛛爬取,多少網站雙手叫好,這都是他們的問題。
其他人:你除了爬蟲,還有什麼?
老三Py:我的數據分析三劍客numpy,pandas,matplotlib,在加上Seaborn,Scipy,StatModels,Pyecharts,Bokeh,Blaze,Plotly,NetWorkX,Biopython,SymPy和gwpy等數據科學庫簡直無敵,都喊出了,從excel學Python了。
老大Java:數據分析我雖然也有jar提供,但是我派了我的兒子scala去幫我完善。
老二C老四C++:這東西不是SPSS,stata,tableau,powerbi,excel,Echart,FineReport等強大的數據分析工具就可以解決了,都是用我們和老大開發的,幹嘛還要寫代碼。
老三Py:我一把屠龍劍Pycharm,一把倚天劍anaconda,一個開發,一個數據分析,雙劍合並,威力無敵。
老大Java:比IDE開發工具,我可不怕,我有Eclipse,MyEclipse,IntellijIDEA,NetBeans功能厲害到爆。
老二C老四C++:Dev-C++,C-free,CLion,Code::Blocks,CodeLite,C++Builder,我們覺得同樣沒問題。
老三Py:我的Web開發Django社區非常龐大,江湖上,Python有兩條腿跑,一腿就是我的django,因為兩萬個包,一萬以上都是我的Django,再加上了其他兒子flask,tornado,我開發了國內的豆瓣、知乎,國外:Instagram、Disqus、NationalGeographic、NASA
老大Java:Web開發,你還敢比,我就拿出一個Spring家族就夠了,SpringMVC,SpringBoot,SpringCloud,再說了我還有自己的Tomcat,Jetty應用伺服器,微服務的架構早就深化人心。如果以前的網站不是用php開發,那基本就是我以前的Servlet,jsp開發的(雖然落後了,但基本都在維護),現在網站開發首選我的Spring家族。
老二C老四C++:雖然在網站開發我們幾乎沒有市場,但是軟體開發都是採用我們的,比如早期的QQ,微信,支付寶等大部分軟體都是我們開發的。
老三Py:有本事比一比現在最火的人工智慧,我的機器學習sklearn,深度學習keras,Pytorch,tensorflow,Caffe,PaddlePaddle,哪個不知道,哪個不用?就是因為這個,我才算最近的王者。
老大Java:你是不是想王者榮耀想多了,王者榮耀的客戶端應該是C#(Unity3D)開發的,核心後端服務是C++開發,可沒有你的份。人工智慧,我怎麼實現不了,我的深度學習庫——DL4J、ND4J以及Deeplearning4j,深度學習框架就是因為數據分析者只會用Python,才讓你火到現在。
老四C++:CPP-Call-Tensorflow,Caffe2C++API,PyTorch-CPP,我的性能比你的好不知道多少倍。對了,說說性能,老三,你這不怎麼行。
老大Java補刀:連數據都沒有,老三你做什麼人工智慧,看看得我的apache社區的大數據框架ApacheHadoop,ApacheHive,ApacheHbase,ApacheSqoop,ApacheFlume,ApacheSpark,ApacheBeam,ApacheFlink,ApacheStorm,SparkStreaming,ApacheOozie還有CloudersManager(CDH)都是我開發出來,大數據平台都是我乾的,沒有了數據,你做什麼Ai,你是不是猴子請來的逗逼?
老三Py:游戲方面,我可以有我的Pygame,性能方面,我承認比較低效,大數據不是還有我的pyspark?
老五C#:你的Pygame就是小孩子過家家的,游戲市場我已經佔領,老三你可不要來。
老大Java笑道:spark是我的兒子scala開發的,spark就是為了你們這些數據分析的人不會我(Java)和我兒子(scala),你們的壓力下,不好意思的開發了pyspark,對Python提供了APi,再說了我們也給R提供了Rspark。話說,老R從前十掉下到了十一。
老R:就是你老三一直打擊我,害得現在數據分析的人員不學習R了,都以為學你,就天下無敵了。
老四C++:就是明明每個人佔領一種市場就夠了,現在提出了」人生苦短,我學Python「口號。
老三Py:就是要」人生苦短,我學Python「。
老大Java:就是因為你,害得所有人的編程水平只降下來。Java開發人員學習Python,就是分分鍾的事情。
老二C:不要說,大學我敢保證所有人都必須學習我開始。
老四C++:有本事你讓學Python的來學我或者老大,我不信他能學得了。學我的人基本被我折磨死了,學你py就是分分鍾的事情,有本事繼續聊性能,我好像記得知乎得推薦系統用go重寫了,還不是因為你的效率。
老十go:今天我難得上了前十,什麼」人生苦短,我學Python「,明明就是」2020年,我們一起學go「。
老三Py:我去你的,你老十有什麼資格說話?再說了我有cpython,Numba提高運行速度不就可以了嗎?
老大Java:那你老三有什麼資格在我面前說話,你連多線程和並發都處理不好,還不如提出我的口號」OnceWrite,RunAnywhere「,一次編寫,到處運行,我的強大的JVM,你老三有嗎?
老三Py:我可以用Pyinstall打成exe,到處運行,不就是」一次編寫,到處運行「,
老大Java:我的強大,你不知道,你還是在mac和liunx運行你的exe吧。我還有一個兒子Kotlin和我佔領APP市場,你有APP市場嗎,還想當大佬,這日子是不是有點早了。
老三Py:我有kivy開發APP。
老二C老四C++:老三,你怎麼不說用flutter開發APP?
老三Py:那是Google開源的UI工具包,關我毛事。
老二C老四C++:flutter的底層是基於我們的開發的。
老三Py:我不管,反正現在人人學Py,我的市場就是慢慢變大,我就是當老大。
老二C:我從1972年誕生,可以說我是老三你的長輩。Java可是運行在全球的三十億設備上的,我都沒有把握當老大,你哪裡來的勇氣?
老三Py:我是從1991年出生,Java可是1995年出生,這樣我不就是老大的長輩嗎?
老大Java:老三說得沒錯,老三要當老大,他膨脹了,要先超越老二你了。
老二C:什麼?老三,他連編譯器都沒有,一個解釋器基於我的編譯器,竟然敢叫囂超越我,用我編譯器,底層封裝我的代碼,沒有我,哪裡來你,腳本就是腳本,動態語言就是動態語言,老大,老四和我哪個不是靜態語言,哪個沒有自己的編譯器?信不信我不給你用我的編譯器,讓你從前十消失。
老三Py:卧槽,爸爸,我錯了,別讓我從前十消失啊。
一聲不吭的老八php叫道:php才是最好的語言。
我想說的
Python這語言,只適合作為加分項,不適合作為技術支撐。因為它寫不了復雜邏輯。只適合寫一個爬蟲,計算器,記事本,Qt之類的小程序。Python超越了Java和C,那是不可能的。Python從老四超越了C++,已經是一個很震驚的大事了。
說這個也許有人不服,憑什麼Python就寫不了復雜邏輯?豆瓣和知乎不是用Python寫的嗎?
先聲明,豆瓣的後端,已經廢棄了絕大部分的Python代碼,重新寫過了。youtube也正在重寫中。目前以Python為主的網站,就只有知乎這么個獨苗,而且知乎的推薦演算法已經用go重寫了。
為什麼?不是因為Python的性能慢,而是因為Python的語法太悲劇了。也許Python的語法簡潔,在初學者看來是優點。因為初學者一般練手,都只寫1000行以下的小玩意,Python的語法簡直爽翻了,真沒任何缺點。
但如果你真的嘗試用Python封裝幾十個類,去寫個一萬行以上的東西,自然就明白它的語法問題有多嚴重了。不只是難受,而是根本寫不下,去維護成本太大了。沒有靜態類型檢查是主要原因。能解決么?也能,好的模塊設計還有codereview能迴避掉一些,不過這樣一來也就抵消掉一些Python能帶來的快速開發的優勢了。
還是江湖那句話,動態一時爽,重構火葬場。並不適合大項目,Python還是適合原型,前期項目。
搞it要想混得好,如果哪能只會一樣東西呢,除非你不想混好,拼得就是綜合素質,除非你Python登峰造極的程度,python五分鍾都能入門,Python的語法和英語完全一樣。學Python的人,去學Java,真的覺得很難。
如果按難度評分0-5的話,Python沒有難度指數0,php難度指數1,go難度指數2,Java難度指數3,C++/C難度指數4。靜態語言的難度是比動態腳本難的,如果你是編程零基礎,建議從學習Python,再深入到Java。一手Python,一手Java基本在市場屬於比較靠前的水平。
阿里基本Java的天下,騰訊的前世是靠C/C++出生,華為主要業務是在硬體方面,也需要C/C++的編程基礎。網路,位元組相反用的Python,go,ruby比較多。
不過如果自己想要有更長遠的發展,只學python肯定是不夠的,個人覺得Java、Python這二門語言都熟練掌握最好。如果想成為大神,那就補充一個C++,你就是無敵的存在。
@Author:Runsen公眾號:潤森筆記
這個分好多種,比如前段、後台、嵌入式開發、全棧、移動開發等。
如前端開發的語言有:HTML、CSS、JavaScript、HTML5、CSS3、JQuery庫、Vue框架、微信小程序等;後端開發的語言有:PHP、Java、SpringBoot、Python、C、C++、C#等;移動開發的語言有:Android、IOS等。
太多了,使用人數較多的有java,C#,C,C++,html,javascript,
php......
現在最火熱的就是python對於很多初學編程,或者剛剛轉行IT領域的程序小猿來講,究竟該選擇哪一門編程語言學習,一直是個很費腦子的事。畢竟,大多數初學者,相關IT知識都還比較欠缺,並不是太了解編程。
那麼這么多的編程語言,學習什麼比較好呢?
Java
Java擁有跨平台、面向對象、泛型編程的特性,非常受企業的喜歡,廣泛應用於企業級Web應用開發和移動應用開發。
Java發展到現在,按應用來分主要分為三大塊:J2SE、J2ME、J2EE。三塊應用范圍不同,但卻相互補充。廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
Python
Python是一門易讀、易維護,並且被大量用戶所歡迎的、用途廣泛的語言。由於具有豐富和強大的庫,又被稱為膠水語言,Python極其容易上手,主要源於Python有極其簡單的說明文檔。
Python?的應用領域分為系統編程,用戶圖形介面,Internet?腳本,組件集成,資料庫編程,快速原型,數值計算和科學計算編程,游戲、圖像、人工智慧、XML?、機器人編程等等。
常見的一種應用情形是,使用Python快速生成程序的原型(有時甚至是程序的最終界面),然後對其中有特別要求的部分,用更合適的語言改寫,比如3D游戲中的圖形渲染模塊,性能要求特別高,就可以用C/C++重寫,而後封裝為Python可以調用的擴展類庫。Python是做伺服器開發與物聯網開發。
信息安全,大數據處理,數據可視化機器學習,物聯網開發,各大軟體的api,桌面應用,都需要python。
PHP
PHP(HypertextProcessor)是一種免費的強大的伺服器端腳本語言,主要目標是允許網路開發人員快速編寫動態頁面,同時也被廣泛應用於其他領域,如Web開發並可嵌入HTML中去,受到web開發者的歡迎。包括Wordpress、Digg以及Facebook在內均使用了該語言。
PHP的語法利用了C、Java和Perl,易於學習。目前PHP的應用范圍已經相當廣泛,尤其是在網頁程式的開發上。一般來說PHP大多執行在網頁伺服器上,透過執行PHP程式碼來產生使用者瀏覽的網頁。PHP可以在多數的伺服器和操作系統上執行,而且使用PHP完全是免費的。
JavaScript
JavaScript是一種基於對象和事件驅動並具有相對安全性的客戶端腳本語言。聽起來好像和java有些關系,然而卻不是的,只不過名字像而已。
同時JavaScrip也是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。JavaScript也可以用在游戲開發等方面。
js最廣泛的應用毫無疑問是在web前端。簡單的說,網站給你傳過來的是一堆用各種標簽表示格式的文檔,而js負責操縱這些文檔實現一些客戶端動態效果。js的領地還不僅如此,現在的Node.js還可以用於伺服器端的開發。
GO語言
Go語言主要用作伺服器端開發,其定位是用來開發「大型軟體」的,適合於很多程序員一起開發大型軟體,並且開發周期長,支持雲計算的網路服務。Go語言能夠讓程序員快速開發,並且在軟體不斷的增長過程中,它能讓程序員更容易地進行維護和修改。它融合了傳統編譯型語言的高效性和腳本語言的易用性和富於表達性。
Go語言作為伺服器編程語言,很適合處理日誌、數據打包、虛擬機處理、文件系統、分布式系統、資料庫代理等;網路編程方面,Go語言廣泛應用於Web應用、API應用、下載應用等;除此之外,Go語言還可用於內存資料庫和雲平台領域,目前國外很多雲平台都是採用Go開發。
不過,總的來講,這只是一個大概方向上的劃分,具體到每個人的興趣特點和編程特點,還有更為細致的劃分。
據各大語言類的排行榜,目前比較流行的編程語言包括Java、C、Python、PHP、C++、C#、JavaScript、R、Go、OC、Swift等,不同語言排行榜的順序有一定的區別,但是整體上的差別並不大。判斷一門編程語言是否流行一方面要看用戶的整體數量,另一方面也要結合語言的使用場景,有的語言雖然用戶整體數量不大,但是在具體的應用場景卻有非常高的佔比,比如OC。
⑧ 編程語言是什麼
編程語言,可以簡單的理解為一種計算機和人都能識別的語言。一種計算機語言讓程序員能夠准確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動。
編程語言處在不斷的發展和變化中,從最初的機器語言發展到如今的2500種以上的高級語言,每種語言都有其特定的用途和不同的發展軌跡。編程語言並不像人類自然語言發展變化一樣的緩慢而又持久,其發展是相當快速的,這主要是計算機硬體、互聯網和IT業的發展促進了編程語言的發展。
計算機編程語言能夠實現人與機器之間的交流和溝通,而計算機編程語言主要包括匯編語言、機器語言以及高級語言,具體內容如下:
匯編語言
該語言主要是以縮寫英文作為標符進行編寫的,運用匯編語言進行編寫的一般都是較為簡練的小程序,其在執行方面較為便利,但匯編語言在程序方面較為冗長,所以具有較高的出錯率。 [2]
機器語言
這種語言主要是利用二進制編碼進行指令的發送,能夠被計算機快速地識別,其靈活性相對較高,且執行速度較為可觀,機器語言與匯編語言之間的相似性較高,但由於具有局限性,所以在使用上存在一定的約束性。 [2]
高級語言
所謂的高級語言,其實是由多種編程語言結合之後的總稱,其可以對多條指令進行整合,將其變為單條指令完成輸送,其在操作細節指令以及中間過程等方面都得到了適當的簡化,所以,整個程序更為簡便,具有較強的操作性,而這種編碼方式的簡化,使得計算機編程對於相關工作人員的專業水平要求不斷放寬。 [2]
發展歷史編輯 語音
第一台計算機是在二十世紀四十年代發明的,當時的計算機各項控制主要是由人工操作來實現的,但在便利性方面嚴重不足,經過多年的發展,相關人員提出了利用編程語言來控制計算機的構想,雖然當時的編程模式還不夠完善,但卻對計算機編程語言的發展產生了巨大的推動作用。而計算機編程語言也正是在這之後的半個世紀中逐漸完善的。隨著社會的發展,各領域的技術需求不斷提升,這使得計算機編程的發展越來越趨於復雜化和多樣化。在這種情況下,一些可視的﹑集成的語言環境逐漸開始嶄露頭角,只需要進行簡單的按鍵,就可以完成一段代碼的編寫,大大減少了計算機編程的資金成本和時間成本。加上一些高級語言的出現,如Pascal﹑Fortran以及C語言等,使得計算機操控已經不再需要大量的資本和人工,直到二十世紀九十年代,計算機編程領域高速發展,逐漸誕生了一些面向對象的高級語言,如Java等,使得計算機程序逐漸從原來的通信和計算向著視頻解析﹑圖像傳輸﹑智能模擬以及知識處理等方向發展,換言之就是通過計算機網路技術進行數據採集﹑分析﹑管理,實現智能操作。在現代文明不斷發展的情況下,通過計算機編程語言已經能夠對各領域的信息化需求加以滿足。
經歷時代及代表語言
編程語言一般分為:低級語言、高級語言和面向對象時代。
低級語言時代
低級語言時代(1946-1953)主要包括被稱為「天書」的機器語言以及匯編語言。
計算機工作基於二進制,從根本上說,計算機只能識別和接受由0和1組成的指令。這些指令的集合就是該計算機的機器語言。機器語言包括的缺點有:難學、難寫、難記、難檢查、難修改,難以推廣使用。因此初期只有極少數的計算機專業人員會編寫計算機程序。
匯編語言由於機器語言的難以理解,莫奇萊等人開始想到用助記符來代替0,1代碼,於是匯編語言出現了。
高級語言時代
高級語言時代(1954-至今)——隨著世界上第一個高級語言fortran的出現,新的編程語言開始不斷涌現出來。數十年來,全世界涌現了2500種以上高級語言,一些流行至今,一些則逐漸消失。
第一個高級語言—Fortran
為了克服低級語言的缺點,20世紀50年代由美國約翰·貝克斯(John Backus)創造出了第一個計算機高級語言——FORTRAN語言。它很接近人們習慣使用的自然語言和數學語言。程序中所用運算符和運算表達式,很容易理解,使用也十分方便。並且FORTRAN以其特有的功能在數值、科學和工程計算領域發揮著重要作用。
第一個結構化程序設計語言—ALGOL
這是在計算機發展史上首批清晰定義的高級語言,由歐美計算機學家合力所組成的聯席大會於仍是晶體管計算機流行的1950年代所開發國際計算機學會(ACM)將ALGOL模式列為演算法描述的標准,啟發ALGOL類現代語言Pascal、Ada、C語言等出現。
最簡單的語言——BASIC
1964年BASIC語言正式發布。是由達特茅斯學院院長、匈牙利人約翰·凱梅尼(John G.Kemeny)與數學系教師托馬斯·庫爾茨(Thomas E.Kurtz)共同研製出來的。該語言只有26個變數名,17條語句,12個函數和3個命令。這門語言叫做「初學者通用符號指令代碼。
編程語言里一個重要的里程碑——Pascal
這是基於ALGOL編程語言,為紀念法國數學家、哲學家、電腦先驅布萊茲·帕斯卡而命名。它由瑞士Niklaus Wirth教授於六十年代末設計並創立的。Pascal具有語法嚴謹、層次分明等特點,是第一個結構化編程語言,被稱為「編程語言里一個重要的里程碑」。
現代程序語言革命的起點——C語言
C語言的祖先是BCPL(Basic Combined Programming Language)語言,在1970年美國貝爾實驗室的Ken Thompson在BCPL語言的基礎上,設計出了B語言。接著在1972到1973年間,美國貝爾實驗室的Dennis M.Ritchie在Ken Thompson的基礎上設計出了C語言。 [1]
面向對象時代
面向對象時代(90年代初-至今)——面向對象程序設計(Object-Oriented Programming,簡稱OOP)如今在整個程序設計中十分重要,其最突出的特點為封裝性、繼承性和多態性。
Java
Java是由Sun Microsystem於1995年推出的高級編程語言。進入21世紀,Java企業級應用飛速發展,主要被運用於電信、金融、交通等行業的信息化平台建設。Java是一個普遍適用的軟體平台,其具有易學易用、平台獨立、可移植、多線程、健壯、動態、安全等主要特性。
Python
近幾年來,Python語言上升勢頭比較迅速,其主要原因在於大數據和人工智慧領域的發展,隨著產業互聯網的推進,Python語言未來的發展空間將進一步得到擴大。Python是一種高層次的腳本語言,目前應用於Web和Internet開發、科學計算和統計、教育、軟體開發和後端開發等領域,且有著簡單易學、運行速度快、可移植、可擴展、可嵌入等優點。