CoffeeScript及相关文本标记语言
粗步看了下CoffeeScript(简称cs),发现cs这玩意还是有些问题,当然最大的问题之一是缺乏称手的工具.要是能放VS里编译调试当然好.但是转来转去的,真不如直接多敲几个JS字符串.
问题之二就是JS作为通用的脚本语言,使用CS带来的问题是要在语法间切来切去的,如果个人用可以,但用在团队开发上,得有统一口径才行.虽然cs的lambda表达式不错,但是考虑到一系列的切换,还不如先使用JS精粹,再配置下划线应用.这比较符合现有的开发.
当然这里面比较遗憾的就是没有好用的lambda表达式了.但是,js可以通过类库来扩展,而cs却无法和js混合编程,总之,cs这个和node.js用应该可以,但现在用在网页里代替js,并非良策.应该再等等.
cs还利用了一些扩展的标记语言,比如yaml,这个是ruby借过来的,其实可以看出,cs更是一个ruby的替代方案,很多都是现成的.而这又不得不提到一个haml.一个xhtml的另一种形式.这给我了一些灵感,其实未来的脚本,编程完全可以"文本"化,把"数据","样式","逻辑"等通用一种通用,简单的标记融合在一起,最终分别编译成json,css,js,那不就是一个可运行的"软件"吗?这种模式可以用在一些局部,特殊的场合,比如象markdown,或者做试题,或者公式,病历卡等,这种比较专业的领域,形成一门领域语言,那么此领域的人简单学习,就可以用它生成本领域的程序,这种语言,很象现代语言里的方言,表式法或专业词汇.只要有它,不需要程序员,懂这专业人的就可以用写文章的方式去写程序.
haml还蛋生了一个scss(saas),类似于less的css,由此可见,css当年标准化的时候,做得比较烂,不直观,重复,但是haml替代html却出了些问题,因为不够直观.那么,less的确是项现在就可以使用的技术.
%section.container
%h1= post.title
%h2= post.subtitle
.content
= post.content
象这样的简单标记,可以编译成html,或者说,我们可以定义一种可以编译成html的标记,那么就可以用html做出些意想不到的功能.而angular就是这么干的,可见angular值得好好研究.它的directive是个好东西.这可能的确是未来html的方向.
CoffeeScript及相关文本标记语言的更多相关文章
- [Markdown]纯文本标记语言MarkdowPad2--MD语法知识
##1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // ...
- Browser Security-超文本标记语言(HTML)
Browser Security-超文本标记语言(HTML) 瞌睡龙 · 2013/06/19 18:55 重要的4个规则: 1 &符号不应该出现在HTML的大部分节点中. 2 尖括号< ...
- 轻量级文本标记语言-Markdown
Markdown简介 接触过github的都知道,在发布项目的时候可以建立一个说明文件README.md,这个md文件就是Markdown文本编辑语言的文件. Markdown 是一种轻量级标记语言, ...
- .NET回归 HTML----超文本标记语言(暂时无图)
HTML用来做网页,文件拓展名改为html可以形成网页 超文本标记语言==超越了文字的范畴,除了文字还可以有图片.视频.音频.动画特效等其它内容,由标记符号<>组成的一门计算机编程语言 H ...
- html超文本标记语言的由来
万维网上的一个超媒体文档称为一个页面:page,作为一个组织或者个人在万维网上放置开始点的页面称为主页:homepage或者首页,主页中通常有指向其他相关页面或者其他节点的指针,就是通常所说的超链接, ...
- 学习使用Markdown标记语言
学习如何使用Markdown进行文本编辑 使用教程 大家若是经常逛Github,就知道其中有一个文件叫做README.MD.我一开始也不知道这个.MD是什么意思,后来我自己写了一次,就知道了这一种 ...
- Markdown:纯文本进行网页排版的简单标记语言
Markdown http://daringfireball.net/projects/markdown/ 2016-08-03 Markdown是一种标记语言,对纯文本使用简单的标记符号进行网页格式 ...
- html标记语言 --文本标记
html标记语言 --文本标记 二.文本标记 1.h1-h6 标题标记,h1最大 2.font 字体设置标记 2.1 size字体大小.<font size="> 取值范围1-7 ...
- 12XML(可扩展标记语言)
XML:eXtensible Markup Language 什么是标记语言?什么是标记? 标记(Markup):文档中任何不想被打印输出的部分(不是真正的文档内容,联想读书时做的“读书笔记”,在旁边 ...
随机推荐
- 使用MongoDB C#官方驱动操作MongoDB
想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动.C#版的驱动有很多种,如官方提供的,samus. 实现思路大都类似.这里我们先用官方提供的mongo-csharp-dri ...
- MyCat 学习笔记 第七篇.数据分片 之 按数据范围分片
1 应用场景 Mycat 其实自带了2个数据范围分片的方案,一个是纯数据范围的分片,比如 1至 10000 号的数据放到分片1 ,10001 至 20000号数据放到分片2里. 另一个是数据常量形式的 ...
- nyoj 170 网络的可靠性
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=170 思路:统计每个节点的度,将度为1的节点消去所需要的最少的边即为答案. 代码: #in ...
- Luke 6:43-45
For no good tree bears bad fruit, nor again does a bad tree bear good fruit, for each tree is known ...
- [转]移动web开发中meta标签作用
今天在尝试做移动页面的时候遇到了一个问题,<meta content="telephone=no,email=no" name="format-detection& ...
- 矩阵乘法快速幂 codevs 1732 Fibonacci数列 2
1732 Fibonacci数列 2 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 查看运行结果 题目描述 Description 在“ ...
- 如何利用ZBrush中的DynaMesh创建身体(二)
之前的ZBrush教程我们在了解了人体比例和结构的前提下,使用ZBrush®软件中的Append功能和InsertSphere笔刷添加躯干.本讲将参照图片继续对“亡灵僵尸”的形体结构进行细致刻画和使用 ...
- python中*args和**args的不同
上一段代码,大家感受一下 def test_param(*args): print(args) def test_param2(**args): print(args) test_param('tes ...
- ZOJ 2674 Strange Limit
欧拉函数. #include<iostream> #include<stdio.h> #include<string.h> #include<algorith ...
- tomcat配置jenkins遇到的问题
在执行jenkinks时,遇到以下错误: 原因:未在tomcat/conf中的tomcat-users.xml中配置用户 解决方法:在tomcat/conf/tomcat-users.xml中添加以下 ...