數學家和編程
① 編程語言是誰發明的
多年前,美國軍方要給一種計算機語言取個名字,大家提了許多動聽的名字都覺的不太中意,後來有人提議,將這種計算機語言命名為:Ada。沒有人提出異議。為什麼大家都同意用這個名字呢?這還得從100多年前說起。Ada是一名充滿幻想的女孩1815年12月10日,英國。一個女孩降生了,她的母親,一個有著傑出數學天賦的女人,人稱「平行四邊形公主」;父親,一個狂熱的充滿幻想的詩人
--拜倫。可是女孩從生下來就從沒見過父親。這位狂熱的、浪漫的詩人結婚不久便離開了英國,再也沒有回來。母親給她起了個動聽的名字:阿達(Ada)。那
位詩人盡管離開了英國,當聽說自己有了一個女兒時非常的高興,可也非常的懊悔,但他始終沒有回去看女兒一眼,只能用詩來表達自己對女兒的思念和歉疚,他的
一首詩的名字就叫《阿達》。狂熱的詩人36歲死於希臘,臨死前唯一牽掛的就是阿達。而此時的阿達,跟隨著母親生活,阿達不僅繼承了母親的數學天賦,也秉承了父親的性格,小小年紀也充滿幻想,幻想成為一個大科學家、大詩人。母親怕她走父親的老路,竭力想改變她對詩歌的熱愛,但無能為力,阿達曾對母親說:「沒有詩,要數學干什麼?」當時的英國,科學風氣盛行,包括許多婦女都在雜志上發表文章探討數學等問題。阿達17歲那年,母親請了著名的數學家摩根做她的老師,摩根就是現代計算
機數學基礎布爾代數的創始人之一。在他的影響下,阿達的數學天賦得到了充分的展現。同時阿達還被介紹到當時著名的翻譯家——為劍橋大學工作的瑪麗·索菲利
那裡學習。瑪麗由衷地喜歡這個聰明而又刻苦,且充滿幻想的女孩,也非常地支持並鼓勵她在數學方面發展。此時的阿達對機械、建築也充滿興趣,暢游在科技王
國,就像少女在花園中徜徉,樂此不疲,流連忘返。她還同當時的一些著名科學家保持密切的聯系,如法拉第等。結識巴貝奇1834年11月,阿達在一次宴會上遇到了一位對其一生產生重要影響的人——查爾斯·巴貝奇。此時的巴貝奇正到處游說他的計算機設想。當時的人們很少
有人理會他,以為他是在「痴人說夢」。同樣,他也將自己的設想全盤托出,講給阿達聽。此時的阿達只有18歲,但她聽完他的設想並看了他的文稿後,徹底地領
會了他的設想,並深深地為之陶醉。憑著她深厚的科學功底和豐富的想像力,她認為這是一個偉大的設想,世界將因之而改變。面對今天的現實,我們不能不為阿達的洞察力所折服,她的這一預言可是在一個半世紀以前提出的啊!參與研製計算機共同的追求,使兩人成了忘年交,阿達的母親曾試圖阻止阿達與巴貝奇的交往,認為巴貝奇不過是個江湖騙子,不會給阿達好影響。這點阻力對於秉承父親性格的阿達,算不了什麼,她完全投入到了計算機的研製中去了,負責為巴貝奇設想中的計算機編寫軟體。1841年,巴貝奇在義大利都靈向人們詳細地介紹他的設想,希望能引起大家的重視,但無人喝彩。他用法語出版的論文也不受人歡迎,但阿達執意要將其翻
譯成英文。翻譯結束後阿達將文稿給巴貝奇看,巴貝奇發現:阿達不僅在論文中加入她特有的想像,而且補充了許多阿達獨到的見解。阿達特別強調存儲程序和數據
的重要性,而這與今天的計算機技術不謀而合,並且擬訂了一份設計圖,這份設計圖被公認為世界上第一個計算機程序。阿達在文中對計算機應用前景的展望,連巴
貝奇自己都從來沒有想到過。如:阿達認為,計算機應該發展成一個可用符號來表示任何事物的裝置,這不正是今天的編程語言嗎?她還預見到計算機可以用在紡織
機械上,用卡片存儲復雜的花樣、可以用來繪圖、演奏音樂。這些預言表明阿達是現代人工智慧技術的拓荒者。阿達對論文的修改,使巴貝奇深感驚奇和鼓舞,他對別人稱贊說:「阿達是個充滿想像力和洞察力的女孩」,「她是個數字女神」。她將詩歌的激情融入了論文之中。 經過阿達翻譯後的文稿其內容增加到原來的三倍,論文實際上成了兩人合作的產物,但謙遜的阿達在署名的時候,只將自己的名字簡單地署為:A.A.L。在後來的一系列論文中,阿達在計算機軟體領域做出了許多開創性的貢獻:如變數、遞歸、程序演算法的提出等。短暫的一生阿達後來與威廉伯爵結婚,婚後生有三個孩子,但為了研製計算機,她將孩子們都放到母親那裡扶養,這對於一個女性,在當時是不被人理解的,好在丈夫非常
支持她的研究工作,這使她深感欣慰。此時的巴貝奇已是一貧如洗,阿達也付出了許多。長期的研究耗費了大量的心血,身體狀況也一天不如一天,疾病時時糾纏著
她,但為了那個美麗的幻想成真,她夜以繼日地工作。她的座右銘是:工作是我的報酬。1852年,阿達因癌症去世,同她的父親一樣,年僅36歲,沒有等到計算機的誕生。如果她再多活一年,就會看到在瑞典,由喬治和愛德華根據巴貝奇的方案製造出的一台差分機,這不能不說是人類的一個遺憾:第一位軟體工程師,卻沒有看到自己的設想結出的果實。盡管限於當時的製造條件,巴貝奇最終也沒有造成理想中的計算機,但他們超前100多年的拓荒,對後來計算機技術的誕生和發展同樣產生了深遠的影響。當
我們津津樂道ENIAC——第一台數字電子計算機的時候,也不應該忘記人類這一智慧的火花,在這之前的100多年,已經由巴貝奇和阿達點燃了。阿達、巴貝奇兩人對計算機事業的貢獻就好像火對於人類。他們是鑽燧取火的人,是盜得火種的普羅米修斯。讓我們記住巴貝奇,也記住這位傑出的女性———阿達(Ada)。用她的名字給一種計算機語言命名,只能寄託我們對她的紀念和欽佩,卻遠遠不能表達出她為計算機技術作出的重要貢獻。
___________________________________________
這個只能抄一下了。
② 如何評價王垠的《數學和編程》
編程和數學運用到了一起這本身就是一個創新,他可能想過,這本書不被接受,但他仍然還是要出這本書,本身就是勇氣。能寫出這樣的書,需要思路清晰,文章要寫得有條理,被有需要的人看到會有很大幫助的。
③ 數學對於編程重要不重要
編程和數學擱在一起,有的人會說,數學對編程很重要,是真的嗎?也很多人會說,數學在編程上實際上用得很少!編程和數學沒多大關系,真的是這樣嗎?數學對於編程到底重要?or 不重要?
數學對編程很重要?
扯淡,數學再好,你能設計出IOS的UI嗎?學好數學就能理解用戶體驗了嗎?
編程就像一個大雜燴,
我一直不喜歡「計算機科學」(computer science)這個詞。主要原因是根本不存在這種東西。計算機科學就像一個大雜燴,由於某些歷史意外,很多不相乾的領域被強行拼裝在一起。這個學科的一端是純粹的數學家,他們自稱「計算機科學家」,只是為了得到國防部研究局(DARPA)的項目資助。中間部分是計算機博物學家,研究各種專門性的題目,比如網路數據的路由演算法。另一端則是黑客,只想寫出有趣的軟體,對於他們來說,計算機只是一種表達的媒介,就像建築師手裡的混凝土,或者畫家手裡的顏料。所以,在「計算機科學」的名下,數學家、物理學家、建築師都不得不待在同一個系裡。
首先,「編程」是一個很泛的概念,「編程」這件事對於各個人有不同的意義、
對一般碼農來說,編程略等於用戶需求實現的過程,寫出能運行的代碼或者軟體就算達到了目的。
對編譯工具開發者,編程是編寫符合語法規則的字元串,借著編譯器生成能執行的軟體程序。
「天才」級程序員而言,編程幾乎等於演算法,談編程幾乎等於談演算法。
編程還是很多與計算機應用挨得比較近的學科的基礎技能,這時,編程是研究人員實現各類實驗的手段,譬如機器學習、密碼學、計算機圖形學、計算物理等等。
專業劃分上,編程算是計算機科學的子集,計算機科學屬於數學與應用數學專業,是數學的一個分支。
其次,對比「編程」和「數學」的異同。
數學的內涵和外延之豐富,我們不用展開。就許多編程語言的構成部分,如整型、浮點型、字元串、變數、常量、運算符的優先順序,參數或者布爾運算等等,都來源於數學概念,並發展變化。編程語言的底子是數學概念,實際編程中,這些編程中概念又具有自己獨特的表述意思。學習編程,也可以對比和原來數學概念所不一樣的地方。我們來看看「編程」和「數學」很多相同的地方吧!
數組這個概念在編程重要,在數學上我們很容易找到與之對應數學概念,一維數組->矢量;二維數組-> 矩陣。
而矢量、矩陣和行列式在數學上一個基礎性分支,有很成熟的理論支撐。
函數在編程里有豐富的內涵,數學上的函數概念能幫助程序員快速建立函數對象的邏輯思維,數學意義的函數,用到的單射、滿射、雙射、反函數學等等,都能在編程里有用武之地。
編程,繞不開演算法,至少,編程之路往上爬,必須深入進去演算法。演算法的邏輯思維幾乎等同於數學的邏輯思維。
下面我們再說說,編程之於數學之外的那些吧!
編程需要考慮性能,性能這件事和數學沒有很強的聯系。
編程需要考慮內聚性、耦合性、可讀性、可擴展性,這些因素更多的是軟體工程上的考量,與數學的本質聯系不是那麼強。
編程需要測試,測試這個事情不能說有多麼的數學。
從這些方面出發,有些人說,「編程就是數學」明顯是不恰當的。
④ 誰發明了那些經典的編程語言
我也抄一下。
奧古斯塔·阿達·金,勒芙蕾絲伯爵夫人(augusta
ada
king,
countess
of
lovelace,1815年12月10日-1852年11月27日),原名奧古斯塔·阿達·拜倫(augusta
ada
byron),通稱阿達·洛芙萊斯(ada
lovelace),是著名英國詩人拜倫之女,數學家。計算機程序創始人,建立了循環和子程序概念。
為計算程序擬定「演算法」,寫作的第一份「程序設計流程圖」,被珍視為「第一位給計算機寫程序的人」。為了紀念阿達·奧古斯塔對現代電腦與軟體工程所產生的重大影響,美國國防部將耗費巨資、歷時近20年研製成功的高級程序語言命名為ada語言,它被公認為是第四代計算機語言的主要代表。
在1842年,人稱「數字女王」的阿達·洛芙萊斯(ada
lovelace)編寫了歷史上首款電腦程序。
在1834年,阿達的朋友——英國數學家、發明家兼機械工程師查爾斯·巴貝其(charles
babbage)——發明了一台分析機;阿達則致力於為該分析機編寫演算法,並於1843
年公布了世界上第一套演算法。
巴貝其分析機後來被認為是最早期的計算機雛形,而阿達的演算法則被認為是最早的計算機程序和軟體。
1852年,阿達為了治療子宮頸癌,卻因此死於失血過多,得年36歲。無獨有偶,她與她父親拜倫死於相同年齡,一樣死於治療中的失血過多。她留下了兩個兒子與一位女兒—安妮·布蘭特貴女。
依她的遺言,阿達葬於諾丁漢哈克諾的聖
瑪麗亞·抹大拉教堂,長眠在父親的身旁。
在1842年與1843年其間,阿達花了9個月的時間翻譯義大利數學家路易吉·米那比亞對巴貝奇最新的計算機設計書(即分析機概論)所留下的備忘錄。在這部譯文里,她附加許多注記,內容詳細說明用計算機進行伯努利數的運算方式,而被認為是世界上第一個電腦程式;因此,阿達也被認為是世界上第一位程式設計師。巴貝奇在他所著的《經過哲學家人生》(passages
from
the
life
of
a
philosopher,
1846)里留有下面的述敘:
倫敦科學館分析機復製品
「我認為她為米那比亞的備忘錄增加許多注記,並加入了一些想法。雖然這些想法是由我們一起討論出來的,但是最後被寫進注記里的想法確確實實是她自己的構想。我將許多代數運算的問題交給她處理,這些工作也與伯努利數的運算相關。在她所送回給我的文件,更修正了我先前在程序里的重大錯誤。」
阿達的文章創造出許多巴貝奇也未曾提到的新構想,比如阿達曾經預言道:「這個機器未來可以用來排版、編曲或是各種更復雜的用途。」
她死後一百年,於1953年,阿達之前對查爾斯·巴貝奇的《分析機概論》所留下的筆記被重新公布,並被公認對現代計算機與軟體工程造成了重大影響。[2]
在1980年12月10日,美國國防部製作了一個新的高級計算機編程語言——ada,以紀念阿達·洛芙萊斯。
在微軟的wins產品里也可以找到阿達的全息圖標簽。
英國計算機公會每年都頒發以阿達命名的軟體工程創新大獎。
⑤ 一個計算機編程高手一定要是數學家嗎
涉及演算法優化,的確需要數學基礎。但演算法知道就行了。不一定必須是數學家。你也可以找個數學家幫你算演算法。
⑥ 編程與數學!
數學是關於邏輯的學問,編程是將現實問題轉化為符號及其連接而成為數學模型的過程,所以說編程是需要數學作為基礎的。
但如果你有很強的理性邏輯,又有一定的數學常識(例如,你懂得用符號表達特定的含義,並能在理解了符號的位置與含義的關系後自由代換是被允許的),那麼你也一樣會成為一名出色的程序員的。
但話有說回來了,數學知識又不僅僅是嚴密的邏輯,它是無數先賢智慧的結晶,只有你繼承了這些,你才能更加成功。
一開始學編程,只須牢記並理解語法規則,熟練以後在學演算法,再以後你就只能攻讀高數了。那時,你將發現數學的魅力,他是解決問題的有力武器!並且一切問題也都變成了數學模型了。
學習編程,你知道這幾個概念嗎:變數,文件,函數,指針?
如果不知道,那麼你還是先學語法把
⑦ 編程學習起來難不難啊
不難,基礎學好,不會慢慢來,不要擔心編程會不會很難。認真學就是了。
⑧ 為什麼有「編程思維」和數學能力強的人更優秀
1、數學方法論的誕生與發展
數學是一門歷史悠久的基礎學科,對人類的文明有著巨大的影響,不管是民生、經濟、軍事等各個行業,都離不開數學的知識,在這個過程中,人們開始想著用一種方法,讓數學的學習和運用變得更為簡便、易懂,從而提出了「證明的方法」和「發現(發明與創造)的方法」。顯然,數學自身的證明方法是和嚴密的,形式化的邏輯演繹方法聯系在一起的,或者說數學證明的方法與公理化的方法緊密地聯系在一起。
歷史上不少著名的數學家希望找到「萬能方法」可以解決一切數學問題,也期望能把任何問題都轉化為數學問題,但事實證明,這種方法是不可行的。
但在這個過程中,數學家們一代代的完善問題解決的數學方法,尤其是波利亞的「啟發法」,國際上在20世紀80年代以前,所謂的數學方法論實際上就是波利亞的「啟發法」------問題解決的數學方法,對數學教育卻有著極大的影響。
2、數學思維方法的產生與發展
上面提到,波利亞的「問題解決」啟發法在教育界盛行之後,數學家們很快有研究認識倒,如果只注重方法的學習很可能會變成一種新的技能方法的形式化教育!
因此一些學者開始強調數學思維的重要性,強調強調數學教育中積極的思維遠遠超過記憶和掌握一種具體方法。由此,數學思維方法作為一種繼數學方法論之後的數學教育形式就逐漸形成了一種教學體系。
發展倒現在,現代的數學教育觀認為,對於所謂的問題解決者而言,問題解決的過程不可能也不應當是一個程式化的邏輯過程,而應當是從滿創造性的過程。因此,應把啟發法所運用的「問題解決」與「數學思維(主要指創造性思維)」相結合。
尤其在西方的數學教育界,普遍認為:數學學習的目的,不是掌握「數學知識和技能」而是「解決問題的一般方法」即「數學式地思維」。
而且關於數學思維教育,數學研究者提出了以下三個觀點:
第一,數學思維方法研究緊緊跟隨和運用數學方法論地內容,即數學思維是問題解決的思維方式。
第二,數學思維方法的教學,不僅強調數學方法具有的方法論意義,而且強調說明在這些數學方法中,數學思維活動的積極意義,也就是說數學思維能力。
第三,數學思維方法的教育內容,更應當與非邏輯思維,創造性思維相聯系。也就是說數學思維不是程式化教學。
由此可見,數學思維教育是數學解決問題過程中的思維方式,是一個過程,而不是結果,恰恰我們家長在教育孩子的時候,往往只注重最終的結果是否正確,卻不在乎孩子的思維過程是否正確,是否得到了鍛煉。