HTML CSS JS很低級嗎?

我是學電子的,課後在軟體實驗室學前端,學了有半個學年了,課後被單片機的老師說前端HTML CSS JS 很低級,很不屑的說連入門都不如,心裡有點不舒服。


先艾特張鑫旭吧 @張鑫旭

我在學習HTML,CSS期間,基本上是看著張鑫旭大牛的博客入門的,在這裡先張鑫旭大神表示感謝。

這麼多年,前端變幻多樣,各種概念讓人眼花繚亂,搞得整個圈子都很浮躁,張鑫旭卻一直專研HTML+CSS+JS這些被大家認為很簡單的領域,甚至JS是屬於半放棄的狀態。

因為精力有限,所以JS這幾年的學習一直是放棄狀態,ES6,webpack,Vue等新新事物通通碰都沒碰過,持續精力在CSS領域,以及前後的HTML和SVG。

甚至在HTML+CSS這種我花了兩天看了W3C就能順利模仿出天貓靜態首頁的知識,張鑫旭卻高強度學習專研了10年:

很多人會很奇怪,HTML和CSS有什麼好學的,花個幾天時間就可以了解了。但,就是這個「沒什麼好學」的東西,我一直高強度學了10年,這10年來放棄各種應酬,社交,旅遊,每天都熬夜,研究,整理與實踐,目前也就把CSS2.1的相關知識梳理地差不多。

十年磨刀,磨到什麼程度呢?你確定你真的熟知display:none?

估計把HTML+CSS認為低級的程序員,你在面試時回答大概是這樣的:隱藏元素,同時不佔據空間,沒有點擊事件。

你心裡想這面試官為什麼要問我這麼簡單低級的東西呢?你順帶列出了display:none、visibility:hidden和opacity:0的區別。

你滿心歡喜,終於要順利進入這家牛逼的公司,面試官要被我的機智折服了。

作為面試官的張鑫旭眉頭緊鎖,面露不悅,繼續問你:

display:none元素的background-image圖片是否載入?

&元素是否可以關聯display:none表單元素,如提交按鈕?

display:none元素顯示時候為何可以觸發CSS3 animation動畫但無法觸發CSS3 transition過渡效果?

display:none元素是否會影響CSS計數器的計數?

什麼?display:none有這麼多繁雜的知識點啊!

你哭著離開了!

類似display:none的相關研究就需要2個工作日的晚上,總共約5~6個小時時間。

你呢?三分鐘?!

認為HTML+CSS(我就不加JS了)很低級的同學,可以看看張鑫旭的文章

看了評論,有同學提出了兩個問題,很值得大家共同研究:

一. CSS研究得那麼細,有意義嗎?

二. 在薪水即信仰的程序員圈子裡,我們普通程序員就像張鑫旭那樣學習,沒碰Vue、React,不熟悉ES6,就對CSS專而精,這樣能找到高薪工作嗎?

希望得到大家積極討論,我這邊也多加諮詢,到時候總結為答案。


這人沒常識哦,把低級高級搞反了。

機器碼和彙編才是低級的。

C 語言、PHP 這些都是高級語言。

HTML CSS JS 也是相當高級的。

高級的意思是抽象程度高。


因為他沒入門 覺得很簡單而已

實際是現代前端一點都不簡單

倒是嵌入式多少年了 幾乎沒怎麼變過


一切說其他人工作低級的貨,都是目光短淺而且情商低。


把你做的跑馬燈放到老師面前對他說:我兩天就把這玩意做出來了,嵌入式真的是太低端太簡單了。
看你老師怎麼說

他肯定會說,小兔xx,你門還沒入呢


語言不低級,用語言的人有的比較低級。有的人只能說是了解,入行,美工之類的。有的人就是工程師。前端就是研究這些東西的。HTML,CSS,JS以及在他們的基礎之上發展出來的好多東西,你說JS低級嗎?現在什麼都能做,都快統治世界了。雖然前端知識不如後端那麼浩如煙海,但是一個優秀的前端能提升的空間也是無限大的
你們老師說出這樣的話,那是偏見是肯定的了。因為前端這個職業從歷史發展的角度來看就是會被人誤解的。從網站一人承包沒有前端,到後來專門有人寫頁面還兼顧著設計被叫美工切圖仔,以及確實上手入門快,都讓人誤解技術含量低。要說那些技術含量低的網站很低級,這個我也同意。但是上升到說這些語言低級,那還真的是目光短淺呢。你要相信這一行是很有深度的。而且很有意思,很有前途。


