A. 怎樣才能鍛煉出程序員的思維
要鍛煉出程序員的思維 首先要做到下面幾點
多家練習 才可熟能生巧
1、扎實的基礎
數據結構、離散數學、編譯原理,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2、豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程序員來說很重要。
3、最簡單的是最好的
這也許是所有科學都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4、不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5、對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6、多與別人交流
三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7、良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8、韌性和毅力
這也許是「高手」和一般程序員最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨煉出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
B. 做程序員的中年男人,在職場中需要應酬嗎
作為一個中年男人的程序員,在工作當中是必須需要應酬的。應酬有以下的幾個好處。
第一,自己已經處於中年了,就應該多出去應酬學習一些年輕人所掌握的程序技巧。自己處於中年就不能夠說放棄學習,不應酬。在應酬的過程中,可以學習到很多的經驗以及知識,這些東西對自己以後的職業生涯都是可以帶來好處的。
第四,作為程序員出去應酬,他們在吃飯時可以延緩工作的緊張感。這個時候最適合討論程序員工作上的事,基本上對方是很少會拒絕的,更容易說服對方,讓對方聽從自己的意見,從而使自己想要應酬的最終目的實現。
應酬也是一門技術活,在應酬上面也不應該多說。作為程序員最主要的就是技術以及探討知識。程序員在應酬中都可以向對方了解很多的知識和技巧的。
C. 有哪些新手程序員該知道的工作小技巧
1.積極大膽的谷歌。你得知道如何有效的組織搜索關鍵字,查閱別人寫的代碼,然後合理地用在代碼里,從而解決問題。
2.擁抱變化,堅持不懈。老手程序員在接觸新技術時,能欣然接受像個初學者一樣處處受挫,並總能在完成工作的同時自學成才。
3.承認細節的重要性。例如變數和函數的命名、CSS屬性的命名、該用哈希還是數組,以及其他看起來微不足道,但可能對項目有深遠影響的事情。
4.承認大多數的「重要決定」其實並沒有那麼重要。一般的開發者經濟常在技術選型等「重大問題」上陷入唇槍舌戰,而程序員老鳥們會避免浪費時間在罵戰中。這一點上,它們就像禪宗大師一樣。
5.選擇合適的工具解決問題。網上有無數的開源庫、工具和框架,讓人眼花繚亂。而老手們清楚地知道針對怎樣的問題,應該用怎麼樣的工具。
6.明白代碼「不值錢」(該刪就刪)。你必須習慣於刪掉幾百行代碼來重寫程序的某一部分,毫不留情。
7.在評估技術的時候要全面。例如,我一直在鼓吹Elixir。它語法優美,社區完善,有很大的潛力。但Elixir誕生的時間太短,所以如果要構建復雜的功能,可能會難以找到能幫你提高效率的開源工具。因此,在評估要不要選擇使用一項技術時,你得把所有這些因素都考慮在內。
23.知道什麼時候開始回饋。到了某個時候你需要將你的技能和經驗傳授給年輕的開發人員,就像你的導師當時教授你一樣。
24. 能寫爛代碼。有時候可以當一當「膠帶式程序員」。關鍵是隨著時間推移,你需要弄清楚什麼時候可以走捷徑,什麼時候必須走捷徑。這其實是最難掌握的技能之一。
25. 禮貌地告訴別人你工作到很晚。如果你是辦公室里最後一個,可以發一封簡短的匯報郵件。別人一般會注意到郵件上的時間戳的。
26. 像一個領導者(Leader)一樣做事,而不是老闆(Boss)。老闆是讓別人為他工作的人,領導者是人們追隨的人。做個領導者。
27. 去打打桌上足球。從長期來看,同其他開發者(或不同崗位上的同事)建立聯系比在緊巴巴的期限里交付一個功能更有價值。
28. 在壓力下學習。你需要知道如何應對像系統宕機而你要負責將它復原的情況,即使一開始你完全沒有頭緒。
D. 程序員經常按的兩個鍵
我以前其實也挺喜歡按CTRL+C和V的 因為有些不用自己寫 呵呵 但是還是沒有CTRL+S那麼頻繁
E. 如何成為一個程序老手,新手必知的40個小技巧
老鳥和新手的一個很大區別來自於debug的能力。其中最主要又可以從兩方面看出來:
從高層往底層找錯。
科學方法。
0.重構是程序員的主力技能。
工作日誌能提升腦容量。
先用profiler調查,才有臉談優化。
注釋貴精不貴多。杜絕大姨媽般的「例注」。漫山遍野的碎碎念注釋,實際就是背景噪音。
普通程序員+google=超級程序員。
單元測試總是合算的。
不要先寫框架再寫實現。最好反過來,從原型中提煉框架。
代碼結構清晰,其它問題都不算事兒。
好的項目作風硬派,一鍵測試,一鍵發布,一鍵部署; 爛的項目生性猥瑣,口口相傳,不立文字,神神秘秘。
編碼不要畏懼變化,要擁抱變化。
常充電。程序員只有一種死法:土死的。
編程之事,隔離是方向,起名是關鍵,測試是主角,調試是補充,版本控制是後悔葯。
一行代碼一個兵。形成建制才能有戰鬥力。單位規模不宜過大,千人班,萬人排易成萬人坑。
重構/優化/修復Bug,同時只能作一件。
簡單模塊注意封裝,復雜模塊注意分層。
人腦性能有限,整潔勝於雜亂。讀不懂的代碼,嘗試整理下格式; 不好用的介面,嘗試重新封裝下。
迭代速度決定工作強度。想多快好省,就從簡化開發流程,加快迭代速度開始。
忘掉優化寫代碼。過早優化等同惡意破壞;忘掉代碼作優化。優化要基於性能測試,而不是糾結於字里行間。
最好的工具是紙筆;其次好的是markdown。
leader問任務時間,若答不上來,可能是任務拆分還不夠細。
寧可多算一周,不可少估一天。過於「樂觀」容易讓boss受驚嚇。
最有用的語言是English。其次的可能是Python。
百聞不如一見。畫出結果,一目瞭然。調試耗時將大大縮短。
資源、代碼應一道受版本管理。資源匹配錯誤遠比代碼匹配錯誤更難排查。
不要基於想像開發, 要基於原型開發。原型的價值是快速驗證想法,幫大家節省時間。
序列化首選明文文本 。諸如二進制、混淆、加密、壓縮等等有需要時再加。
編譯器永遠比你懂微觀優化。只能向它不擅長的方向努力。
不要定過大、過遠、過細的計劃。即使定了也沒有用。
至少半數時間將花在集成上。時間,時間,時間總是不夠。
與主流意見/方法/風格/習慣相悖時,先檢討自己最可靠。
出現bug主動查,不管是不是你的。這能讓你業務能力猛漲、個人形象飆升; 如果你的bug被別人揪出來.....呵呵,那你會很被動~≧﹏≦
不知怎麼選技術書時就挑薄的。起碼不會太貴,且你能看完。
git是最棒的。簡單,可靠,免費。
僅對「可預測的非理性」拋斷言。
Log要寫時間與分類。並且要能重定向輸出。
注釋是稍差的文檔。更好的是清晰的命名。讓代碼講自己的故事。
造輪子是很好的鍛煉方法。前提是你見過別的輪子。
code review最好以小組/結對的形式。對業務有一定了解,建議會更有價值(但不絕對)。而且不會成為負擔。管理員個人review則很容易成team的瓶頸。
提問前先做調研。問不到點上既被鄙視,又浪費自己的時間。
永遠別小看程序媛(╯3╰)!
F. 編程是什麼(具體、易解)
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
么叫做編程?或許是這樣的,編寫自己的代碼和文檔以及閱讀別人的代碼或文檔!
我們太多的強調了寫自己的代碼和文檔,而對後者我們好像並沒有在意。這就像文
章一樣,太多的人會寫,太多的寫的經驗和規則已經存在,但是對讀文章,那仍然
就像是一門藝術,所以大家經常用恍然大悟一些詞語來形容讀懂了一篇文章。程序
的狀況和文章差不多,但是程序相比文章更加的固定,更加的具有規則可言,因此
我們有理由相信,閱讀代碼雖然也是一門藝術,但是應該是一門更加有規律可循的
的藝術。下面這個故事摘錄《編程之道》:
我的故事開始於我從大學計算機科學專業畢業後的幾個星期。我大學畢業後的目
標是為一家研究和開發機構工作,最好是編譯程序或操作系統設計的部門。我最
後終於找到一家願意盲僱傭我的機構,但條件是我必須在一段時間內,通過完成
程序維護的工作來「學會這套系統」。
我當然會對這個建議產生抵觸心理。我花了五年的大學時間,竟然是為了浪費時
間來解決其他一些程序員的錯誤!然而,因為他們曾經答應日後讓我干感興趣的
工作,於是我便接受了,並在心中提醒自己,即使這份工作干不出名堂,我還能
找到其他的工作。
當我第二個禮拜去報到的時侯,我被領著去與那個程序維護組的師父見面。人事
部總管帶著我快步地穿過開發中心黑暗的走廊,最後她指著長長的大廳通道盡頭
處的一扇門說:「他在那裡面。」說完志身走了,好像有些心神不定。
我向門口走去,眼睛朝裡面窺探,我看見一個男人正坐在終端前工作,但他背對
著我,所以我不知道他有多大年紀,長得什麼樣。我只有靠咳嗽一聲來表明我的
存在,這里,那位大師甚至沒有回頭瞅一眼便說:「請坐」。
越過他的肩膀,我瞟見了那些難以理解的屏幕顯示,隨著他纖長的手指在鍵盤上
飛舞,它們一閃一閃地出現在他的終端上。最後,他滿意地咕噥了一聲,退出系
統,然後轉過身來面對著我。
我所看見的讓我吃了一驚,因為他看上去不像那種應該是禪師的人,他的臉乏味,
幾乎是醜陋的,他的頭發如同一圈煩惱的光環。但人們首先注意的是他的眼睛,
透過厚厚的眼鏡片射出淡淡的藍光。
他從頭到腳地打量了我一番,然後點點頭,就好像確認一個個人觀點,「你就是
那個新來的?」他酸酸地問。
「是的。」我回答。我假裝充滿激情,把我的經歷和在大學的成績向他作了快速
的匯報。
這位禮貌的聽著,然後說:「那很好,但你以前做過程序的維護工作嗎?」
我坦白地告訴他我沒有做過。
師父長長地嘆了口氣,「那好,我們應該做我們做做的事。」他說。然後他從一
個架子上取下一本龐大的程序清單,隨意地翻開它,並遞給我。接著他問:「你
怎樣對付這個?」
我眼睛盯著這本清單,那上面是匯編語言,還攙和著一些奇怪的宏語言。每隔十
幾行語句,控制權便轉移到某個神秘的子程序,而且,即使這個程序具有任何結
構性,我也看不出來。「這是什麼程序、」我問。
師父把那本清單從我的膝蓋上拿了過去,「這是《世代大師編碼藏經》,」他說,
「當你學會了從迷魂陣中把錯誤的代碼抓出來時,那就是你出師的時侯了。」然
後,他合上清單,把它放回到書架上。
我不久便意識到,程序的維護遠比我想像的要難得多。我起初試圖學會那本《編
碼藏經》中所用的匯編語言,但令我煩惱的是,我發現那套匯編語言從未按規矩
提供過說明文檔,現存的僅有一些筆記,是一位多年前就死去或離開公司的硬體
開發者寫的。
這本《編碼藏經》不能給我什麼幫助了。雖然其中偶爾有一些注釋,但這些注釋
和這種匯編語言一樣模糊,除了一些涉及到有關原始硬體構造的使人干著急的資
料以外,別無它物。
當我向那位師父抱怨這一切的時侯,他禮貌地聽著,並在我們兩人沉默了許久之
後,回答我說:
「你正在試圖理解某種不可能被你的理性思維所理解的東西,」他說,「這樣所
導致的結果必然是失敗。你必須先清空你的大腦,只有那時,你才能開始領悟《編
碼藏經》。」
接著,師父開始慢慢地向我闡釋那本《編碼藏經》里復雜的邏輯。當我聆聽他那
溫和的聲音時,我終於開始覺察到一點光芒的閃爍,這是隱藏在《編碼藏經》中
輝煌的和永恆的靈光。「那些大師對『良好的程序設計慣例與規則』一無所
知,」師父說,他們努力去理解普遍意義上的計算機思維的內部活動,他們還需
要什麼說明文檔呢?那些程序是極限的表達。
然而,即使我慢慢開始有所領會,我還是感覺到自己像一隻在琥珀在掙扎的小飛
蟲。師父所講的與我曾學過的東西截然不同,我的理性思維很難接受。但師父總
是耐心地一遍遍解釋說,我必須不靠理性思維去推理,而要用潛意識來領悟《編
碼藏經》的內涵。
經過數月的指點後,我感到很自信了,便想試試我的第一塊修補程序。為了給師
父一個驚喜,我偷偷地工作。我寫了一段能重新運行幾行語句的補丁,把程序重
新進行匯編,並把新程序釋放到生產系統中去。
第二天早上,我來晚了一會兒。讓我感到奇怪的是,開發中心的主任和從事部總
管正在師父的辦公室里。當我走進大廳後,從事部總管看見了我就把門關上了。
我聽見了很大的說話聲,但聽不清說什麼。
等到那兩位來訪者離開後,我走進師父的辦公室,「什麼事?」我問。
「你的修補程序,昨天晚上六點整進入了生產系統。它現在已經被刪除了。」
「那麼?」
「你仍然可以繼續工作。」師父說。
最後,我終於明白,所有用我的理性思維去理解《編碼藏經》的努力都是徒勞的,
這使我很絕望。師父覺察到了我思想上的這個變化,他開始向我傳授開機。他教
給我冥想和查錯的技巧,他說這些技巧是從計算機時代之初,由技術支持部一代
一代地傳下來的。
我聽著聽著,開始意識到一個關於我以前的編程體驗的特大事實。在大學里,我
一起認為程序員的工作主要是控制硬體和軟體的活動,編程的最高藝術境界是,
為了完成一項任務或達到一個目標而成功地運用高超的編程技巧。但程序維護是
不同於程序開發的。要想維護一個程序,就要把程序看作是一棵漸漸成長的植物,
拔苗助長是毫無益處的。事實上,這樣的行為更容易導致植物的死亡。一個程序
必須被小心地滋養。程序員在對程序進行改動之前,必須對每一個邏輯關系非常
熟悉,必須對程序的意圖有很深刻的理解力。這種理解力不是在一夜之間就可以
得來的,需要長時間的積累。
好幾個月以後,我終於能夠給《編碼藏經》成功地設計修補程序了,但設計之前
要經過長時間的冥想,還要把那本程序清單打開著支在我的桌子上。我還發現,
如果我工作的時侯點燃一支香,口中不停在重復師父教給我的口訣:
「Null-So-Stix-Etx-Eot」(ASCII 碼表中頭五個位元組NUL、SOH、STX、ETX、EOT
的發音--譯注),我更容易集中注意力。師父說,那個口訣意味著宇宙的「五
原」。
不久我發現我不再關心是否能為工作成績而得到獎勵了,在我自身和我所維護的
程序之間也看不見任何分離了。我像一個一生都活在陰影里的人一樣,開始理解
編程之禪,這是一種隱於程序員設計背後的難以言喻和難以形容的力量,就像投
射影子的太陽一樣。
從那毫無意義的「自我的存在」中擺脫出來後,我開始發覺,那些偉大的編程語
句過去對我來說似乎模糊不清,只是因為我還沒有徹悟,無法理解它們。我現在
知道了為什麼過去的那些程序員從不為他們的程序提供文檔,因為英語語言的描
述本身更讓人迷惑,而非使人受到啟發。
一天,我發現自己正在解決的一個問題涉及到《編碼藏經》中最復雜的部分--
錯誤分析全程。我在對此一無所知的情況下,給出了一個修補程序,它能通過對
硬體中斷區的內容進行檢查來測定錯誤的情況,使程序能繼續正確執行。
那天下午,師父第一次走進了我的工作間,他把手放在我的肩膀上,眼睛朝下看
著我,「現在該是你出師的時侯了。」他說。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
G. 什麼是編程,在自己的電腦上面如何學習編程,希望大家指點迷津
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
(2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。或許你又會問到另一個問題:現在要什麼程序有什麼程序,我幹嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢!
程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務,小的方面管理家庭的帳務。
又如,如果你想要你的計算機能播放動畫,那麼你的計算機中也要有相應的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在後面的章節具體講述這個程序的編制過程。
隨著計算機的飛速發展,總會有那麼一天將不會編程的人列為「文盲」。你不希望吧?那麼就好好的學習一種程序設計語言吧。
編程會過時嗎
編程會過時嗎?這個問題,讓我先問你一個問題:計算機會消失嗎?這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
編程會過時嗎?我們從另一個角度來考慮這個問題,計算機有——天會消失嗎?如果有一天當世界上所有的事情處理都用不到計算機了,那麼計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎?當然不會,如今計算機應用到每一領域,為人類的發展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那麼這個世界將變成什麼樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟體系統來維持。因此編程永遠不會、也不可能會過時。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
不斷變化的技術需要不斷變化的程序員
從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬體、軟體、還是網路都以驚人的速度向前發展。計算機的硬體發展速度遵循「摩爾定律」每十八個月速度翻一倍(實際現在已超過了這個速度)。 軟體的發展速度和硬體一樣,二十世紀九十年代中國的軟體業還不是很成熟,而現在大大小小 的軟體企業四處聳立,共享軟體網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構Windows下的應用程序,程序設計方面的技術不斷發展著,不斷引進新的概念、新的方法,如從結構化的C開始,當面向對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
計算機科學與別的學科很不一樣,不像語言學、歷史學那樣,幾乎是永久不變的東西。計算機科學要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
三、我可以編程嗎
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
四、我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
一、計算機語言的發展過程
到目前為止,世界上公布的程序設計語言有上千種之多,常用的也有三十來種,為了有21於正確選擇和使用它們,下面我們做一個簡單介紹。
H. 程序員剛工作時大部分都是在幹嘛
程序員剛工作的時候大部分都是在修改程序,在不停的看書、看案例,看代碼。其實還是很枯燥單調的一項工作,不過前期的這一段辛苦和枯燥的生活過後,也可以體會到程序成功的那種喜悅。
小強就是一名典型的程序員,上大學的時候學習的計算機,所以大三選擇方向的時候也是選真的程序系統方面,畢業之後就直接去了北京,因為程序員在北京很好找工作,並且福利待遇也算可以的。小強進入了一家中型企業之後,就開始了自己的程序員之路。剛開始的時候,真的挺無聊和枯燥的,簡單的工作,就是每一天都和代碼打交道,每一天都和自己的電腦為伴,整個人看上去很疲憊,但是沒有辦法,就是不停地修改程序代碼,然後結合著其他的案例,或者就是找書看代碼。
總之作為程序員的小強,在剛剛畢業的那兩年,每天的工作幾乎就是這樣的,不停地研究代碼,研究程序,針對客戶的需求來編寫代碼,接著測試、修改、再測試,每一天幾乎都是差不多的內容,但是每一天又有不一樣的地方,雖然是枯燥的,單一的,但是也很充實,有時候甚至半夜都會想起來,自己的某個程序中某些代碼不太對,還可以更優化。
小強覺得那段日子很苦、很累,沒有什麼休閑生活,也沒有幾個朋友,更沒有時間談戀愛。但是當自己看到自己編寫的代碼測試成功,自己編寫的程序可以正式上線後,那種喜悅和興奮是無法用語言來形容的,剛剛工作時候的辛勞和汗水,枯燥和無聊,好像一切都是值得的。
I. 做程序員久了為何越來越孤獨
我覺得可能是因為長期和電腦打交道的原因吧,畢竟程序員的工作就是開發程序和維護程序,每天都是重復機械的工作,雖說不上有多繁重,但是卻也很辛苦,他們平時甚至連話都很少,因為身邊的同事也都很忙,只顧著埋頭工作,彼此之間除了工作上的事情幾乎不會怎麼交流。
對於程序員來說,電腦應該算是他們每天接觸最多的東西。其實不只是工作時期,現在的程序員在上大學以及讀研究生的時期何嘗不是天天與電腦接觸,時間一長,難免會覺得厭倦和孤獨。電腦是機械而冰冷的,它不像人那樣有溫度,有感情,所以跟電腦接觸的時間長了甚至會感到麻木,而且人的性格也是會發生變化的,長時間的沉默可能會讓人變得越來越孤僻,從而也就越來越孤獨。
還有一個原因可能是因為程序員的社交圈子太小吧。他們每天工作都很辛苦,而且還要經常加班,基本上就是家和公司來回跑,周末不加班的話還想著可以好好補個覺,所以他們是沒有太多時間社交的,他們把自己大多數的時間都花在了工作上面,平時接觸的人就只是自己的同事和老闆,缺少與人之間的交流,這樣一來就更容易感到孤獨了。
但是其實也不是所有的程序員都是這樣,我有個室友的男朋友就是程序員,他每天也很辛苦,但是他仍然會抽出時間和女朋友出去約會,而且他也有自己的社交圈子,所以我覺得主要還是看人的心態吧,一個再孤獨的職業也可以讓人活出溫暖的姿態。
J. 程序員右手那個手指按上下左右鍵比較快
中指上下鍵,食指左鍵,無名指右鍵,主要還是看個人習慣