㈠ 我是物理學本科生,想做個程序員,要學些什麼,考什麼證,我的程序員之路該怎麼走
學了還要多練,編程我感覺最重要的是實踐,或許學物理的做程序沒學軟體的專業,但是可以編程做物理方面的數值分析感覺挺不錯的,學精matlab,更專業的ansys ,這些也都有編程有關。我也是學物理的,也愛好計算機編程,覺得這兩門其實能綜合在一起應用的。我們開了微機原理與介面技術課,附帶自學匯編,覺得面向硬體的編程應該是不錯的方向,又物理方面的專業知識,對硬體程序設計應該更容易著手吧,一點個人見解。
㈡ 想當程序員,大學應該學什麼專業
想當程序員可以學這兩個專業:
1、軟體工程
軟體工程專業以計算機科學與技術學科為基礎,強調軟體開發的工程性,使學生在掌握計算機科學與技術方面知識和技能的基礎上熟練掌握從事軟體需求分析、軟體設計、軟體測試、軟體維護和軟體項目管理等工作所必需的基礎知識、基本方法和基本技能,突出對學生專業知識和專業技能的培養,培養能夠從事軟體開發、測試、維護和軟體項目管理的高級專門人才。
2、計算機科學與技術
計算機科學與技術專業主要培養具有良好的科學素養,系統地、較好地掌握計算機科學與技術包括計算機硬體、軟體與應用的基本理論、基本知識和基本技能與方法,能在科研部門、教育單位、企業、事業、技術和行政管理部門等單位從事計算機教學、科學研究和應用的計算機科學與技術學科的高級科學技術人才。
選了這兩個專業,會在大學中學習到c語言,c++,java,javaweb等等一系列編程語言,要注意的是,大學里一般一個學期結束一門語言課程的學習,進度會非常快,課程安排量也不會太充足,想要學好,還得靠自己課下努力才行,至少得掌握一門自己拿手的語言。
當程序員需要具備的能力
1、編程語言能力
作為合格的計算機程序員,精通一門語言是必須的。這種精通,不是說看了一本編程寶典,抄了幾個程序就能說精通的,要靠長時間的積累。
2、編碼能力
遵守編碼規范,是一個程序員最基本的要求。另外一個就是注釋,要注意不是為了注釋而注釋。對類,以說明職責為主;對方法,以說明意圖為主;對方法體,以說明實現思路為主。對於大段大段的代碼,要分段,使用空行隔開,並使用行內注釋進行說明。
3、面向對象思維能力
多數編程語言都是面向對象的編程語言。而這些面向對象編程語言的共同精髓就是面向對象的思想。掌握這些比面向對象語言本身更重要,比如對繼承,多態,重載的理解。對面向對象基本原則的理解,比如開閉原則,介面隔離原則,單一職責原則等。在此基礎上,應該掌握常用的設計模式,比如工廠模式,策略模式,觀察者模式,模板方法模式,命令模式等等。
㈢ 學編程需要物理知識嗎
可能有的領域需要.....
下面的經驗很重要 高手們肺腑之言
軟體在國內熱了起來,程序員也強手了,越來越多的人加入了程序員行列。程序員的經歷也是很多編程愛好者急於想知道的,本文介紹了一個」過來人的經驗和感悟,或許對准程序員們有一定的啟發。
不知不覺做軟體已經做了十年了,有成功的喜悅,也有失敗的痛苦
單不敢稱自己是高手,因為和我心目中的高手們比起來,還差的遠。世界上並沒有成為高手的捷徑,但一些基本原則好似可以遵循的。
1 扎實的基礎
數據結構,離散數學,編譯原理,這些是所有的計算機科學的基礎,如果不掌握它們,很難寫寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你在精通OOP,遇到一些基本的演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2 豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決的方案,試試別人從沒有想過的方法。豐富的想像力是建立在豐富的知識的基礎
上,除了計算機以外,多涉獵到其他的學科,比如天文,物理,數學等等。開闊的思維是對程序員來說是很重要的。
3 最簡單的是最好的
這也許是所有的學科都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是簡單的不能在簡單的公式:E=mc^2.簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題優先考慮最簡單的方案只有簡單的方案不能滿足要求時在考慮復雜的方案。
4 不鑽牛角尖
當你遇到障礙時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊天。當我遇到難題的時候回去玩游戲,當負責游戲的那部分時間細胞極度亢奮的時候,負責編程的那部分細胞就得到的充分的休息。當重新開始的時候,我會發現難題竟然還可以迎刃而解。
5 對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有答案,在過程中你也回會學到很多的東西。
6 多與別人交流
三人行必有我師,也許在一次和別人不經意的 談話中,就可以迸出靈感的火花。多上上網看看別人對同一問題的看法,會有很大的啟發。
7 良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則始終要保持一致。大家都知道如何排除代碼中的錯誤,卻往往忽視了對注釋的排列。注釋是程序的一個重要的組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚的表達了你的思想,就不必在加註釋了,如果注釋和代碼不一樣,那就更糟糕了。
8 韌性和毅力
這也許是「高手」和一般程序員的最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨練出來的。成功能給我們帶來無比的喜悅,但是過程確實無比的枯燥無味。你不妨做個測驗,找個10000以內的素數表,把他們全都抄下來,然後在檢查三遍,如果能夠不間斷的完成這一工作,你就可以滿足這一條。
給廣大夢想成為程序員的----忠告!
㈣ 我喜歡理論物理,可家裡人希望我做程序員怎麼辦
其實只要能夠養家糊口的職業都可以去做,至少你爸爸媽媽是這么想的。
你如果真的喜歡這個職業,首先你要去了解這個職業的收入如何,如果好,那就拿這個去說服他們,如果不好那麼你就要去好好考慮一下怎麼才能讓自己獲得更高的收入才能不讓父母擔心。例如理財,這么高的智商應該可以收入不少。
再者,就是從程序員這個職業入手,充分了解這個職業的利與弊,比如說,這個職業老是對著電腦,對身體不好,容易禿頭,容易得一些職業病,長時間輻射帶來的各種壞處。了解清楚去好好找父母談一談。
如果你跟他們說不清楚,那就去找他們信任的人去說,要對症下葯。父母永遠是希望你可以健健康康,平安喜樂。所以解決方式一定要溫和。
㈤ 程序員純靠技術能一直生存下去嗎
作為一名IT行業的從業者,同時也是一名大數據、機器學習方向的研究生導師,我來回答一下這個問題。
首先,程序員完全可以靠技術來不斷延長自己的職業生命周期,目前IT行業內也有大量的「70後」程序員一直奮斗在技術研發的第一線。
對於程序員來說,如果想一直從事程序開發工作,需要面臨三大問題,其一是軟體開發技術更新速度較快;其二是軟體開發工作壓力較大;其三是軟體開發崗位升級難度較大,要想解決這三大問題,需要通過以下幾個手段:
第一:重視基礎知識結構。 程序員的基礎知識結構往往能夠決定程序員的成長空間,基礎知識結構越扎實則上升空間就越大,職業生命周期也會越長。基礎知識涵蓋兩大塊內容,一部分是數學和物理知識,另一部分是計算機操作系統、計算機網路、演算法設計等內容。從應用級程序員向研發級程序員過渡一個重要的條件就是數學基礎是否扎實,而研發級程序員的職業生命周期要遠長於應用級程序員。
第二:重視自主學習。 不論從事應用級開發崗位還是研發級開發崗位,自主學習對於程序員的成長都具有重要的意義,很多程序員就是由於不注重自主學習而導致知識結構逐漸陳舊,最終被行業淘汰。自主學習一方面要緊跟技術發展趨勢,另一方面要圍繞當前工作內容。
第三:注重提升資源整合能力。 隨著程序員年齡的增長,資源整合能力將對於未來的發展起到重要的作用,程序員的資源整合能力包括技術整合能力、方案整合能力和研發資源整合能力。當然,如果再具備一定的人力資源整合能力,那麼會進一步提升自身的職場價值。
如果有互聯網、大數據、人工智慧等方面的問題,或者是考研方面的問題,都可以在評論區留言!
從我過往多年的生涯案例來看,我覺得程序員是否可以一直生存下去,關鍵在於:「技術是否精湛」。
一般來說,技術除非你是非常稀缺,大部分到了一定階段,都會面臨天花板,學習能力會隨著年齡提升慢慢下降,就很難占據技術的前沿,28法則的存在,大約8成程序員需要謀求新的出路。
一般來說,會分為兩條路徑:
1.橫向路徑:
技術領域看似專業性很強,但是一部分泛泛之輩,小部分某一個技術領域非常精湛,那麼需要深耕,多年打磨,成為某一個細分領域的專家。
2.縱向路徑:
還有一部分程序員,本身對於程序非常倦怠,無法繼續下去,那麼縱向領域尋求突破,打個比方,你在某一方面才藝很強,攝影,營養學,演講等,但是區別主業本身,可以從縱向裡面慢慢打磨,成為你的核心技能,實現新的發展。
所以是否可以生存下去,完全取決你的選擇,當你有一技傍身,那麼才可以擁有全新的未來。
首先靠技術肯定是可以的,因為無論什麼公司都會需要一個經驗豐富,技術鼎力的一線程序員,但是這個有兩個限制,一是這種程序員的職位需求不會太多,二是這種程序員在某個技術領域必須非常厲害,而且在某一個領域大牛的基礎上,要有跟進其他新技術的能力,因為這種級別的程序員,公司不可能白白養著你,跨組協調,跨項目協作是最基本的要求,所以如果技術不在某一個領域達到大牛級別,且這個技術領域要有比較強的生命力,也就是說它的技術前景要比較好,否則想靠技術生存一輩子,還是比較危險的。選定好技術領域,然後耐心學習,很多技術人員本身是對技術痴迷的一類,所以這一類人還是很有競爭力的,他們學習新技術,深化領域技術的主觀能動性一般是很強的。相信真正愛技術的人,即使他不靠技術生活一輩子,也會一輩子暢游在技術的海洋中。
首先答案是肯定的,但因人而異。
如果基本功扎實,個人又對技術的提升有著狂熱的追求,善於鑽研,對新技術不抵觸,學習能力很強的話,可以一直靠技術生存下去。可以一直戰斗在研發的第一線。這只是本職工作。
另外,可以利用自己的技術能力去做些兼職工作。比如接些外包的項目做做也是蠻不錯的!
還有,比如現在很多內容平台上可以發布一些文章,甚至付費課程。生存是一點問題都沒有。
如果你足夠牛叉,還可以組建團隊做技術VC。
其實靠技術不是能不能生存的問題,而是能活得多好的問題!
但,如果上面的優勢在你身上不存在,那就另當別論了。
其實現在很多人都在說,技術人員到一定年齡該轉管理等等。我的觀點是看個人特點再做決定,比如你很健談,善於交際。可以轉做銷售,一個懂技術的銷售該有多麼牛叉?如果你思維縝密,表達清晰。可以轉做售前,一個懂技術的售前該有多麼牛叉?
總之,你懂技術,轉做什麼都牛叉
㈥ 物理專業可以當程序員嗎
當然可以啦,360行,行行可以做程序猿。