几种主流网页开发语言的思考(下)

其实,我觉得我这篇东西还是写得很肤浅……觉得,是不够格发到首页上来的,但是,我觉得,如果我发上来,会有很多人看到,会有很多人批评我,而这些批评能够让我知道更多的东西。我很自私,所以,我还是放到首页来了。下次不敢了……谢谢大家……

原文网址:
http://www.blogwind.com/Wuvist/16152.shtml
 



之前写过一篇 《几种主流网页开发语言的思考(上)》,有一位属名“cai”的朋友回复说:“只能说一句,太肤浅了...”,我现在完全的同意他/她的观点……

 

不知道他/她有没有机会看到我这篇blog,如果看到的话,希望他/她能够顶句“现在不那么肤浅”之类的话……

在国内泡网的人们,应该对动网论坛很熟悉,曾经有一段时间,动网论坛几乎就成了中文论坛系统的代言词。

它是一个ASP + Access或MS SQL的论坛系统。我也一直在用,不泡论坛很多年,不过我知道的使用动网的论坛有:狮城论坛蓝色河畔瑞丽女性

这三个论坛,同时在线人数应该都有数千逾万的记录。

动网论坛曾经很流行,很好用,问题是,只要一旦它被发现有什么漏洞,相信所有使用它的网站都会深受其害,相信也包括刚刚列举的这三个论坛。


 

我想,这说明asp的两个问题。

第一:ASP程序种类比较少,动网论坛从来就不是一个最好的论坛程序,虽然,它很不错,但是也不至于好到全世界都在用它的程度。以致它一有漏洞被发现,中文论坛就天下大乱。动网之所以流行,是因为除了它以外,没有其他太多好用的ASP论坛系统了,特别是中文的。

ASP在国内之所以流行,是因为在国内windows流行。我是说,盗版的windows。而且,大家习惯性的认为asp比较容易学。很多初学者刚学做网页开发的时候,默认的就冲着asp去了,毕竟windows/IIS/PWS/ASP这些东西都来自熟悉的微软。好歹脸熟,学起来“快”。

而在国外,微软往往是臭名昭著的,php才是初学者们的选择。

而且,国内的严重缺乏开源的气氛。国内的程序员,很难有条件去做一些开源的事情。好不容易写出来一套系统,自然是要拿出去卖钱的,怎么可能免费放在网上让全世界的人去用呢?他们需要靠这个来养活自己。而,国外的程序员,并不存在一个这么个生存的问题。

认识两个在汕头的asp程序员,中专毕业而已,他们应该算是很努力, 很上进的中专生了。他们的asp水平是很好很好的,因为,他们的工作要求他们很好的去掌握asp。我的asp是跟其中一个人学的,到现在,我的asp水平也绝对在他们之下。但是,现在的我所知道很多与网页开发相关但是又不是属于asp的知识,他们便不知道了。他们是不会有闲情逸致来写blog的,更不可能去开发一套开源的程序,尽管,他们有这样的能力。

不妨看看:http://en.wikipedia.org/wiki/List_of_wiki_software

这个网页里面搜集了基于不同各种技术的wiki系统,其中使用微软技术(包括asp/asp.net/C++)的只有7个,而基于asp的,更是只有2个。而php base的,则有二十余个!

而且,基于asp的那两个都不是中国人写的。动网的流行,其实是一间很悲哀的事情。国内ASP程序员的悲哀。

我们或许友爱,但是我们缺乏一个互助的大环境……

我要做一个支持多模板的网站系统,如果,我是php程序员的话,我会考虑使用smarty。但是,如果我是一个asp程序员,有什么可以给我用的呢?

不是说asp在技术上做不到这些,而是说,没有人愿意并且能够去做。

 


 

动网论坛泛滥说明的第二个问题,我觉得则是安全方面的。

作为一个微软的fans,我不愿意说微软平台的安全性很差;事实上,它并不是十分的差。但是,当动网论坛的漏洞被发现,连一个大学都考不上的中学生凭着几本所谓的“黑客”杂志便可以将整台服务器的所有数据摧毁,那么,即使微软平台的安全性不是十分的差,这些服务器的管理人员的技术水平则绝对是差到了极点!

 


 

幸好,asp.net的情况,要比asp好很多了……

至少,我在博客园博客堂感觉到的技术交流气氛还是很不错的……亦时不时有人愿意分享一些技术上的心得,乃至一些开源的代码。

当然,这两个博客网站还只是个起步,跟老外的source forgecode project等比起来,还是有着天渊之别。

所以,学电脑是一定要会英文的。事实上,学什么不需要会英文呢?

国人似乎对大学教育中的四、六级英文考试怨声载道。但是,连英文都没法学好的所谓大学生,难道就真的能够在学术上获得些什么么?去读专科算了……

 


 

扯远了……

本来,我一直都是很抗拒java的……我一直认为类似的技术,学一种就好了,学太多对自己是没有好处的……我已经选择了.net,那么,我就要对java说不……最近,我是迫不得已才去学j2ee的……

