HTML --- 让我们先从身边的语言下手,也就是现在无处不在的html+javascript+css。 之所以从html开始,是因为我们不需要配置一个复杂的开发环境,也许你还不知道开发环境是什么东西,不过这也没关系,毕竟这些知识需要慢慢的接触才能有所了解,尤其是对于普通的业余爱好者来说,当然,对于专业选手言自然不是问题。HTML是Web的核心语言,也算是比较基础的语言。 ###hello,world hello,world是一个传统,所以在这里也遵循这个有趣的传统,我们所要做的事情其实很简单,虽然也有一点点hack的感觉。——让我们先来新建一个文并命名为"helloworld.html"。 (PS:大部分人应该都是在windows环境下工作的,所以你需要新建一个文本,然后重命名,或者你需要一个编辑器,在这里我们推荐用sublime text。破解不破解,注册不注册都不会对你的使用有太多的影响。) 1. 新建文件 2. 输入
hello,world
3. 保存为->"helloworld.html",
4. 双击打开这个文件。 正常情况下都应该是用你的默认浏览器打开。只要是一个正常工作的现代浏览器,都应该可以看到上面显示的是"Hello,world"。
这才是最短的hello,world程序,但是呢?在ruby中会是这样子的
``` bash
2.0.0-p353 :001 > p "hello,world"
"hello,world"
=> "hello,world"
2.0.0-p353 :002 >
```
等等,如果你了解过html的话,会觉得这一点都不符合语法规则,但是他工作了,没有什么比安装完Nginx后看到It works!更让人激动了。
遗憾的是,它可能无法在所有的浏览器上工作,所以我们需要去调试其中的bug。
####调试hello,world
我们会发现我们的代码在浏览器中变成了下面的代码,如果你和我一样用的是chrome,那么你可以右键浏览器中的空白区域,点击审查元素,就会看到下面的代码。
``` html
hello,world
```
这个才是真正能在大部分浏览器上工作的代码,所以复制它到编辑器里吧。
####说说hello,world
我很不喜欢其中的<\*>*>,但是我也没有找到别的方法来代替它们,所以这是一个设计得当的语言。甚至大部分人都说这算不上是一门真正的语言,不过html的原义是
超文本标记语言所以我们可以发现其中的关键词是标记——markup,也就是说html是一个markup,head是一个markup,body也是一个markup。 然而,我们真正工作的代码是在body里面,至于为什么是在这里面,这个问题就太复杂了。打个比方来说: 1. 我们所使用的汉语是人类用智慧创造的,我们所正在学的这门语言同样也是人类创造的。 2. 我们在自己的语言里遵循着桌子是桌子,凳子是凳子的原则,很少有人会问为什么。 ###中文? 所以我们也可以把计算机语言与现实世界里用于交流沟通的语言划上一个等号。而我们所要学习的语言,并不是我们最熟悉的汉语语言,所以我们便觉得这些很复杂,但是如果我们试着用汉语替换掉上面的代码的话 ```HTML <语言> <头><结束头> <身体>你好,世界<结束身体> <结束语言> ``` 这看上去很奇怪,只是因为是直译过去的原因,也许你会觉得这样会好理解一点,但是输入上可就一点儿也不方便,因为这键盘本身就不适合我们去输入汉字,同时也意味着可能你输入的会有问题。 让我们把上面的代码代替掉原来的代码然后保存,打开浏览器会看到下面的结果 ```HTML <语言> <头><结束头> <身体>你好,世界<结束身体> <结束语言> ``` 更不幸的结果可能是 ```HTML <璇█> <澶�><缁撴潫澶�> <韬綋>浣犲ソ锛屼笘鐣�<缁撴潫韬綋> <缁撴潫璇█> ``` 这是一个编码问题,对中文支持不友好。 我们把上面的代码改为和标记语言一样的结构 ```HTML <语言> <头>头> <身体>你好,世界身体> <结束语言> ``` 于是我们看到的结果便是 ```HTML <语言> <头> <身体>你好,世界 ``` 被chrome浏览器解析成什么样了? ``` html <语言> <头> <身体>你好,世界 ``` 以 结尾的是注释,写给人看的代码,不是给机器看的,所以机器不会去理解这些代码。 但是当我们把代码改成 ```HTML