嘛,這個問題本質上跟「就差個程序員」是一樣的

凡是非我專業的東西:

大部分人都會下意識的提高自己專業在項目、需求、社會中的重要性而貶低其他行業,本質上是對相關專業的不了解或者說不深入了解,以偏概全的、經驗主義的去判斷。

並不怪你老師,他也只是芸芸眾生中的一員。

有些人用的HTML CSS JS低級,有些人用的HTML CSS JS高級,所以低級不是HTML CSS JS,而是那些人


html是html css是css js是js 不懂行的人總是混為一談,其實這三個每一個都不簡單。

前端HTML CSS JS 很低級,很不屑的說連入門都不如

隨便評價一個自己不懂的領域說明你們老師不夠謙虛,優秀的老師都不是通過貶低別的東西來抬高自己的身價。

你可以直接懟回去,讓他別上網了,因為他在用著低級的東西。


想起一句話:這世上沒有讓人看不起的工作,只有看不起人的人!


不同層次的封裝解決不同層次的業務問題,面對不同程度的複雜度與抽象程度。


這個……我從另一個角度說幾句。

一個人評判一個事物都是從自己了解到的信息入手,會不會是你們老師能見到的做HTML/CSS/JS相關內容的人都水平太差了,所以他才有此一說啊?

所以,你要努力了!

ps. 從計算機語言分類來說,最低級的是機器語言、其次是彙編語言、C語言介於中間、然後是高級語言……從這個分類來說,單片機應該屬於低級領域。當然這個低級沒有貶義。


每一樣深入都不低級,低級的是自己沒深入還瞎bb


傻瓜和單反,哪個低級?

電腦和電視,哪個低級?

彈玻璃球和打籃球,哪個低級?

旅遊和登山,哪個低級?

從不同角度總結一下:

一、外行人眼裡、越簡單的就是越低級的。

學前端,就要直視前端。前端工程師是最容易入門的計算機工程師,而且現在很多入職的前端工程師根本都稱不上工程師,前端入門真的很簡單。

JavaScript是最近3年火起來的,3年以前很少有人稱自己是專門做JavaScript的(專業做js的至少會兩種語言),而且JavaScript也被稱為是玩具語言,可想那時它在人們心中low到什麼程度。

二、你們老師要麼是大神,要麼是菜鳥。

如果真的精通彙編,html,css,js,然後說後面三個低級,我可以理解,畢竟在鄙視鏈中,底層的都願意鄙視上層的。如果不是精通,那就是菜鳥老師瞎BB了。

三、你們老師通過貶低你來提高自己

人性問題,很多人都喜歡通過貶低別人來抬高自己,但是作為老師有不能直接貶低你,那隻能貶低你的技術。說白了,是你自己菜,不是你學的技術菜。

四、JavaScript是否低級?

評價一個東西低級還是高級,總要有一個標準。

從入手難易度來說,如果入手簡單就低級,那js絕對夠低級。

從性能上來說,js低級。

從工程化方案來說,js低級

從調試角度來說,js低級

從語言被發明出來的目的,js低級。

看到那麼多答主朋友在挽回前端的尊嚴,我很感動,但是我還是找不到一個合適的理由說js這門語言高級,可能是我水平差,視野窄,但是看ES2015和ES2017應該也能感覺到,新標準的目的是讓js不那麼低級,而不是讓它變得更高級。

五、低級是否還應該學習。

js在前端是不可替代的。

js的生態圈是最活躍的。

js的標準正在不斷完善。

上面3條都是學習js很好的借口,但是還是不要找借口比較好。

工程師拼到最後拼的都不是語言,所以html,css,js只是進入工程師行列的工具,工具必然要學,但是更重要的是工程師的思想。

什麼時候聽到別人鄙視你用的技術的時候,你可以做到一笑而過,那時候你的技術一定在對方之上。


從語言等級來說html css js這些語言才是高級語言,彙編 c這些語言才是真正低級的語言。


CSS和JavaScript,看似簡單,如果只要金玉其外,頭疼醫頭腳痛醫腳,代碼一通亂堆,也能堆得像模像樣。只不過內存泄漏,數據安全,在本地刷刷頁面是看不出來的。

但如果要代碼重用,要易維護,非常不容易。

用靜態語言寫後端。你不守規矩它不讓你編譯,用靜態語言寫後端邏輯,分門別類有固定的庫,如果用框架,限制就更大了。

