分享好文,中學生要學電腦嗎?
作者:創新工場CTO、人工智慧工程院執行院長 王詠剛
文章来自半轻人微信公众号(ban-qing-ren)
………………………………
朋友的孩子高中剛畢業,已拿到美國頂尖大學(非電腦專業)的錄取通知。疫情影響,不知何時才能去學校報到。孩子想抓緊學習一下程式設計,為大學打好基礎。這孩子找我聊了一個多小時,從如何學程式設計,聊到非電腦專業和電腦專業的路徑差異,又聊到如何從不同角度認識電腦與程式設計。聊得比較寬泛,不知是否對這孩子有用。
回想我自己的高中時代:那時雖迷戀程式設計,卻完全沒有懂行的人指導。在我們那個四線城市的廠礦中學裡,開設電腦興趣課的老師知道的資訊還沒我多。我高一時跑到北京中關村逛街,卻完全沒意識到中國第一代頂尖程式師當時就在我身邊的低矮辦公樓裡寫代碼(這話說得並不準確,比如求伯君那年就主要是在珠海做開發),鼎鼎大名的UCDOS、WPS、CCED就出自他們之手……我在當時街邊的一家書店(位置似乎就在今天的鼎好大廈對面)買到了許多種印刷品質極低劣的電腦圖書。用今天的標準看,那就是一批盜版影印或未授權翻譯的國外圖書。可那批書竟成了我高中時代最寶貴的程式設計知識來源。
顯然,我在高中時根本就是野路子學電腦。現在後悔也沒用,當時我的眼界或能觸及的資源就那麼多。如果能穿越回30年前,我該對喜歡程式設計的自己說些什麼呢?這些年,我與世界上最好的一批程式師合作過,也參與過世界上最有價值的軟體系統研發——我所積累的一些粗淺經驗裡,有哪些可以分享給一個愛程式設計的中學生?
【問題1】中學生要不要學電腦?
當然要!
每個中學生都要學。只不過——建議大部分中學生使用“休閒模式”,小部分(不超過10%)中學生使用“探險模式”。
啊?兩個模式?那我該進入哪個模式?⟹請跳轉至【問題2】
【問題2】選哪個模式?
你癡迷電腦嗎?比如,你玩遊戲時會特別想知道這遊戲背後的代碼是如何編寫的嗎?再比如,就算老師家長不同意你學電腦,甚至當著你的面把電腦砸了,你也要堅持學電腦嗎?如果是,恭喜你進入“探險模式”⟹請跳轉至【問題200】
你對數學有興趣嗎?比如,你看到街邊建築的曲線,就會在腦子裡琢磨曲線對應的函數或方程嗎?每當手裡攥著幾粒骰子,你就會不由自主地計算概率嗎?如果是,歡迎進入“探險模式”⟹請跳轉至【問題200】;當然,如果有些猶豫,也可以先進入“休閒模式”⟹請跳轉至【問題100】
即便你對電腦和數學興趣不大,家長、老師還是強烈建議你學電腦嗎?就算你一百個沒時間一千個不願意,家長、老師還是會逼著你學電腦嗎?如果是,建議你主動進入“休閒模式”並向家長、老師彙報說“我已經按照前谷歌資深軟體工程師的專業建議在認真學程式設計了”⟹請跳轉至【問題100】
其他情況,一律進入“休閒模式”。⟹請跳轉至【問題100】
【問題100】休閒模式 | 主要學什麼?
“休閒模式”將電腦視為我們生活、工作中的必備工具,主要學習如何聰明、高效、優雅地使用計算設備。這裡說的計算設備,包括所有形式的電腦、手機、遊戲機、智慧家電以及未來一定會進入生活的自動駕駛汽車。
什麼什麼?你已經會用電腦、會玩手機、會打遊戲了?別著急,慢慢往下看。
【問題101】休閒模式 | 我會用搜尋引擎嗎?
我知道你會用百度搜習題答案。但,習題答案不是知識。你會用搜尋引擎來搜索和梳理知識嗎?請試著用電腦和你喜歡的搜尋引擎來解決如下兩個問題:
(1)圓周率𝜋的計算方法有多少種?每種不同的計算方法分別是由什麼人在什麼時代提出的?借助電腦,今天人們可以將圓周率𝜋計算到小數點後多少位?將圓周率𝜋計算到小數點這麼多位元,一次大概需要花掉多少度電?
(2)全球大約有多少個廁所?在發展程度不同的國家,分別有多少比例的人可以享用安裝了抽水馬桶的衛生廁所?為什麼比爾·蓋茨曾大力推動一個設計新型馬桶的研發專案?比爾·蓋茨的公益組織在這個專案上大約花費了多少資金,最終收到了多大的效果?
如果你沒法快速得到上述問題的全部答案,那就給自己設一個小目標:一個月內,學會用搜尋引擎系統地獲取、梳理一組知識點的全部技巧。
【問題102】休閒模式 | 接下來學什麼?
建議學好典型的工具軟體。比如,我知道你會用Office了,但用Office和用Office是很不一樣的。對生活、學習、工作來說,學好、學透一個工具軟體比鑽研程式設計技巧更實用。
你會用Excel來管理班級公益基金的預算和實際收支情況嗎?
你會用Excel做出過去20年裡全球大學排名的演變趨勢圖嗎?
你會用Word排版一篇中學生論文嗎?論文中的圖表和最後的參考文獻部分該如何排版?
你會用Word編排一份班級刊物,包含封面、扉頁、目錄、插圖頁、附錄、封底等部分,可以在列印後直接裝訂成冊嗎?
PowerPoint呢?你有沒有研究過蘋果公司發佈會上那些幻燈片的設計?當約伯斯(多年以前)或蒂姆·庫克站在幻燈片前的時候,他們的演講思路是如何與幻燈片完美結合的?
還有哦,別忘了學學如何為數碼照片做後期,如何用電腦或手機剪視頻,如何為剪輯好的視頻配字幕,如何將照片、音樂、視頻等素材結合起來,做出一段吸引人的快手/抖音短視頻。
最後,抽空玩玩那些設計精妙的遊戲吧,比如《紀念碑穀》、《塞爾達傳說:曠野之息》之類;同時,遠離那些滿屏廣告,或者一心騙你在遊戲裡充值花錢的垃圾。
【問題103】休閒模式 | 不學學知識嗎?
當然要學知識。下面每種實用的電腦知識都夠大家學一陣子了。
(1)色彩知識:你知道同一張數碼照片在不同品牌的手機螢幕上、不同的電腦螢幕上、不同的智慧電視上顯示時,為什麼經常有較大色差嗎?你知道有一些色彩只適合螢幕顯示,不適合列印輸出嗎?你知道軟體工具裡常用的RGB、HSL之類的色彩空間都是什麼意思嗎?如何在設計PowerPoint幻燈片時選擇一組和諧美觀的色彩?
(2)字體知識:你知道什麼是襯線字體,什麼是無襯線字體嗎?你知道網頁中常用的英文字體都有哪些嗎?你知道商務演講時最適用于幻燈片的英文字體有哪些嗎?你知道電腦和手機常用的黑體、宋體、仿宋體、楷體等中文字體分別適合哪些實際應用場合嗎?你會將不同字體混排成一個美觀的頁面嗎?
(3)網路知識:你知道5G是什麼嗎?你知道5G和4G在通信頻寬、通信距離上的具體區別嗎?你知道什麼是路由器,什麼是防火牆嗎?你知道如何配置路由器,如何配置防火牆嗎?微信或QQ聊天時,對方發的文字、語音或視頻是如何傳送到你的手機上的?
(4)應用知識:淘寶中搜索得到的商品資訊是從哪裡來的?商品是按什麼方式排序的?為什麼購物APP經常會推薦給你一些曾經買過、看過的商品?你知道如何為自己建立個人網站嗎?你知道如何管理微信公眾號嗎?
(5)安全知識:你知道網路上的釣魚攻擊是怎麼回事兒嗎?你知道什麼是電腦漏洞嗎?你知道駭客為什麼想把一大批受攻擊的電腦變成可以遠端操控的傀儡機嗎?你知道為什麼現在很多手機APP都要通過短信發送驗證碼嗎?如果驗證碼被壞人截獲,你會面臨哪些風險?
這裡只是舉例。實用的電腦知識還有很多。大家可以自己發掘。
【問題104】休閒模式 | 我需要學程式設計嗎?
可以學,但不是必須。即便學,也只需要根據自己的需要,學那些最能幫你解決現實問題的部分。
【問題105】休閒模式 | 我該學什麼程式設計語言?
在“休閒模式”裡,電腦就是工具,程式設計也是工具,夠用就好。學什麼程式設計語言,完全看你想要電腦幫你做什麼。
• 如果你想對資料處理有更多自主權,那不妨學學Python;
• 如果你想做簡單的交互演示程式,那就先把JavaScript學起來;
• 如果你想更好、更快地寫論文,那不妨學學LaTeX(什麼什麼,LaTeX不是程式設計語言?你太小看LaTeX了);
• 如果你想學做簡單的手機APP,那麼,Android手機就學Java,蘋果手機就學Swift好了;
• 如果你只想知道程式設計是怎麼回事,那……從Python或JavaScript開始就行。其實,跟五六歲的小朋友一起學學Scratch圖形程式設計也不錯。
【問題106】休閒模式 | 我需要學人工智慧嗎?
在“休閒模式”裡,最需要學的不是“人工智慧的實現原理”,而是“什麼是人工智慧”,以及“人工智慧能做什麼,不能做什麼”。
• 在手機上試一試,人工智慧做語音辨識時能做到什麼水準?哪些話容易識別,哪些話不容易識別?
• 打開機器翻譯軟體,試一試哪些資訊翻譯得好,哪些資訊翻譯得不好?
• 手機上的拍照軟體一般都有人臉識別功能。試一試人臉識別在什麼場景下做得好,什麼場景下做得不好?
• 找一部講人工智慧的科幻電影,用自己的判斷解讀一下,電影裡哪些技術有可能成為現實,哪些技術存在邏輯矛盾。
【問題107】休閒模式 | 推薦什麼參考書、參考文獻?
書不重要,豆瓣評分7分以上的電腦應用、程式設計甚至科普類圖書都可以拿來翻翻。
直接在知乎裡搜索你想瞭解或學習的知識點可能更有效率。
如果你意猶未盡,覺得自己剛活動開筋骨,還想挑戰更高層次,歡迎進入“探險模式”。⟹請跳轉至【問題200】
否則,“休閒模式”到此結束。⟹請離開此問答
【問題200】探險模式 | 主要學什麼?
“探險模式”需要有挑戰精神。電腦科學的世界技術演進快,脈絡複雜,要想在探索時不迷路,你得通過有順序、有系統地學習電腦知識,慢慢構建出一張可以在未來幫你走得更遠的思維地圖來。
在“探險模式”裡,電腦就不止是一件能快速計算的工具了。電腦更像是我們大腦的一種延伸。這既包括認知能力的延伸,也包括認知邏輯的延伸。隨著學習深入,大家會逐漸體會到電腦所具有的多維度能力:
電腦是一種可以表示不同類型資訊(數、符號、文字、語音、圖像、視頻、虛擬空間、抽象邏輯)的“資訊管理機”;
同時,電腦也是一種可以連續執行指令以完成特定的資訊處理任務的“指令處理機”;
同時,電腦還是一種可以在知識與邏輯層面完成特定推理任務的“知識推理機”;
同時,電腦也是一種可以從人類給定的資料或自我生成的資料中總結規律,建立模型,自主完成某些決策的“智慧學習機”。
“探險模式”的目標就是盡可能準確地認識電腦,掌握有關電腦運行的最基本規律。有了這些基礎。未來在大學期間或工作中,你就能更容易地設計電腦軟硬體系統,或是設計出碳基大腦(人類)與矽基大腦(機器智慧)之間的最佳協作方案。
【問題201】探險模式 | 我的英語水準足夠嗎?
蘋果每年秋季的新品發佈會,不加字幕的話,你能聽懂多少?
能聽懂大部分:建議在學習電腦的過程中,盡可能使用英文教材、英文文檔。
能聽懂小部分:建議將原來準備學電腦的時間,分出一部分來學英語。
只能聽懂“你好”“再見”之類:⟹請離開此問答。然後,把原來準備學電腦的時間用於學英語,六個月後再回來。
【問題202】探險模式 | 我的數學水準足夠嗎?
如果你是數學和數學應用小能手——較複雜的數學問題總能快速找到核心思路,或快速簡化為簡單問題;很容易就能將抽象概念映射到具體的數學圖形,或將數學問題與相應的現實問題關聯在一起:請繼續探險之旅。
如果你應付正常數學課程感到吃力:建議將原來準備學電腦的時間,分出一部分來學數學。
如果你還搞不清楚什麼是方程、函數、集合、概率……:⟹請離開此問答。然後,把原來準備學電腦的時間用於學數學,六個月後再回來。
【問題203】探險模式 | 為什麼強調英語和數學?
(1)統計上說,最好的電腦參考資料大都是英文寫的,最好的電腦課程大都是用英文講的,最新的電腦論文大都是用英文發表的。
(2)函數、方程、坐標系、標量、向量、排列組合、概率這些中學數學裡會初步學習到的數學知識,是電腦科學的基礎。
【問題204】探險模式 | 電腦知識那麼多,正確的學習順序是什麼?
最重要的順序有兩個。建議先從順序一開始,學有餘力時兼顧兩個順序。
順序一:自底向上,即,自底層原理向上層應用拓展的順序。
電腦原理的基礎知識:
為什麼每台電腦(包括手機)都有CPU、記憶體和外部設備?
(馮·諾依曼體系結構的)記憶體中為什麼既可以存儲資料,也可以存儲指令?
CPU是如何完成一次加法運算的?
程式設計語言的基礎知識:
資料類型,值,變數,作用域……
語句,流程控制語句……
過程、方法或函數,類,模組,程式,服務……
編譯系統的基本概念:
電腦程式是如何被解釋或編譯成目標代碼的?
演算法和資料結構的基礎知識:
陣列,向量,鏈表,堆,棧,二叉樹,樹和圖……
遞迴演算法,排序演算法,二叉樹搜索演算法,圖搜索演算法……
應用層的基礎知識:
為什麼電腦需要作業系統?設備驅動程式是做什麼的?
網路通信的基本原理是什麼?流覽器是怎麼找到並顯示一個網頁的?
資料庫是做什麼用的?
虛擬機器是怎麼回事?
人工智慧系統的基礎知識:
先熟悉些線性代數、概率和數學優化的基礎知識。
什麼是機器學習?從簡單的線性回歸中體會機器學習的基本概念、基本思路。
什麼是神經網路?什麼是深度神經網路?為什麼神經網路可以完成機器學習任務?
如何使用PyTorch或TensorFlow實現簡單的深度學習功能?
順序二:自頂向下,即,自頂層抽象邏輯向下層具體邏輯拓展的順序。
• 電腦的本質是什麼?
• 什麼是圖靈機?什麼是通用圖靈機?
• 什麼是讀取﹣求值﹣輸出迴圈(Read–eval–print Loop,REPL)?
如何用自頂向下的方式理解(解析、解釋、編譯)一段程式碼?
• 靜態語言和動態語言的區別?
如何理解變數與資料類型之間的綁定關係?
• 什麼是函數式程式設計?
程式設計語言中,函數的本質是什麼?
函數為什麼可以像一個值一樣被表示、存儲、傳遞和處理?
• 什麼是物件導向?
類的本質是什麼?
如何用物件導向的方式定義個功能介面?
如何依據介面實現具體功能?
• 什麼是事件驅動?
什麼是事件?事件如何分發到接收者?
如何在事件驅動的環境中理解代碼的狀態和執行順序?
【問題205】探險模式 | 如何提高程式設計水準?
在掌握基本知識體系的基礎上,學好程式設計只有一條路:多程式設計,多參加程式設計比賽,多做程式設計題,多做實驗項目,多找實習機會——其中,能參與真實專案是最有價值的。
【問題206】探險模式 | 該從哪一門程式設計語言學起?
我個人推薦的程式設計入門語言(可根據情況任選):
Python
Java
Swift
C#
JavaScript / TypeScript
Ruby
……
可能不適合入門,但適合後續深入學習的語言:
C
C++
Go
Objective-C
組合語言
機器語言(CPU指令集)
Shell Script
Lua
Haskell
OCaml
R
Julia
Erlang
MATLAB
……
【問題207】探險模式 | 如何選參考書和參考資料?
(1)強烈推薦的參考書和參考資料:
• MIT、Stanford、CMU、UC Berkeley這四所大學中任何一個電腦專業方向使用的教學參考書或參考資料。網上可以查到這些學校電腦專業方向的課程體系,有的學校甚至公開了課程視頻。其中往往會列舉參考書和參考資料連結。
• 維琪百科(英文)上的數學、電腦科學相關條目。
• Github上star數在1000以上的開原始程式碼和開來源文件。
(2)強烈推薦但須小心辨別的參考資料:
知乎上的數學、電腦科學相關條目。使用時需要格外注意三件事:
儘量只看高贊答案或高贊文章;
辨別並避開廣告軟文;
辨別並避開純抖機靈的故事或段子。
Stack Overflow上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
CSDN上的程式設計問題解答:
自己動手實驗,辨別解答是否有效。
(3)其他推薦的參考書和參考資料:
國內專業作者寫作的專業技術書籍(豆瓣評分7分以上的)。
大廠(Google、Facebook、Microsoft、Amazon、阿裡、騰訊、百度、頭條等)資深工程師的技術公號、專欄、博客等。
著名圖書系列:如O’Reilly的動物封面的系列圖書(請注意最新版本和時效性)。
國內翻譯的著名技術圖書(譯本在豆瓣評分7分以上的)。
(4)儘量避免的參考書和參考資料:
• 已經過時的圖書或參考資料。
• 作者或譯者人數比章節數還多的專業圖書。
• 百度百科上的數學或電腦科學相關資料。
什麼什麼?你這篇問答居然沒有推薦一本具體的圖書?是,沒錯。如果你覺得即便有了上面的線索,自己還是找不到好書好資料,那也許你還是適合“休閒模式”⟹請跳轉至【問題100】
同時也有1部Youtube影片,追蹤數超過7萬的網紅在地上滾的工程師 Nic,也在其Youtube影片中提到,硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。 就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又...
「javascript是物件導向嗎」的推薦目錄:
- 關於javascript是物件導向嗎 在 李開復 Kai-Fu Lee Facebook 的最讚貼文
- 關於javascript是物件導向嗎 在 紀老師程式教學網 Facebook 的最佳貼文
- 關於javascript是物件導向嗎 在 紀老師程式教學網 Facebook 的最讚貼文
- 關於javascript是物件導向嗎 在 在地上滾的工程師 Nic Youtube 的最佳解答
- 關於javascript是物件導向嗎 在 Re: [請益] 比物件導向更先進的程式設計思想? - 看板Soft_Job 的評價
- 關於javascript是物件導向嗎 在 你懂JavaScript 嗎?#18 (簡易版)物件導向概念 的評價
- 關於javascript是物件導向嗎 在 Javascript 物件導向設計- nodejs-wiki-book - GitHub 的評價
javascript是物件導向嗎 在 紀老師程式教學網 Facebook 的最佳貼文
[海量影片] 想體驗一下被免費教學影片淹沒的快感嗎?「Derek Banas」這個 YouTube 影音教學頻道 600+ 支影片滿足你!
https://goo.gl/yhCPvl
#eLearning #FreeTrainingVideo
好的!我第一次看到這個 YouTube 影音教學頻道,噴出口的第一句就是:「你 XX 的太閒了啊!」(稱讚意味,默默收藏)
這位 Derek 老兄不知道是繼承了億萬遺產,還是因為興趣使然才猛力做教學影片的?您點進去看,從程式語言、網頁設計、電子電路、資料庫、手機 App、軟體工程、電腦繪圖...甚至於低卡飲食、如何減重、銷售技巧、行銷手法...每樣都有教學影片!您若進去看過他的頻道播放清單,您就會同意我說的話(記得點擊最下方那個「載入更多影片」按鈕,才能完整欣賞到該位老兄的豐功偉業)。
總而言之(丸尾推眼鏡)~~ 喜歡免費教學影片的人有福了!建議您直接訂閱該頻道,或者將我提供的網址加入最愛,然後每天找個三、五片來虐自己...呃...是進修自己一下,包準您程式設計進步的幅度比別人大喔!
咳咳~只丟一個連結就放生可愛的粉絲們,並非我的作風。所以我把他「與程式設計有關」的影片,分門別類地幫大家整理在下面。如果您只對某個領域有興趣,那就看我提供的清單吧!我還幫你把學習順序大致排好了喔!看到我這麼努力還不趕快把「讚」按下去!... XD (無誤)
一:快速學習系列(總計:x39)
> Learn in One Video (x39) - https://goo.gl/fnDxlo
==> 這個系列設計成「學一種語言最多不超過 90 分鐘」,適合業務、PM,或只想懂皮毛就好的人看。
二:網頁程式設計(總計:x219)
[前端網頁設計](小計:x73)
> HTML Tutorial (x4) - https://goo.gl/pXT82h
> HTML Video Tutorial (x2) - https://goo.gl/KXZwtD
> CSS Tutorial (x7) - https://goo.gl/BaUdhp
> CSS Video Tutorial (x7) - https://goo.gl/O8DN8b
> JavaScript Tutorial (x8) - https://goo.gl/wpW0Vi
> JavaScript Video Tutorial (x11) - https://goo.gl/LONxOO
> CoffeeScript Tutorial (x2) - https://goo.gl/ADIvW6
> JQuery Video Tutorial (x9) - https://goo.gl/zRYIlv
> AngularJS Tutorial (x4) - https://goo.gl/WXfguL
> XML Tutorial (x4) - https://goo.gl/LAaFmd
> XML Video Tutorial (x7) - https://goo.gl/WH4Ajo
> AJAX Tutorial (x8) - https://goo.gl/nVItM9
[後端網頁設計](小計:x59)
> PHP Tutorial (x12) - https://goo.gl/7RIa3s
> PHP Video Tutorial (x24) - https://goo.gl/UBdzty
> PHP Security (x6) - https://goo.gl/WjQonR
> NodeJS Tutorial (x12) - https://goo.gl/fzVKZf
> Ruby on Rails Tutorial (x5) - https://goo.gl/dFh0AQ
[網頁程式設計其它](小計:x11)
> 介面設計 How to Layout a Website (x5) - https://goo.gl/9YInAR
> Web Services Tutorial (x6) - https://goo.gl/nr7Yj9
[無痛架站](小計:x76)
> Wordpress Tutorial (x16) - https://goo.gl/X3qNyA
> Wordpress Theme Tutorial (x60) - https://goo.gl/Ac9V4C
三:程式語言(總計:x156)
[一般程式語言](小計:x149)
> C Video Tutorial (x16) - https://goo.gl/wQgJVK
> Java Video Tutorial (x95) - https://goo.gl/TcVfGp
> Java Algorithms (x17) - https://goo.gl/uAQzcC
> Python Tutorial (x9) - https://goo.gl/2c0Ynj
> Python 2.7 Tutorial (x18) - https://goo.gl/yTcJSF
> 組合語言 Assembly Language (x4) - https://goo.gl/PXYlyx
[程式語言相關技巧](小計:x7)
> 正規表示式 Regex Tutorial (x7) - https://goo.gl/x81Khr
四:資料庫(總計 x14)
[SQL](小計:x10)
> SQL Tutorial (x6) - https://goo.gl/YClykN
> SQLite 3 Tutorial (x4) - https://goo.gl/8yHyLP
[NoSQL](小計:x4)
> MongoDB Tutorial (x4) - https://goo.gl/QJfHnv
五:手機 App 程式設計(總計:x100)
[iOS](小計:x4)
> Objective C Tutorial (x4) - https://goo.gl/GswBRH
[Android](小計:x96)
> How to Make Android Apps (x29) - https://goo.gl/DjgL2R
> Android Development for Beginners (x25) - https://goo.gl/LvVODL
> Android Development Tutorial (x42) - https://goo.gl/jm1U5J
六:嵌入式系統(總計:x4)
> 電子電路 Electronics Tutorial (x4) - https://goo.gl/u1Ue0Y
七:軟體工程(總計:x65)
> 物件導向設計 Object Oriented Design (x11) - https://goo.gl/XTcjaa
> UML 2.0 Tutorial (x9) - https://goo.gl/ZF4Coq
> Design Patterns Video Tutorial (x27) - https://goo.gl/znWcZ9
> 重構 Code Refactoring (x18) - https://goo.gl/rNNpUY
八:軟體開發工具(總計:x4)
> Git Video Tutorial (x4) - https://goo.gl/lwtZfF
如果您覺得這個頻道太讚了!或覺得我整理順序、縮網址、算影片數目,搞了三個多小時沒功勞也有苦勞,那就麻煩您按讚鼓勵一下小弟吧!當然更歡迎您轉發給 Facebook 上的朋友,讓他們也感受一下什麼是「倒抽一口涼氣」... XD。有任何不瞭解的,歡迎在下方留言一起討論喔!
javascript是物件導向嗎 在 紀老師程式教學網 Facebook 的最讚貼文
[免費學習資源] 想學 JavaScript 嗎?這裡有一大堆人家整理好的資源喔!
自從 HTML5 流行以來,JavaScript 在網頁程式設計的地位越來越重。從以前只是控制滑鼠點擊事件、做做特效,進化到入侵前、中兩端的正規語言(中端語言利用 Node.js 來達成)。更冒出上百個以 JavaScript 為基底的 .js 框架與函式庫(如:Angular.js、Backbone.js...etc.)。JavaScript 早已非吳下阿蒙,一躍而成網頁設計必學的語言之一。
隨著 JavaScript 越來越複雜,很多朋友都有興趣把 JavaScript 學好。在此我提供各位一個很不錯的學習資源清單。網址如下:
http://conceptf1.blogspot.ae/2013/11/best-resources-to-learn-javascript.html
該清單計有下列學習資源:
* 影片教學(Videos x 16)
------------------------
1. Crockford on JavaScript (x6 Videos)
2. The JavaScript Programming Language (x4 Videos)
3. An Inconvenient API: The Theory of the DOM (x3 Videos)
4. Advanced JavaScript (x3 Videos)
* JavaScript 物件導向程式設計(Object-Oriented Programming in Java)
(文章教學,共三篇,算是 JavaScript 語法精要)
------------------------
* 免費書籍(Books x 6)
------------------------
1. JavaScript: The Good Parts (Douglas Crockford)
2. Pro JavaScript Techniques (John Resig, 比較進階)
3. JavaScript: The Definitive Guide (David Flanagan)
(歐萊禮出的經典之作,點入後記得點擊封面上方的「Search Inside and Read」方可全文觀賞)
4. Eloquent JavaScript (Marijn Haverbeke)
(本來就是以「免費線上 JavaScript 好書」出名,也是經典)
5. Essential JavaScript Design Patterns for Beginners (Addy Osmani)
(雖號稱 for Beginners,不過 Design Pattern 的東西還是學完基本語法再看比較會有心得)
6. Head First HTML5 Programming: Building Web Apps with JavaScript
(連結直指 Amazon,並非免費。有中譯本叫「深入淺出 HTML5 程式設計」,然後把「書名」加上「pdf」三個字放進 Google 能撈到什麼就不用我再教了吧? XD)
* 學習網站(Learning Sites x 6)
------------------------
1. Writings on JavaScript
2. comp.lang.javascript FAQ
(事實上,這只能算 BBS 論壇的精華區整理,不過整理得不錯就是了)
3. Learn appendTo
(我試過,鏈結已失效。不知有沒有人試成功的?)
4. Secrets of the JavaScript Ninja
(其實這是傳說中的「忍者書」,不知道為什麼作者把它分在「學習網站」這一項?況且連結導向購買頁,似乎並非免費。我幫各位準備了傳送門在此,請服用: http://goo.gl/f9GXoV XD)
5. JavaScript Garden
(原鏈結為英文,我幫各位找到中文的: http://goo.gl/KIIJzj )
6. Codecademy
(大推!互動式學習,註冊後搜尋「JavaScript」課程即可找到)
* 教學文(Articles x14)
------------------------
希望今天介紹的資源能對大家學習 JavaScript 時有幫助!
別忘了按讚鼓勵或分享給你的朋友喔!
javascript是物件導向嗎 在 在地上滾的工程師 Nic Youtube 的最佳解答
硬核的知識也許不是每個工程師都能夠在職涯發展中完全運用到,但無論是本科系、轉職、自學成為工程師的朋友,都應該要知道,這些紮實的背景知識提早學習起來,在未來的日子裡,只有好沒有壞。
就透過本影片我的真實經驗分享,告訴你這些我在大學時期看似枯燥乏味的理論,其實就是程式設計內功,而日後沉睡已久的內功卻又恰巧的在職涯旅途中碰上用處。
章節:
00:00 學這些有用嗎
00:52 我與速成班的距離
04:45 業務增長後的影響
06:36 基本功知識科普
喜歡影片的話!可以幫忙點個喜歡以及分享、訂閱唷!😘
━━━━━━━━━━━━━━━━
⭐ 蝦皮賣場: https://shopee.tw/bboyceo
⭐ instagram (生活日常): https://www.instagram.com/niclin_tw/
⭐ Facebook (資訊分享): https://www.facebook.com/niclin.dev
⭐ Blog (技術筆記): https://blog.niclin.tw
⭐ Linkedin (個人履歷): https://www.linkedin.com/in/nic-lin
⭐ Github: https://github.com/niclin
⭐ Podcast: https://anchor.fm/niclin
━━━━━━━━━━━━━━━━
🌟 任何問題或合作邀約信箱: niclin0226@gmail.com
#資料結構 #演算法 #計算機概論 #前端 #後端 #工程師
javascript是物件導向嗎 在 你懂JavaScript 嗎?#18 (簡易版)物件導向概念 的推薦與評價
類別(Class)、建構子(Constructor)、實體(Instance). 「類別」可想像成是建構某特定物體的藍圖或模具,而「實體」就是按照這藍圖或模具製造出來 ... ... <看更多>
javascript是物件導向嗎 在 Javascript 物件導向設計- nodejs-wiki-book - GitHub 的推薦與評價
Javascript 物件導向 設計. 在javascript中,幾乎一切都是物件,在物件導向設計的模式下,應該會常看到這樣的狀況:. var dipsy = { name: "dipsy", color: "green", ... ... <看更多>
javascript是物件導向嗎 在 Re: [請益] 比物件導向更先進的程式設計思想? - 看板Soft_Job 的推薦與評價
※ 引述《ripple0129 (perry tsai)》之銘言:
: 也不是說轉換能馬上換掉的啊
: 真要說馬上能換就換掉的
: 我第一個就先推Javascript
: 問題就是換不掉啊
JavaScript 是一個基於原型(Prototype-based)的程式語言
在本質上很難將它歸類為程序導向語言,或是物件導向語言
類別:
JavaScript 中沒有類別(Class)的概念,但是有物件(object)的概念
而這個物件概念的物件,則是以GUI的 Widget為主
Widget 具有屬性及操作(事件反應)函式,兩者綁在Widget上是合乎操作的抽象習慣的
封裝:
JavaScript 中的物件沒有封裝的概念
繼承:
JavaScript 的物件沒有繼承(Inheritance)的特性
多形:
JavaScript 的物件沒有多型(Polymorphism)的概念
命名空間:
JavaScript 沒有命名空間的概念
以上這些典型的OOP亂源都沒有了,JavaScript寫出來的Code
自然也就不會像一般的OOP那樣臭
雖然有人說,還是可以用JavaScript寫出有OOP味的程式
但基本上沒有什麼人這樣做,真的這樣做,Code也是一團亂
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.229.0.133 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1602985969.A.989.html
如果不排斥看英文 網路上資料很多啦!
Ex. 搜尋 "anti object oriented programming"
Bjarne Stroustrup (C++ 創始者) 這老傢伙說C過時了
https://www.youtube.com/watch?v=KlPC3O1DVcg
全班考太爛,教授將分數開根號乘以十的概念
老實說前端的東西 有需要搞得這麼複雜嗎?
有技術價值的東西,放在明碼上,不是一下子就被切走了嗎?
PO文的內容就是從書上來的
請參考前面的發文,我已經寫很多了。
提供額外的參考,這樣也不行。就是要找碴乎
前端語言要自幹,還要看瀏覽器買不買單,沒那麼大的本事
後端我用C就可以了,Web Server 還可以自己改(httpd)
不過現在沒有靠 Web 營生,所以沒有這個煩惱。
做純 Web 太血汗,好吃懶做的人早跑了
不是很確定你問的問題是什麼? 回了怕變成雞同鴨講
因為市場需求,商人只管滿足需求,而不管有這種需求的人是不是獃子
至少是美好的過去
表示未來的 JavaScript code 要開始 Spaghetti 化了 殘念
不把它當空氣,就要開始寫 Spaghetti Code了
我沒有這樣說過呀! 是你誤會了
看一下這個網站,JavaScript 跟 TypeScript 的 Rank
https://www.tiobe.com/tiobe-index/
https://reurl.cc/avMnOY 這篇文章說:
There are no plans to support TypeScript natively in the browsers.
Chrome did some experiment, but later cancelled support.
(目前沒有任何的瀏覽器計畫對 TypeScript 提供天生的支援(不用加外掛))
(Chrome 曾經作過一些測試,後來取消了對它的支援)
「稍有要求的公司早就都上ts了」<-- 這是你的信仰,還是你在作夢
來自同一篇文章
This is particularly important to note if you’re still in the prototyping
phase. If so, don’t waste your time with TypeScript. JavaScript is so much
more flexible. (不要浪費時間在 TypeScript 上面)
越來越離譜了
感覺就是微軟的大外宣
這是機率的問題,用OO的人,90%都會製造糞code
造飛機~ 造飛機~ 來到青草地~
造糞機~ 造糞機~ 就是O.O.P.~
阿共的陰毛不清楚啦,MS的陰毛全世界都知道
不用OO,那句話有什麼問題
建議你把整篇文章仔細看一遍,它裡面還提到
Javascript is more flexible. ~~~
If Typescript is Windows, Javascript is Linux.
I tried to refactor some of my hobby projects to TypeScript
but it did not worth the effort.
您高興就好
所以你很先進?要不要掏出來看看,不要只會說別人的雞雞小
建議你去當版主,把所有看不順眼的都桶一桶
※ 編輯: csfgsj (218.32.249.24 臺灣), 10/20/2020 10:18:49
... <看更多>