4
看著 Arduino 到底有沒有毒這類戰爭 … (www.facebook.com)
caterpillar 積分 7 編輯於

就好像感覺好像軟體業界裏也有人感嘆,一堆新人只會用 XXX 框架,脫離了 XXX 框架就什麼也不會 … XD

在軟體界大概就數 Java 最常被 OX 吧!… 像是 爪哇學校的危害1 ... XD

引述 … 「我真正要說的是,整體來看Java這種語言並不夠困難,無法區分偉大的程式員跟平庸的程式員。在工作上或許是個好語言,但這不是今天的重點。我甚至會進一步說,Java不夠難這件事是個特色而非缺陷,可是它畢竟還是有這個問題。」

現在呢? ... XD

caterpillar 積分 7

我最近接觸了一陣子 arduino … 有著各式各樣的雜感 … 又看到這類話題 … 來拉理拉雜分享一下不成熟的想法 … 我重新回到電子電機領域的門口還不久,也因此,其中會夾雜一些軟體領域的經驗 … 請鞭小力一些 …

我是一個離開學校後,就決定離開電子電機領域的人,以〈爪哇學校的危害〉的觀點來看,我就是屬於那群從電子電機課程中被「淘汰」的人 … 後來的十幾年,在軟體界還算活的下去 …

我一向是個會動手作些小東西的人,也許是因為這樣,近來因為接觸 Raspberry Pi 與 Arduino 的關係,卻讓我有機會開始去重新撿拾一些基本的電子電路知識,並改造一些東西,像是女兒的聲光玩具,這是個很神奇的體驗,離開了這領域這麼久,我以為我這輩子不會再去碰麵包板這鬼東西 …

近來我試著去瞭解,怎麼自己用 atmega328 拉出個基本的 arduino,也試著去翻一些 8051 的書 … 順便一提,《圖解電子實驗專題製作》這本書對現在的我,算是還不錯的重新入門書 … XD

這是很神奇的體驗 … 真的 …

我有沒有被 arduino 框住呢?天曉得,我只知道現在的想法是,把電子電機當作我業餘的興趣,玩個十幾年再說 … 我離開電子電機進入軟體領域,也差不多是十幾年 …

對我來說,學一件事東西,向來就有兩個方向,一個向上而下,一個向下而上,不同人適用不同方向,我 … 是屬於前者 … 我喜歡從如何應用開始著手,接著,再逐步深入瞭解這是怎麼作到的 …

我在軟體界從事教學時,是兩個方式都會用,有時間的話,我會自下而上,從基礎好好教學生們,沒時間的話,我會自上而下,在行有餘力之時,告訴學生,那些表面的魔術是什麼…

如果面對實戰式的課程,我還會從中間開始,比方說,我會教他們從無到有,從需求開始,逐步將既有程式重構,逐漸使得一個框架成形 … 我會教學生一個 IoC 框架怎麼出現的,一個測試框架怎麼出現的,一個 Web 框架怎麼出現的,近來,我是分享了,一個能使用 Java 8 Lambda 的程式是怎麼出現的 …

http://www.slideshare.net/JustinSDK/java-8-retrolambda

我不會覺得框架是毒藥,那是產能工具,只是一個產能工具,要怎麼發揮它的產能,那是在使用者的身上,你瞭解它,你就能操控它,你就能改造它 …

這種想法,在我接觸 arduino 的這些日子,也是這麼作的 …

arduino 一開始是教育工具,不過,近來確實也有些大公司瞄準了它,像是 Facebook 的 Parse for IoT,第一個支援的板子就是 Arduino Yun ...

我知道 Arduino Yun、Arduino Dun 等,是另一個層次的東西,不能與 Arduino Uno 等相提並論,不過我想講的是,從程式人的角度來看,Arduino 是「軟體」…

它明明就是硬體啊!不過,我在研究 arduino 時,除了將那些電路模組是如何組成,當成業餘興趣之外,我最常作的就是,閱讀那些程式庫的原始碼 … 這是我很擅長的事,瞭解這些程式庫原始碼,我就能知道原理,也能修改它 … 而不是直接修改電路(這目前的我還作不來,十年之後再看看 … XD)

我想講的是,想認真玩 arduino,最好是基於它往上建立更好的應用,或是從它作更深入的電子電路鑽研,前者我比較擅長,後者是我的業餘興趣 … 而不是停在 arduino 本身 …

我想,如果在從事教學時,該怎麼引導學生往上基於它建立更好的應用,或是從它作更深入的電子電路鑽研,你想教學生什麼?也許是我們該思考的 …

最怕的是,兩個都作不到 …

我雖然會從事教學,不過多是在業界,但知道,學校的教學其實有許多難處 … 這我不便置喙 … 不過,有機會到學校接觸學生,這會是我想傳達的事 … 讓學生們知道,往上基於 xx 建立更好的應用,或是從它作更深入的 oo 鑽研 ..

你想教學生什麼?... 決定了框架是不是毒藥 … 決定了 Arduino 是不是毒藥 …決定了 ooxx 是不是毒藥 …

也許 Arduino 真的是毒藥 … 因為吃了它,我神智不清地,開始重學電阻、電容、電感、電晶體、IC … 開始重讀微積分 … 開始重看工程數學 … bla...bla ...

其實 … 只要我們站在技術的時間軸上夠久,之後再回顧時,總是會看到毒藥,這時差不多真的就表示我們老了 … 然後,如果你再站久一點,就會發現,有人用這毒藥,建立了當初想都沒想過的應用 … 這時就不太能分清楚,這是不是毒藥了 …

Java 當初是毒藥 … 也有人說它是教育工具 …過了不久 … 有人開始說,那些框架是毒藥,但有人用得很爽,Rails 是徹頭徹尾的框架,連我都不是很愛用它,因為覺得它限制多,不過,我不愛用它,不表示我反對它,很多人基於 Rails 建立了很多極為有用的東西 …

教育從來就不是只有一個方向,如果一定得從基礎作起,那麼,現在一堆倡導人人學程式,從小學程式的,是怎麼一回事?帶一堆人用一些簡單的工具吃毒藥,然後,後來再來淘汰他們嗎?

最近一篇談傅里葉轉換的文章… http://blog.xuite.net/lapuda.chen/PaulBlog/221866406

我目前沒辦法分辨裡頭是不是完全對,不過,裏頭有句話我很認同 ...

「缺少了目標的教育是徹底失敗」

你想教學生什麼?你的目標是什麼,你學生的目標在你的教導下又是什麼?你想往上,或是往下,還是停留在 xxxx 本身?無論 xxxx 本身是 arduino、Java、C#、VB 或者是任何其他的東西 …

順便想知道一下,電子電路這領域,有沒有類似「重構」這種概念?

IngramChen 積分 1

蠻妙的說法,寫程式不都是在比誰寫的比較簡單嗎?把語言的難度當做是一種目標.... 呃....

zanyking 積分 2

當年做Unix 的覺得Windows 是玩具、寫Asm 的覺得用高階語言的不能真正認識電腦、而寫C/C++的覺得Java 太過簡化... 我是覺得這些說法都沒考慮這些『簡單』『偷懶』的東西是在訴求不同的價值矩陣,而在其瞄準的市場,那些比較高效的技術已經邊際效益遞減的厲害了。