作者neversay (子不语)
看板Web_Design
标题[情报]前端程式语言的霍格华滋 — Codecademy
时间Sun Aug 3 19:02:58 2014
网志版:
http://neversaycoding.tumblr.com/post/93667957767/codecademy
最近全球出现了一股学习程式设计的热潮,除了许多名人如Bill Gates推广程式
设计,政府推广程式设计技能,还有就是程式设计师的薪水随着市场需求水涨船
高等众多因素,吸引许多有志之士投身这领域。
但是程式设计本身并不是一个很好学习的东西,除了要学习基本的逻辑概念之外,
各种不同的语言有不同的目标平台与特殊的语法或语意,还有不同的API需要熟悉。
各种专门领域都有不同的领域知识需要学习。例如撰写密码软体需要有些数学背景,
撰写会计软体当然需要一定的会计知识。
程式设计有个特点,就是必须动手做才能学到。面对一本程式设计的书硬K苦读是不
会有用的。非得实际找到一台可以撰写、编译还有执行的电脑,然後亲自把书中的
示范程式码打进去,一行一行除错,一段一段程式理解,这样才有办法将这语言学
起来。
有监於程式语言的这种学习特质,通常没有适当环境的学生,必须缴交学费到电脑
补习班诸如X匠或X承上课才能粗通一门程式语言。
不过到了线上教育的时代,连大学课程都有开放课程可以免费进修,建构电脑世界
的各种程式语言当然也有许多线上资源可以学习,国外的网站就列举了目前世界上
最受欢迎的前十大程式学习网站,其中第一个,也是最广为人知的,就是今天要介
绍的,前端程式语言界的霍格华滋 — Codecademy
(可惜答对题目不会有葛来芬多加十分)。
------------------------------------------------------------------------
Codecademy目前的课程注重在当红的前端程式语言例如基础的HTML/CSS/JS,以及常
用的函式库如jQuery,还有许多常用的伺服器语言,例如农民级的PHP或中产阶级的
Ruby与Python。想要学这些当红的网路时代程式语言,Codecademy都有!
最重要的是,它的学习方式是透过线上编辑器让学习者真的将程式码写出来,并且
即时将运算的成果显示出来,达到所见即所得的效果。让学习者可以即时得到回馈
并修正自己的错误。
[功能介绍因为图多所以略过,请看网志完整版
http://neversaycoding.tumblr.com/post/93667957767/codecademy ]
------------------------------------------------------------------------
上面的功能介绍完了,接着来聊聊一些比较实际的问题,也是我写这篇文章的原因:
如果想要从什麽都不会的新手成为可以独立编写网页的前端工程师,到底可以从这网
站学到什麽必备技能?
这里我整理了一张有志成为网页前端工程师的课程列表:
About you,完全没碰过程式也没碰过Codecademy的人必备的课程,教你如何使用
Codecademy的介面,并且教导一些最简单的HTML概念
Sun, Earth and Code,藉由一个有趣的例子教你CSS与HTML互动的概念。毫无经验者
可以在这个带来成就感的小课程里学到现代的CSS可以有多强大。
Make a Website,一个比较复杂的HTML/CSS实作案例,他也介绍了CSS框架的概念,
藉由Bootstrap这个广受欢迎的框架让你学到简单几个class画出有水准的页面。
Animate Your Name,简单的JS教学,藉由引入jQuery以及一个plugin让你见识JS
在前端页面的强大。
Build an Interactive Website,一个进阶的课程,让你学习第一个JS函式库 —
jQuery。这课程有点困难,因为他的课程提示不是很显明,常常需要按下”Get
a hint!”偷看答案。但是你可以在此认识jQuery的基本语法还有他的强大。
HTML & CSS,正规的HTML / CSS教程。从零开始把所有最常用到的HTML元素与CSS规
则介绍给你。上完此课程你应该就有能力解读一个普通的HTML页面。
JavaScript,正规的JavaScript课程,从无到有学习JavaScript的用法。学完之後
你应该能理解一般的程式语言都会有的共通特性如函式宣告,条件判断与回圈,以
及JS特有的功能如JS物件,JS阵列等。
jQuery,完整的jQuery基本课程,学完之後应该就能从jQuery为出发点,掌握各大
JS函式库的基本原理。以及对一般使用jQuery的页面做出分析,并学习他人的用法。
如果想要更精进jQuery的技术,请上他们的学习中心学习,虽然是全英文,但是已
经到了这个地步,花了如此多精力与时间,想成为技术高手的热情已经熊熊燃起,
区区英文应该是难不倒你的吧!
------------------------------------------------------------------------
如果想要更进一步成为真正的前端程式设计师,只了解浏览器端的语言是远远不
够的。大部分的前端程式设计工作通常也包含了伺服器的部份,也就是负责产生页
面的伺服器所使用的语言你也必须知晓才对。跟浏览器端由HTML/CSS/JS统一天下不
同,许多网站用的前端伺服器都不一样,你可以选择下面的课程择一学习:
PHP,最多人会的伺服器语言,通常安装於最受欢迎的apache网页伺服器时也会一
并安装,所以许多网站服务提供商最常提供这种服务。学习门槛也最低,如果你是
初入前端程式设计的新手,建议先学懂这个语言,你会发现用到他的机会不少。
Python,Youtube等知名网站使用的语言,老实说不是很喜欢它用排版当scope的特
性,但是因为他的简洁与多种用途,学了他不只能用在前端伺服器,它在一般应用
程式也有一定的市场。
Ruby,另一个广受欢迎的语言,以它为基础发展的Ruby on Rails是近年来国外很
流行的快速架站架构。
NodeJs,如果你学了JavaScript但不想学其他语言,那完全以JavaScript架构出来
的NodeJs绝对是你的首选,但是Codecademy尚未建构它的课程,想学的请移驾Node
入门这本书的电子页面。然後到Koding.com申请帐号来练习吧。
------------------------------------------------------------------------
说了这麽多,就我个人的感想而言,这是个非常优质的程式学习网站,尤其他主打
前端程式设计这个进入门槛较低且不用特殊准备开发环境的领域,课程设计的也非
常有层次,不会让新手一下子就栽进一堆术语中,以及面对问题却没有解答可参考
的窘境。
对於老手也能达到温故知新的功效,并且有多样化的语言可以学习,让程式设计师
们可以在工作之余学到新的语言、新的API用法,怎麽看都非常有用。虽然我觉得
它在社交以及经验交流的部份可以做的更好,让老手与新手可以藉由讨论区快速交
换经验。
目前它将这些功能摆在比较不起眼的地方,也没有通知或订阅功能,主页面也没有
地方可以一览所有热门问题,就一个教学网站而言这点是比较可惜的。
但无论怎麽说,这个网站真的值得一探!
Happy Coding day!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 50.156.87.148
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Web_Design/M.1407063782.A.23C.html
1F:推 gn00499901:谢谢分享!!这两天来看看!! 08/04 02:26
2F:→ gn00499901:最近刚好想要学网页的程式设计:D 08/04 02:27
3F:→ TSW:PHP最多人会的"""前端"""伺服器语言.....你的前端定义.... 08/04 02:28
修掉了。虽然我一直觉得3 tiers layer里面产生网页的server叫做frontend server
应该不为过吧,相对於提供资料的伺服器叫backend server
4F:→ neversay:可能我跟你的定义真的不一样,我知道的backend是指 08/04 03:37
5F:→ neversay:RESTful/DB那端 08/04 03:37
※ 编辑: neversay (50.156.87.148), 08/04/2014 03:52:00
※ 编辑: neversay (50.156.87.148), 08/04/2014 03:53:07
6F:推 TSW:一般的情况下的确会称呼对外的伺服器为"前端",内部的伺服器 08/04 04:17
7F:→ TSW:为"後端",但是这单纯是在指"实体机器"。 08/04 04:18
8F:→ TSW:如果你把一个网页伺服器视为一个整体,那所谓的"前端",其实是 08/04 04:20
9F:→ TSW:使用者那端的人机介面,换句话说就是浏览器、HTML、CSS、JS, 08/04 04:24
10F:→ TSW:负责画面表现与处理使用者的输入。 08/04 04:25
11F:→ TSW:而後端负责将使用者输入的结果作处理然後产生输出。 08/04 04:28
12F:→ TSW:总之,最随便的分法就是把网际网路摆中间,跑在使用者那边的叫 08/04 04:33
13F:→ TSW:前端,跑在伺服器这边的叫伺服器端或後端。 08/04 04:33
14F:推 TSW:修正一下,"实体机器"这个讲错了,应该是"伺服器实体"才对。 08/04 04:37
15F:→ TSW:当你的单位是伺服器的时候,这台伺服器负责面对使用者,那台伺 08/04 04:40
16F:→ TSW:服器负责跑资料库,所以这台简称前端,那台简称後端。 08/04 04:42
17F:→ TSW:当你的单位是一支应用程式的时候,这块CODE负责面对使用者,那 08/04 04:42
18F:→ TSW:段CODE负责做各种处理,所以这段称为前端,那段称为後端。 08/04 04:43
19F:推 yanggh:理解类似T大所言+1 08/04 08:29
20F:推 kindhearted: 推好网站 08/18 12:09