<style> .reveal section img { background:none; border:none; box-shadow:none; } </style> # Ruby介紹 --- ### Ruby是啥? ~~能吃嗎?~~ ---- ![](https://i.imgur.com/qDUoTZj.png) <span>此Ruby非彼Ruby<!-- .element: class="fragment" data-fragment-index="1" --></span> ---- ![](https://i.imgur.com/4wslvVN.png) 這味才對 --- ### Ruby is an interpreted language ###### <span> 公尛<!-- .element: class="fragment" data-fragment-index="1" --></span> ---- ![](https://i.imgur.com/3BG81vt.png) ---- 一般最常接觸的程式語言: * (低 - 組合語言) x86 * (中 - 編譯語言) C/C++ * (高 - 直譯語言) JavaScript ---- ### 編譯語言(C/C++): <span>整份程式碼 ─(編譯)→ 機器碼 → 執行<!-- .element: class="fragment" data-fragment-index="1" --></span> <br><span> ### 直譯語言(Ruby/Python):<!-- .element: class="fragment" data-fragment-index="2" --></span><span> 一行程式碼 ─(直譯)→ 虛擬環境 → 機器碼 → 執行<!-- .element: class="fragment" data-fragment-index="3" --></span> ---- | 編譯語言 | 直譯語言 | | -------- | -------- | | 執行速度快 | 可立即得知執行結果、<br>動態執行 | | 撰寫規則(語法)<br>嚴謹 | 語法相對寬鬆 | | 開發速度慢 | 開發速度快 | --- ### 阿所以, 跟Python有啥差別? ---- ### 共通點<span> * 都有一堆內建的函式庫<!-- .element: class="fragment" data-fragment-index="1" --></span><span> * 撰寫相對簡單(e.g.鴨子形別)<!-- .element: class="fragment" data-fragment-index="2" --></span><span> * 直譯器(跑起來有點慢)<!-- .element: class="fragment" data-fragment-index="3" --></span> ---- | **Ruby** | **Python** | | -------- | -------- | | 社群主流為網站開發 | 社群主流為科學研究 | | Code直覺、優雅 | Code一般可讀性較高 | | 撰寫相對靈活 | 撰寫規則相對嚴謹 | | 資源相對較少 | 資源相對較多 | <br> <span> Q: 為什麼Ruby資源比較少?<br><!-- .element: class="fragment" data-fragment-index="1" --> </span> <span> A: 歷史共業<!-- .element: class="fragment" data-fragment-index="2" --> </span> ---- ### 最大的差異: 語言設計的"哲學" <br> <img src="https://upload.wikimedia.org/wikipedia/commons/f/f1/Ruby_logo.png" style="width:64px;margin:-10px"> <span> 一件事情, 應有不止一種方法去完成</span> <br><br> <img src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Python-logo-notext.svg/1024px-Python-logo-notext.svg.png" style="width:64px;margin:-10px"> 一件事情, 最好只用一種方法去完成 ---- ### 更多的比較: [Geeks for Geeks](https://www.geeksforgeeks.org/python-vs-ruby/) --- ### 優勢? ---- ### 更快的開發速度 ### 更彈性的coding style ---- ![](https://i.imgur.com/hr9r20F.png) ---- ![](https://i.imgur.com/9wicaBS.png) ---- ![](https://i.imgur.com/YQUFdXw.png) <span> Don't do this...<!-- .element: class="fragment" data-fragment-index="1" --> </span> --- ### 想要寫出魔法般的神奇code嗎? ### Welcome to Ruby! --- 教材參考: * https://www.tutorialspoint.com/ruby * 張欽圳教授與他的Python課程教材 --- 下一章: [環境架設](https://hackmd.io/@KAc1h0HBTd-XyG31w7-GDA/rJHYcGlBH#/) ``` ______ ____ ______ | ____/ __ \| ____| | |__ | | | | |__ | __|| | | | __| | |___| |__| | | |______\____/|_| source: http://patorjk.com/software/taag/ ```
{"metaMigratedAt":"2023-06-14T22:52:49.122Z","metaMigratedFrom":"YAML","title":"Ruby Introduction","breaks":true,"description":"Same as title","slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"28073587-41c1-4ddf-97c8-6df5c3bf860c\",\"add\":9863,\"del\":9386}]"}
    827 views