写Web类型的程序我使用过的服务器端语言有C#和Python。PHP稍Copy过几段代码,Asp很早听说过。C#我主要用来写Web服务比较多,C#这种强类型语言写Web不太爽,特别构造复杂的JSON数据结构的时候。
Python这语言很不错,问题是国内比较少人用,基于它的各种开源的中文文档比较少,社区比较冷,问个问题没人鸟。而且Python需要搭建额外的服务器,又得一翻配置,搞得人不像人,鬼不像鬼。
而且国内支持Python低价主机比较少,想买个空间玩下都有困难。我之前使用Python的一般用途是写局域内的Erp、OA之类的东西,还有就是在GAE上写点神奇的东西,可惜GAE给XX XX了,你懂的。
PHP的免费主机倒不少,国内用的人也多,社区够Hot,中文资料够多,可惜...我对PHP的语法特有意见。至于Asp,Asp好像不是语言,不是好像,确实不是语言!!! Asp(Active Server Pages),由微软公司开发的服务器端运行的脚本平台。
其支持的脚本有vbscript和jscript。微软出品的东西一向鼓吹简单,从而很多人认为Asp很简单,其中有一个理由应该是与vbscript有关,因为vb这语言就是以简单出了名的。还有很多人把Asp等价
vbscript,这可是有证据的,如果您在搜索引擎上搜索asp相关的问题大多是由vbscript实现的代码。
   才者 普洱茶 金普洱熟茶 云南茶叶金芽 特级 七子饼茶 特价 云南才者荷叶茶  纯天然 减肥茶 苗条纤体瘦腿 包邮
说到这里笔者似乎发现了点问题,为毛搜索出来的asp问题几乎都是vbscript的实现啊?这让jscript情何以堪?这想这成因是因为微软对vb和asp如何简单大力鼓吹的结果了。因为这一吹而不见了
jscript这森林,何以见得?最近所谓的node.js不是很Hot么?各种言论说要把jscript变成服务器端语言吗?一千只***奔腾而过,Asp这不是有了么?为毛就没人用呢?个人感觉还是与微软的鼓吹有关系。
jscript特别适合用来写web,无论是客户端还是服务端。可以见得?你用vbscript生成个json字符串试试?vbscript无论是序列化和反序列化都很不爽,像当今json使用频率这么高的年代,不使用jscript
是不是有毛病呢作为一个Asp开发者。

文章的由来:笔记是今年从一家做Erp的公司跳到一家做SEO的公司,做Erp那家公司使用的是Python。做SEO的这家公司的内部系统和一些客户网站是使用Asp+vbscript完成的。而我在这之前没写过asp
的网站,而我又必须快速接手公司的一些任务,而我的策略是API化,是Http协议的Api化。我使用C#写Web服务,然后让别的程序员在他们的Asp程序中调用我的Api。从而遇到一个问题,因为他们使用
的是vbscript,而我api传入和返回的数据都是json格式的,他们的做法是传参的时候直接拼字符串,但返回的不是二值结果他们的就麻烦了,就卡这里了,然后我唯有逼他们用jscript上阵,jscript果然好使!

从而我也发现Asp可以写得这么美!!!决定搞投奔Asp的怀抱,特撰此文以飨读者!!!

选择Asp for javascript,非.net。的更多相关文章

  1. 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core

    ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...

  2. ASP.NET与非托管DLL的那些事儿【转+增】

    https://www.cnblogs.com/yeahgis/archive/2011/11/12/2246341.html ASP.NET与非托管DLL的那些事儿 环境VS2010 语言:ISO ...

  3. Cookies揭秘 [Asp.Net, Javascript]

    一,前言 Cookies想必所有人都了解, 但是未必所有人都精通.本文讲解了Cookies的各方面知识, 并且提出来了最佳实践.这是笔者在日常工作中的积累和沉淀. 二,基础知识 1.什么是Cookie ...

  4. JavaScript非阻塞加载脚本

    As more and more sites evolve into “Web 2.0″ apps, the amount of JavaScript increases. This is a per ...

  5. asp.net调用非托管dll,无法加载 DLL,找不到指定模块解决方法。

    最近开发一个项目,里面用到了非.net开发的一个dll文件接口,发现发布到window2003服务器上后,运行网站总是提示 "无法加载 DLL"D:\11\1.dll": ...

  6. asp.net javascript客户端调用服务器端方法

    如何用js调用服务器端方法.首先服务器端方法的格式如下 [System.Web.Services.WebMethod]        public static void serverMethod(s ...

  7. Python中dataframe数据框中选择某一列非空的行

    利用pandas自带的函数notnull可以很容易判断某一列是否为null类型,但是如果这一列中某一格为空字符串"",此时notnull函数会返回True,而一般我们选择非空行并不 ...

  8. asp.net && javascript MD5加密

    /* * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message * Digest Algorithm, as d ...

  9. 选择排序之javascript

    选择排序(Selection-sort)是一种简单直观的排序算法.它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放 ...

随机推荐

  1. Java学习个人备忘录之构造函数&this

    构造函数 概念:构建创造对象时调用的函数. 作用:可以给对象进行初始化,创建对象都必须要通过构造函数初始化. 一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数.如果在类中定义了指 ...

  2. Android 平台 HTTP网速测试 案例 API 分析

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/25996817 工信部规定的网速测试标准 : 除普通网页测速 ...

  3. css那些事儿2 盒子模型

    盒子模型是网页元素所占据页面窗口的矩形范围,是网页布局的核心基础之一,这里的盒子模型与我们平常收到的包裹类似. 一个包裹从内到外,分为真实物品部分,物品与外壳之间的填充区,外壳的厚度,当多个包裹放置在 ...

  4. JS高级 1

    关于string,number是大写,那么就是构造函数,变量不可能为null值,除非手动设置,要解除对象的引用的时候手动去除. in关键字操作数组的时候操作的是索引值,不是里面的内容,.在操作对象的时 ...

  5. QT分析之QApplication的初始化

    原文地址:http://blog.163.com/net_worm/blog/static/1277024192010097430321/ 在开始分析之前交代一下,一是分析的QT在Window平台实现 ...

  6. Visual Studio 2013中使用Ribbon For WPF

    1.首先需要 下载Ribbon For WPF.目前最新的版本是Microsoft Ribbon for WPF October 2010. 下载 链接: https://www.microsoft. ...

  7. bzoj4278[ONTAK2015]Tasowanie & bzoj1692[USACO 2007Dec]队列变换(Best Cow Line) 贪心正确性证明

    做法网上到处都有就不说了. 这题其实是之前做的….不过由于人太傻现在才想明白比较字典序进行贪心的正确性…. 方便起见,在两个串的最右端都加上很大但不相同的字符,避免第lcp+1个字符不存在的边界. 如 ...

  8. Django 2.0 学习(09):Django 静态文件(样式和背景图片)

    应用的定制化:静态文件 首先,在polls目录中创建一个名叫static的目录.Django会在该目录里面查找静态文件,类似于Django在polls/template目录下查找模板文件. Djang ...

  9. 【题解】JXOI2017颜色

    一眼线段树...显然,我们可以考虑最后所留下的区间,那显然这个区间中应当不能存在任何与区间外相同的颜色.这里的转化也是很常用的,我们用 \(nxt[i]\) 表示与 \(i\) 颜色相同的下一个位置在 ...

  10. bzoj 3280: 小R的烦恼 (网络流)

    和开发计划一样(数组开太小wa了好多次,然后为什么这么慢? type arr=record toward,next,cap,cost:longint; end; const maxm=; maxn=; ...