上海行:陳正翔與 Mind+,最簡易圖形化編程工具

2013-5-23, 16:15 | 陳一斌 程序員

_DSC0022_1

在遺失的錄像裏,喬布斯提到,每一個人都應該學習編程,促進本身思考。但事實上,程序員的世界仍然是大部分人難以企及的。好比說,我最近在學習 Processing_這是一個開源編程語言,經過它,許多人編寫出美輪美奐的做品,但輪到本身,一些看上去很簡單的事情,卻感受很是複雜。我真正體會到了隔行如隔山的含義。 編程

當下,開源硬件創業如火如荼,看上去 Arduino 已經十分簡單,可以將每一個人變成能工巧匠。有人跟我說,Arduino 其實是很是簡單的東西,只至關機械工程專業大一大二的水平。即使如此,咱們提到編程,提到將不一樣的電路板鏈接起來,仍然以爲至關困難。編程,對於普通人來講,仍然難以企及。 網絡

正由於普通人學習編程容易遇到各類各樣的障礙,因此陳正翔和他的同事們從去年開始開發出一款簡單的 Arduino 編程工具,下降 Arduino 的上手難度。這款工具叫 Mind+,是一款圖形化編程工具,裏面已經將各類各樣 Arduino 相兼容的硬件模擬成一個個模塊,可以在避免敲代碼的狀況下進行編程。它最重要的特性是,所見即所得。 框架

_DSC0028_1

在 DFRobot 的辦公室,陳正翔爲我演示了 Mind+ 的使用。好比說用 Arduino 的板子連上一個開關來控制一盞燈,那麼只要打開 Mind+ 找到相應的模塊,而後把它拖出來,而後在界面中的 Start 那邊連一根線出來,再鏈接到模塊的引腳上,弄清楚模塊與模塊之間的關係後,就能夠結束編程。而後,陳正翔選擇相對應 Arduino 主板的型號,將編好的程序拷進主板——拷錄的過程很迅速,不到一分鐘便可完畢。最終,咱們獲得了按下開關,便可打開/關閉電燈的燈具。 編程語言

以上,僅僅是 Mind+ 簡單的實現,但不意味着 Mind+ 使用簡單,就不能實現高級的功能。陳正翔後來又演示了一遍,這一次,他增長了一個 Delay 模塊,讓這盞燈可以長按以後才亮,或者一閃一閃的。由於 Mind+ 將大部分 Arduino 兼容的硬件都放進庫裏。除了燈之外 ,他還當場製做了一個簡單的遙控小車,無線控制電燈的開關,以及能夠變換圖樣的 LED 燈,整個過程在一個小時左右。 工具

20130513_172723

以前,陳正翔在北京、上海等創客空間都舉辦了工做坊,一方面是在圈子裏擴大影響力,一方面是直接面對用戶,得到用戶最真實的反應。他告訴我,基本上,即使是從零開始用Mind+學習 Arduino 設計,像他這樣設計出電燈開關、無線電燈開關、遙控小車、LED 燈,也不過是一個上午或一個下午的事情。 學習

我注意到,Mind+ 的設計是比較清晰的,至少在經過這個工具來設計的時候,不容易感受到混亂。好比說,不一樣接線的引腳,到用不一樣方向的三角形來表示「輸入」或「輸出」。Mind+ 中,各個模塊都是經過「引線」來鏈接的,爲了表示信號傳遞的方向,他在引線上加入了「行爲流」的設計,在引線上加入發光的小點,令它們朝着一個方向運動,簡單直觀。 測試

_DSC0033_1

僅僅是小小的細節,陳正翔也通過了反覆的測試和思考。好比說,爲何 Mind+ 會用三角形來表示「輸入」或「輸出」的接口呢?由於不論是圓形、菱形、正方形、橢圓形,仍是各類各樣的形狀,他和同事們都作過測試,最終發現三角形的效果是最好的。他們也曾經碰見過比較奇怪的需求,有人曾經提出讓接口的形狀變成動物的腳,這樣一個模塊能夠變成一種生物的形狀。 ui

提及圖形化編程,MIT 爲了激發更多幼兒、普通人對程序員世界的興趣,2006 年就研發出 Scratch圖形化編程語言。它的表現方式是將編程語言裏不一樣的模塊,模擬成一塊塊積木,編程的過程就是將積木拼接在一塊兒。這種圖形化編程的方式及大地影響了圖形化編程工具的後來者——如今,Arduino 並不缺少圖形化編程工具,在圖形化程度上,甚至比 Scratch 更深,但陳正翔仍然以爲不滿意。 spa

