㈠ 你對底層程序員有何看法他們的主要工作是什麼
你對底層程序員有何看法?他們的主要工作是什麼?
程序員,外面都說人傻,錢多,死得早。
不過我本人是程序員,所以不完全認同,但是也不能說沒有。程序員因為天天和代碼打交道,代碼是很多邏輯的部分,所以程序員一般邏輯思維不會太差,但是整體來說和人交接和情商就比較低。
c
1.自己把技術學到位。往大公司發展,才能真正地學到東西。2.實在不行,用做程序員這幾年的資金,做點小生意,有魄力,就往大的方面發展。要不就安安逸逸過一生。
㈡ 框架的底層是什麼意思
程序員所說的底層到底是什麼?
我們日常開發都使用框架,面試中也經常被問到XX框架的底層你了解嗎?XX技術的底層你了解嗎?
那麼底層到是什麼?
java?C?還是機器語言?照此論推的話,下來就是硬體了,CPU,集成電路,半導體,正負電荷,然後再研究一下原子構成?
我認為其實 「底層」 就是一個技術實現的思想,就比如把session比作成一個盒子,把cook比作一張名片,把ioc比作一個容器…任何技術都在現實生活中有相應的映射,這也就是所謂的面向對象編程;
那麼先吃蘋果還是先吃梨就看你心情了,你也可以認為一口蘋果一口梨比較好吃,所以說每個人實現技術的想法各有千秋,而部分優秀的人考慮問題比較全面,也就形成了市面上各種優秀的框架,這也是我們為什麼要學習他的原因——學習框架的設計思想。
有人學習底層會走入一個誤區,認為牛人之所以牛是因為他們能手寫框架,所有的方法都是自己寫的,其實不是,能手寫方法的人很多,這個只是經驗的問題,最重要的是思想,他們思考問題的角度(我也不太懂從那個角度思考問題,或許某些技術也只是作者的靈光一現)
關於底層和學習技術的看法我是這樣認為的,大家有不同見解的可以評論區留言,歡迎大家討論!
㈢ 程序員是否需要學習底層知識
這兩天每天中午午休前都會看一些《編程人生》。現在已經看了七八個人,這些人開始編程的時候,正好是計算機的起步期,所以對整個計算機的底層都比較了解。不知道這是不是這些人能夠成為大師的一個必要條件,自己有沒有必要在這方面努力一下。我想這也是很多程序員思考過的問題。現在分享一下我的思考,和大家一起探討。ps:這些人大部分在中學的時候就開始編程,而那個時候我們一般都正在為考試悶頭學習,這個差距要我們現在來彌補。 好的,首先有必要 澄清一下底層知識的概念 一般情況下,我們可能會認為底層知識就是操作系統,編譯器,寄存器等等相關知識。我認為這個問題是相對的,而不是絕對的。這取決於程序員從事那個層次的開發工作。如果是一個c語言開發者,把這些知識歸為底層知識也許很合理,但是對一個java或者更高級語言的開發者來說,有些不準確,或者不可以稱為直接的底層知識。 我認為,所謂的底層知識,是指他編程或開發所依賴的平台(或者框架,工具)的知識。比如,對於java開發者來說,java虛擬機,以及它所用的框架等知識就是他的底層知識,而更底層的知識,姑且叫它間接的底層知識吧。 不學習底層知識可能不會阻礙你稱為一個稱職的程序員,但也許會阻礙你成為一個優秀的程序員。 了解底層的知識有助於解決問題,並且做出更好的設計。打個比方,就像庖丁解牛,他看到一個牛後,不止看到的是牛,而是由各個骨骼,經絡,肌肉等模塊組成的有機體整個系統對你來說就是赤裸裸的,沒有任何神秘的面紗。這樣也許能夠給程序員提供更多的安全感。 但是如果你編程所依賴的平台需要你去了解更底層的知識才能夠解決問題,那麼,他可能沒有做好他應盡的職責。 《編程人生》中有一個人提到過,要敢於去打開盒子 現在開發有個特點,就是分工越來越明確,而且整個編程的知識體系結構也越來越龐大,我們面前的盒子很多,我們沒有精力去把每個盒子都打開。學習底層知識就要從你最直接的底層開始學起。一方面,你在工作中會遇到類似的問題,有了需求,學習效率就會高很多;另一方面,你也有這方面的基礎,學起了可能更加的水到渠成。 當你把你的底層知識征服了,你就有資本(基礎,能力)去征服更底層的知識了。 不學習最底層的知識是否會阻礙成為大師?思考中。 發現我對學習本身的投入超過了對學習內容的投入。不知道是好事還是壞事。總之,要專心學習技術了。
㈣ 計算機系統層次結構中最底層的是什麼
計算機系統層次結構中最底層的是機器語言層,也有說是計算機硬體系統、機器硬體。計算機系統層次結構,指的是計算機系統由硬體和軟體兩大部分所構成,而如果按功能再細分,可分為7層。其中最底層的是硬聯邏輯級。第零級是硬聯邏輯級,這是計算機的內核,由門,觸發器等邏輯電路組成。
計算機系統是由硬體和軟體組成的層次式結構,硬體系統是計算機層次結構的最內層,使用計算機系統的用戶是該層次結構中的最外層,用戶與硬體系統之間的軟體系統包括系統軟體,支援軟體和應用軟體三部分 。
把計算機系統按功能分為多級層次結構,就是有利於正確理解計算機系統的工作過程,明確軟體,硬體在計算機系統中的地位和作用。
(4)程序員常說的底層擴展閱讀:
計算機按功能細分為7層,從第0層到第6層分別是:
硬聯邏輯級
第零級是硬聯邏輯級,這是計算機的內核,由門,觸發器等邏輯電路組成。
微程序級
第一級是微程序級。這級的機器語言是微指令集,程序員用微指令編寫的微程序,一般是直接由硬體執行的。
傳統機器級
第二級是傳統機器級,這級的機器語言是該機的指令集,程序員用機器指令編寫的程序可以由微程序進行解釋。
操作系統級
第三級是操作系統級,從操作系統的基本功能來看,一方面它要直接管理傳統機器中的軟硬體資源,另一方面它又是傳統機器的延伸。
匯編語言級
第四級是匯編語言級,這級的機器語言是匯編語言,完成匯編語言翻譯的程序叫做匯編程序。
高級語言級
第五級是高級語言級,這級的機器語言就是各種高級語言,通常用編譯程序來完成高級語言翻譯的工作。
應用語言級
第六級是應用語言級,這一級是為了使計算機滿足某種用途而專門設計的,因此這一級語言就是各種面向問題的應用語言。
㈤ 單片機程序裡面,經常聽說底層,中間層,應用層,什麼意思 51單片機也需要這么分層嗎
一般當程序比較大、功能比較繁多,需要進行結構化程序設計的時候,才會進行分層。分層的好處是可以將應用與硬體剝離,當硬體發生變更(移植,設計更改)時只需改動底層以及少量中間層;當需求發生變更時只需改動上層以及少量中間層。
底層一般是直接訪問硬體的介面,以串口而言如寄存器操作函數;中間層一般是在底層與上層之間進行數據及信息的轉換,以串口而言如封包/拆包/消息產生/消息響應;上層一般面向應用,在很少考慮硬體實現的前提下以通用的方式實現所需的功能,以串口而言如printf。
分這么多層是為了不同程度的開發人員可以同期工作的原因。比如說,底層就僱傭一個特別熟悉晶元和硬體的人做,中間層大概要找比較熟悉應用的人來把硬體功能來做擴展,應用層就隨便抓一把人來開發了。
這樣,多個項目可以公用一個硬體層,有兩到三組中間層的支持工程師,然後每個項目各有一組應用工程師就好了。51也可以這樣做,這和效率無關,層做得好,執行效率不會影響很大,開發效率提高很多。
單片機的應用:
1,通用專用:
這是按單片機適用范圍來區分的。例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
2,線型應用:
這是按單片機是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積。
3,控制型應用:
這是按照單片機大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是唯一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。