1. 為什麼Android是開放系統而不是開源系統
Android——基於Linux平台的開源手機操作系統,而不是開發系統。開源系統的重點應該是在「開放」,是接納、包容和發展,求同存異,互利共贏,才是開源的本質。
開源,全稱為開放源代碼。市場上開源軟體層出不窮,很多人可能認為開源軟體最明顯的特點是免費,但實際上並不是這樣的,開源軟體最大的特點應該是開放,也就是任何人都可以得到軟體的源代碼,加以修改學習,甚至重新發放,當然是在版許可權制范圍之內。
對象。開源系統其實面向的用戶有兩個群體,一是程序員,他們最關心源代碼,能不能進行二次開發利用;二是普通終端用戶,他們只關心軟體功能夠不夠強。開源系統的重點應該是在「開放」,是接納、包容和發展,求同存異,互利共贏,才是開源的本質。
用戶在使用開源產品時,不但需表明產品來自開源軟體和註明源代碼編寫者姓名,而且還應把所修改產品返回給開源軟體,否則所修改產品就可視為侵權。
(1)開放的程序員擴展閱讀
開源的價值,開源與閉源系統的最大區別便是,開源的源代碼公開,可被修改,閉源的代碼加密,需依靠系統開發商進行修改。
節約時間,節約時間是對於自主擁有技術團隊的企業來說,在網站需要完善、改版的時候,使用開源商城系統只需在原程序上進行修改即可實現。
個性化,競爭的加大、用戶的激增,企業、用戶對於商城界面以及功能都擁有了更多的需求,對於不同功能的實現,開源可以使程序員在代碼上基礎上進行二次開發,表現出個性化的新功能。
2. 作為一個程序員,應該有哪些必須知道的事
1. 懂得分享。盡可能使用開源,並且當你有能力的時候,要對其有所貢獻。聚全社會之智慧,勝過某些「大」公司之短視。
2. 公平競爭。嘗試其他技術、框架、方法和觀點。不要總以為只有你的選擇才是可行的。別的選擇也有可能比你的要強得多。要以開放的心態,來檢驗其他人的選擇。
3. 不要攻擊他人。像第2條所說的,不要僅僅因為別人恰巧使用.Net、java或PHP就去攻擊他們(我在這方面有一次教訓)。有時,它們或許要比你所認為的更有效。只要別人不是一無是處,你就可以從他們那裡學到很多東西。
4. 自我完善。盡量發布可以運行的代碼。不要指望QA能給你找出所有的程序錯誤。要經常並且全面深入地測試你的代碼。
5. 傷害他人要道歉。代碼審查是一個不錯但很少用的想法。指導經驗比你少的程序員,有助於整個團隊。不要公開批評他人。指導並不是貶低別人。別人有時候會接受,有時候不接受。其實,有時候你可能會從自認為水平不如你的人身上學到很多東西。
6. 未雨綢繆。動手寫代碼之前要盡量理解要解決的問題。要做原型、從網上查找實例、跟其他也做這個的人討論或者只是練練手而已。構建你從未做過或用過的東西是個壞習慣。如果開始就有思路,結果可能會更好。
7. 拿得起放得下。不要害怕替換、重寫、重構或者放棄垃圾代碼。有時候,如果碰到可留可不留的代碼,直接扔掉才是上策。永遠不要愛上你的代碼。
8. 平衡生活——學習、思考、繪畫、唱歌、跳舞、工作、玩耍,每樣都會一點。我喜歡Google的方式,在那裡,你有20%的時間用來思考任何你認為值得做的事情。老闆應該提供休息室、娛樂室或者一些能讓人放鬆清醒的環境。
9.編程是一項艱苦的腦力勞動活;有時你的大腦確實需要休息一下。拒絕例行公事地每周工作80小時,否則你的工作質量將大打折扣,花費大量時間取得的成果將前功盡棄。另外,如何釋放工作生活壓力,可以參考伯樂在線的這篇文章:《3步釋放工作和生活壓力》。
10. 每天下午小憩一會。每天工作24小時不會讓你更有效率。休息、回家,然後打個盹。通常,很多難題是在我回家的時候解決掉的,解決方法通常在我開車時或第二天早上突然想到。
11. 不要閉門造車。讀讀博客、學習新語言和框架、參與討論以及看看同行在干什麼。兩耳不聞業界事,你就無法成為一名更優秀的程序員。
12. 保持好奇心。想想塑料杯中的種子:根向下長,枝葉向上長,沒有人知道這是為什麼,但是我們都是這樣的。一般來說,在編程和技術世界,每天都有新奇東西出現。看!很神奇吧!每天學習,讓你思維更廣,技能更新,選擇也就更廣。如果你認為編程枯燥乏味,那麼你要該換行了。
3. 程序員能幹一輩子嗎(程序員能幹一輩子嗎知乎)
程序員是吃青春飯的嗎,可以干到多少歲?作為一個技術老兵,在技術行業內混了十幾年了,明顯能感覺到目前國內軟體開發工作,在某些行業就是吃青春飯般的存在,尤其是表現在互聯網公司,而且公司越大加班的瘋狂程度越強,互聯網公司更加喜歡招收一些年輕人畢竟工資相對低一點,沖勁還足最關鍵能不惜體力的加班,國內互聯網公司大部分做的事情跑馬圈地,應用級的開發居多,所以難度不是很高,有了2,3年的工作經驗就可以跟著做了,誰的執行力強能夠加班更加被公司所喜愛,很多老程序員在互聯網公司體驗幾年基本上就回歸傳統軟體企業了。
很多公司在招聘的時候發現年齡超過35歲就開始有意設置門檻了,畢竟這個年齡段的程序員人生閱歷也比較豐富,對於職場上的一些事情也摸得比較透徹,說的不好聽就是職場的老油條了,公司出個什麼政策這幫人看到比較徹底,不容易忽悠,年輕點的更加容易被接受,所以說成是吃青春飯的職業有點誇張,但一定程度上也能說得過去,國外40多歲繼續做研發的環境要不國內還是好很多,但也在一定程度上找工作受到一定的制約,現在過40多歲如果還在寫代碼肯定被周圍的人議論了,都這么大了也沒混上個管理職位之類,現在這個年齡段還在一線寫代碼的數量也不在少數,基本上屬於公司頂樑柱存在,絕大部分做著技術管理,並沒有完全脫離技術崗位,遇到難點還是上陣去解決問題。
老程序員如何在技術生涯找好自己的方向點?
1.盡早向技術管理方向轉移
越是拖到最後完成轉型形式越是被動,管理是一種學問,不像是玩技術你把自己管理好久萬事大吉了,技術類的管理如果在技術能力到位的情況下可以,以技術服人這樣無形之中減少了管理的阻力,更加容易讓底下的人信服,平時多補一些管理方面的基礎。如果有轉的想法今早實施,做什麼事情都要趁早。
2.將技術進行到底
技術類在職場上的分支有兩個主項,一個是管理方向,可以沿著這個路線一直做到副總或者更高的級別;還有一個技術專家方向,對別的事情不感興趣就想著一輩子能研究點技術,也沒有什麼大的追求,在很多公司專門設置某個項目的技術專家稱號,職位基本上和技術經理持平,算是同一個級別,同樣是拿著這個級別的薪水。
技術職位如果技術足夠強,可以考慮直接在這個方向一直走向去,無論國內還是國外對於高級的技術專家永遠都是持開放的程度,金字塔上層的技術人才畢竟是少數,但也是技術領域一直欠缺的,如果喜歡技術並且乾的還不錯就可以考慮在這個方向上一直堅持到底。
3.轉行做別的職業,闖出另一番天地
很多程序員中間轉行挑戰別的行業,只要能把一個職業做好一定能夠把別的方向給弄好,嘗試新的天地未嘗不是一個方向,新的方向新的起點新的挑戰,可能帶來的是新的收獲。
作為一個程序員也有隨著年齡的增長有一種無形的壓力在心頭,能做的就是拚命提升自己的技術能力,擔心年齡大了淘汰,只能是繼續提升技術和管理水平。
希望能幫到你。
很多人都說程序員這個行業就是吃青春飯的,為什麼會有這樣的問題呢,難道程序員真的感到30歲就要退休了嗎,或者必須轉行嗎?程序員難道不就是敲代碼嗎,難道年紀大了敲代碼就不能敲不動了嗎?不是都說程序員靠經驗嗎,經驗越豐富,不就是技術越豐富嗎?作為過來人,今天索性沒啥事,就和大家一起聊聊這個話題吧。
首先、先說說為什麼會有這樣的傳言,為什麼會有這樣的說法吧。
第一個就是很多人在這個行業干久了,從大學畢業到30歲至少也得6,7年了吧,行業做久了很多人自己也會感到厭煩,也想換換新的行業,嘗試一下新的崗位,當然轉行有風險,所以很多人轉行都是轉比較靠近的,比如做運維、做產品、做教育、當然走管理路線也是,這些都是比較輕松好轉的行業,基本風險不大。
第二個就是很多做開發公司加班比較多,晚上下班回家比較晚,陪老婆孩子沒時間,況且加班熬夜身體吃不消,搞不好把身體搞垮了,而且大部分程序員都是懶得運動,健身的人,作息時間不規律,最後30歲的人居然熬成了快60歲的大爺,這就是為什麼很多人都說程序員就是禿頂(這里我要澄清一下不適所有程序員都是禿頂呀,至少我還完好的保留著頭發),在這里不得不替這些人傷心3秒鍾。最後連娶老婆都去不到,還有很多連說話都說不通的人,表達能力已經到達到了原始社會。
第三個就是很多那種在公司混日子,技術能力差一點的,以為公司就是可以養老的人,技術干不過別人,工資不見長,可以說非常佛系的,在這個行業混了個6,7年,終於待不下去了,壓力大呀,老婆孩子一家人的希望呀,最後選擇了轉行,最後離開的原因竟然是公司不需要這種人了,但是我們想想哪怕是爭一口氣也不會混到這么差呀。
其實呢,不是說程序員真的就是考吃青春飯,30歲之後就必須的轉行,想想原因還是在這些人自己身上,年輕不願意拼實力,不願意積累點能量,真正有技術的人,想想公司能放走嘛、高薪難道還差嗎,除非那公司真的做的有點過分,虧待功臣,卸磨殺驢呢,自己不爭氣在前,怎能怪別人呢。
當然加班、熬夜這些都是存在,但是其他行業也不好做,那些高管,有錢的職業經理人,哪一位不辛苦呢,而且其他行業也是一樣,老闆雖然壓榨,但是真正想要福利好的,除非公務員,不然工資很低,所謂功高者後祿,這個不會假。
另外當然也有很多願意嘗試新行業的人,願意挑戰,嘗試新的開始這也有很多。總的來說,程序員真的是不是吃青春飯呢,不能一概論之,有經驗,有能力的人,高薪,誰願意走。
絕大多數程序員確實是吃年輕飯。
不管你願意不願意承認,等你到40歲之後就知道了。
這里有個界定,從事研發的排除在外,從事開發的包括在內。要注意研發和開發是兩個不同的概念。
一般研究所,研究生院中的程序員多叫工程師,這類人是越老越值錢。年紀大經驗越多,能力扎實,對做研發突破苦難起到至關重要的意義。
而開發不同,開發更多是面相年輕人來做的,你開發一款軟體給60歲的老大爺們,且不說你開發的好不好,老大爺他也不會用。
一般從事開發的程序員在35-45歲時是個分水嶺,能力強,有水平能熬到領導層,或者能獨當一面,那麼就留下來。如果不能基本就被淘汰了。而這部分留下來的人只是少數。
為什麼程序員要年輕化?第一,上面說過,開發主要針對的用戶是年輕人,那麼只有年輕的程序員才知道年輕人喜歡什麼愛好什麼。讓一名60歲的老程序員寫一個游戲,能火起來的概率不大。第二,年輕人無牽掛,肯吃苦,能加班熬夜,工資待遇又相對低。上了年紀的程序員家裡有老婆孩子需要管,還有父母需要照顧,也沒有了年輕時干勁,思想也漸漸和社會主流脫鉤,並且工資還極高。這個時候如果這個老程序員不能為企業創收,那麼辭退一名老程序員,省下的薪水可以在招好幾個大學畢業生。
有些話不是空穴來風,也不是無能人的借口,看看各大企業裁員的年齡段就知道了。
只有碼農,靠蠻力,用體力而不是用腦力的程序員才是吃青春飯的人!
大多數程序員都認為程序員是個吃青春飯的職業,編程這個事只能幹到30歲,最多35歲吧。每每聽到這樣的言論,都讓人感到相當的無語……
有研究者用了最近5年內比較流行的技術Tag,然後用了一套比較嚴謹的演算法來查看那些所謂的「老程序員」是否在新技術上跟上不了,所謂跟不上,也就是這些老的程序員在回答這些新技術上並不活躍。所謂老,就是37歲以上的程序員。
老程序員和年輕的程序員對於一些新技術的學習來說也是差不多的,甚至有些項目還超過了年輕的程序員:
1、程序員技術能力上升是可以到50歲或60歲的。
2、老程序員在獲取新技術上的能力並不比年輕的程序員差。
由於如今許多的年輕程序員太浮躁了,才會說30歲是程序員的頂峰。
其實,對於大多數人來說,如果還沒有編程到30歲,還不能成為一個「合格」的程序員。所以,並不是編程編到30歲就玩完了,而是編程編到30歲才剛剛入門。
在我身邊,就有一些年齡在40以上,並且還對技術保持熱衷的「老程序員們」,他們無一不是身懷絕技,在公司身居要職或高管,成為公司最寶貴的技術保障。
工齡超過三十年了,做了一輩子程序員,單位還在不斷招人,所以還有事情做,沒有坐冷板凳,不存在什麼危機。。
公司也很重視加班,但我早就過了干體力活的階段,領導並不管我加不加班。進度慢了領導就會說你需要人嗎。
學新技能么,還好吧,java,c語言這樣的經典可以用一輩子,重要的是有編程思維,學習並使用哪種語言很容易。
做一輩子程序員肯定是可以的,只是很多人不願意而已。可能男人野心大了些吧,編程一輩子覺得很丟臉,總想往上爬。。身為女性就沒那麼多想法,人到中年,有人願意雇我們有口飯吃就滿足了,老老實實幹活的人,老闆不會不要的,換過幾次工作,並沒有遇到年齡障礙,也沒有刻意去經營人脈,你的表現如何,別人都是默默看在眼裡的。。
回顧一下,有幾點經驗,一是不管坐哪個職位,不能丟掉編程這個技能,做了很多項目的負責人,框架自己搭,核心模塊自己寫,技術掌握在自己手裡,項目完成有保障。。項目結束了,就要去當普通程序員,有一手過硬的編程技能,還是挺受歡迎的。二是不能總是生活在一個舒適圈裡,要不斷學習新知識,迎接新的挑戰,每次接受新的項目或任務,一定要有所突破,不能只是單純的重復。
我也算是這個行業的一位老兵了,從13年到現在也快八年了,程序員其實是挺費身體的,熬夜加班家常便飯,所以我覺得程序員是在吃青春飯,互聯網公司基本上都存在一個問題就是看誰下班的晚,不管你在公司有沒有在做事情,只要你下班比其他人晚那麼你的績效就一定不會差。至於我現在的話已經沒有經常加班了,偶爾發一下版,上下班都比較規律,這就是我還在堅持的原因,程序員能幹到多少歲這全看你自己,我身邊三十多歲依然在干程序員,雖然程序員吃青春飯,但是你自己也可以選擇往中層或者其他崗位去轉,肯定不能再像初出校園那樣,不然身體遲早吃不消的,禿頭,脂肪肝,亞健康,近視,腰椎間盤脫出這些都是普遍存在的,大家不要覺得程序員的工資就一定非常的高,這也要看地方,像重慶程序員的工資還真不如有些工種。
大多數程序員認為程序員是吃青春飯的工作。編程只能幹到30歲,最長可達35歲。我經常聽到這樣的話,都讓人感到適當的無語......
今天,我們來談談這個老話題......
首先,我們來看一篇論文《?》(英文版)。本文是來自北卡羅來納州立大學計算機科學系的兩個人,他們在StackOverflow.com上對用戶進行了相關的數據挖掘。一些數據出來了。(StackOverflow.com上的數據被公開,任何人都可以使用它進行分析和核算,所以這篇論文的實際情況還可以。
讓我們來看看他們的年齡分布圖:我們可以看到程序員年齡的正常分布(高點大約是25歲,但中點大約是29歲)然後,計算每個人的月營業額,這樣你就可以找到用戶的真實生動的時刻,這樣便於計算程序員的真正才能。(總聲望/活潑時刻),我可以得到他每個月均勻得到的Reputation。我們可以看到程序員的才能從25歲開始上升,並且直到50歲才會開始下降。因此,程序員不吃青春飯的。只有碼農,依靠蠻力,使用武力而不是腦力的程序員才是吃青春飯的人。
年齡大可以跟上新技能嗎?該論文的作者使用了過去5年更受歡迎的技能標簽,然後使用更謹慎的演算法來檢查所謂的「老程序員」是否跟上新技能。所謂的跟不上,也就是說,這些老程序員並沒有積極回答這些新技能的問題。所謂的老,就是是37歲以上的程序員。
我可以看到老程序員和年輕程序員在學習一些新技能方面相似,有些甚至超過了年輕的程序員。
論文的結論是:
1、程序員技能可以升至50或60歲。
2、老程序員在獲得新技能方面並不比年輕程序員差。
結論
從上面的數據可以看出,由於現在很多年輕程序員都太浮躁了,據說30歲是程序員的巔峰。事實上,對於大多數人來說,如果你沒有編程到30,你就不能成為「合格的」程序員。因此,並不是編程編到30歲就玩完了,而是編程編到30歲才剛剛入門。
這個問題,我應該比較有發言權,大城市呆過2年然後回了小城市,5年程序員轉行當老師。大部分程序員是吃青春飯的,因為大部分程序員干技術,只是停留在應用層面,沒有足夠的平台,5年後很難再有質的提升。技術有了提升後,還需要有足夠大的平台才能撐的起你的薪資。我離開程序員行業的導火索是見到某公司,辭退唯一的一個45歲架構師。當然如果你可以不要求高薪,放平心態,我相信很多公司還是願意要大齡程序員的。
到35歲還在基層那基本上就是沒希望了,隨著年齡增長,思維能力不如年輕人,如果不能升上去帶團隊,那隻能一直做基層碼農。
程序員三十以後就老了,一是技術更新太快,二是經常性熬夜加班,三十以後轉管理崗,搞技術吃不消了。
單純作為一個職業來說,程序員在中國能幹一輩子直到退休嗎?
單純就職業來說程序員當然可以做一輩子直到退休,如果你的腦力、體力都還跟得上的話。
但是,程序員的黃金年齡一般在25—35歲之前,超過這個年齡段無論是自身的體力還有腦力都不如從前,再加上後輩們也會成為崗位的威脅。
以上是我個人看法。
程序員到底能幹多久和自己的興趣愛好緊密聯系的,有些朋友本身就喜愛編程研究,這也許就是他的終生歸屬了,一直當成事業幹下去。還有一部分開發到一定階段後,因為某些原因可能會轉行出現。下面部分學習知識點:
1.例如字元串查找、子串、模式匹配等。?當在Lua中對字元串做索引時,第一個字元從1開始計算(而不是C里的0)。索引可以是負數,它指從字元串末尾反向解析。即,最後一個字元在-1位置處,等等。
2.字元串庫中的所有函數都在表string中。?它還將其設置為字元串元表的__index域。因此,你可以以面向對象的形式使用字元串函數。例如,string.byte(s,i)可以寫成s:byte(i)。
字元串庫假定採用單位元組字元編碼。
接收零或更多的整數。返回和參數數量相同長度的字元串。其中每個字元的內部編碼值等於對應的參數值。
數字編碼沒有必要跨平台。
string.mp(function[,strip])
3.返回包含有以二進制方式表示的(一個二進制代碼塊)指定函數的字元串。?之後可以用load調用這個字元串獲得該函數的副本(但是綁定新的上值)。如果strip為真值,二進制代碼塊不攜帶該函數的調試信息(局部變數名,行號,等等。)。
帶上值的函數只保存上值的數目。當(再次)載入時,這些上值被更新為nil的實例。(你可以使用調試庫按你需要的方式來序列化上值,並重載到函數中)
string.find(s,pattern[,init[,plain]])
4.查找第一個字元串s中匹配到的pattern)。?如果找到一個匹配,find會返回s中關於它起始及終點位置的索引;否則,返回nil。第三個可選數字參數init指明從哪裡開始搜索;默認值為1,同時可以是負值。第四個可選參數plain為true時,關閉模式匹配機制。此時函數僅做直接的「查找子串」的操作,而pattern中沒有字元被看作魔法字元。注意,如果給定了plain,就必須寫上init。
如果在模式中定義了捕獲,捕獲到的若干值也會在兩個索引之後返回。
string.format(formatstring,···)
5.返回不定數量參數的格式化版本,格式化串為第一個參數(必須是一個字元串)。格式化字元串遵循ISOC函數sprintf的規則。不同點在於選項*,h,L,l,n,p不支持,另外還增加了一個選項q。q選項將一個字元串格式化為兩個雙引號括起,對內部字元做恰當的轉義處理的字元串。該字元串可以安全的被Lua解釋器讀回來。
希望能幫到你,謝謝!
4. 如何成為一個優秀的程序員
講幾個小的方面吧。
批評還是啟發?
代碼審查是一個不錯但很少用的想法。在一個團隊里,優秀的程序員另一個任務就是要指導經驗比你少的程序員,但是主要以指導和啟發為主,不是貶低和公開批評,因為消極的態度不利於接下來團隊合作的開展。
學會分享
搞編程的沒有去逛一些論壇都不好意思說自己是干編程這個行業的。優秀的程序員往往會在這些論壇幫助別人,而實質上,輸出就是最好的學習。在一個團隊中也是一樣,幫助他人解決問題收獲更多,你也將不斷地得到成長。
勞逸結合
每天工作 24 小時不會讓你更有效率!不少程序員年紀輕輕就有腰椎盤突出、頸椎病、肩周炎、腰肌勞損、圓肩駝背等職業病。程序員們需要加強鍛煉,運動不僅僅可以加強肌肉的力量和耐力,而且也能夠活動身體的各個關節,有效緩解長時間保持一個動作導致局部肌肉過勞。
另外,編程是一項艱苦的腦力勞動活;有時你的大腦確實需要休息一下,休息是為了更好的工作。否則,你的工作質量將大打折扣。業余時間養成一項自己的個人愛好,確保自己可以放鬆並沉浸其中。如果是球類運動,效果更好,它將讓你保持旺盛的精力和活力。
不要閉門造車
留意網路各種平台,學習新語言和框架、參與討論以及看看同行在干什麼。多關注業界在干什麼,這將讓你的視野更加廣闊,不致於為了編程而編程。