而演算法,數據結構,用更貼近機器的思維來看待每個函數和方法,就一定比前端顯得更像個智者?但個人覺得,JavaScript在演算法上巧妙設計,是諸多限制的靜態語言無法比的。

至於更接近機器,是不是設計不了CPU都很...呢?

常年在做後端,桌面和手機應用,偶爾也做做前端,以個人經驗來說,只要是編程,大多數時間都是一樣,甚至常常讓人眼睛一亮的。反而是JavaScript。

如果能把JavaScript寫好,寫漂亮,單片機,C語言,都只是一些新語法,新概念的事。


其它兩個不談。

CSS的確很低級。

不同於其它平台的排版技術(Latex,Apple家的autolayout,等等),CSS沒有自洽、正交的排版規則,只有一個比一個更拼湊的指令語句。

比如CSS float。對比下iOS autolayout的核心邏輯,一個UI元件只需指定四條邊的對齊規則(或者指定長寬的變化規則。這和指定四邊的規則是等價的),就可以完成任何排版效果。在這種邏輯下,Float是多餘的。CSS的float不是單一、和其它規則正交的效果,而是一個複雜的排版表現,於是float還要帶上大量的選項來調整(https://www.w3schools.com/css/css_float.asp)。這種設計理念,各種指令和它們的選項效果上會互相重疊,根據不同的優先順序互相覆蓋,寫起來簡直是噩夢。

CSS的這種設計理念,結果就是調整排版效果成為了一種玄學。做前端開發很多時間就是在Chrome裡面調CSS,嘗試各種組合和參數,以求一個過得去的效果。做完了再換個瀏覽器再試試。

更別說CSS對變數和邏輯的支持先天不足,於是還要加上一票社區解決方案比如SCSS。

CSS的存在是一個歷史遺留問題。從技術上講,CSS已經沒有必要存在,Javascript完全可以用來表達排版邏輯。

最後說個得罪人的:因為CSS的複雜,寫好前端的確需要大量經驗。然而這種「經驗」並沒有什麼含金量和門檻,因為獲取的途徑只是海量的重複勞動和試錯罷了。


又是這種問題。讓你老師別用手機QQ,別用微信了,包括支付寶,新浪微博等。這些APP內部或多或少都基於前端技術的沉澱演變而來的。沒有什麼技術是low的,卻總有一部分人明明不了解卻跳著腳去黑。這種人,第一固步自封,第二誤人子弟,第三很low。

Java工程師,無直接利益相關。


記得有位大神這麼說過,css是個很奇怪的東西,你可能花一天時間就能學會它,但是往後你可能需要花費數年甚至十幾年才能掌握它


單片機更低級。

對於電子來說,soc才叫高端,fpga也叫高端。單片機?哈哈哈哈哈哈哈哈哈,那不是小學生玩的么?


「無知者無畏」這句話說得是真有道理。

我在看《CSS Mastery: Advanced Web Standards Solutions》(《精通CSS:高級Web標準解決方案》)和《CSS Secrets: Better Solutions to Everyday Web Design Problems》(《CSS揭秘》)的時候,收穫和感慨都很多,如果沒看到這兩本書,我想像不到CSS竟有如此多的講究。HTML、JS也是這樣。你要做響應式頁面、移動優先的頁面,以及SPA這樣的應用,是會遇到很多問題的,而且知識點越深入你會發現自己缺陷越多。天下哪有什麼唾手可得的武功秘籍?

學校老師在實踐方面的看法,我一向不太欽佩。跟工程人員相比差距太大。當然,「做一行愛一行」也可能會產生「文人相輕」的結果,不待見其他技能門派,這也是有可能的。

從趨勢上看,2010年前後起,前端的受重視程度不斷加強,重要性的共識在今天已趨於穩定。與此同時,環境發展也提出了前後端分離的概念及趨勢。

「越流行的越低等,曲高和寡的才能裝B和高收入」,其實這種觀點在許多開發者腦袋中都有。不能說單片機開發不好,但前端發展也是一片晴朗的天空。

當然,前端也有自己的問題,但哪塊領域不存在問題的?


推薦閱讀:

有百姓網的前端嗎?詢問百姓網的前端如何?
如何找到Web前端實習的工作?
新人要做前端有些問題希望求助?
錯過秋招,BAT等大型互聯網公司怎樣準備春招呢?
一份優秀的前端開發工程師簡歷是怎麼樣的?

TAG:前端開發 | JavaScript | 前端工程師 | 前端入門 | HTMLCSS |