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):文档中任何不想被打印输出的部分(不是真正的文档内容,联想读书时做的“读书笔记”,在旁边 ...
随机推荐
- 数据结构--树状数组(黑龙江省第八届大学生程序设计竞赛--post office)
例题来源: 题目: 1468: Post office 题目描述 There are N(N<=1000) villages along a straight road, numbered fr ...
- Python开发之【简单计算器】
开发一个简单的python计算器 1.实现加减乘除及括号优先级解析 2.用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * ...
- TarJan 算法求解有向连通图强连通分量
[有向图强连通分量] 在有向图G中,如果两个 顶点间至少存在一条路径,称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.非强连通图有向图的 ...
- Error during installing HAXM, VT-X not working 在安装HAXM错误,开始不工作
最佳答案 (Best Answer) Some antivirus options prevent Haxm installation. ie: Avast : settings (parametre ...
- TDD in Expert Python Programmin
Test-Driven Development PrinciplesTDD consists of writing test cases that cover a desired feature, t ...
- 分层开发MySchool总结
由于分层之间存在各层之间的关系窗体之间的方法跳转,故有需要者可以进行下载本地文件 MySchool.rar 3304KB 5/22/2016 9:43:28 AM ,代码中有注释,
- 使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
调用jQuery的ajax方法时,jQuery会根据post或者get协议对参数data进行序列化; 如果提交的数据使用复杂的json数据,例如: {userId:32323,userName:{fi ...
- 15Mybatis_输出类型
输出类型分为两种:1.resultType 和 2.resultMap 接下来先讲解resultType: 使用resultType进行输出映射,只有查询出来的列名和 ...
- Android View.onMeasure方法的理解
View在屏幕上显示出来要先经过measure(计算)和layout(布局).1.什么时候调用onMeasure方法? 当控件的父元素正要放置该控件时调用.父元素会问子控件一个问题,“你想要用多大地方 ...
- Python高手之路【八】python基础之requests模块
1.Requests模块说明 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写,真正的为人类着想. Python 标准库中的 urllib2 ...