学了之后,我才猛然发现,原来还有这么这么多精彩的事情我之前完全不知道……

首先,类似的技术不是学一种就好的……且不论学太多是否有好处,学太多是绝对没有坏处的……

事实上,我慢慢发现,身边便是有很多精通多种技术的人……同时精通C++/J2EE的人有……同时精通C#/J2ME的人有……注意,我说的是精通,真的是精通……

当然,这些人是属于少数……但是,作为大多数的普通程序员,对不同技术有一定了解,应该还是很有必要的……

能够做到精通,这看各人的选择与环境。但是,了解是绝对有必要的,否则就是井底之蛙。

我一直是做asp.net + ms sql的开发的,我很习惯于使用N-Tiers的设计模式以及ms sql的储存过程,博客风使用的存储过程已经有超过百条了。

我曾经对于数据类的这种的东西很迷惑……“数据类”其实是我自己起的名词,因为我以前不知道它究竟是什么……学了J2EE之后,我才知道了……那样的做法正确的名称应该是ORM-Object Relation Mapping,在j2ee里面,这些类叫做Entity Bean。

初步了解J2EE之后,对asp/php的感觉可以用两个字来表达:“玩具”。

J2EE才是用来做大项目的,asp/php就是给那些只需要一台服务器用的小网站玩的。

没有J2EE里面所坚持的框架,没有EJB,asp/php怎么把一个网站分布到多台服务器上?

是的,也许会有办法,但是,不成系统,做出来的是作坊式的东西,在J2EE刚出来的时候,大的项目,便只能使用J2EE了……没有别的选择。

微软的.Net出来得太慢了……

在我的心目中,java没有什么好的地方……慢……所谓的夸平台有的时候,根本就是个笑话,特别是在J2ME上面……C/C++才是夸平台的……但是,它出来得即时,市场有这些需求,而在java刚出来的时候,除了java,没有别的什么东西可以满足这些需要……java即使再慢,开发效率再低,你也只能用它……

问题是,sun似乎很不争气……就好像IBM创造了PC,但是,IBM的PC却卖的没有别人好……

Sun的Application Server,在收费的时候,干不过BEA的web logic;在免费的时候,又干不过JBoss……

IBM算是java阵营的中流砥柱……不过,最近,我却在它的网站上面看到这样的文章:
Ruby on Rails 和 J2EE:两者能否共存?

连Ruby on Rails这种日本人搞出来的开源框架都能够在Java阵营中引起轩然大波……IBM都在将它与J2EE相提并论,java还有前途么?

跟不要说虎视耽耽的微软以及它企图“One runtime to rule them all!”的.Net了……

这是一个纷乱的战国……业界的巨头,以及开源的志士们都在争斗……他们的东西,都有各自的优点……

记得我曾经看过一个MSDN webcast……具体名称以及下载地址找不到了……不过,印象还是很深刻的……是演示如何在VS.Net 2005里面使用DataGrid,通过简单的鼠标拖放以及极少数的代码实现对一个数据库表格的显示、修改、删除。

当时,我看后觉得很震撼……原来,一些我曾经反复做过的事情,可以变得如此简单……

最近,我则看了Ruby on Rails的介绍视频:Show, don't tell!

同样很震撼……

其实,ruby的这个视频跟我之前看过的MSDN webcast没有什么不同,它们都企图向程序员们说明使用他们的技术将会使对数据库进行CRUDS((Create)、 读取(Read)、 更新(Update)、 删除(Delete)和搜索(Search))操作是多么惬意的事情。

他们背后的技术完全不同;但是,他们所实现的事情是一样的;他们想要达到的目的也是一样:给自己的技术打广告,让更多的程序员使用他们的技术。

Well……其实,技术只是用来实现一些实际的东西而已。这些技术视频,其实纯粹的就是广告,它们相对于程序员;就跟电视里面“好记星”的广告相对于学生们一样。

用了VS.Net 2005或者Ruby on Rails的程序员,就好像买了好记星的学生一样,一时间似乎无比牛X……背单词从来没有如此轻松过……CRUDS也突然间简单无比……

问题是,背好单词不代表着学好英文……会CRUDS亦不代表着会做网站……

 


 

不知道怎么继续了……

 


 

对了,说漏了一点……在国内JAVA阵营的论坛中,比方说Hibernate.org.cn(哎……忘了说hibernate了),Jdon等……都有很好的技术讨论气氛……比博客堂、博客园的氛围还要好些……而且,讨论的技术深度亦要比.Net的阵营的要深……不过,这个现象,记得在博客园上,曾经有过蛮激烈的讨论了……

 


本文转自 Wuvist 51CTO博客,原文链接:http://blog.51cto.com/wuvist/847755

  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 扫一扫,分享海报

