1. 跨平台計算機語言有哪些功能怎麼樣。學編程優先考慮哪種
需要學習Visual Basic、Visual Basic for Applications、ASP、Visual C++和java等編程語言。
在Visual Basic中的基本語句包括:
一、賦值語句。
賦值語句的語法如下:
變數名或對象.屬性=表達式
它的含義是把等號右邊的值賦給等號左邊的值。
二、判定結構。
一、If語句。
用If...Then結構有條件地執行一個或多個語句。單行語法和多行塊語法都可以使用:
If condition Then statement
If condition Then
Statements
End If
Condition 通常是比較式,但它可以是任何計算數值的表達式。Visual Basic 將這個值解釋為True或False:一個為零的數值為False,而任何非零數值都被看作True。若condition為True,則Visual Basic執行Then
關鍵字後面的所有statements。可以使用單行或多行語法有條件地執行一個語句。
注意:If...Then的單行格式不用End If語句。如果condition為True時要執行多行代碼,則必須使用多行塊If...Then...End If語法。
二、If...Then...Else語句。
用If...Then...Else塊定義幾個語句塊,執行其中一個語句:
If condition1 Then
[statementblock-1]
[ElseIf condition2 Then
[statementblock-2]] ...
[Else
[statementblock-n]]
End If
Visual Basic首先測試condition1。如果它為False,Visual Basic就測試
condition2,依次類推,直到找到一個為True的條件。當它找到一個為
True的條件時,Visual Basic就會執行相應的語句塊,然後執行End If後面的代碼。作為一個選擇,可以包含Else語句塊,如果條件都不是True,則Visual Basic執行Else語句塊。
If...Then…ElseIf只是If...Then...Else的一個特例。注意,可以使用任意數量的
ElseIf子句,或者一個也不用。可以有一個Else子句,而不管有沒有ElseIf
子句。
二、循環語句。
電腦最擅長的就是不厭其煩地重復做一項工作成千上萬遍(即重復執行幾行代碼),這就是通過循環結構來完成的。VB支持的循環結構有:Do…Loop和For…Next。
用Do循環重復執行一個語句塊,且重復次數不定。Do…Loop是以計算數值為條件以決定是否繼續執行。條件必須是一個數值或者值為True或False的表達式。
在下面的Do…Loop循環中,只要條件為真就執行循環。
Do While 循環條件
循環語句塊
Loop
當Visual Basic執行到這個Do循環時首先測試條件,條件為假時,跳過所有語句。如果條件為真,Visual Basic就會執行語句,退回到Do While語句測試條件。只要條件為真,循環可以隨意執行幾次。如果條件一開始便為假,則不會執行語句。
還有一種Do…Loop語句,是先執行語句,每次執行之後測試條件,循環中的語句至少執行一次。
Do
循環語句塊
Loop While 循環條件
在不知道循環要執行幾次語句時,用Do循環,知道循環次數時,可以使用For…Next循環。For循環使用一個叫做計數器的變數,重復一次循環之後,計數器的值會增加或減少。
For 計數器=初值To終止值Step增量
循環語句塊
Next 計數器
計數器、初值、終止值和增量為數值型。執行For循環時,設置計數器等於初值,測試計數器是否大於終止值,是則退出循環,執行循環語句,計數器增加增量後重復以上步驟。
用Exit語句可以退出For循環、Do循環,它的語法是Exit Do和Exit For,在循環中出現的次數無限制。
希望我能幫助你解疑釋惑。
2. 寫小程序,什麼語言跨平台兼容和性能較好golang
我最早使用的語言是Java和Python, 並且一直都對Python充滿好感, 我喜歡這種很朴實和高效率的感覺, 但我卻最後沒有採用Python,原因其實也很簡單, 我就是不喜歡縮進語法, 就跟很多人換工作僅僅是為了屏幕更大一點一樣, 另外就是有了同樣很棒的可選方案, 這就是Ruby, 所以我最終採用了Ruby作為主力編程語言, 同樣也為不能使用Python而有一點小遺憾,畢竟Python的健壯性比Ruby好很多,只不過Ruby也一直在進步, 所以這一點無傷大雅
我們都知道,無論是Python還是Ruby,甚至Java, 都是在解決業務層的問題, 屬於應用型語言, 以解決業務邏輯為主, 但還有一個領域是系統領域,偏網路層和底層操作,在這一塊我一直在尋找一種優雅的方案, C++被我首先給淘汰掉了, C的開發效率太低, Java倒是比較合適, 就是太臃腫,而且缺少系統編程的基因,畢竟它是企業級開發出身的
最後我選擇了Erlang, 因為它在網路層方面表現優秀, 同時容錯性和健壯性都很不錯, 它的虛擬機是唯一可以跟JVM媲美的, 而且還有OTP的超重量級武器, 幾乎可以是通殺網路層應用, 但根據我的總結它有一個硬傷和一個軟肋,這一點後面展開,可以說選擇Erlang是我目前所知道的方案裡面是最優的
直到有一天我了解了Golang, 我知道Golang其實也蠻早的, 大概08年的時候就知道Google在搞一門奇怪的語言, 之後的幾年,一直有不少以老莫為代表的人在嘀咕Golang, 其實我一直沒太關注,我從ROR中吸取的經驗是,成熟度對於商用很重要, 後來基於Golang開發的產品越來越多,讓我不得不去研究一下, 這我才知道, 這就是我夢想中的Python, 效率和性能達到了最佳的平衡,對Go了解越多, 就越不願意用Erlang寫代碼,主要原因:
1、Erlang的硬傷在於代碼的可讀性、表現力, 讓我來舉個小例子, 比如你為你的系統軟體構建一個RESTFUL的介面,我們大致了解一下代碼風格,先不說Erlang, 無論是你c/c++/python/ruby/java 出身, 對Go是不是有種很久違的感覺, 為什麼說是硬傷? 因為對一門語言來說,語法是不大可能會大幅度變更的, 而且不會出現大的變化, 我不知道有沒有人讀過《松本行弘的編程世界》,裡面闡述的道理很明白, 真正好的編程方式是人去主宰計算機而不是計算機主宰人, 我感覺Erlang就有點主宰我的編程思維的感覺(我的視力本身就不好,它還在不斷的扼殺我的眼睛!), 編程首先是門邏輯學,其次是工程學,最後才是數學, 又讓我想起吳軍的《數學之美》所說的, 人工智慧上個世紀一直在走彎路, 期望機器的高度圖靈完備, 而忽視人類本身已有的文明,統計歸納的應用
2、Erlang的軟肋在於高質量的庫少,盡管有不少殺手級應用, 同樣Go在這方面也是軟肋, 這一點對於一個不到五年的語言有情可原, 但對於一個20多年的語言是不是有點說不過去, 比如你用json解析庫,很多人都是從mochiweb這個基本不更新的庫中去抽取, 而我認為對於類似json這種東西可以考慮融入到語言標准庫中, 因為未來的商業軟體的api化趨勢越來越明顯,說的難聽點 , 一個倚老賣老一個與時俱進,反正我對Golang的庫一點也不擔心, 目前的成績易經非常棒了, 遠遠優於Ruby/Python的前五年, 可參見已有的高質量的庫列表
3、Erlang不合群, 這主要體現在跟其他語言的交互性上, 當然這也有深層次的原因, Erlang本身有自己的哲學, 如出錯恢復機制, 你融入一個其他語言的東西進去, 這帳就不好算,就好比你硬要讓一個喝咖啡的跟一個吃大蒜的坐在一起, 總之你寫一個Erlang的port遠遠比Go復雜, 甚至比Python/Java還要復雜, 這就造成了Erlang在底層編程上效果不是很好, 沒法利用linux已有的很多優秀成果,我一直認為Erlang的什麼的mysql/pg/oracle驅動都沒有必要存在, Erlang一定是一個self-container應用, 你只要用到了其他東西, 根據木桶理論, 你就不敢號稱9個9,以系統的眼光看問題, 我覺得一個系統的魯棒性不能依賴於某一組件, 這也是為什麼愛立信本身的Erlang應用並不廣泛
4、說說數據類型吧, 我不止聽到1個人說Erlang對字元串的處理不有好, 它把string當做list來處理,其實本質上是該這么,但,還是那句話, 違背了面向人的哲學, 應該做一些DSL, 比如Golang裡面的 := 就是一個糖衣, 等價於 var xx yyy = zzzz, 大大方便的程序員少敲不少字元, Golang裡面對字元轉可以說基本和python差不多, slice map函數很強大, 支持lambda條件,雖然Erlang的基本類型很少, 但有很多構造, 所謂構造等價於Golang裡面復雜的struct, 也奇怪了,我就是感覺Erlang構造傷眼睛好嗎?可能是各種括弧的比對的原因吧, 而且我認為這是不必要的, 顯然Erlang缺少DSL的基因, 當然跟Erlang出身的年代有關, 我不誇張的說, 自打用Erlang以後我的視力又下降了100度左右, 我不是很喜歡lisp所說的符號也是一種語法, 可能這又跟函數式編程有關吧:形式推導遠大於邏輯演繹
5、其實我最不關注的是性能問題, 因為隨著摩爾定律, 單位計算單元的性價比會無限高,但Golang既然提出它的性能逼近C, 那我還是提一下吧, 當然, Erlang也還可以, 雖然比Java慢, 但跟Python一個檔次吧
6、再談談報錯機制, 因為Erlang的的報錯信息太讓人糾結了, 起初以為我不會看出錯信息, 後來也使用了Sasl, 還是不夠直觀,甚至有時要用工具分析crash文件來定位問題,還是跟Erlang的哲學有關, 在Erlang中一切都是並行的, 所以它根本不care是物理哪一行出錯, 只跟Actor綁定, 然後告訴你Actor的ID和出錯代號, 你自己憑經驗去分析吧,這樣做的好處是可以很方便定位出並行中出現的問題,但凡事都是相對的, 在這一點上有點糾枉過正,根據我的經驗, 絕大部分時候我只希望先給我明確的指出哪一行出錯了好嗎? 甚至把順序的backtrace用完整的英文句子列印出來好嗎?至於並行中的錯誤及時在命令式多線程語言中是不常見的,雖然並不是沒有, 但遇到錯誤我再費勁去調試好了, 但並不是所有的邏輯都用並行的思維去定位問題, 我甚至認為, 對於一個系統不完全是並行也不完全是串列,跟好比我們衡量世界不能單純的唯物也不能完全的唯心一樣, 這一點Golang就做了很好的折中, 不需要並行的時候你老老實實的寫串列代碼, 需要並行的時候也有較復雜的機制來應對, 合乎情理
7、再說說招人吧, 以前招過好幾個C出來的人,說實話水平很好, 可以一周就完成一個小組件, libevent用的熟的很,後來我逼人家用Erlang,結果把人家逼走了,至今我還很後悔, 自己的一廂情願強加在別人身上真是太不合適了,但我招純Erlang出來的人,可以說比招objc的人還難, 沒有人,空談技術的優雅性首先就是不靠譜的,再看看郵件列表, Golang的活躍度明顯比Erlang高很多, 基本逼近Ruby,更重要的是, 我根本不擔心Golang的人才,因為只要熟悉Python/C/Ruby/或者C++, 基本可以實現半天入門, 之後就可以噼里啪啦邊搜資料邊幹活了,雖然有足夠的深度,但門檻極其平緩,工程人員也可以復用很多已有的知識。 Erlang在這一點其實跟第一點硬傷有關,大部分人學一周都摸不著頭腦,不是每個人的抽象思維和世界觀都是一樣的好嗎, 所以函數式編程盡管不比命令式語言起步晚,但始終學的人很少,這就是歷史, 對於大部分人, 更希望解決問題,創造價值, 而不是數學來推導去
8、最後我建議, 如果你是玩c/c++的, 現在開始學Golang,是最好的時機, 跟一門靠譜的語言一起成長, 這種感覺非常棒, 你用Erlang折騰1個應用, 用Go恐怕都完成了10個開源項目, 當然,也要結合自己的口味, Golang就是Sublime Text, Erlang就是Emacs
相信自己的判斷,相信自己的邏輯, 贏就是贏,輸就是輸
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦
3. JAVA綆楀緱涓婃渶鏈夊墠閫旂殑緙栫▼璇璦
Java鏄涓縐嶅箍娉涗嬌鐢ㄧ殑璁$畻鏈虹紪紼嬭璦錛屾嫢鏈夎法騫沖彴銆侀潰鍚戝硅薄銆佹硾鍨嬬紪紼嬬殑鐗規э紝騫挎硾搴旂敤浜庝紒涓氱駭Web搴旂敤寮鍙戝拰縐誨姩搴旂敤寮鍙戙侸ava鍙浠ョ紪鍐欐岄潰搴旂敤紼嬪簭銆乄eb搴旂敤紼嬪簭銆佸垎甯冨紡緋葷粺鍜屽祵鍏ュ紡緋葷粺搴旂敤紼嬪簭絳夈
👍鍔熻兘寮哄ぇ
Java涓嶄粎鍚告敹浜咰++璇璦鐨勫悇縐嶄紭鐐癸紝榪樻憭寮冧簡C++閲岄毦浠ョ悊瑙g殑澶氱戶鎵褲佹寚閽堢瓑姒傚康錛屽洜姝Java璇璦鍏鋒湁鍔熻兘寮哄ぇ鍜岀畝鍗曟槗鐢ㄤ袱涓鐗瑰緛銆
🧐闈㈠悜瀵硅薄
Java璇璦浣滀負闈欐侀潰鍚戝硅薄緙栫▼璇璦鐨勪唬琛錛屾瀬濂藉湴瀹炵幇浜嗛潰鍚戝硅薄鐞嗚猴紝鍏佽哥▼搴忓憳浠ヤ紭闆呯殑鎬濈淮鏂瑰紡榪涜屽嶆潅鐨勭紪紼嬨
👌綆鍗曟槗鐢
Java鐪嬭搗鏉ヨ捐″緱寰堝儚C++錛屼絾鏄涓轟簡浣胯璦灝忓拰瀹規槗鐔熸倝錛岃捐¤呬滑鎶奀++璇璦涓璁稿氬彲鐢ㄧ殑鐗瑰緛鍘繪帀浜嗭紝榪欎簺鐗瑰緛鏄涓鑸紼嬪簭鍛樺緢灝戜嬌鐢ㄧ殑銆
🌐鍒嗗竷寮
Java璁捐℃垚鏀鎸佸湪緗戠粶涓婂簲鐢錛屽畠鏄鍒嗗竷寮忚璦銆侸ava鏃㈡敮鎸佸悇縐嶅眰嬈$殑緗戠粶榪炴帴錛屽張浠Socket綾繪敮鎸佸彲闈犵殑嫻侊紙stream錛夌綉緇滆繛鎺ワ紝鎵浠ョ敤鎴峰彲浠ヤ駭鐢熷垎甯冨紡鐨勫㈡埛鏈哄拰鏈嶅姟鍣ㄣ
👍楂樺彲闈犳
Java鍘熸潵鏄鐢ㄤ綔緙栧啓娑堣垂綾誨剁敤鐢靛瓙浜у搧杞浠剁殑璇璦錛屾墍浠ュ畠鏄琚璁捐℃垚鍐欓珮鍙闈犲拰紼沖仴杞浠剁殑銆侸ava娑堥櫎浜嗘煇浜涚紪紼嬮敊璇錛屼嬌寰楃敤瀹冨啓鍙闈犺蔣浠剁浉褰撳規槗
🚀楂樻ц兘
Java鏄涓縐嶅厛緙栬瘧鍚庤В閲婄殑璇璦錛屾墍浠ュ畠涓嶅傚叏緙栬瘧鎬ц璦蹇銆備絾鏄鏈変簺鎯呭喌涓嬫ц兘鏄寰堣佺揣鐨勶紝涓轟簡鏀鎸佽繖浜涙儏鍐碉紝Java璁捐¤呭埗浣滀簡鈥滃強鏃垛濈紪璇戠▼搴忥紝瀹冭兘鍦ㄨ繍琛屾椂鎶奐ava瀛楄妭鐮佺炕璇戞垚鐗瑰畾CPU錛堜腑澶澶勭悊鍣錛夌殑鏈哄櫒浠g爜錛屼篃灝辨槸瀹炵幇鍏ㄧ紪璇戜簡銆
4. 開發跨平台的桌面應用用什麼編程語言比較好
目前來說做桌面應用程序最好的是C#.Net,但是如果您要求跨平台的話,貌似只能選擇使用java了。但是JavaSwing對於C/S架構的程序編寫來說還是比較困難的。如果可能的話,盡量舍棄跨平台。