PHP @ 24 April 2008, “6 Comments”

月光博客上写了一篇Java在Web开发语言上败给了PHP,TSS上很早就讨论了,这回在月光博客那里又吵起来了,各说各有理,各有各的瘾,想起从前论坛上一句名言:人是不能被说服的,只有被打服。(哎,跑题了)

好,那又有什么理由说PHP比其它语言好呢,还绝对?

答案是:MM。

MM?是的, 美媚,women, female, , Frauen, fille,girls, chicks… (得,这么写,会被当作spam么?)

Tim Bray在OpenWeb and PHP and Women首先观察到:

there are way more women in the audience.

然后看看留言的解释或者解释,也都很有道理:

PHP being a language that is far better at attracting people without a formal training in programming.

I’d agree with the people who ascribe it to the move from designer to (often unintentional) programmer. I know several women who fit into this category, and unlike the women “programmers” that I know, I don’t know these women *because* they are programmers. These women don’t really think of themselves as programmers — it’s more an unintentional role they fell into in order to get things done.

Okay,标题党骗点结束。其实总结就是:对非程序员科班出身的网页设计师(很多是女性)来说,PHP是最容易迈入网站开发的语言。对已经有了静态网页设计的基础的他们来说,想要进一步实现动态页面,比如显示“早安/晚上好“或者显示时间,只要很简单一句话。接着就可以很快掌握提交的表单的处理,直接使用$_POST和$_GET即可,再下一步就能很快进入数据库操作,也不需要预先了解和加载驱动程序。

用Java呢?恩…我们要先有个类,什么?… 哦 … 让我们从介绍什么是类,等等,你们需要知道什么是面向对象,抽象地说形而上地来说每一个物体都可以看作是一个对象…对象有属性也有动作… ?*%#^%$水克火^&!%火克金&&*#@^法克由!@&~

这点上看,PHP最方便地提供了一个能够不断提供正反馈的学习,实践和进阶的过程, 能够让学习者很快get into the flow,同时也是最接近Web的语言。这能鼓励和吸引许多想要开发动态页面而又不是程序员科班出身的设计师和爱好者们。

为什么最方便呢,因为很普遍,绝大部分的虚拟主机服务提供商都会提供PHP环境,很少提供perl,ruby,java,python的环境(最近google推出的AppEngine算个特殊例子),这是它们的环境特性决定的,这也是PHP的一大优势之处,具体请看:What PHP Deployment Gets Right

至于讨论语言本身的优势和功能,争论哪个语言的代码的结构端庄优雅更出得厅堂入得厨房,咱就不参和了,The Daily WTF上看看,什么语言的都有的。

月光博客还提到一个问题:“而成功的Java网站却寥寥无几,这又是什么原因呢?”,原因很简单,都在吭哧吭哧埋头赚钱呢,全球许许多多的金融业(retail banking, corporate banking, risk management)企业的网站都是用Java实现的,另外,ebay和阿里巴巴也都是用Java。

Geek @ 13 April 2008, “3 Comments”

This meme is spreading in the tech/geek blogosphere these days, it’s fun to join.

$ history|awk '{a[$2]++} END{for(i in a){printf "%5d\t%s\n",a[i],i}}'|sort -rn|head
  237   git
   71   ant
   58   ll
   26   cd
   24   gvim
   19   sudo
   17   exit
   11   vi
    5   du
    5   cat

Some notes:

  1. I started playing with git last few days, that’s why it reaches the top, and I use esvn for most of Subversion commands, so svn won’t end up here;
  2. my laptop disk space is getting filled up, that’s why the du;

Now, what’s in your history?

China @ 09 April 2008, “7 Comments”

shaiese:

找一帮武警跑到人家国家里为个TOY当护卫,很锦衣卫,很纳粹。显示了泱泱大国不可一世的自卑。

WebDesign @ 09 April 2008, “3 Comments”

今天(4月9日)是今年的,也是第三个CSS裸奔日

嗯,如果你是在Feed阅读器上读到这里,是看不出来裸奔效果的,直接点这里看裸奔效果。

CSS Naked Day

CSS裸奔日的中文介绍页面上说活动目的是:

推动Web标准。简洁为美。使用正确的(x)html,语义标记,良好的层次结构。

碰巧,下午给刚来的实习生介绍HTML和CSS,跟很多毕业生一样,他也是没有DreamWeaver一类工具就不会做网页,从来没有接触过Web标准,更不要说相关的开发经验。因此期待能在短短的一个小时内让他体会到使用Web标准的优势是不可能的。