像 Scratch 這樣的圖形化編程,最初的想法是把代碼變成圖片,因此用 Scratch 編程,仍然是以程序員的思惟、邏輯來進行的。而 Mind+ 則徹底拋棄了代碼。你爲何須要代碼?你不是但願給機器編程,你只是但願機器按照本身但願的方式工做。因此,Mind+ 與許多傳統的圖形化編程工具不同。

事實上,我也注意到了 Arduino 確實已經有很多圖形化編程的工具,它們之間甚至能夠說是類似的。陳正翔的電腦桌面上有一個文件夾,裏面放滿不一樣圖形化編程工具的截圖,進行了一輪橫向對比以後,能夠發現它們的思想基本上是 Scratch 的復刻,而圖形化的方式,僅僅是拼圖的形狀不太同樣,或者是橫向,或者是縱向,總之「一看就知道是一樣的東西。」而後陳正翔到網絡上找了最近網友惡搞韓國選美的 GIF 給我看,上面的美女幾乎是同一個模子印出來,這正是陳正翔對當下 Arduino 圖形化編程工具最不滿意的地方。

rex

這是陳正翔在開發 Mind+ 期間,所收集到的各式各樣的圖形化編程工具,看上去千篇一概

開源可以促進軟件行業的發展,但也是把雙刃劍.陳正翔認爲,某種程度上,開源也抑制了創造力。陳正翔所收集的圖形化編程工具裏,都是開源的,基於同一個框架修修補補,「沒有人願意跨出那一步,去徹底打破這種方式。」

咱們是全部圖形化編程工具裏最晚開發的,可是這也給咱們很好的對比的機會,咱們找了全部的圖形化編程軟件,不論是任何領域,仍是不一樣國家的,咱們都作好了分類,而後進行對比。基本上有兩派,一派是 Scratch 這種流派,徹底基於編程思惟的,一派是像咱們這種基於關係的。後者有小的分支,有的是基於關係流的,有的是基於時間順序的。

儘管我在他電腦的桌面上發現了「商業計劃」這個文件夾,但關於 Mind+ 的將來,陳正翔認爲,它仍然應該是服務於大衆的免費圖形化編程工具。只不過,Mind+ 軟件或許會跟一些開源硬件打包在一塊兒出售。如今 DFRobot 上,就有相似的產品。

陳正翔說,將來 Mind+ 將開放 SDK,或者說各個模塊的設計工具,甚至還會有一個雲端,方便每一個人添加 Arduino 兼容的硬件模塊,並上傳到網絡上共享,並開發移動版。說實話,模塊庫可能纔是 Mind+ 最有價值的部分。

_DSC0041_1

在 DFRobot 辦公室的白板上,畫着 Mind+ 的設計草圖

咱們詳細地介紹了 Mind+,卻還沒介紹陳正翔本人。他 1989 年出生,是青島人,17 歲開始工做——是的,17 歲開始工做。我問他,爲何初中以後就開始輟學?他說:

由於中國式的學校是一個大樹同樣,咱們從小學就開始面臨選擇,多是就近上的小學。總之,小學初中不是本身選的,是政府選的。但這其實還好,你有錢能夠去私立學校,接受更好的教育。可是初中升高中,就是第一個坑,一個是升高中,另一個是職業高中,這就是很大的分水嶺。若是你上職業高中,那麼是另一條路線,是以職業技能培訓爲目的的。

看中國的教育路線,很容易知道本身 30 年以後的成就,甚至很容易看到本身孩子的道路。因此必須改變這個秩序。

因此,你看,只要你進入一個坑,那麼你一生都在裏面,想爬出來不容易。因此我選擇了退學,離開了這個坑,本身爬出來。

想逃脫被預約好的人生,想逃脫令本身不爽的環境,這就是陳正翔離開校園的理由。如今來看他, 不但沒有成爲不受社會所歡迎的人,反而成爲中國創客中的一員。

陳正翔平時比較喜歡本身騎摩托車旅遊,或者踩着滑板去旅遊,他比較喜歡自由自在的感受。一我的獨特的緣由,絕對不是由於外界,而是由於他本身。

相關文章
相關標籤/搜索