世界上有很多有趣的编程语言,但载它们、安装编程环境可能会是一件非常耗时的事情, 而你很可能只想试一。好消息是,你可以直接在浏览器里运行很多的编程语言,通常还有 附带有一些教程来指导你了解基础知识。 学着《七周七种语言》这本书的模式,面是更简洁的版本。 动态语言 函数式编程语言 Web 语言 秘教语言 浏览器IDE 提升级别 动态语言 厌烦了长时间的编译、渴望一种轻量级的脚本环境?动态语言一定会让你喜欢。 尝试Lua语言 Lua是一种轻量级的动态编程语言,对协程(coroutine)有着很好的支持,因为有着简单的C API,使得它在游戏视频脚本处理方面非常流行。比如游戏引擎LÖVE 和Marmalade Quick。 尝试Clojure语言 Clojure是大演讲家Rich Hickey的智力结晶,它是一种最古老的编程语言LISP的后裔。关于 Clojure语言的社区很多,我最喜欢的一个Clojure项目是Sam Aaron的Overtone,一种即时 音频编码工具。 尝试 R 语言 (需要简单的注册) R语言是一种统计及图表技术的免费语言环境,有着大量的用户提交的程序包。你在思考如 何画一个鸡蛋吗?试一吧。 十分钟学习十种语言 - 4 - 本文档使用 看云 构建 函数式编程语言 函数式编程的思想已经渗透到了大多数主流编程语言里,从C++到VB。然而,如果想真正的 体验函数式编程的富于表达特征,你需要一种以函数式为主的语言。 尝试Erlang语言 Erlang绝对是一种非常有趣的语言,它能帮你打造永不宕机的高容错并行系统。它提供了非 常棒的模式匹配能力。有很多的产品应用和工具都是用它开发的,包括RabbitMQ消息系统 和分布式数据库Riak。 尝试Haskell语言 Haskell语言深度的依赖Miranda编程语言,Miranda在80年代和90年代用于英国大学的教 学。Haskell在此基础上增加了Monads和Type类,在一些大学里仍然有它的课程。它也非常 流行于学院研究方面。 尝试OCaml语言 OCaml语言很像Miranda,是基于ML编程语言,在其中增加了面向对象结构。F#语言是基 于OCaml语言的,甚至还有它的一个兼容模式。OCaml在业内仍然有使用,例如Jane Street Capital 和 XenSource。 Web 语言 我们已经知道有太多的语言可以编译成JavaScript语言。但仍然有价值看一JavaScript语言 的一些新功能特征。不妨看看去年Brendan Eich在Strangeloop上的一个谈话,题目是 《The State of JavaScript》。面是3个我认为非常有趣的脚本语言: LiveScript LiveScript是CoffeeScript的间接后裔,有着函数式编程特征,例如模式匹配函数函数组合。 有兴趣的可以看一10 LiveScript one liners to impress your friends。 尝试 Elm 语言 Elm是一种函数式兼反应式(reactive)语言,适合开发高交互软件,包括各种游戏。反应式编 程是一种有趣的趋势,我认为一些专门针对此设计的语言值得去研究一。 PogoScript 不幸的是,没有针对这种语言的在线编辑器,但有一个命令行工具REPL。PogoScript适合 做DSL开发,它能允许函数名中有空格。 秘教语言 秘教(Esoteric)语言基本上是只写不用的语言,有点像Perl,但用来娱乐。 十分钟学习十种语言 - 5 - 本文档使用 看云 构建 尝试Brainfuck Brainfuck是编程语言中的魔方。我去年用纯JavaScript开发出这个网站,你可以试一fib的 例子。 浏览器IDE 因为网上有这么多用来尝试的编程语言在线环境,可以推想,集成开发环境(IDE)也可以放到 网上。可以预见以后不需要再等4小时来安装Visual Studio了。 Cloud 9是一个在线的开发Node.js应用的平台,集成了各种相关程序包。像Sploder这样的 工具可以让你在线开发游戏。 Try F#网站无可争议的提供了广泛的学习这种语言的功能。云Tsunami IDE也提供了大量的 学习开发F#的工具。CloudSharper也很快会提供一个利用WebSharper开发F# web应用的 IDE。 提升级别 一旦用一种新语言完成了一些简单任务,你就可能想着提升到一些稍微大的任务上。我喜欢 做Kata Catalogue里的一些习题,例如FizzBuzz,Game of Life 和 Minesweeper。 有些人喜欢研究Project Euler里的问题,另外一些人有自己的Hello World应用。比如 Martin Trojer,这是一个Scheme解释器。而Luke Hoban在开发一个Ray跟踪器。。 我建议去参加一些本地的研讨学习小组。伦敦Scala语言交流会每月都有一个编程活动, F#unctional伦敦人交流会刚好在月中有一个会议,一次是关于Machine Learning。 在每节后面有问题和习题的编程书籍是很好的学习工具,可以练习你学到的知识,但这样的 书很少。最近出版的《Functional Programming with F#》是一个很优秀的例子,它的每 章后面都有问题习题。 也许几个小时你就能熟悉一种语言的基本知识,但熟练掌握至少要几个星期,而精通,那就 要至少几个月了。 想写出自己的编程语言吗?Pete Sestoft的《程序设计语言概念》对这个主题提供了很好的 介绍。 十分钟学习十种语言
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值