A. 學編程的學哪種語言好
從辯證的角度考慮沒有哪個編程語言是最好的,適合自己的才是最好的,無論一個編程語言有多少優勢。
相信不同的程序員會有不同的答案。常用的編程語言有C++、 C、java、C#、python等等。每種編程語言都自身的優點,但也是或多或少的存在這一些缺陷。所以對於程序員來說那編程語言適合項目的開發並且使用順手那麼那種語言就是最好的語言。比如說幾乎不會有程序員去拿PHP、C#、Python來做嵌入式的開發。所以要選擇是使用哪種語言就要看所要使用的平台環境。下面就來大概說說不同語言的特點吧。
C語言,它既有高級語言的特點,又具有匯編語言的特點,它是結構式語言
簡潔緊湊、靈活方便;運算符豐富;數據類型豐富;表達方式靈活實用;允許直接訪問物理地址,對硬體進行操作;生成目標代碼質量高,程序執行效率高;可移植性好;
C++是面向對象的C語言,由於偏底層,所以性能非常高,僅次於C語言,主要用在一個要求高性能的領域。。。這個不好說,因為實際需求上,用處挺雜的,而且也確實不太好學。
PHP是一種通用開源腳本語言。語法吸收了C語言、Perl以及java的特點,入門門檻較低,易於學習,使用廣泛,主要適用於Web開發領域。
Java具有卓越的通用性、高效性、安全性,廣泛應用於個人PC、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群
python語言,是一種面向對象、直譯式計算機程序設計語言,Python語法簡潔而清晰,具有豐富和強大的類庫。它常被昵稱為膠水語言,能用其他語言製作的各種模塊輕松地聯結在一起
C#和Java極其相似;它包括了諸如單一繼承、介面、與Java幾乎同樣的語法和編譯成中間代碼再運行的過程。但是C#與Java有著明顯的不同,它借鑒了Delphi,與COM是直接集成的,而且它是微軟公司 .NET windows網路框架的主角
總結起來:
PHP:沒有什麼突出的優點
C 底層操作、性能優化
Java、C# 庫多通用型強。
Python 語言清晰明白
C++ 什麼都能幹全能
B. 一個優秀的程序員會掌握哪些語言
其實技能在於精,而不在於多。
未來五年甚至十年都將是人工智慧的天下,而人工智慧領域的應用語言 Python 毫無疑問是主流,Go 次之,但是還遠比不了 Python 在人工智慧領域的應用。
2、隨著人工智慧技術有所成熟與突破,Python 的需求還會更大。
Python 相比較大部分語言來說,算是很容易上手的,語法很清楚,沒有那麼多復雜的概念,適合新手學習。
3、除了人工智慧之外,Go 語言的潛力也很大,Go 在處理高並發的分布式系統上應用很廣泛,性能很高,而且未來在區塊鏈技術相關應用中也會有不少發揮,還是 Google 的親兒子,但是 Go 的易學性不如 Python,對新手還是有一定門檻的,而且應用的廣泛性也不如 Python。
4、最後 Java,Java 這種老牌編程語言,雖然一直被詬病語法臃腫,但是其實隨著 Java 版本的更新,已經逐漸支持了很多新語言的特性,並且因為 Java 很成熟,不止語言成熟,很多成熟的解決方案、中間件都是基於 Java 的,Java 可用的庫太多了,以至於現在大部分公司都離不開 Java,而且 Java 還可以用來開發 android 移動應用,所以也許未來 Java 不是最有前景的語言,但是 Java 在未來很長一段時間內都會是不可或缺性的語言,相關的工作崗位也自然一直有需求,而且 Java 語言的易學性也很高,適合新手,大部分大學甚至早都開設了 Java 課程。而且很多想進入互聯網行業的人員都會選擇學習Java。
希望可以幫到你,謝謝!
C. lisp語言的快速入門
Common Lisp語言快速入門: Lisp是軟體領域的分裂力量。一方面,Lisp愛好者誓言Lisp比軟體領域內的其它語言都更加快捷、整潔和強大;而反對者則辯稱,不可靠的執行和庫支持不足使得開發者難以在其中編寫任何真正的軟體。事實上,他們都有各自的道理。
第一版Lisp於大約50年前推出,這使得它和FORTRAN一樣,成為現在仍在使用的最古老的編程語言之一。可以證明,它擁有(它們將會擁有)最龐大的特性列表,它也是第一種包括一整套今天我們全都認為是標准語言特性的語言,如垃圾收集、遞歸、函數作為對象、甚至是普通的if-then-else子句。同時,人們也認為它是一款優秀的教學語言:MIT使用方案、Lisp衍生物,傳授它們的介紹性編程類。
我們將一起學習最強大和項目就緒的Lisp版本:Common Lisp,使其正常運行,並了解一些Lisp應用。 代碼和數據並無差異——在Lisp中,代碼只是一個函數對象列表。源代碼和數據源之間不存在區別,允許Lisp把它的內在呈現給編譯器、注釋器和程序員。這允許你方便地本地讀入和評估代碼,甚至可以允許你使用宏。
宏——定義和重新定義任何語言元素。不喜歡條件、或循環或函數的運行方式嗎?好,你可以定義自己的注釋。如果你在代碼中多次執行某個特定的任務,把那個特性添加到語言中不是更加方便嗎?應用Lisp,你可以實現上述功能。
速度——雖然在許多情況下Common Lisp不如C或OCaml這類速度巨人快捷,但它在一系列測試中表現良好,特別是在執行一小段程序的情況下。了解一些基本的編譯器知識,你就能夠編寫出處理列表和大型數字的代碼,在執行速度和內存使用方面都要優於其它語言。
簡化——Lisp的一切功能都基於一些基本的理念——一旦你了解那些理念,你就幾乎能夠處理任何問題。Lisp程序員常常自誇說,僅僅用幾百行代碼,你就能在幾乎任何語言(如C++或Haskell)中執行一個Lisp注釋器。
靈活——以你喜歡的任何方式編寫代碼。更喜歡功能性的編程方法嗎?沒問題!想要完全反復編程嗎?草草寫下幾個快速的宏就可以完成任務。你可以用最方便最高效的方式編寫程序,而且這些程序都能良好地運行。 好,行!我選擇了Lisp,我如何進行安裝呢?
這是棘手的問題。不像是Python或C#一樣,Common Lisp沒有標准執行——該語言由一個規范,而不是執行來定義。Common Lisp也沒有C語言的特點,及在每一個平台上都是一種支配性的執行或流行的執行。每個版本都應執行上述標准,但有一些細節要由編譯器或注釋器來處理,這使得每個執行都稍有不同。
你可以使用幾種選項——在本文中我使用CLISP,它在Windows、Linux和Mac(僅PPC)上運行良好。如果你使用英特爾Mac,則必須使用其它執行,如Allegro Common Lisp或SBCL。對於這篇快速入門中的簡單例子,你使用哪個執行都不要緊。
使用Lispbox可以快速安裝Common Lisp系統,但遺憾的是,Lispbox在2012年停止了更新。Lispbox為你提供一個Common Lisp執行、Emacs、SBCL和Slime——Emacs高級Lisp整合模式,許多Lisp程序員會告訴你說,這個組合是使用Lisp的唯一方法。如果你並非Emacs用戶(我本人也和你一樣),不要擔心,它並非必要條件,只是使得編寫Common Lisp程序更加簡便。而如果想要使用最新的Emacs、SBCL和Slime,網路上也有許多教程關於如何配置它們。
安裝過程因平台而異,在Windows中你只能運行安裝程序,多數Linux軟體包管理器提供安裝包等。選擇一個執行並遵循安裝指令即可。打開Common Lisp (CLisp)交互環境的方式是M-x slime,如果你不理解這是什麼意思的話可以通過Ctrl+h松開後按t來學習Emacs的基本操作。但由於Emacs的默認字體不支持中文,所以為了避免教程亂碼,點擊程序窗口左上角的Options,選擇Set Default Font,選擇支持中文的字體後保存。打開REPL(互動式提示符)之後再返回這里,我們繼續往後講。 REPL代表「閱讀-評估-列印-循環」(Read-Evaluate-Print-Loop),它簡單表示注釋器的一個互動式提示符。你可以從這里輸出一些簡單的Lisp代碼。如果你使用另一種注釋器提示符,你可以在這里使用提示符作為計算器輸出一些基本的數學表達式——但它不能正常運行。在CLISP中輸入5*2不會返回任何有意義的結果:
> 5 * 2
5
> 5
5
> 2
2
Lisp並非以那種方式運行,運算符,如「+」不是在數字之間,而是在數字前面,就好像它們是函數名稱一樣。因此,如果你想將REPL當作計算器使用,你必須輸入:
> (* 5 2)
10
> (+ 1 2 3 4)
10
> (+ (* 5 2) (* 10 3) (/ 100 4))
65
對你來說,理解這種用法可能更難一些,但它擁有一些優勢:它便於編譯器解析、它對所有函數和運算符都一樣、它讓你給函數添加盡可能多的自變數——例如,在上面的第二個例子中,你可以任意擴充加數,使得加法函數和總計函數完全一樣。
另外你會注意到,函數名在括弧內,而不像許多其它語言一樣函數名在括弧以外。這表示你要寫(函數自變數)而不是函數(自變數)。
每個Lisp表達式會返回一個值,一個函數總是返回最後一個表達式的結果——即使是NIL,NULL在Java或C++中的對等值也是這樣。因此在Lisp中顯示「Hello World」相當簡單:
> Hello World
Hello World
如果你希望在屏幕上列印一些內容,並返回其它內容,你應該使用列印函數:
> (print Hello World)
Hello World
Hello World
這個字元串顯示兩次,一個是列印結果,一個是函數返回的結果。
Lisp表示LIST Processor(列表處理器),Lisp中的幾乎所有內容都以列表的形式存在,因此有時你必須處理列表。定義列表非常容易:
> (list 1 2 3 4 5)
(1 2 3 4 5)
> '(1 2 3 4 5)
(1 2 3 4 5)
第二種定義方法叫做引用,除定義簡單的列表外,它還有更多用途,不過我們必須在後面的另一篇文章中討論那個主題。 Lisp擁有全部標准控制流程方法。定義一個重復一個值的簡單循環相當容易:
> (dotimes (i 10) (print i))0
1
2
3
4
5
6
7
8
9
NIL
同樣,重復一個列表也很簡單:
> (dolist (i '(0 1 2 3 4 5 6 7 8 9)) (print i))
0
1
2
3
4
5
6
7
8
9
NIL
以上兩個函數都是DO函數的特殊版本,它就像在其它語言中組合使用while和for函數一樣。它由三個部分組成:循環變更定義、終止條件和語句主體:
> (do ((i 0 (+ 1 i))) ((> i 10)) (print i))
0
1
2
3
4
5
6
7
8
9
10
NIL
在這個例子中,變更定義部分為((i 0 (+ 1 i))),它定義變數i為0,並在每次循環時調用函數(+ 1 0)。終止條件為((> i 10)),表示在i大於10時函數終止運行。最後主體部分列印i的值。
Lisp中也有條件函數,最基本的條件函數為if函數:
> (if (> 10 20) (print Hello) (print World))
World
World
if函數由三部分組成:條件、then語句和else語句。如果條件為真,則執行then語句,否則就執行else語句。
你可能已經注意到,到現在為止我們僅使用了單個的語句——但如果你需要把幾個語句連接在一起,那該怎麼辦呢?在Lisp中,要將幾個語句連接起來,你需要使用progn這個特殊的控制流程函數:
> (progn (print Hello) (print World))
Hello
World
World
例如,上例允許你在條件函數和循環中使用幾個語句。
如果你想要更進一步的了解和學習Common Lisp,可以搭配學習ANSI Common Lisp 和Practical Common Lisp (實用Common Lisp編程),如果你想再更進一步,可以看一看On Lisp 等參考書。
D. 既然 Lisp 以及基於此的語言好到不行,為什麼基於 C 的語言一經問世便占據統治地位
1、結構化設計語言,語法清晰、結構簡單,模塊化使得程序的各個部分除了必要的信息交流外彼此獨立,便於開發、調試以及調試。2、運算符多,把括弧、賦值、強制類型轉換等都作為運算符處理,靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。3、數據結構豐富,能實現各種復雜的數據類型的運算,引入指針、結構體概念使程序效率更高。4、為操作系統而生,可以像匯編語言一樣對位、位元組和地址進行操作,允許直接訪問物理地址對硬體進行操作,把高級語言的基本結構和語句與低級語言的實用性結合起來。5、程序執行效率高,一般比匯編程序生成的目標代碼效率低 10%~20%。6、可移植性好,C 語言抽象了針對 CPU 編程的細節,能廣泛應用於針對大型操作系統和系統軟體的編寫。7、具備強大的繪圖功能,和 C++ 一樣也可以寫出很優雅的二維、三維圖形和動畫。
C語言在應用軟體、對性能要求嚴格的領域、系統軟體和圖形處理等有良好且廣泛的應用,尤其是某些系統軟體、製作動畫、繪制二維圖形和三維圖形等,模型或者系統建立之後需要計算的軟體更是看中了C語言強大的計算能力。
E. 學python最好用什麼編輯器一般用哪款編輯器比較好
1、PyCharm
PyCharm由著名軟體開發公司JetBrains開發。在涉及人工智慧和機器學習時,它被認為是最好的Python
IDE。最重要的是,Pycharm合並了多個庫,幫助開發者探索更多可用選項。
兼容性:Windows、MacOS、Linux
主要插件和功能:
①內置開發者工具
②遠程開發能力
③實時編輯模式
④IPython Notebook
2、Visual Studio Code
Visual Studio Code有時會與Visual Studio IDE混淆,後者並非Python使用者常用的工具。VS
Code是完整的代碼編輯器,具備很多優秀功能,許多程序員稱其為最好的IDE編輯器。
兼容性:Windows、Linux、Mac OS
主要插件和功能:
①內置git
②自定義工具擴展插件
③斷點調試
④互動式控制台
3、Sublime Text
Sublime Text被認為是最好的Python編輯器,因為它簡單悉鏈沖、通用、方便。它使用廣泛,可用於不同的平台。
兼容性:Windows、Linux、Mac OS
主要插件和睜殲功能:
①簡易導航,實現高性能
②支持不同包,以自定義編輯器
③只需一個關鍵詞,即可復制常見代碼段
④即時項目切換和分割編輯
4、VI/VIM
vim位列最好的Python IDE工具前5名。它是一個modal
editor,可以從文件編輯中分割文喚激件,相比最初的vi,vim有了巨大的進步,功能更加強大。
兼容性:Windows、Linux、Mac OS、IOS、android、Unix、AmigaOS、MorphOS
主要插件和功能:
①其腳本允許用Python執行幾乎所有編程任務
②ctags,幫助實現更好的標記導航
③內置基礎詞彙補全
5、GNU Emacs
GNU
Emacs也是最好Python編輯器的有力競爭者。它常被描述為可擴展、自文檔化、實時顯示。盡管它在業界並非最新,但它經常升級來滿足開發者的需求。
兼容性:Windows、Linux、Mac OS、IOS、Android、UNIX、AmigaOS、MorphOS
主要插件和功能:
①使用Lisp編程語言
②語法著色
③支持Unicode
6、IDLE
IDLE代碼編輯器深受學生歡迎,它是Python自帶編輯器。該編輯器使用簡單、通用,且支持不同設備。在使用復雜工具之前,開發者可以通過IDLE學習基礎知識。
兼容性:Windows、Linux、Mac OS
主要插件和功能:
①tkinter GUI工具包
②多窗口界面
③具備對話框、瀏覽器等配置