也许只有在实践中实实在在地feel the pain,才会开始欣赏简洁的符合标准的设计,和开发上提高的效率吧。

另外,在裸奔的时候,就能发现我现在的WP的主题不是非常好,因为Categories,档案,还有blogroll等的列表都排在前面,而正文反被摆在最后了。

测试了一下,裸奔时,WP还是可以留言的。

Photography @ 03 April 2008, “3 Comments”

那么,一定要看看这组照片,太牛B,太有创意乐。

布勒松!

Behind the Gare Saint-Lazare

卡帕!

Death of a Loyalist Soldier

还有那谁… 算乐,不在这贴乐,快去看吧

掰得胃,这里是张拍摄实景布置的照片

来源:PhotoshopLab

In Infoworld’s article, Java performance improvements touted quoted:

As your program grows in size, the lack of strong typing basically kills your ability to handle a very large program and so you don’t find the million-line Perl program.

In response, chromatic said:

the reason that there aren’t many million-line Perl programs is that the people who are capable of writing and managing million-line Perl programs have better ways to organize their projects than glomming a million lines of Java into a single shared-everything instance.

My reflection and thoughts:

  1. Interestingly, why the pick on Perl? not Python or Ruby or Lisp-flavoured ones?
  2. s/Perl/PHP/g or s/Perl/Python/g etc. on chromatic’s quote still valid and sound;
  3. Java => Strong typing? Not necessarily always;
  4. IntelliJ IDEA is the only reason I still code in Java, Eclipse? that would be another post;
  5. Vim (together with some bash scripts and esvn) has been my primary “IDE” for projects that involve php, python, bash and javascript;
  6. I have written Perl applications before, and would be very happy to pick it up for my next project if everything else fits (e.g. the team factor);
  7. When would I code in Java? most likely a project that:
    • being “enterprisy”, or
    • I am really interested to learn, explore and apply, e.g. Antlr.
Firefox, Web @ 01 April 2008, “2 Comments”

作为一个喜欢读书看碟的人,我一直把豆瓣当作非常喜欢且每天必上去转几圈的网站。可是最近的豆瓣越来越不让我喜欢,或者说不能让我越来越喜欢。在推出“广播”之后,最近推出日记,接着推出推荐网址,这对在豆瓣上找书看影评的我来说,不仅没有用处,“信号”降低了,“噪音”反而升高了。

我不想离开豆瓣,但是又不想受到这些干扰,就想干脆用GreaseMonkey扩展来写个脚本把不想看到的东西屏蔽掉吧,Keep It Simple, Sweet.

我的目的很简单,就是要把右边栏屏蔽然后把左边主要内容横向伸展开。试了一下,只要八行脚本语句就能暂时满足我的要求,这里要强烈赞一下豆瓣的开发团队,要不是他们写的页面代码很一致(嘿,页面也是API),脚本就可能很复杂甚至让我放弃这个念头 ;-)

脚本如下:

// ==UserScript==
// @name           mini douban
// @namespace      douban
// @include        http://www.douban.com/*
// ==/UserScript==

a = document.getElementById('tablerm');
if (a) a.setAttribute('style', 'display:none');

a = document.getElementById('tabler');
if (a) a.setAttribute('style', 'display:none');

a = document.getElementById('in_table');
if (a) a.setAttribute('style', 'width:100%');

a = document.getElementById('in_tablem');
if (a) a.setAttribute('style', 'width:100%');

好了,现在不妨趁机说说意见:

首先,我想我能理解豆瓣做这些新功能(比如在不断增加大量用户在读看听上的喜好和选择的数据基础上,可以尽量深入收集,发现和发掘更深层次的潜在数据),但是对我个人来说更希望能帮发掘更多的数据,这方面的服务似乎有提高的空间,举例来说,《枪炮,病菌与钢铁》这本书我看过了,很喜欢,可是豆瓣依然向我推荐繁体版和英文版,更不要说大量原英文版和翻译的中文版的技术书籍了,读了其中之一就不大会再读其它的,类似的问题还有不同版次的书(这方面技术书籍问题更多),在“豆瓣猜”的列表下,我该不该选“不感兴趣”呢?

Web2.0,长尾,Abundance,UGC,…. 在数据和信息越来越多的时代,我更需要的是提高信噪比。