東北編程語言
① 編程我學了有一年了,但越學越糊塗比如說----如下!
您的第一個問題:為什麼編程非得用英文?
因為:計算機是美國人發明的.....人家的東西,自然的用人家的語言...
您的第二個問題:「我不明白程序的運行機理。為什麼打些英文字母,打些英文句子就能在電腦上顯示一些神奇的東西,這些句子,這些字母是如何工作的?」
我想如果您懂英文 您應該會了解「If」是「如果」的意思
如此說明 您在If後寫些什麼 就是告訴電腦「如果....就...」
您的第三個問題:編程是死的嗎?
不,是活的很哪......
首先我要告訴您 計算機只有識別0,1這兩個數字的能力(這就是為什麼有2進制了)
我們的一切軟體 就算英文字母---也要按一定的規矩轉換成由0,1構成的二進制數後才能告訴電腦,讓電腦干什麼..
其原理很像密碼的發送與翻譯
而編程的各種語言(如VB VC JAVA DEPIN ...)
都如同各種的翻譯規則!!
形象的說:(比如說)
中文的「啥」
可以理解為「怎麼」
也可以理解為「什麼」
等...
反正意思都一樣
各種語言(如VB VC JAVA DEPIN ...)的語法不一樣
就是說:
你要說「啥」
一種語言要說「怎麼」,
另一種語言要說「什麼」
不同的語言有不同的說法(就像東北話,西川話等方言)
但到最後----給CPU的都是一個二進制數-----是一樣的
總之 程序的「語法」是死的----------但編出來的程序是活的
就像漢字是死的,但我們的語言是活的!
漢字就幾萬個,但用漢字寫出來的文章,你能說出有多少嗎?
不知我說的您明白沒.....
盡力了
② 如何評價 Racket 這門編程語言
Racket的誕生與發展
簡單介紹一下Racket的發展,詳見知乎的一個關於Racket的問題回答:
1958年,人工智慧之父John McCarthy 發明了一種以 Lambda 演算為基礎的符號處理語言,1960年 McCarthy 發表著名論文Recursive Functions of Symbolic Expressions and Their Computation by Machine, 從此這種語言被命名為 LSIP (List Processor),其語法被命名為:符號表達式(S-Expression)。LISP構建在7個函數[atom car cdr cond cons eq quote]和2個特型[lambda label]之上。
Lisp誕生之初是為了純粹的科學研究,代碼執行像數學公式一樣,以人的大腦來演算。直到麥卡錫的學生斯蒂芬·羅素將eval函數在IBM 704機器上實現後,才開啟了Lisp作為一種計算機語言的歷史。1962年,第一個完整的Lisp編譯器在MIT誕生,從此之後Lisp以MIT為中心向全世界傳播。之後十多年,出現了各種Lisp方言。
1975年,Scheme誕生。Scheme同樣誕生與MIT,它的設計哲學是最小極簡主義,它只提供必須的少數幾個原語,所有其他的實用功能都由庫來實現。在極簡主義的設計思想下,Scheme趨於極致的優雅,並作為計算機教學語言在教育界廣泛使用。
1984年,Common Lisp誕生。在二十世紀七八十年代,由於Lisp方言過多,社區分裂,不利於lisp整體的發展。從1981年開始,在一個Lisp黑客組織的運作下,經過三年的努力整合後,於1984年推出了Common Lisp。由於Scheme的設計理念和其他Lisp版本不同,所以盡管Common Lisp借鑒了Scheme的一些特點,但沒有把Scheme整合進來。此後Lisp僅剩下兩支方言: Common Lisp 和 Scheme。
從二十世紀九十年代開始,由於C++、Java、C#的興起,Lisp逐漸沒落。直到2005年後,隨著科學計算的升溫,動態語言JavaScript、Python、Ruby的流行,Lisp又漸漸的回到人們的視線。不過在Lisp的傳統陣地教育界,Python作為強有力的挑戰者對Scheme發起沖鋒;在2008年,MIT放棄了使用Scheme作為教學語言的SICP(計算機程序的構造和解釋)課程,而啟用Python進行基礎教學。同時美國東北大學另立爐灶,其主導的科學計算系統PLT Scheme開始迅猛發展;2010年,PLT Scheme改名為Racket。近幾年,The Racket Language連續成為年度最活躍語言網站,並駕齊驅的還有haskell網站。
符號表達式 S-Expression
首先說一下S表達式:S-表達式的基本元素是list與atom。list由括弧包圍,可包涵任何數量的由空格所分隔的元素,原子是其它內容。其使用前綴表示法,在Lisp中既用作代碼,也用作數據。如:1+2*3 寫成前綴表達式就是(+ 1 (* 2 3)) 。
優點:容易parse,簡單純粹,不用考慮什麼優先順序等,也是實現代碼即數據的前提;
缺點:可讀性不是很強;
高階函數
高階函數至少滿足下列一個條件:
接受一個或多個函數作為輸入;
輸出一個函數;
微積分中的導數就是一個例子,映射一個函數到另一個函數。在無類型 lambda 演算中,所有函數都是高階的。在函數式編程中,返回另一個函數的高階函數被稱為Curry化的函數。Curry化即把接受多個參數的函數變換成接受一個單一參數(最初函數的第一個參數)的函數,並且返回接受餘下的參數而且返回結果的新函數的技術。如 f(x,y)=x+y, 如果給定了 y=1,則就得到了 g(x)=x+1 這個函數。
Lambda 表達式
Racket中實用Lambda表達式來定義匿名函數,《如何設計程序》書中給出的使用原則是:如果某個非遞歸函數只需要當參數使用一次,實用Lambda表達式。如果想用Lambda表達式來表達遞歸,就需要引入Y組合子,Y 就是這樣一個操作符,它作用於任何一個 (接受一個函數作為參數的) 函數 F,就會返回一個函數 X。再把 F 作用於這個函數 X,還是得到 X。所以 X 被叫做 F 的不動點(fixed point),即 (Y F) = (F (Y F)) 。
惰性求值
惰性求值(Lazy Evaluation),說白了就是某些中間結果不需要被求出來,求出來反而不利於後面的計算也浪費了時間。參見:惰性求值與惰性編程。
惰性求值是一個計算機編程中的一個概念,它的目的是要最小化計算機要做的工作。惰性計算的最重要的好處是它可以構造一個無限的數據類型。使用惰性求值的時候,表達式不在它被綁定到變數之後就立即求值,而是在該值被取用的時候求值。語句如 x:=expression; (把一個表達式的結果賦值給一個變數)明顯的調用這個表達式並把計算並把結果放置到 x 中,但是先不管實際在 x 中的是什麼,直到通過後面的表達式中到 x 的引用而有了對它的值的需求的時候,而後面表達式自身的求值也可以被延遲,最終為了生成讓外界看到的某個符號而計算這個快速增長的依賴樹。
閉包
閉包在計算機科學中,閉包(Closure)是詞法閉包(Lexical Closure)的簡稱,是引用了自由變數的函數。自由變數是在表達式中用於表示一個位置或一些位置的符號,比如 f(x,y) 對 x 求偏導時,y就是自由變數。這個被引用的自由變數將和這個函數一同存在,即使已經離開了創造它的環境也不例外。在函數中(嵌套)定義另一個函數時,如果內部的函數引用了外部的函數的變數,則可能產生閉包。運行時,一旦外部的 函數被執行,一個閉包就形成了,閉包中包含了內部函數的代碼,以及所需外部函數中的變數的引用。其中所引用的變數稱作上值(upvalue)。網上有很多將JavaScript閉包的文章,如果你對LISP有系統的了解,那麼這個概念自然會很清楚了。
快排的Racket實現
#langracket
(define(quick-sortarray)
(cond
[(empty?array)empty];快排的思想是分治+遞歸
[else(append
(quick-sort(filter(lambda(x)(<x(firstarray)))array));這里的array就是閉包
(filter(lambda(x)(=x(firstarray)))array)
(quick-sort(filter(lambda(x)(>x(firstarray)))array)))]))
(quick-sort'(132534509824))
;;運行結果'(012334455982)
通過這個例子,就可以感受到基於lambda運算元的 Racket 語言強大的表達能力了,高階函數、lambda表達式和閉包的使用是Racket所描述的快排十分的精煉,這和 基於馮諾依曼模型c語言是迥然不容的思維模式。後面,隨著Racket 學習的進一步深入,嘗試寫一下解釋器
③ 長春編程行業怎麼樣待遇呢
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
無論在哪編程都有不錯的前景 待遇當然是看你的能力而定的 越是精通待遇就會越高的
④ 編程語言什麼最好
不知道你英語怎麼樣?要是沒有基礎,外語也不行我看還是學 易語言 好些,全中文命令,學習起來比較直觀,順便了解一下語言的構成,為以後學習樓上兄弟說的那些語言打點基礎。這是易的官方論壇地址http://bbs.eyuyan.com/ 裡面有培訓班,教程。最後祝你學習順利~~~~~
⑤ 我是東北農業大學學食品科學的大一學生.這學期我們開了VB這門課.我想問問這門課好過嗎筆試主要考什麼...
我也是東北農業大學的學生,VF及VB是每年掛科率最高的一門課,筆試和上機都有很多掛的,筆試主要有選擇,填空,判斷,程序題,程序題一般三道,雖說都說從練習冊出,但實際上一樣的題不多,還是好好學吧,加油!
⑥ 為什麼中國沒有誕生程序設計語言呢
程序設計,俗稱編程,是一個比較專業的概念。初學者,甚至一部分開發人員,都不能很簡單的解釋這個概念,所以初學者覺得程序設計是一件很有科技含量或者是很高深的學科,其實這些都是誤解。那麼程序設計到底是什麼呢?
![](http://www.ultimate-communications.com/images/loading.jpg)
⑦ 學軟體開發
1、最好是大專以上學歷,從0開始學習的話需要1年左右
2、學成之後第一年,薪水是不會太高的,就東北地區來看是2000左右,不過薪水的跳躍性非常大,幾年之後會成幾何增長
更加具體的東西,希望你能到下邊這個網站看一下,也許會找到你滿意的答案!如果仍有要問的東西,可以聯系我!
QQ:37455673
⑧ 想學習編程
我認為學習編程是一件好事,不要認為編程很難,其實它並不難,不過之前你得先了解你學習編程的目的是什麼?這個很重要,因為目的決定你的發展方向。目前對於編程有很多種編程語言以及相對應的開發軟體,根據你的情況選一種語言進行專業學習,不要盲亂學習。編程是一種融匯貫通的東西,學會基礎到後邊就越來越簡單了。而且可以向多種語言發展。因為畢竟世上沒有永遠不過時的東西嘛!下面說明一些常用的編程語言。
C語言 是一種可移植性和多系統平台的編程語言
JAVA 是一種功能強大可移植性強的開發語言
HTML 是一種超文本標記語言
Java Script 是一種基於客戶端的腳本語言
程序語言,顧名思義就是一種語言,是用於交流的,程序就是計算機的語言和人類語言的翻譯者,做一個程序員就是要把人類世界的問題用計算機的方法去解決和展現,可是因為種種原因,大多數人在如何學好語言,如何學好開發平台上疲於奔命,到頭來你只會敲寫代碼。如果想做一個合格的程序員,C++、JAVA、sql、都是一定要學的,另外,不要去學你喜歡的,也不要去費勁腦子想該學什麼,看看IT界,IT市場需要什麼,你就學什麼。
新手學編程要從根本出發
從理論上來說,需要廣泛的閱讀,了解演算法的博大精深和計算機的基本理論。
從實踐上來說,需要有廣泛的練習,練習的廣泛在於練習不同的內容。
然後就是創新精神和數學思維能力,這些都是需要培養的。
基礎要打好學編程要具備一定的基礎,總結之有以下幾方面:
(1)數學基礎 、從計算機發展和應用的歷史來看計算機的數學模型和體系結構等都是有數學家提出的,最早的計算機也是為數值計算而設計的。因此,要學好計算機就要有一定的數學基礎,出學者有高中水平就差不多了。
(2)邏輯思維能力的培養 、學程序設計要有一定的邏輯思維能力,「思維能力」的培養要長時間的實踐鍛煉。要想成為一名優秀的程序員,最重要的是掌握編程思想。要做到這一點必須在反復的實踐、觀察、分析、比較、總結中逐漸地積累。因此在學習編程的過程中,我們不必等到什麼都完全明白了才去動手實踐,只要明白了大概,就要敢於自己動手去體驗。誰都有第一次。有些問題只有通過實踐後才能明白,也只有實踐才能把老師和書上的知識變成自己的,高手都是這樣成材的。
1.本地開發應用軟體開發的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;資料庫開發工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。
2.跨平台開發開發工具如 Java 等。
3.網路開發對客戶端開發工具如:Java Script 等;對伺服器開發工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的環境下幾種開發工具中 VB 法簡單並容易理解,界面設計是可設化的,易學、易用。選 VB 作為入門的方向對出學者是較為適合的。 (但現在已經過時)
培養好的編程習慣
編程入門不難,但入門後不斷學習是十分重要的,相對來說較為漫長。在此期間要注意養成一些良好的編程習慣。編程風格的好壞很大程度影響程序質量。良好的編程風格可以使程序結構清晰合理,且使程序代碼便於維護。如代碼的縮進編排、變數命令規則的一致性、代碼的注釋等。
多問多學習掌握編程思想必須在編程實際工作中去實踐和體會。編程起步階段要經常自己動手設計程序,具體設計時不要拘泥於固定的思維方式,遇到問題要多想幾種解決的方案。這就要多交流,各人的思維方式不同、角度各異,各有高招,通過交流可不斷吸收別人的長處,豐富編程實踐,幫助自己提高水平。親自動手進行程序設計是創造性思維應用的體現,也是培養邏輯思維的好方法。
總結1、先照書上的題目寫,題目的設計是有道理的鞏固基礎知識。
2、找數學題,寫個小程序解決,熟悉演算法和基礎函數。
3、自己出題目,小一點的,如自編資源管理器、自編寫字板之類,練習WINDOWS下的編程。
4、結合身邊的事,找個中等課題,或看別人的程序,自已想辦法實現。
5.把教材中的例子,自己仿照著寫一遍,上機運行,看結果.要知道,任何產品都是有例子的,有機結合或仿照。
6.從自己熟悉的事情入手,如成績統計,編制一段程序,完成一個功能.然後再完善。
7.要反復破壞代碼,從破壞中尋找代碼的規律。
8.必須經常反復上機練習。