java
我的图弄的比较烂,弄出来秀一秀。
北京奥运会堪称壮观,强有力地震撼了人们的视听。不过,给我留下最深印象的是开幕式前对一家中国互联网公司的非正式拜访,以及与部分中国年轻企业家的对话。
这些中国人,无论男女,都聪明、敏锐、坦率,不害怕就中国及其将来表达自己的观点。最主要的是,他们充满自信和乐观,没 有愤世嫉俗,那种积极进取的精神让我想起鼎盛时的美国以及一路前进的任何国家。这些人没有恐惧,而是满怀希望地憧憬未来。尽管无数中国人仍生活在贫困当 中,尽管中国存在一大堆有待解决的政治、社会和经济问题,但正是这次体育盛会所表现出的精神将塑造该国的未来。
在担任英国首相的10年里,我亲眼见证了中国崛起为大国的步伐不断加速。我在演讲中谈论中国,但只是在理性上理解它。我 没有切实感受到,因而无法在政治上完全理解。自从离任以后,我先后四次访华,不久还将重访。人们问我这届奥运会将给中国带来什么?奥运会标志着一个新纪元 ———中国的开放进程已无法逆转。随着现代化中国的形象变得更清晰,对中国的无知和恐惧将会逐渐淡出。权力和影响力正朝东方转移。一些人视之为威胁。我把 它看作是巨大的机遇。但我们必须努力发挥想像力,必须消除任何残存的历史傲慢。北京给人的感觉跟我20年前首次访华时的中国印象有着天壤之别。中国人对他 们的国家及进步感到由衷自豪。
没有一个理智的中国人———包括该国领导人———会怀疑他们还有尚待解决的人权和政治及宗教自由问题。与此同时,也没有 一个理智的中国人(包括最西化的中国人)会怀疑他们取得的巨大进步。中国正在旅途中,它迅速地往前行进,但它十分清楚旅程尚未结束。观察家们应该设法指出 未完之旅,但也应该承认所走过的路程。
中国领导层为国内的发展问题忧心忡忡,这是可以理解的。理解中国的内部挑战是理解中国及其政治和心理的基础。我们欧洲有大约5%的人口分布在农业。而中国将近有60%。今后中国将寻求把数亿人从农村搬到城市。
对于中国来说,这种经济和社会的转型必须伴随着政治稳定。这样做也完全符合我们的利益。一个中国政策不属于放任的民族主 义。这是一个生存问题,关系到中国在现代化进程中能否以和平和稳定方式凝聚一心。这也是为什么西藏对中国来说不仅仅是宗教问题还是一个重大政治问题的原因 所在。
因此,我们理应继续通过对话就人们应该关切的问题与中国接触,但我们在这样做时至少应该考虑到中国的看法。这意味着西方 需要与中国建立牢固的伙伴关系,这种关系不仅扎根于经济,而且深入到政治和文化领域。事实是,倘若没有中国的完全参与,21世纪没有什么可以良好运行。有 关中国的崛起可能被夸大了。例如,欧洲的经济规模仍然大于中国和印度的总和。
但是正如奥运会及奖牌榜所显示的,事情不会一成不变。这是历史性的变革时刻。再过10年,到时人人都会看到这一 点。奥运 会如今已成为世界上最大的体育赛事,世人对体育的热爱使得奥运会成为能对现实的人们造成切实影响的事件之一。这届奥运会使世人一窥现代化中国的面貌,其效 果没有任何政治演讲能够做到。昨天,在我的办公室附近,我有幸“扮演”了一回北京奥运志愿者的角色。实际上,当两个迷人的游客(无疑是希腊人)向我问路时,我正准备利用中午休息 的时间到我工作地方附近的一个商业中心去剪头发。她们要找的地方就在附近的光华路。我很荣幸地为她们指了路。她们热情地感谢我,之后我遗憾地看着她们优雅 的古铜色美腿以及欢快轻摆的短裙飘离我的视线……啊,帮助别人是多么愉快啊!
我们开始看到着白蓝T恤的人无处不在。这是一些年轻或年长一些的北京奥运志愿者。周末时,我在紫禁城也从事过类似的工作,而且又经常爱为来自世界各地的游客提供帮助,在此,我冒昧地给志愿者中一些较年轻和经验不够丰富的人提供一些建议。
1. 愉悦自我并表现出来!我们是志愿者,这就意味着我们喜欢所做的事情。帮助处于困难中的人难道不令人愉快吗?(尽管 可能不是一对希腊女神……)我知道有些时候会很无聊(当没有人来问询时)和紧张(比如当我们无法回答提出的问题时)。但必须知道如何去战胜困难。好好感受 这次非同寻常的体验。微笑。让大家知道您为您所做的事情感到快乐。快乐是可以感染所有人的!
2. 这些简单的话语可以改变一切。这是我在美国旅游时学到的,在那儿,人们极具服务意识。因此,无论接待来自哪个国家 的参观者,请首先送上一句发自内心的问候“您好,还好吗?”当他们离开时,请带着愉快的笑容再送上一句“祝您度过愉快的一天!” “祝您游览愉快!”或“北京之行顺利!” 这没有什么难的,也不需要付出任何代价,但这却足以改变一切。请尝试学会用尽可能多的语言说这些短句,用对方的母语祝其旅程愉快:尽管您的口音可能很糟, 但这却无疑会给他带来极大的快乐!
3. 您面对的首先是人,而不仅仅是旅游者、参观者、外国人、中国人,他们都是来自世界各地的同胞兄弟。请带着热情和关怀去工作,不要害羞,因为害羞往往会被误认为冷漠。要以对家庭成员那样的态度亲切地回答这些陌生人的问题。将冰冷抛在一边吧!
4. 注意语言方面的问题!不是所有的外国人都会说英语。您说的英语也不一定跟他们说的完全一样。也不是所有的外国人都希望说英语!如果一个外国人向您说中文,请不要用英语回答,这将很令人恼火!请 用简单的中文回答。但无论您使用何种语言,请说慢一些,清楚一些,就象在对您的曾祖母说话时一样……不要忘了,虽然对您而言这些事情都很简单明了,但对于 一个第一次来到这个城市的人,尤其是他还不会说当地的语言,最简单的事情(乘公汽、吃饭、去洗手间……)对他来说都是一个挑战。因此请尽量作出完整的解释 (比如,如果是问地铁,不仅要告知最近的地铁站方位,还有在哪里和怎样买地铁票,怎么使用,别忘了提醒对方保留地铁票以供出站使用,等等……)。必要时, 可以在纸上画一下图并记下相关信息,甚至离开您的工作岗位去为人带路。另外还要注意通过一个眼神、一个问题、一个笑容观察对方是否已经明了您的答复。如果 还有疑问,请重新开始!
5. 语言(续):一个参观者用您不懂的语言向您问询时,请不要转过身慌乱地寻求其他人的帮助。微笑。带着您最美丽的笑容,用您的母语,外加手势辅助,向对方解 释您不明白他所说的,这没有关系,您可以去寻求帮助,或是试着去弄懂他的问题。毫无疑问,对方虽然不明白中文,但却会明白无论如何您将会竭尽全力去帮助 他。
6. 微笑和幽默。您面对的人可能会有些紧张,那么您应该使他们平静下来。有什么比微笑和让别人笑更令人放松的呢。即使在面对一些紧张或复杂的情况时,也请您尽量显得平静和轻松。可以用微笑和幽默来缓和局面。
7. 在回答问题时可以更深入一些。可以与参观者展开话题。如果问题是关于附近的餐馆,请不要满足于过于简单的回答。可以介绍一下在该区的各式餐馆,以及它们的特色菜肴和价格水平。请为参观者打开新的视野!和他们聊一些他们可能没有想到的事情。
8. 请主动提供帮助,不一定要等到别人求助时……
当我们这样做时,那么志愿者的工作就会变得更加充实和充满乐趣!
近日有媒体报道称万科将要继续降价,万科随后发表声明:不打价格战。但在上海,媒体发现了万科楼盘“降价”的证据——位于上海浦东“世博”板块的金色雅筑,是上海楼市的知名楼盘,今年3月开盘,售价每平方米17000元左右,媒体称不久前该楼盘降价几千元。
这到底是怎么回事?万科如何看待目前的市场?针对这些问题,记者采访了万科集团副总裁、上海区域总经理刘爱明。
刘爱明,原万科北京地区总经理,2005年他和原上海地区总经理丁长峰对调,掌管万科长三角地区。目前,在万科排名第三,紧随王石、郁亮之后。
不打价格战
刘爱明颇有些无可奈何地表示:“降价是企业经营上的大事,我都不知道呢。实际上,这个项目(金色雅筑)开始卖的是情景洋房,位置好、楼层又低,肯定贵。现在卖的是公寓,当然要便宜些。装修标准也不一样。在同一个小区里,由于景观、楼层、位置、装修标准不一样,价格最贵的和最便宜的相差30%,那很正常。”
这也是刘爱明今年首次见媒体。自从年后传出万科降价的消息后,即使在万科的新闻发布会上,刘爱明也极少露面。即使露面,也是发言之后立即离开,记者们根本抓不住。
据原万科人李宗苗透露,几年前刘爱明在王石、郁亮等强力的支持下,在万科发起了涉及面既深且广的“磐石行动”,大刀阔斧改革万科工程体系、质量体系。
“实际上,房地产和宏观经济是紧密联系的,房价涨涨落落很正常。”刘爱明说:“万科不可能在大势不好时,做到逆势飞扬,只是在应对上,万科能做得更坚决、更果断一点,赢得时机。”
在接受采访时,刘爱明反复强调快速应对市场、满足客户需求的重要性。他说:“万科在前几年市场形势好的时候,就强调快速开发,加快资金周转。市场形势不好时,强调快速销售,现金回笼。这几年一直围绕这个策略在做,如果不是这样,现在的日子可能更难过。”
在万科总部方面,就在媒体报道王石说万科要继续降价的第二天,万科迅速发出“辟谣”新闻稿。万科执行副总裁、董秘肖莉说,王石从未说过万科要继续降价,而且万科也不会发动价格战。越是进入调整期,企业越应该通过提升产品和服务质量来获得客户的认同,而不是价格战。
可见,万科对未来市场的看法并不很乐观。
上半年,万科实现营业收入172.6亿元,净利润20.6亿元。万科能坚定地表示不降价、不打价格战,这对行业内其他企业来说,无疑是一个好消息。
长三角“冬泳计划”
“冬泳计划”是万科针对长三角全体员工提出的一项内部行动方案。它更多的是基于上述对于华东市场变化的捕捉与判断,提醒员工,在当下要更关注客户需求的改变,要更注重客户心理的把握。
刘爱明说:“一年之中总有冬天,在目前严峻的形势下,只有员工的‘越冬’意识得到整体提升,万科才能获得更强健的体魄。这也是‘冬泳’的真正含义。”
“商人意识”是这项行动计划的核心。具体而言,它要求员工以商人思维进行换位思考,充分体会消费者在进行购买决策时的心理状态。尤其是在客户抱 怨时,万科员工仍要心存感激。因为只有客户提出的疑问才能真正帮助万科改善产品品质与自身服务。如果在客户不关注的地方投入了很多钱,而客户最关注的地方 却又做得不够,这就很有问题。
刘爱明举了一个例子,万科一直很重视户内门,花钱很多,不重视储物空间。但是,万科的一个客户调查发现,客户不关心户内门,而更重视储物空间。 “市场形势好,有可能掩盖这些问题,楼卖的好似乎就证明东西都做得好,事实并非如此。换句话说,未来在华东地区,品质竞争会主导整个市场。”
8月初,刘爱明通过公司邮件系统发信给南京公司全体员工。信中说,客户满意才是检验工作好坏的唯一标准。信中提出四大工作原则:1.当成本与质 量发生矛盾时,确保质量第一;2.当工期与质量发生矛盾时,确保质量第一;3.“质量大使”有权直接砸掉质量粗糙的部品;4.如果因为修正设计缺陷导致无 法按正常时间交付,首先确保品质并获得客户认同,同时愿意按合同约定承担违约赔偿责任。
果断调整,迅速执行,而不是等待
长三角区域提出“冬泳计划”,而在万科集团,更是有一整套完整的过冬计划。
万科董事会报告中指出:由于住房市场延续了自2007年以来的调整,市场将经历从前期过热到理性回归的阶段性变动。
为此,万科从年初就决定启动包括调整策略、削减开支、合作开发等在内的“过冬”计划。
“今年上半年,调整趋势很明显,这时就看快速反应。快速反应对大公司来说尤其重要。调整不只在一个项目层面上,更是在整个公司层面上。”刘爱明 说:“万科在调整方面非常果断,从不拖泥带水。没人能准确预测未来,企业不能把自己定位在预测市场上,对企业来说,快速反应是最重要的。就是出现苗头以 后,果断调整,迅速执行,而不是等待。”
万科的“果断调整、迅速执行”主要是四大方面。
首先就是节流,放慢开发节奏。在2007年年度报告中,万科计划在2008年度的开工面积和竣工面积分别约848万平方米和689万平方米。而 在刚刚发布的半年报中,万科改变计划,预计新开工面积减少165万平方米,竣工面积减少103万平方米,分别降低了19%和15%。这对万科来说,大大降 低了财务支出。保守估计,以每平方米3000元计算,也是50亿元。
放慢拿地,合作开发。刘爱明告诉记者,年初万科就决定,拿地要谨慎。肖莉也说:“考虑到市场处于调整期,短期内存在一定的不确定性,且行业调整 仍将持续一段时间,公司在拿地方面会采取更为审慎的态度。”据肖莉透露,今年以来,万科获取了约387万平方米的项目资源,绝大部分项目是通过合作方式获 取的,新增土地平均成本约2044元/平方米,低于去年水平。
调整经营策略。万科通过调查发现,上半年万科销售的产品中,刚性需求占比86%,自住需求占比超过90%,中小套型的产品比例也不断提升,90 平方米以下销售占比46%。因此,万科认为,公司得以保持持续增长,主要受益于秉持“聚焦主流,理性应变”的经营策略。因此,万科在产品上进行调整。刘爱 明说:“除了调整开工量,还要调整产品结构。很多产品是按照去年的市场、心态进行定位的,今年市场变化了,就应该适时做出调整。同样是90平方米的房子, 也有不同的做法,有的是针对改善型需求,有的是针对首次置业。”
加强与政府部门沟通。对今年的万科来说,这一点非常之必要。当然,在市场形势不好的情形下,对任何一个企业来说,和政府保持良好交流都是极为重要的。
文件,然后打印出来文件中英文字母(a 到 z)出现的次数。不区分大小写。
你能不能写个完整的Java程序,尽快Email给我?
写的过程中,请注意:代码规范,程序运行效率。
一个创业公司出的题,哈哈?
我第一个想到的解决办法就是用map来做统计。
代码如下:
package cn.com.linjiawang.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Hashtable;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class CharTools {
/**
* 对Map按照键(key)来排序
* @param map 表示要排序的map
* @return Map.Entry[]
*/
@SuppressWarnings( { "unused", "unchecked" })
private static Map.Entry[] getSortedHashtableByKey(
final Map<Object, Object> map) {
Set<Entry<Object, Object>> set = map.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry) arg0).getKey();
Object key2 = ((Map.Entry) arg1).getKey();
return ((Comparable) key1).compareTo(key2);
}
});
return entries;
}
/**
* 对Map按照值(value)来排序
* @param map 表示要排序的map
* @return Map.Entry[]
*/
@SuppressWarnings( { "unused", "unchecked" })
public static Map.Entry[] getSortedHashtableByValue(Hashtable h) {
Set set = h.entrySet();
Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
.size()]);
Arrays.sort(entries, new Comparator() {
public int compare(Object arg0, Object arg1) {
int key1 = Integer.parseInt(((Map.Entry) arg0).getValue()
.toString());
int key2 = Integer.parseInt(((Map.Entry) arg1).getValue()
.toString());
return ((Comparable) key1).compareTo(key2);
}
});
return entries;
}
/**
* 统计字符中字母出现的频率
* @param wordMap
* @param str 表示要统计的字符串
*/
private static void wordCount(Map<Character, Integer> wordMap, String str) {
str = str.toLowerCase();
char[] chars = str.toCharArray();
for (char c : chars) {
if (c >= 'a' && c <= 'z') {
if (wordMap.get(c) == null) {
wordMap.put(c, 1);
} else {
int count = Integer.valueOf(wordMap.get(c));
wordMap.remove(c);
wordMap.put(c, count + 1);
}
} else {
continue;
}
}
}
/**
* 读取文件并且统计文件中的词频
* @param filePath
* @return
*/
@SuppressWarnings("finally")
public static Map<Character, Integer> loadFile(String filePath) {
Map<Character, Integer> wordMap = new HashMap<Character, Integer>();
File file = null;
FileReader fr = null;
BufferedReader br = null;
String str = null;
try {
file = new File(filePath);
if (file.exists()) {
fr = new FileReader(file);
br = new BufferedReader(fr);
while ((str = br.readLine()) != null) {
wordCount(wordMap, str);
}
} else {
System.out.println("该文件不存在");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
br = null;
}
if (fr != null) {
fr.close();
fr = null;
}
if(file !=null){
file = null;
}
} catch (final IOException e) {
e.printStackTrace();
}
}
return wordMap;
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
long begin = System.currentTimeMillis();
Map map = loadFile("d://chars.txt");
Map.Entry[] entrys = getSortedHashtableByKey(map);
for (Entry entry : entrys) {
char word = (Character) entry.getKey();
int wordCount = (Integer) entry.getValue();
System.out.println("字母" + word + "出现" + wordCount);
}
System.out.println("执行时间" + (System.currentTimeMillis() - begin) + "ms");
}
}
接着对mail给我说,map统计是可以的,问我可以不可以用int[] 来做:
费了40分钟写了一个用int统计的代码如下:
package cn.com.linjiawang.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class CharTools {
/**
* 统计字符中字母出现的频率
* @param wordCounts 统计数组
* @param str 表示要统计的字符串
*/
private static void wordCount(int[] wordCounts, String str) {
str = str.toLowerCase();
char[] chars = str.toCharArray();
int tempCount = 0;
for (char c : chars) {
if (c >= 'a' && c <= 'z') {
tempCount = 25 - ('z' - c);
wordCounts[tempCount]++;
} else {
continue;
}
}
}
/**
* 读取文件并且统计文件中的词频
* @param filePath
* @return
*/
@SuppressWarnings("finally")
public static int[] loadFile(String filePath) {
int[] wordCounts = new int[26];
File file = null;
FileReader fr = null;
BufferedReader br = null;
String str = null;
try {
file = new File(filePath);
if (file.exists()) {
fr = new FileReader(file);
br = new BufferedReader(fr);
while ((str = br.readLine()) != null) {
wordCount(wordCounts, str);
}
} else {
System.out.println("该文件不存在");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null) {
br.close();
br = null;
}
if (fr != null) {
fr.close();
fr = null;
}
if (file != null) {
file = null;
}
} catch (final IOException e) {
e.printStackTrace();
}
}
return wordCounts;
}
@SuppressWarnings("unchecked")
public static void main(String[] args) {
long begin = System.currentTimeMillis();
int []wordCounts = loadFile("d://chars.txt");
char c = 'a';
for(int wordCount:wordCounts) {
if(wordCount>0){
System.out.print(c+"->");
System.out.println(wordCount);
}
c++;
}
System.out.println("执行时间" + (System.currentTimeMillis() - begin) + "ms");
}
}
两段代码改动不大,但是效率却差了好多,
同样一个 19.8mb大小的字典文件,用map来做数字统计费时 3904ms.
用 int[]来统计费时是1141ms
这就是效率呀
package ajax.des;
import java.security.Key;
import java.security.spec.AlgorithmParameterSpec;
import javax.crypto.Cipher;
import javax.crypto.SecretKeyFactory;
import javax.crypto.spec.DESKeySpec;
import javax.crypto.spec.IvParameterSpec;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
public class CryptoTools {
private static final String key_ = "ising@ws"; //
private static final byte [] DESkey = key_.getBytes();//设置密钥,略去
private static final byte[] DESIV = { (byte)0x12,(byte) 0x34, (byte)0x56, (byte)0x78, (byte)0x90,
(byte)0xAB, (byte)0xCD,(byte) 0xEF };//设置向量,略去
private static AlgorithmParameterSpec iv =null;//加密算法的参数接口,IvParameterSpec是它的一个实现
private static Key key =null;
public CryptoTools() throws Exception {
DESKeySpec keySpec = new DESKeySpec(DESkey);//设置密钥参数
iv = new IvParameterSpec(DESIV);//设置向量
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");//获得密钥工厂
key = keyFactory.generateSecret(keySpec);//得到密钥对象
}
public String encode(String data) throws Exception {
Cipher enCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");//得到加密对象Cipher
enCipher.init(Cipher.ENCRYPT_MODE,key,iv);//设置工作模式为加密模式,给出密钥和向量
byte[] pasByte = enCipher.doFinal(data.getBytes("utf-8"));
BASE64Encoder base64Encoder = new BASE64Encoder();
return base64Encoder.encode(pasByte);
}
public String decode(String data) throws Exception{
Cipher deCipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
deCipher.init(Cipher.DECRYPT_MODE,key,iv);
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] pasByte=deCipher.doFinal(base64Decoder.decodeBuffer(data));
return new String(pasByte,"UTF-8");
}
public static void main(String[] args) throws Exception{
String value = "hello";
CryptoTools tools =new CryptoTools();
System.out.println(tools.encode(value));
System.out.println("解密"+tools.decode(tools.encode(value)));
}
} /> }
[/code]
中国的经济制度(十二之一)
张五常著‧译*
谨以此文献给朗奴·高斯。他那权利要有清楚界定的理念,唤醒了一个庞大的国家。并以此祝贺历史上最伟大的经济改革三十周年。
第一节:中国的问题
个人认为,中国的经济改革始于一九八○。一九七九的秋天,我到离别了多年的广州一 行,看不到任何改革的迹象。北京当局与将来的史学家无疑会选一九七八为改革的起点。这里日期明确:一九七八年十二月二十二日。那天,中国共产党的第十一届 三中全会公布了一项极为重要的决定。有了这个日子,朗奴‧高斯策划的这个中国研讨会议就有一个特别的意义:肯定是历史上最伟大的经济改革,今天刚好是三十 周年了。
当年的三中全会决定了两件事。一、中国开放推动经济发展;二、邓小平再获授予权 力。那时,相信这两项公布的人不多吧。关于经济,类似的豪言壮语曾经表达过。至于邓的复出,这是第三次了。虽然这一次说明他获授予的是最高的权力,但资历 比他高而又反对市场经济的同志,大有人在,而一九七八年的中国,资历辈份重要。有谁知道将会发生什么事?邓可能再下台。
一九七九的夏天,英国的经济事务学社的主编要求我写关于中国的前景。他说戴卓尔夫 人的办公室对一个学术性的分析有兴趣。那年的秋天我到广州一行,跟着是愈来愈有兴趣地跟进中国的经济发展与改革。一九八一年,我察觉到中国的局限在急速转 变,于是为该学社写了一篇足以印成小册子的文章。一九八二发表,《中国会走向资本主义的道路吗?》(注一)作出了肯定的推断:是的,中国会向资本主义的道路走!延迟了一年才出版,因为不同意的批评者无数。在西雅图最亲密的同事巴赛尔,不同意我的推断,但他认为关于理论那一节真好,不发表很可惜。
于今回顾,我当年的准确推断使朋友与同事惊奇,而我自己惊奇的,是跟着的改革发展 速度。差不多三十年持续的高速经济增长,超越了日本的明治维新,而发生于一个那么庞大,人口那么多而又是那么复杂的中国,近于不可置信。还有的是,在这奇 迹的发展中,中国要面对贪污,面对一个不合格的司法制度,控制言论与宗教自由,教育与医疗公非公私非私,有外汇管制,有互相矛盾的政策,也据说每年有六万 次动乱。除了动乱的统计数字——不知定义为何,不同地区的朋友说他们没有见到任何他们会认为是动乱的——其它上述的负面事项皆属实。
大约二○○三年,几位熟知中国的朋友向我投诉国家的多种不是。我回应:「不要告诉 我什么不对。我可以在一个星期内写一本厚厚的批评中国的书。然而,在有那么多的不利的困境下,中国的高速增长持续了那么久,历史从来没有出现过。尤其是, 不要重复某些人相信的:贪污对经济发展有利。朱镕基的肃贪行动早就把这假说推翻了。中国一定是做了非常对的事才产生了我们见到的经济奇迹。那是什么呢?这 才是真正的问题。」
我用一个比喻对这些朋友解释困扰了我好几年的问题。一个跳高的人,专家认为不懂得跳。他走得蹒跚,姿势拙劣。但他能跳八呎高,是世界纪绿。这个人一定是做了些很对的事,比所有以前跳高的做得更对。那是什么?在不同的内容上,这就是中国的问题。
这篇文章要找这问题的答案。长而复杂,因为我有一段历史要叙述,有一个理论要解释。这样,我要专注于中国做对了什么。这里我只能再说,要批评中国我可以写很多本书。
自一九八○起,中国真是个经济奇迹。米尔顿‧弗里德曼曾经高举香港的经济奇迹,因 为人口上升了十倍而人均收入还有可观的增长。然而,香港以北的深圳,人均收入的增长比香港还要快,而同样的时间人口上升了四十五倍。举另一个例,我和太太 造访绍兴后五年,再回去面目全非。报道说,一些劳工离乡三年,回乡找不到自己的家。有些深在内陆的城市,像三藩市那样,高楼大厦在夜间灯光闪闪。目前,世 界上过半的新升降机是在中国装置的。
今天在中国,高速公路每年建造四千多公里,足以横跨整个美国。九十年代中、后期, 世界百分之十七的建筑起重机集中于上海。那时楼价急跌,但午夜还可见到镕焊工人在高高的钢架上操作,彷佛天上的星星。上海在五年间建成的商业楼宇面积,比 发展得快的香港的五十年还要多。二○○二年,上海的策划者突然大幅减低楼宇建筑的容积率,因为发觉高楼大厦的重量使该市下沉。从南京到上海的四线公路,启 用时因为车辆稀少而被批评浪费,但五年后交通堵塞,进帐可观,要扩宽为八线了。因为车辆按大小收费,载货超重严重,世界级的公路很快就被压坏了。整个国家 的所有港口都要排队落货。二○○五年,地球最长与次长的跨海大桥同时建造,而且是在同一地区。
温州一家造鞋厂雇用十二万员工。该市差不多产出地球上的所有打火机及圣诞灯饰。义 乌,十五年前以地摊小贩多而知名,今天每日输出过千个货柜,来自韩国及非洲的购买商人云集该市,使写字楼的租金升穿楼顶。有谁听过几千间店子只卖短袜,不 卖其它?这是义乌,那里的批发商场大得我一看就坐下来,因为老人家不容易走那么远。乐从镇有一条马路,两旁满布家具商店,长达十公里。苏州的广大工业园, 园艺美观,满是世界级的名牌工厂与世界级的厂房设计,五年间在农地上冒出来。杭州每年游客四千万。该市有一间零销店,出售一个名牌的皮包,每天平均进帐八 万美元。
我可以不断地继续叙述类似的现象。没有什么意思吧。需要补加的,是浦东的一个故 事,即是上海黄浦江之东。一九九三年我带弗里德曼夫妇到那里,见到的只是一行一层高的店子,据说是建造给邓小平看的。米尔顿当然反对这样做,指出政府的发 展策划一般失败收场。然而,八年后,我带一位美国建筑设计师到浦东商业区,他目瞪口呆,说那里密集的摩天商厦可能是世界上最好的。上了一课:一个像中国那 么大,人口那么多而又发展得那么快的国家,会有很大的空间容许以尝试的方法学习(注二)。
今天,浦东的商业楼宇还在建造不停,空置着的很多。楼价却在上升。这些看来是互相矛盾的现象只有一个解释:人们在等待。他们下注投资而等待,期望着一旦中国解除外汇管制与金融管制,上海浦东会立刻成为一个有领导地位的金融中心。
统计的数字加不起来。一个从事统计的官方朋友,直言无法前后一贯地把数字组合。二○○五年,北京相当大幅地把过往统计的增长率提高,但这调整可没有算进产品与服务的质量是戏剧性地改进了。不止此也,大部分的省份统计的增长率,高于北京对整国的统计,有些高很多。二○○ 六年,广州报道该市的人均收入暴升,但主要是因为他们用产出总值除以户籍人口,忘记了数百万没有户籍的流动人口的产出贡献。没有疑问,二○○○年起农民的 生活直线上升,但官方的统计却说他们的增长率低于城市的。他们一定是用了户籍人口算,因为没有谁知道多少农民「流动」去了。我认为三分之一以上的劳动人口 在国内流动。不知道这个陷阱,外间的机构几番报道,说中国的基尼系数正在危险地上升。这些报道脱离目标要以英里算。
* 感谢高斯、韦尔因、巴赛尔和张滔。他们细读了此文的初稿,提供了意见。
注一 Institute of Economic Affairs (London: 1982), Hobart Paper 84.
注二 当 一九九七年上海宣布将在浦东建设一个新的国际机场,怀疑的人说旧机场的使用还没有达到饱和点。浦东的新机场一九九九启用,过了不久一条跑道不够。二○○五 增加了一条跑道,二○○八再加一条及一个新的候机处。旧机场现正增建另一条跑道。这样看,上海每隔两年半就增加一条国际机场跑道了。
中途也谈过好多家公司,但是都是和相亲一个事就过去了。
在开普公司上班第二天,就感觉有什么地方不对劲,后来以前的同事是介绍,我去了vv8.com来了。
vv8.com这个公司还不错,风投投公司,公司管理制度上让人感觉比较舒服,所有的研发人员公司也比较重视,都配
笔记本,也许无论刚去那个公司吧,都要干一个月的苦力,而且要不加班,这个到无所谓了。
好在我的苦力工作马上要结束了,下一个项目search 应该值得去投入。
有些是时候挺怀念哪儿的,好多很多同事熟悉的面孔,比较混蛋的leader 付狗,地道东北魅力的董事长。
真所谓的道不同,不相为谋吧!!终于离开告别的ccc,也许有的人这辈子再也不会见面了,也许有的将会是伴随一生的友情。当我离开哪儿的时候,没有一点伤感和留恋,走出公司办公楼的那一刻,我感觉天是那么多蓝,全身都散出了开心的笑。
新的工作早就等待我了,是一家规模不怎么大,但是感觉气氛比较好的,电子政务软件公司;但是我自己去的心事不是那么多大,我不想离开互联网行业,这是一个充满梦想和让人疯狂的领域,这是一个让年轻人疯狂和走向巅峰的行业,我总是梦想着自己有一天变成了百度的robin先生一样,弄一个伟大的公司。
然而这个行业就如马云说的,从来不缺技术,也不是缺资金,更不去好的想法,缺乏的是坚持。
其实我很清楚自己拥有的是什么?那就是比较多比较可行的想法,这执行的思路,但是同时缺乏的一个完整的执行到细节的方案。
说实在话,工作以来,弄过的东西也不少,但是自己满意的作品没有,带有自己真正思想上的东西就更没有了,这几天我一直在考虑自己要不要去这家公司上班。在这家我又能付出什么,得到什么呢!!!
明天会去见一家手机视频网站技术负责人,很多需要的是谈判需要的是沟通,也许明天的现在就改变注意。
写到这儿我突然想起了美国前总统克林顿的新书《付出 我们改变的世界》在这里我想到是,付出改变现在自己,成就未来梦想。克林顿的新书《付出 我们改变的世界》在这里我想到是,付出改变现在自己,
成就未来梦想。
说真的其实在哪儿进步挺大的,真是所谓的道不同不相为谋吧!
新公司的感觉也不是特别好!也许是刚刚来到原因吧!!!
