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):文档中任何不想被打印输出的部分(不是真正的文档内容,联想读书时做的“读书笔记”,在旁边 ...
随机推荐
- 使用dbms_logmnr查看日志文件
大多为了寻找被意外修改的数据或者那条sql修改了哪些数据 如果是在线重做日志的话需要该日志是inactive模式下的 查询v$log和v$logfile获取相关信息 执行exec dbms_logmn ...
- android怎么连接sqlite数据库?
SQLite数据库首先先建立SQLiteOpenHelper()的子类实现SQLiteOpenHelper中的OnCreate()方法和构造方法. this class takes care of o ...
- 最小瓶颈路 Uva 534 Frogger
说明:关于Uva的题目,可以在vjudge上做的,不用到Uva(那个极其慢的)网站去做. 最小瓶颈路:找u到v的一条路径满足最大边权值尽量小 先求最小生成树,然后u到v的路径在树上是唯一的,答案就是这 ...
- Network client/server
<Beginning Linux Programming_4th> chapter 15 Sockets 1 A simple local client/server 1) clie ...
- 边工作边刷题:70天一遍leetcode: day 82-1
Closest Binary Search Tree Value II 要点:通过iterator,把closest值附近的k个closest找到,从而time降为O(klgn) in order i ...
- python3使用套接字遇到TypeError: 'str' does not support the buffer interface如何解决
这是我查看的博客 http://blog.csdn.net/chuanchuan608/article/details/17915959 直接引用里面的关键语句: When you use clien ...
- Linux搭建PHP+MySQL+Apache环境
环境: CentOS 6.4 MySQL详细安装可参考:http://www.cnblogs.com/yangxia-test/archive/2012/11/12/2766237.html Apac ...
- 关于 app测试工具
1. 腾讯的GT 2. testin 云测 3. monkey的自动化测试 4. 纯手工的功能测试.
- 让input框只能输入数字
var oInput = document.querySelector("input");oInput.onkeyup = function () { var value = th ...
- WinForm中异步加载数据并使用进度条
在WinForm程序中,有时会因为加载大量数据导致UI界面假死,这种情况对于用户来说是非常不友好的.因此,在加载大量数据的情况下,首先应该将数据加载放在另一线程中进行,这样保证了UI界面的响应:其次可 ...