每年进入冬季,很多人都会因为空气干燥而出现皮肤搔痒症状。
初冬季节天气干燥、寒冷,使皮肤血管收缩。同时人体的活动量减少,代谢速率减少,汗腺及皮脂肪腺油脂分泌相对减少,在此情况下,皮肤水分含量降低,特别是老年人和原本皮肤干燥的人群,其皮肤变得脆弱而且缺乏弹性,容易受外物刺激造成皮肤搔痒。
另外,如果洗澡次数过多、水温过高,也很容易发生皮肤搔痒。通常患有皮肤搔痒的患者在皮肤表面上并没有明显的症状,就是觉得身上非常痒,最常发生在四肢部位,尤其小腿前侧及手部,严重的患者甚至全身发作,搔痒难耐。
出现全身性皮肤搔痒症的患者,平时要避免过度搔抓,以防抓破继发感染。注意季节、气温、湿度和工作环境对疾病的影响,不要使用糇性强的肥皂,不要贴身穿毛衣或化纤织物。搔痒症患者在这个季节里一周洗澡最好别超过一次,同时注意降低水温、不要搓洗。
此外,如果长时间皮肤搔痒,最好能去医院检查一下,因为这可能是一些疾病如肿瘤、甲状腺疾病等的先期征兆。
2007年11月22日星期四
七种食品最能提神
铁质是产生人体能量的主要介质,它担负着向人体器官和肌肉输送氧气的重要任务。因此,如果人体内缺乏铁质,就会导致贫血,使人感到头晕,乏力。虽然猪肝和瘦肉是铁质的最佳来源,但经常吃一些赤豆、黑豆或黄豆,也能起到补充铁质的作用,并能有效地改善疲惫、无力的状况。
菠菜
菠菜中含有女性比较容易缺乏的矿物质——镁。女性每日摄入的镁如果少于280毫克,人就会感到疲乏。镁在人体内的作用是将肌肉中的碳水化合物转化为可利用的能量。
香蕉
香蕉被称为“高能量的食品”,含有极易为人体吸收的碳水化合物,同时还富含钾。钾在人体内能够帮助维持肌肉和神经的正常功能,但它不能在体内储存很多时间,人在剧烈运动后,体内的钾会降得很低。研究表明,钾过低会导致肌肉疼痛,心律不齐、反应迟缓等,而吃几根香蕉则可补充钾的不足。
草莓
草莓含有丰富的维生素C,而维生素C有助于人体吸收铁质,使细胞获得滋养,因此多吃草莓能使人精力充沛。
金枪鱼
在高蛋白质的鱼类中,金枪鱼含有丰富的酪胺酸,酪胺酸在人体内能帮助生产大脑的神经传递物质,使人注意力集中,思维敏捷。
麦片
有人发现,早餐中纤维含量高的话,就不会有饥肠辘辘的感觉。营养学家为此解释说,纤维能使消化的速度放慢,持续不断地向血管供应碳水化合物,使人体源源不断地获得能量。燕麦片是一种富含纤维的食物,能量释放缓慢而又均衡,可使人体血糖水平一直维持在较高水平,因而不会很快感到饥饿且精神饱满。
脱脂酸奶
许多妇女在经期前后会感到乏力嗜睡。一项研究表明,多吃含钙丰富的食品,如脱脂酸奶等,可以明显改善这种状况。如果每天吃3小杯脱脂酸奶或两大杯牛奶,就可使腹痛、疲乏,心情烦躁等症状有所减轻,因为钙具有缓解肌肉紧张、调节内分泌的作用。
菠菜
菠菜中含有女性比较容易缺乏的矿物质——镁。女性每日摄入的镁如果少于280毫克,人就会感到疲乏。镁在人体内的作用是将肌肉中的碳水化合物转化为可利用的能量。
香蕉
香蕉被称为“高能量的食品”,含有极易为人体吸收的碳水化合物,同时还富含钾。钾在人体内能够帮助维持肌肉和神经的正常功能,但它不能在体内储存很多时间,人在剧烈运动后,体内的钾会降得很低。研究表明,钾过低会导致肌肉疼痛,心律不齐、反应迟缓等,而吃几根香蕉则可补充钾的不足。
草莓
草莓含有丰富的维生素C,而维生素C有助于人体吸收铁质,使细胞获得滋养,因此多吃草莓能使人精力充沛。
金枪鱼
在高蛋白质的鱼类中,金枪鱼含有丰富的酪胺酸,酪胺酸在人体内能帮助生产大脑的神经传递物质,使人注意力集中,思维敏捷。
麦片
有人发现,早餐中纤维含量高的话,就不会有饥肠辘辘的感觉。营养学家为此解释说,纤维能使消化的速度放慢,持续不断地向血管供应碳水化合物,使人体源源不断地获得能量。燕麦片是一种富含纤维的食物,能量释放缓慢而又均衡,可使人体血糖水平一直维持在较高水平,因而不会很快感到饥饿且精神饱满。
脱脂酸奶
许多妇女在经期前后会感到乏力嗜睡。一项研究表明,多吃含钙丰富的食品,如脱脂酸奶等,可以明显改善这种状况。如果每天吃3小杯脱脂酸奶或两大杯牛奶,就可使腹痛、疲乏,心情烦躁等症状有所减轻,因为钙具有缓解肌肉紧张、调节内分泌的作用。
2007年11月14日星期三
有效地挖掘宝宝的记忆潜力
有效地挖掘宝宝的记忆潜力
有目的、有计划的教育能有效挖掘宝宝的记忆潜力。你知道如何利用生活中的各种素材来提升宝宝的记忆能力吗?灵活运用以下几种方法,你家宝宝的记忆力一定“一级棒”!
提升宝宝记忆力6大妙招
每一位爸爸妈妈都希望宝宝拥有较强的记忆能力,因为记忆能力对宝宝未来的学习和日常生活至关重要。宝宝什么时候具有记忆能力呢?据研究表明:宝宝出生后两三天就有一定的记忆能力。尽管随着年龄的增长,宝宝的记忆能力会获得自然的发展,但有目的、有计划的教育能有效挖掘宝宝的记忆潜力。
当然,了解宝宝记忆的奥秘是进行有效教育的前提。
3岁前宝宝记忆的奥秘
奥秘一:3岁前宝宝的记忆富有情绪色彩,特别容易记住那些使他们愉快或令他们悲伤、气愤的事情或情景,以及其他引起他们情绪反应的事物。
在听故事、儿歌时,宝宝往往特别容易记住最有感情的那些句子,比如《小鸭子游泳》这首诗,宝宝听后首先记住的是“小鸭子摇啊摇,扑通一声跳下河”,诗句中“摇啊摇”、“扑通一声”等语言形象生动,能引起宝宝情绪上的反应。还比如第一次高高兴兴去外婆家的情景,他能记得很久很久。
宝宝的这种情绪记忆大约开始于出生六个月或更早些。
奥秘二:3岁前宝宝的记忆内容在头脑中保留时间较短,一般不会超过一年。
据研究表明:宝宝见过的事物重新出现在眼前时,1岁以内的宝宝只能认得几天以前的事物;2岁左右的宝宝只能认得几个星期以前的事物:3岁左右的宝宝可以认得几个月以前的事物。宝宝见过的事物不在眼前时,1岁以内的宝宝不能回忆起来;2岁左右的宝宝可以回忆几天以前的事;3岁左右的宝宝可以回忆几个星期以前的事。比如爸爸在外学习一年后回到家中,小宝宝可能就不要爸爸抱,这时爸爸大可不必伤心,因为宝宝的记忆能力有限,他已经忘记了爸爸的形象,把爸爸当成了陌生人。
奥秘三:3岁前宝宝记忆带有很大的随意性,没有目的和意图,凡是感兴趣的、印象鲜明的事物就容易记住。
生活中爸爸妈妈可能经常遇到的情景是:自己的某件东西不知放到哪儿去了,若宝宝在身边,你边找边嘀咕着“我那东西放哪儿去了呢?”,这时他可能一下子就能帮你找到(前提是:你放置东西时宝宝在身边)。你可能会觉得非常奇怪,为宝宝非凡的记忆力而喜出望外,其实这些都是宝宝的无意记忆,而且宝宝非常擅长无意记忆。
奥秘四:宝宝记忆内容在脑中保存时间的长短受多种因素影响。
一般而言,主要有以下几种因素:
一是对记忆对象的感知程度。看得听得越清楚、越仔细、越完整,在脑中保持时间越长;
二是宝宝的知识经验和对事物的理解程度。知识经验越丰富,越有助于宝宝对事物的理解,而理解较深的事物记的时间就越长;
三是宝宝的情绪状态。积极的情绪状态或引起宝宝积极情绪体验的事物宝宝记的时间越长;
四是记忆对象的特点。引起宝宝兴趣的、形象生动鲜明的,在脑中保存的时间长
提升宝宝记忆力6妙招
妙招一:适当重复法
越熟悉的事物宝宝越容易记住,重复的目的在于让宝宝加深对事物的印象。故事多讲几遍,宝宝可能自然而然就记住了。经常见到的事物宝宝就能记住。比如,爸爸妈妈想让宝宝认识各种颜色,不必专门拿色卡进行教育,只要在日常生活中,见到什么物品告诉宝宝这是什么颜色,这种颜色多说几遍宝宝就能记住。以认识红色为例,当看到红色的花时,告诉宝宝:“这些红色的花儿好漂亮,这些花是红色的。”当宝宝在吃红红的大苹果时,告诉宝宝:“宝宝,你正在吃大大的红苹果吧?”如此,很快宝宝就能认识各种颜色。
当然,重复的次数要适度,以宝宝仍有兴趣为准,当宝宝对重复厌烦或已经能够记住时就不要再重复了。
妙招二:形象辅助法
3岁前宝宝对语词的记忆能力较弱,以情绪记忆、形象记忆为主。因而当爸爸妈妈让宝宝记忆儿歌、故事、字母、数字等抽象材料时,要配上图片形象、动作形象或夸张的声音形象等。比如边讲故事边做动作,或将故事画成连环画,和宝宝一起看着画面讲故事,这些都有助于宝宝对故事的记忆。还比如让宝宝记家里的电话号码,可将电话号码编成一段乐曲或一首有趣的儿歌,这样宝宝就能记得又快又牢。当然,在运用形象辅助法时,可以结合运用“联想法”,将要记的内容想象成熟悉的形象,比如记数字,可以把每个数字想象成熟悉的形象,“1”像筷子;“7”像奶奶的拐杖……
妙招三:任务驱动法
在日常生活中,给宝宝提出各种记忆任务,培养宝宝的记忆习惯。比如周末带宝宝去动物园之前,让宝宝留心动物园中有哪些动物、哪些植物、各种动物长得什么样、是怎么去动物园的等等,晚上回家后要求宝宝说给爷爷奶奶或其他人听。宝宝复述时可以帮他记录下来,使宝宝产生一定的成就感。或者在讲故事前,让宝宝注意故事中讲了哪些人、他们在干什么、说了什么话等等。
或者晚上临睡前,告诉宝宝妈妈明天要做哪些事、什么时间做等等,让宝宝帮助妈妈记住,到时及时提醒妈妈。第二天,宝宝如能及时提醒,妈妈要给予表扬,激起宝宝的兴趣。
特别提醒:给宝宝提出的记忆任务要尽量具体、难度适中,当宝宝完成任务时要及时给予积极的反馈。
妙招四:游戏法
游戏是宝宝最喜欢的活动,爸爸妈妈可以常和宝宝一起玩记忆游戏。如“什么不见了”、“多了什么”、“少了什么”、“什么变了”、“还原游戏”、“看谁记得又快又好”等游戏。
妙招五:一日生活回忆法
宝宝每天的生活内容都是不同的,“一日生活回忆法”就是在一天内或几天后让宝宝回忆玩了什么?吃了什么?跟谁在一起玩?培养宝宝的记忆习惯。比如晚上睡觉前可让宝宝回忆今天中午吃了什么?傍晚和谁在一起玩的,玩了什么?大一点的宝宝可以让他回忆昨天或前天亲身经历的事情。
妙招六:物归原处法
学会物归原处不仅是良好生活习惯之一,而且有助于培养宝宝的记忆能力。物归原处法就是让宝宝做到:从哪儿取东西然后再放到哪儿,这样的要求有助于宝宝养成拿取物品时记住物品位置的习惯。久而久之,宝宝的记忆能力也就增强了。
TIPS:
1、以上几种方法可以单独使用,也可以结合在一起使用。
2、在进行早期教育的过程中,你不仅要关注宝宝记住什么,如何让宝宝记住等,还要关注对宝宝进行记忆兴趣、记忆习惯的培养,和宝宝一起探索出有效的记忆方法,如生活联想法、类比法、重复法等。
3、注重在日常生活中培养宝宝的记忆能力,无须专门进行记忆训练。
有目的、有计划的教育能有效挖掘宝宝的记忆潜力。你知道如何利用生活中的各种素材来提升宝宝的记忆能力吗?灵活运用以下几种方法,你家宝宝的记忆力一定“一级棒”!
提升宝宝记忆力6大妙招
每一位爸爸妈妈都希望宝宝拥有较强的记忆能力,因为记忆能力对宝宝未来的学习和日常生活至关重要。宝宝什么时候具有记忆能力呢?据研究表明:宝宝出生后两三天就有一定的记忆能力。尽管随着年龄的增长,宝宝的记忆能力会获得自然的发展,但有目的、有计划的教育能有效挖掘宝宝的记忆潜力。
当然,了解宝宝记忆的奥秘是进行有效教育的前提。
3岁前宝宝记忆的奥秘
奥秘一:3岁前宝宝的记忆富有情绪色彩,特别容易记住那些使他们愉快或令他们悲伤、气愤的事情或情景,以及其他引起他们情绪反应的事物。
在听故事、儿歌时,宝宝往往特别容易记住最有感情的那些句子,比如《小鸭子游泳》这首诗,宝宝听后首先记住的是“小鸭子摇啊摇,扑通一声跳下河”,诗句中“摇啊摇”、“扑通一声”等语言形象生动,能引起宝宝情绪上的反应。还比如第一次高高兴兴去外婆家的情景,他能记得很久很久。
宝宝的这种情绪记忆大约开始于出生六个月或更早些。
奥秘二:3岁前宝宝的记忆内容在头脑中保留时间较短,一般不会超过一年。
据研究表明:宝宝见过的事物重新出现在眼前时,1岁以内的宝宝只能认得几天以前的事物;2岁左右的宝宝只能认得几个星期以前的事物:3岁左右的宝宝可以认得几个月以前的事物。宝宝见过的事物不在眼前时,1岁以内的宝宝不能回忆起来;2岁左右的宝宝可以回忆几天以前的事;3岁左右的宝宝可以回忆几个星期以前的事。比如爸爸在外学习一年后回到家中,小宝宝可能就不要爸爸抱,这时爸爸大可不必伤心,因为宝宝的记忆能力有限,他已经忘记了爸爸的形象,把爸爸当成了陌生人。
奥秘三:3岁前宝宝记忆带有很大的随意性,没有目的和意图,凡是感兴趣的、印象鲜明的事物就容易记住。
生活中爸爸妈妈可能经常遇到的情景是:自己的某件东西不知放到哪儿去了,若宝宝在身边,你边找边嘀咕着“我那东西放哪儿去了呢?”,这时他可能一下子就能帮你找到(前提是:你放置东西时宝宝在身边)。你可能会觉得非常奇怪,为宝宝非凡的记忆力而喜出望外,其实这些都是宝宝的无意记忆,而且宝宝非常擅长无意记忆。
奥秘四:宝宝记忆内容在脑中保存时间的长短受多种因素影响。
一般而言,主要有以下几种因素:
一是对记忆对象的感知程度。看得听得越清楚、越仔细、越完整,在脑中保持时间越长;
二是宝宝的知识经验和对事物的理解程度。知识经验越丰富,越有助于宝宝对事物的理解,而理解较深的事物记的时间就越长;
三是宝宝的情绪状态。积极的情绪状态或引起宝宝积极情绪体验的事物宝宝记的时间越长;
四是记忆对象的特点。引起宝宝兴趣的、形象生动鲜明的,在脑中保存的时间长
提升宝宝记忆力6妙招
妙招一:适当重复法
越熟悉的事物宝宝越容易记住,重复的目的在于让宝宝加深对事物的印象。故事多讲几遍,宝宝可能自然而然就记住了。经常见到的事物宝宝就能记住。比如,爸爸妈妈想让宝宝认识各种颜色,不必专门拿色卡进行教育,只要在日常生活中,见到什么物品告诉宝宝这是什么颜色,这种颜色多说几遍宝宝就能记住。以认识红色为例,当看到红色的花时,告诉宝宝:“这些红色的花儿好漂亮,这些花是红色的。”当宝宝在吃红红的大苹果时,告诉宝宝:“宝宝,你正在吃大大的红苹果吧?”如此,很快宝宝就能认识各种颜色。
当然,重复的次数要适度,以宝宝仍有兴趣为准,当宝宝对重复厌烦或已经能够记住时就不要再重复了。
妙招二:形象辅助法
3岁前宝宝对语词的记忆能力较弱,以情绪记忆、形象记忆为主。因而当爸爸妈妈让宝宝记忆儿歌、故事、字母、数字等抽象材料时,要配上图片形象、动作形象或夸张的声音形象等。比如边讲故事边做动作,或将故事画成连环画,和宝宝一起看着画面讲故事,这些都有助于宝宝对故事的记忆。还比如让宝宝记家里的电话号码,可将电话号码编成一段乐曲或一首有趣的儿歌,这样宝宝就能记得又快又牢。当然,在运用形象辅助法时,可以结合运用“联想法”,将要记的内容想象成熟悉的形象,比如记数字,可以把每个数字想象成熟悉的形象,“1”像筷子;“7”像奶奶的拐杖……
妙招三:任务驱动法
在日常生活中,给宝宝提出各种记忆任务,培养宝宝的记忆习惯。比如周末带宝宝去动物园之前,让宝宝留心动物园中有哪些动物、哪些植物、各种动物长得什么样、是怎么去动物园的等等,晚上回家后要求宝宝说给爷爷奶奶或其他人听。宝宝复述时可以帮他记录下来,使宝宝产生一定的成就感。或者在讲故事前,让宝宝注意故事中讲了哪些人、他们在干什么、说了什么话等等。
或者晚上临睡前,告诉宝宝妈妈明天要做哪些事、什么时间做等等,让宝宝帮助妈妈记住,到时及时提醒妈妈。第二天,宝宝如能及时提醒,妈妈要给予表扬,激起宝宝的兴趣。
特别提醒:给宝宝提出的记忆任务要尽量具体、难度适中,当宝宝完成任务时要及时给予积极的反馈。
妙招四:游戏法
游戏是宝宝最喜欢的活动,爸爸妈妈可以常和宝宝一起玩记忆游戏。如“什么不见了”、“多了什么”、“少了什么”、“什么变了”、“还原游戏”、“看谁记得又快又好”等游戏。
妙招五:一日生活回忆法
宝宝每天的生活内容都是不同的,“一日生活回忆法”就是在一天内或几天后让宝宝回忆玩了什么?吃了什么?跟谁在一起玩?培养宝宝的记忆习惯。比如晚上睡觉前可让宝宝回忆今天中午吃了什么?傍晚和谁在一起玩的,玩了什么?大一点的宝宝可以让他回忆昨天或前天亲身经历的事情。
妙招六:物归原处法
学会物归原处不仅是良好生活习惯之一,而且有助于培养宝宝的记忆能力。物归原处法就是让宝宝做到:从哪儿取东西然后再放到哪儿,这样的要求有助于宝宝养成拿取物品时记住物品位置的习惯。久而久之,宝宝的记忆能力也就增强了。
TIPS:
1、以上几种方法可以单独使用,也可以结合在一起使用。
2、在进行早期教育的过程中,你不仅要关注宝宝记住什么,如何让宝宝记住等,还要关注对宝宝进行记忆兴趣、记忆习惯的培养,和宝宝一起探索出有效的记忆方法,如生活联想法、类比法、重复法等。
3、注重在日常生活中培养宝宝的记忆能力,无须专门进行记忆训练。
2007年11月13日星期二
赖世雄:学英语七步曲
赖世雄:学英语七步曲
1.用垃圾时间学英语:可以将时间化整为零,当然在学习的期间一定要让自己的嘴巴忙碌起来,反覆复述一个句子或单字…
2.别太贪功:学英语不可能速成,因此起步别太急,“贪多嚼不烂”是有道理的。先以简单入手,由浅入深循序渐进。
3.一定要撑下去:挫折感是常常出现的,在这时候一定要反覆告诉自己撑下去……撑下去……撑下去……
4.学英语可以不要脸:不要怕说错,很多错误可以在与人交流的过程中慢慢改过来。
5.听力练习追大意:练习听力时注意不要过分专心,要追大意别中断,另外要选用慢速英文听力教材,反覆听。
6.发音不必强求:要学美式发音还是英式或澳式发音都不要紧,就算发音中带有地方口音也没关系,关键在于让对方听懂即可。
7.单字够用即可:不少人将背单字当作学实用(区别于应试)外语的第一关,其实一个道地美国人每日所使用的单字不过2000个左右,而对非英语国家的学习者来说,掌握常用的600个左右的单字,即可与人自由交流了!
1.用垃圾时间学英语:可以将时间化整为零,当然在学习的期间一定要让自己的嘴巴忙碌起来,反覆复述一个句子或单字…
2.别太贪功:学英语不可能速成,因此起步别太急,“贪多嚼不烂”是有道理的。先以简单入手,由浅入深循序渐进。
3.一定要撑下去:挫折感是常常出现的,在这时候一定要反覆告诉自己撑下去……撑下去……撑下去……
4.学英语可以不要脸:不要怕说错,很多错误可以在与人交流的过程中慢慢改过来。
5.听力练习追大意:练习听力时注意不要过分专心,要追大意别中断,另外要选用慢速英文听力教材,反覆听。
6.发音不必强求:要学美式发音还是英式或澳式发音都不要紧,就算发音中带有地方口音也没关系,关键在于让对方听懂即可。
7.单字够用即可:不少人将背单字当作学实用(区别于应试)外语的第一关,其实一个道地美国人每日所使用的单字不过2000个左右,而对非英语国家的学习者来说,掌握常用的600个左右的单字,即可与人自由交流了!
2007年11月11日星期日
cooledit pro 2.0
今天我介绍的是一个非常有用的音乐制作软件 cooledit pro 2.0 AND cooledit20汉化包一些音乐制作用的很广泛,同时它也是一款非常非常好的音频转换工具,能转换的音频格式很多很多!你到时下了就知道了!:)
它的安装方法我归纳了下!下面是安装的一些必要:
1.正确cooledit pro 2.0的安装顺序是:
A-安装原程序cooledit2setup.exe(按默认值一路按就是,有的地方得选择一下,不懂就自己找工具翻译一下)
B-安装破解补丁cep2reg.exe按默认值一路按,最后输入cooledit2key.txt里面的注册码
C-安装汉化补丁Cool2chinese.exe(按默认值一路按就是)
2.插件的安装:
先在你的cooledit安装目录下建一个DX目录,然后上述插件均安装在这个目录里即可。它们的汉化包当然也要装在DX这个目录下。
安装混响插件时,需要再在cooledit安装目录下建一个VST目录(用来装VST插件的,不过暂时用不到,只管建就是)然后在出现add或remove时加入这个目录的路径即可顺利安装。
所有需要的注册码均含在压缩包的文本文件中,仔细找找吧!哈哈
它的安装方法我归纳了下!下面是安装的一些必要:
1.正确cooledit pro 2.0的安装顺序是:
A-安装原程序cooledit2setup.exe(按默认值一路按就是,有的地方得选择一下,不懂就自己找工具翻译一下)
B-安装破解补丁cep2reg.exe按默认值一路按,最后输入cooledit2key.txt里面的注册码
C-安装汉化补丁Cool2chinese.exe(按默认值一路按就是)
2.插件的安装:
先在你的cooledit安装目录下建一个DX目录,然后上述插件均安装在这个目录里即可。它们的汉化包当然也要装在DX这个目录下。
安装混响插件时,需要再在cooledit安装目录下建一个VST目录(用来装VST插件的,不过暂时用不到,只管建就是)然后在出现add或remove时加入这个目录的路径即可顺利安装。
所有需要的注册码均含在压缩包的文本文件中,仔细找找吧!哈哈
2007年11月8日星期四
Usb device not recognized
Usb device not recognized
My Problem:
I have a USB drive that always worked. However all of a sudden, it stopped working. I got a "Usb device not recognized" error every time I plugged in the device.
Probable Cause:
I've plugged in my friend's USB drive on the same computer, perhaps during the automatic installation process, the USB device didn't install properly and then some how it messed up my USB device drivers.
Solution:
I found the following solution workable for my case:
Remove Hidden Devices 1. Click Start. Click Run. Type cmd and press OK.
2. Type “set DEVMGR_SHOW_DETAILS=1″ (without quotation marks) and press Enter.
3. Type “set DEVMGR_SHOW_NONPRESENT_DEVICES=1″ (without quotation marks) and Press Enter.
4. Type “start devmgmt.msc” (without quotation marks) and click press Enter.
5. Click View. Click Show hidden devices.
6. Click “+” to expand Imaging devices, Unknown devices and USB devices.
7. Are there any USB devices and unknown devices (including grayed out devices)? If so, please right click it and click Uninstall.
(It's found on the hersam web site)
After doing this, my device works again with no problem.
Your Problem:
If you get "Usb device not recognized" in Windows and the above solution doesn't work for you, there might be other causes:
A) USB device worked before but suddenly stopped working:
The following solution might be applicable:
1) Remove all oem*.inf files =
1. Click start and click run then under the run line type in the command “cmd” (without the quotation marks)
2. In the command line, type in the following (without the quotes) and press enter after each command:
“cd \windows\inf”
“ren infcache.1 *.old”
“ren oem*.inf *.old”
“del C:\windows\setupapi.log”
2) Removing all entries under HKEY_LOCAL_MACHINE/Enum/USB that start with VID ==
Removing the VID entries from the registry will cause them to be redetected at restart.
CAUTION: If you have a USB keyboard or mouse, do not remove the VID entry for these devices, otherwise, Windows may not restart correctly.
1. Click Start and click Run. Type regedit and click OK. The Registry Editor window will open.
2. Go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB.
3. Highlight and delete all the VID_…. entries.
Permissions may be set allowing the deletion of the VID_ entries by following the steps below:
a)Right-click the key to be deleted, and then click Permissions. The VID_… Permissions window will open.
b)With Everyone highlighted in the Group or User name section, select Full Control in the Permissions section.
c)Click Apply, and then click OK.
4. Turn off the computer.
Reconnect the USB device to the computer system: ==
1. With the computer system turned off, reconnect the USB hub to the the USB port.
2.Restart the computer.
3.A New Hardware Detected window should open and reload the drivers.
B) USB device never worked before / it works but die in midway when doing something or you may get "usb device has malfunctioned":
The following solution might be applicable:
1) Try using a shorter USB cable.
2) Try plug in the device to the back of your computer instead of the front USB port (this is because some computers don't have enough power in the front USB ports)
3) Some USB 2.0 device are not backward compatible with USB 1.1 ports. Try plugging in with USB 1.1 and 2.0 port to see that's the cause of the problem.
4) Try downgrade all your USB port from 2.0 down to 1.1, you can do that in your BIOS.
5) if all failed, try the USB device on a different computer. Then you can determine if the USB device or the USB port is the culprit of the problem
also, if you can't find your solution here, you might be able to find it on the link below...
http://dan.hersam.com/archives/2005/07/18/usb-device-not-recognized
My Problem:
I have a USB drive that always worked. However all of a sudden, it stopped working. I got a "Usb device not recognized" error every time I plugged in the device.
Probable Cause:
I've plugged in my friend's USB drive on the same computer, perhaps during the automatic installation process, the USB device didn't install properly and then some how it messed up my USB device drivers.
Solution:
I found the following solution workable for my case:
Remove Hidden Devices 1. Click Start. Click Run. Type cmd and press OK.
2. Type “set DEVMGR_SHOW_DETAILS=1″ (without quotation marks) and press Enter.
3. Type “set DEVMGR_SHOW_NONPRESENT_DEVICES=1″ (without quotation marks) and Press Enter.
4. Type “start devmgmt.msc” (without quotation marks) and click press Enter.
5. Click View. Click Show hidden devices.
6. Click “+” to expand Imaging devices, Unknown devices and USB devices.
7. Are there any USB devices and unknown devices (including grayed out devices)? If so, please right click it and click Uninstall.
(It's found on the hersam web site)
After doing this, my device works again with no problem.
Your Problem:
If you get "Usb device not recognized" in Windows and the above solution doesn't work for you, there might be other causes:
A) USB device worked before but suddenly stopped working:
The following solution might be applicable:
1) Remove all oem*.inf files =
1. Click start and click run then under the run line type in the command “cmd” (without the quotation marks)
2. In the command line, type in the following (without the quotes) and press enter after each command:
“cd \windows\inf”
“ren infcache.1 *.old”
“ren oem*.inf *.old”
“del C:\windows\setupapi.log”
2) Removing all entries under HKEY_LOCAL_MACHINE/Enum/USB that start with VID ==
Removing the VID entries from the registry will cause them to be redetected at restart.
CAUTION: If you have a USB keyboard or mouse, do not remove the VID entry for these devices, otherwise, Windows may not restart correctly.
1. Click Start and click Run. Type regedit and click OK. The Registry Editor window will open.
2. Go to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB.
3. Highlight and delete all the VID_…. entries.
Permissions may be set allowing the deletion of the VID_ entries by following the steps below:
a)Right-click the key to be deleted, and then click Permissions. The VID_… Permissions window will open.
b)With Everyone highlighted in the Group or User name section, select Full Control in the Permissions section.
c)Click Apply, and then click OK.
4. Turn off the computer.
Reconnect the USB device to the computer system: ==
1. With the computer system turned off, reconnect the USB hub to the the USB port.
2.Restart the computer.
3.A New Hardware Detected window should open and reload the drivers.
B) USB device never worked before / it works but die in midway when doing something or you may get "usb device has malfunctioned":
The following solution might be applicable:
1) Try using a shorter USB cable.
2) Try plug in the device to the back of your computer instead of the front USB port (this is because some computers don't have enough power in the front USB ports)
3) Some USB 2.0 device are not backward compatible with USB 1.1 ports. Try plugging in with USB 1.1 and 2.0 port to see that's the cause of the problem.
4) Try downgrade all your USB port from 2.0 down to 1.1, you can do that in your BIOS.
5) if all failed, try the USB device on a different computer. Then you can determine if the USB device or the USB port is the culprit of the problem
also, if you can't find your solution here, you might be able to find it on the link below...
http://dan.hersam.com/archives/2005/07/18/usb-device-not-recognized
2007年11月7日星期三
不是借口:做家务比去健身房效果更好
不是借口:做家务比去健身房效果更好
做家务活对于一些懒人来说可能是件非常头痛的事情,但是英国学者最近公布的一项调查也许能改变人们对做家务的抵触情绪。调查显示,做家务比花大把的金钱去健身房,更能有效地消耗体内多余的热量,从而达到更好的健身效果。
洗餐具扫地比跑步还减肥
上述调查结果显示,经常做家务活平均一年能消耗大约5万单位卡路里的热量。在从事家务劳动的过程中,平均每个英国人相当于一年跑了大约35公里的路程。英国有关学者认为,从健身意义上说,干家务活比每周在健身房锻炼效果更好。
这项调查共对全英国不同地区的3000人进行了访问,94%的受访者表示,他们在做家务活的过程中身上的肌肉产生了运动疲劳感,44%的受访者甚至表示,在打扫房间的过程中为了驱散无聊感甚至一边跳舞一边扫地。在使用家居清洁工具方面,英国人最喜欢使用吸尘器;耗费时间最长的一项家务劳动是清洗餐具,英国人平均每周用在清洗餐具上的时间为2小时6分钟。这项调查显示,目前平均每个英国人每周用在干家务活的时间为6小时。此外这项调查还显示,总体上来说英国女性比男性爱做家务活。
参与上述调查的有关学者表示,603杯葡萄酒、192块巧克力或394包炸薯片中包含的热量相当于5万个单位的卡路里,而为了不使身体积攒出多余的脂肪,成年人每天需要通过运动燃烧大约400个单位的卡路里。学者们统计认为,人们如果花两个小时擦拭房间中散落的灰尘或用82分钟清洁地面,那么他们都能充分燃烧身体内400个单位的卡路里热量。
干家务 法国夫妻最懒 智利夫妻最勤劳
此前,英国媒体公布的另一项面对34个国家居民的与干家务活有关的调查显示,在一向以美食和别致生活著称的法国,一对夫妇每周干家务活的时间不到16小时,堪称世界“最懒”。智利夫妇最“勤劳”,平均每周要做47个小时的家务。
这项调查以问卷的形式展开,共调查了1.7万人,结果表明,不包括照看孩子和休闲活动,每对夫妇平均每周要做29个小时的家务活。“最懒”的三个国家分别是法国(15小时55分钟)、挪威(16小时)和芬兰(17小时47分钟)。而最“勤劳”的国家分别是智利(47个小时40分钟)、巴西(43小时42分钟)和墨西哥(43小时8分钟)。调查表明,英国男人一天干家务活的时间不足1小时,墨西哥男人甚至不到半小时。
做家务活对于一些懒人来说可能是件非常头痛的事情,但是英国学者最近公布的一项调查也许能改变人们对做家务的抵触情绪。调查显示,做家务比花大把的金钱去健身房,更能有效地消耗体内多余的热量,从而达到更好的健身效果。
洗餐具扫地比跑步还减肥
上述调查结果显示,经常做家务活平均一年能消耗大约5万单位卡路里的热量。在从事家务劳动的过程中,平均每个英国人相当于一年跑了大约35公里的路程。英国有关学者认为,从健身意义上说,干家务活比每周在健身房锻炼效果更好。
这项调查共对全英国不同地区的3000人进行了访问,94%的受访者表示,他们在做家务活的过程中身上的肌肉产生了运动疲劳感,44%的受访者甚至表示,在打扫房间的过程中为了驱散无聊感甚至一边跳舞一边扫地。在使用家居清洁工具方面,英国人最喜欢使用吸尘器;耗费时间最长的一项家务劳动是清洗餐具,英国人平均每周用在清洗餐具上的时间为2小时6分钟。这项调查显示,目前平均每个英国人每周用在干家务活的时间为6小时。此外这项调查还显示,总体上来说英国女性比男性爱做家务活。
参与上述调查的有关学者表示,603杯葡萄酒、192块巧克力或394包炸薯片中包含的热量相当于5万个单位的卡路里,而为了不使身体积攒出多余的脂肪,成年人每天需要通过运动燃烧大约400个单位的卡路里。学者们统计认为,人们如果花两个小时擦拭房间中散落的灰尘或用82分钟清洁地面,那么他们都能充分燃烧身体内400个单位的卡路里热量。
干家务 法国夫妻最懒 智利夫妻最勤劳
此前,英国媒体公布的另一项面对34个国家居民的与干家务活有关的调查显示,在一向以美食和别致生活著称的法国,一对夫妇每周干家务活的时间不到16小时,堪称世界“最懒”。智利夫妇最“勤劳”,平均每周要做47个小时的家务。
这项调查以问卷的形式展开,共调查了1.7万人,结果表明,不包括照看孩子和休闲活动,每对夫妇平均每周要做29个小时的家务活。“最懒”的三个国家分别是法国(15小时55分钟)、挪威(16小时)和芬兰(17小时47分钟)。而最“勤劳”的国家分别是智利(47个小时40分钟)、巴西(43小时42分钟)和墨西哥(43小时8分钟)。调查表明,英国男人一天干家务活的时间不足1小时,墨西哥男人甚至不到半小时。
2007年11月6日星期二
李安岳母对女儿说:实在不行就离了吧
李安岳母对女儿说:实在不行就离了吧
李安1954年出生在台湾,祖籍江西。他出身书香门第,父亲是一所中学的校长, 家教十分严格。1973年,李安考取了台湾国立艺专戏剧电影系。在国立艺专里, 李安对演戏和电影制作越来越有兴趣,还曾获得台湾话剧比赛大专组最佳男演员奖。
1975年,他毕业后前往美国留学,先是在伊利诺大学学习戏剧导演,获戏剧学士学位。
1978 年,在一次留学生的聚会上,李安遇见了台湾留学生林惠嘉。初次见面,李安就被性格开朗的林惠嘉深深吸引了。这次聚会之后,他主动约林惠嘉看球赛,对性格见腆安静的李安也颇有好感的林惠嘉很爽快地答应了。林惠嘉从小就非常聪明,台大毕业后以优异的成绩考到美国伊利诺大学攻读生物学博士学位。跟林惠嘉在一起,李安就像找到知音一般,总有说不完的话。
认识两年之后,李安前往纽约大学学习电影制作。每个礼拜他都要打很长时间的电话给林惠嘉,这个习惯一直保持至今。他说,林惠嘉是自己最佳的倾听者,她虽然没有女性特有的娇媚,但声音有一股神奇的抚慰人的力量。当他心情不好的时候,只要听到林惠嘉的声音,所有的烦恼立刻烟消云散。
1983年,恋爱5年之后,李安和林惠嘉在纽约举行了一场中西合璧的婚礼。他们的婚姻得到了双方父母的支持和祝福。李安说,他拍的电影《喜宴》里的很多情景都是他当时结婚实况的翻版。
婚后两人分隔两地,聚少离多。李安在纽约大学念电影系,林惠嘉在伊利诺继续攻读博士学位。可是两人的感情非常好,李安每次临走前总是会做好一冰箱丰盛的食物留给妻子,口袋里也总是随身携带著妻子的照片。李安的温厚,搭配妻子林惠嘉的能干,他的感性遇上了她的理性,就好像一座天平,为这个家找到了一个最适合的平衡点。
在纽约大学学习期间,李安就显示出了他导演方面的非凡才华。1984年,他的毕业作品《分界线》获得了纽约大学生电影节金奖作品奖及最佳导演奖,并取得电影硕士学位。
毕业后,李安留在美国试图开拓自己的电影事业。但一个没有任何背景的华人想在美国电影界混出名堂来,谈何容易。最初有一家经纪人公司看中了李安的才华,答应做他的经理人,但李安一直没有适合美国人的剧本,经理人也只是空谈。然后,李安在美国开始了长达6年的等待。那段时间,李安失业在家,主要靠身为药物研究员的妻子在外工作,养家糊口。
李安每天在家除了大量阅读、大量看片、埋头写剧本以外,还包揽了所有的家务,负责买菜做饭带孩子,家里收拾得乾干净净。每到傍晚做完晚饭后,他就和儿子一起兴奋地等待“英勇的猎人妈妈带著猎物回家”,这常常令林惠嘉觉得很温馨很感动。
面对丈夫的失业,林惠嘉也曾有过伤心绝望的时候。有一阵子她忙於上班接送孩子,由於家中只有一部车,李安常常一个人从租的住处走一个小时去打网球,打完球后再走一个小时回家,她看在眼里,心想自己真的要与这样的人过一辈子吗?然后她打越洋电话向妈妈诉苦,妈妈听了很心疼,在电话中对女儿说:“实在不行,你就离了吧。”可是放下电话后,林惠嘉就忍不住嚎啕大哭,不断谴责自己:我怎么变成这样的女人。夫妻本应该互相支持的,比起丈夫所受的苦,她觉得自己所做的根本算不了什么。这次之后,她就再也没有这样抱怨的念头出现。
许多亲戚朋友看不过去,就对林惠嘉说:“为什么李安不去打工?大部分中国留学生不都为了现实而放弃了自己的兴趣吗?”看见妻子肩上的负担那么重,李安觉得过意不去,就偷偷地开始学电脑,那个时候会电脑比较容易找工作。可没过多久,这件事就被林惠嘉发现了,她很生气地说:“学电脑的人那么多,又不差你李安一个!”在妻子的坚决反对下,李安只好打消了出去找工作的念头。林惠嘉知道李安真的只会拍电影,别的事物不会也不感兴趣。她对丈夫的才气十分肯定,她相信丈夫一定会成功的。
在此期间,大儿子李涵、小儿子李淳相继出世。林惠嘉个性非常独立,自己能做的事从不麻烦别人。大儿子出生时,林惠嘉半夜感觉羊水破了,於是自己开著快没油的汽车到医院生孩子,当医生问她要不要通知丈夫或亲友时,她说不用了,医护人员还以为她是弃妇。李安直到第二天搭飞机回到伊里诺,这才知道自己已经做爸爸了。二儿子出生时林惠嘉又赶丈夫走:“你放心地去办你的事吧,我一个人能行。而且你又不能帮忙,又不能帮我生!”
那些年里,林惠嘉对李安最大的帮助就是“不理他”,让他去沉淀、去成长。她认为一个人要清楚自己的方向,一旦做出了决定就要为自己的决定负责,李安清楚自己只喜欢电影也只会拍电影,他就应当为自己的决定负责到底。当年她决定嫁给李安时,她清楚电影是李安惟一的选择与爱,所以无论好的坏的她都必须接受。
生活中,林惠嘉是家中规矩的建立者,家里凡事她说了算,只要是妻子的命令,李安绝对服从。只要李安在家,加上两个儿子,这三个男人每天晚上都抢著跟她说话,有时林惠嘉自己也感到困惑,老公和孩子对自己服帖,究竟是她真的懂得“经营”,还是他们本性太好了,能包容像她这样的太太和妈妈?
多年的女主外男主内的生活不仅让李安练就了一手做菜的“绝活”,也磨练了他的性情。
1990 年之前,李安一直处于怀才不遇的境況,不停地到好莱坞碰运气,但都找不到合合适的机会,外人都嘲笑他拍电影的热情是痴人说梦。但妻子林惠嘉始终在背后默默地支持著他。他说:”妻子对我最大的支持,就是她的独立。她不要求我一定出去工作。她给我充足的时间和空间,让我去发挥、去创作。要不是碰到我妻子,我可能沒有机会追求电影生涯。”
经过磨练,李安的〝中国功夫〞终成正果。
1990年,台湾新聞局征选剧本,李安编写了《推手》,结果获得台湾1990年的政府优秀剧作奖。之后很快由台湾中央电影公司投资、纽约库德玛西恩公司制片开拍了。这部电影是李安导演生涯的第一部长片,影片上映后好评如潮,获得当年台湾金马奖最佳导演奖提名,所有人都称赞这个突然杀出的青年导演,而李安此时已经36岁了。
这次的成功,使台湾中影公司对李安更加有信心,决定投拍題材比较敏感的《喜宴》。影片上映后又获得更大的成功,李安也一跃成为世界知名导演。
1994年,李安执导了《饮食男女》,成功地完成了他的〝父亲三部曲〞。影片获第七十七屆大卫格里菲斯奖最佳外语片奖,名列1994年台湾十佳华语片第一名。
在接下来的5年中,李安又拍攝了三部纯美国題材的影片:《理智与情感》、《冰风暴》和《与魔鬼共骑》。影片再一次大获成功,不仅获得柏林电影节金熊奖,而且还在奥斯卡竞争中获得七项提名。
在李安开始一部片接一部片的拍攝,电影事业逐渐攀上高峰的同时,林惠嘉却並沒有因此而成〝跟班夫人〞,反而更投入医学的研究工作,同时也更尽职地扮演母代父职的角色,照顾孩子的学习和生活。
对于李安取得的骄人成绩,她觉得这是他在电影这一条路上坚持不懈努力的结果,所以虽然身为亲密的伴侶,她始终不认为自己在李安拍电影这件事情上扮演过什么关键的角色,李安的成就自然也应该归属于他本身。
林惠嘉经常被丈夫对电影的执著感动。1999年暑假,电影刚开拍时她曾经带着两个儿子到大陆探过一次班,当她看到李安当时面临困境身心俱疲时,她心疼得直掉泪。无论遇到多大的困难,李安从来不在拍片期间向妻子诉苦,他是个会把许多压力放在心里的人。不过拍完戏回家的李安,可就非常需要妻子了,跟家人在一起,是他最开心的时刻。
功夫不负苦心人。经过两年的奋斗,李安拍攝的武侠片《臥虎藏龙》将中国传统文化融入一个曲折动人的悲情故事,贏得了东西方观众的一致好评,在很难打入的美国市场贏得一亿多美元的票房,取得华语电影绝对空前的骄人成绩。
2001年的金球奖颁奖典礼上…李安接过朱丽亚•罗伯茲颁奖的最佳导演奖时,幽默地调侃道: “我的惊喜之情难以形容。我要感谢我强悍的太太,她是《臥虎藏龙》里除了碧眼狐狸之外所有女角的典范……”
2001 年的奧斯卡奖项情钟《臥虎藏龙》。颁奖前,林惠嘉帶着全家来到洛杉矶表示对丈夫的支持。在接受媒体采访时,两个儿子说: “爸爸很幸福,能夠娶到像妈妈这样的女人,这是爸爸最成功的地方。”《臥虎藏龙》终于不负众望,开创了华语电影的纪录,一下子就拿下最佳艺术指导、最佳攝影、最佳电影音乐、最佳外语片几个奖项,这是过去奧斯卡历史上所没有的。
在奧斯卡颁奖典礼上,李安在得奖感言中一再提到妻子: “我老婆没有女主角俞秀蓮漂亮,但有她的坚毅,她也有玉姣龙的离经叛道的个性,因为她有时候会令人吓一跳。”
几乎在李安所拍的每部电影中的女主角都有妻子林惠嘉的影子。
之后,李安开始执导耗资1亿5000万美元的电影《绿巨人》,这是他拍攝的投资最大的影片,又是首次拍攝科幻片。很多事情都要摸索,他的家人都对他完成这部影片给予了直接或间接的影响和帮助。林惠嘉是微生物学家,影片里有关遗传基因生化部分的情节……都是她先帮助丈夫了解后,他再找人写剧本,便于观众看得清楚明白;电影里的人体细胞图片,也是向林惠嘉借来的;电影里有一场绿巨人与怪兽狗对打的戏,怪兽狗的图形是大儿子李涵画的。因为电影中涉及了深层次的人性探讨,李安怕年幼的观众看不懂,于是以小儿子李淳做测试。李淳看后让老爸放心: “没问题,现在年轻人很早熟。” 果然2003年6月20日,《绿巨人》上映一周之间便征服了美国影迷,夺得全美票房冠军。
丈夫出名后,林惠嘉则对于別人称她为导演夫人或李太太感到不习惯,要求別人直接叫她的名字或称她为李妈妈。
她虽然认为拍电影很辛苦,电影人很需要家庭力量的支援,但她更強调个体的独立自主性,认为李安成名与否对她不会发生生任何改变。她说: “李安还不是导演的时候,我就是我,李安当导演以后,我还是林惠嘉。”
从当年默默无闻到今天全球最著名的华裔导演,李安在生活态度上同样没有任何改变。以李安今日的成就与地位,外面诱惑那么多,有很多人担心他的纯朴能维持多久?林惠嘉笑着说: “李安是很善良的人,而人的本质不容易改变,我一向的原则是只要我们自己能做的,绝不麻烦或增添他人负担,再说〝恶婆娘〞如我,随时耳提面命,李安大概还不会那么容易被宠坏吧! ” 在妻子眼里,声名显赫的大导演李安永远是一个听话的好丈夫。
当年李安获得第一个金熊奖时兴奋地从柏林給妻子打电话,谁知林惠嘉为从睡梦中被吵醒感觉很不爽,怪他小題大做。“她就是这么酷,这么多年來,这些外在的东西对她好像沒有半点影响。”
成名后,李安只要有时间照样会在家下厨房给家人做饭吃。拿了奧斯卡小金人后,有一次李安和妻子到华人区买菜,有位台湾来的女人对林惠嘉說: “你命真好,先生现在还有空陪你买菜! ” 不料当即遭到林惠嘉的抢白: “你有没有搞错呀,是我今天特意抽空陪他來买菜的。”
现在李安去外面拍片,回到纽约的时候,无论多早多晚,即使公司安排车子接送,林惠嘉都尽可能自己开车去接丈夫,因为这段时间对他们很重要。在车上,大导演还像个孩子般忙不迭地、絮絮叨叨地对老婆述说外面的一切。然后,听老婆的赞美,也听老婆的教诲。他说,以前穷困时,靠老婆养,现在当导演,在外头耀武扬威,回家做收心操,像是煮煮菜, “求”老婆骂一骂。被老婆修理一下,也好收收心,算是平衡一下。
2001年,《臥虎藏龙》没有得到台湾金马奖最佳导演奖时,有记者问李安的感想,李安幽默地说: “很想快点回家被老婆骂一骂。”
李安名滿天下后,美国华裔社区的男女老少请林惠嘉主讲:“牽手与推手---谈家庭沟通和简易人生。”
林惠嘉穿着一身普通的裤裝,不染头发、不施脂粉,浑身上下透着一种真实的本色。她首先介绍自己是个〝只有李安能夠忍耐〞的妻子,然后回忆起夫妻俩,在李安6 年时间与幸运女神无缘的日子里不慕财富的共识。低调的她表示,作为李安的妻子,她和普通观众一样决不去干涉他的创作,但自信虽然不常看见丈夫,却非常了解他在想什么。
在谈及家庭沟通时,她认为相互之间的信任、宽容、耐心和避免斤斤计较,感恩过去…把握当下…创造未來。
李安1954年出生在台湾,祖籍江西。他出身书香门第,父亲是一所中学的校长, 家教十分严格。1973年,李安考取了台湾国立艺专戏剧电影系。在国立艺专里, 李安对演戏和电影制作越来越有兴趣,还曾获得台湾话剧比赛大专组最佳男演员奖。
1975年,他毕业后前往美国留学,先是在伊利诺大学学习戏剧导演,获戏剧学士学位。
1978 年,在一次留学生的聚会上,李安遇见了台湾留学生林惠嘉。初次见面,李安就被性格开朗的林惠嘉深深吸引了。这次聚会之后,他主动约林惠嘉看球赛,对性格见腆安静的李安也颇有好感的林惠嘉很爽快地答应了。林惠嘉从小就非常聪明,台大毕业后以优异的成绩考到美国伊利诺大学攻读生物学博士学位。跟林惠嘉在一起,李安就像找到知音一般,总有说不完的话。
认识两年之后,李安前往纽约大学学习电影制作。每个礼拜他都要打很长时间的电话给林惠嘉,这个习惯一直保持至今。他说,林惠嘉是自己最佳的倾听者,她虽然没有女性特有的娇媚,但声音有一股神奇的抚慰人的力量。当他心情不好的时候,只要听到林惠嘉的声音,所有的烦恼立刻烟消云散。
1983年,恋爱5年之后,李安和林惠嘉在纽约举行了一场中西合璧的婚礼。他们的婚姻得到了双方父母的支持和祝福。李安说,他拍的电影《喜宴》里的很多情景都是他当时结婚实况的翻版。
婚后两人分隔两地,聚少离多。李安在纽约大学念电影系,林惠嘉在伊利诺继续攻读博士学位。可是两人的感情非常好,李安每次临走前总是会做好一冰箱丰盛的食物留给妻子,口袋里也总是随身携带著妻子的照片。李安的温厚,搭配妻子林惠嘉的能干,他的感性遇上了她的理性,就好像一座天平,为这个家找到了一个最适合的平衡点。
在纽约大学学习期间,李安就显示出了他导演方面的非凡才华。1984年,他的毕业作品《分界线》获得了纽约大学生电影节金奖作品奖及最佳导演奖,并取得电影硕士学位。
毕业后,李安留在美国试图开拓自己的电影事业。但一个没有任何背景的华人想在美国电影界混出名堂来,谈何容易。最初有一家经纪人公司看中了李安的才华,答应做他的经理人,但李安一直没有适合美国人的剧本,经理人也只是空谈。然后,李安在美国开始了长达6年的等待。那段时间,李安失业在家,主要靠身为药物研究员的妻子在外工作,养家糊口。
李安每天在家除了大量阅读、大量看片、埋头写剧本以外,还包揽了所有的家务,负责买菜做饭带孩子,家里收拾得乾干净净。每到傍晚做完晚饭后,他就和儿子一起兴奋地等待“英勇的猎人妈妈带著猎物回家”,这常常令林惠嘉觉得很温馨很感动。
面对丈夫的失业,林惠嘉也曾有过伤心绝望的时候。有一阵子她忙於上班接送孩子,由於家中只有一部车,李安常常一个人从租的住处走一个小时去打网球,打完球后再走一个小时回家,她看在眼里,心想自己真的要与这样的人过一辈子吗?然后她打越洋电话向妈妈诉苦,妈妈听了很心疼,在电话中对女儿说:“实在不行,你就离了吧。”可是放下电话后,林惠嘉就忍不住嚎啕大哭,不断谴责自己:我怎么变成这样的女人。夫妻本应该互相支持的,比起丈夫所受的苦,她觉得自己所做的根本算不了什么。这次之后,她就再也没有这样抱怨的念头出现。
许多亲戚朋友看不过去,就对林惠嘉说:“为什么李安不去打工?大部分中国留学生不都为了现实而放弃了自己的兴趣吗?”看见妻子肩上的负担那么重,李安觉得过意不去,就偷偷地开始学电脑,那个时候会电脑比较容易找工作。可没过多久,这件事就被林惠嘉发现了,她很生气地说:“学电脑的人那么多,又不差你李安一个!”在妻子的坚决反对下,李安只好打消了出去找工作的念头。林惠嘉知道李安真的只会拍电影,别的事物不会也不感兴趣。她对丈夫的才气十分肯定,她相信丈夫一定会成功的。
在此期间,大儿子李涵、小儿子李淳相继出世。林惠嘉个性非常独立,自己能做的事从不麻烦别人。大儿子出生时,林惠嘉半夜感觉羊水破了,於是自己开著快没油的汽车到医院生孩子,当医生问她要不要通知丈夫或亲友时,她说不用了,医护人员还以为她是弃妇。李安直到第二天搭飞机回到伊里诺,这才知道自己已经做爸爸了。二儿子出生时林惠嘉又赶丈夫走:“你放心地去办你的事吧,我一个人能行。而且你又不能帮忙,又不能帮我生!”
那些年里,林惠嘉对李安最大的帮助就是“不理他”,让他去沉淀、去成长。她认为一个人要清楚自己的方向,一旦做出了决定就要为自己的决定负责,李安清楚自己只喜欢电影也只会拍电影,他就应当为自己的决定负责到底。当年她决定嫁给李安时,她清楚电影是李安惟一的选择与爱,所以无论好的坏的她都必须接受。
生活中,林惠嘉是家中规矩的建立者,家里凡事她说了算,只要是妻子的命令,李安绝对服从。只要李安在家,加上两个儿子,这三个男人每天晚上都抢著跟她说话,有时林惠嘉自己也感到困惑,老公和孩子对自己服帖,究竟是她真的懂得“经营”,还是他们本性太好了,能包容像她这样的太太和妈妈?
多年的女主外男主内的生活不仅让李安练就了一手做菜的“绝活”,也磨练了他的性情。
1990 年之前,李安一直处于怀才不遇的境況,不停地到好莱坞碰运气,但都找不到合合适的机会,外人都嘲笑他拍电影的热情是痴人说梦。但妻子林惠嘉始终在背后默默地支持著他。他说:”妻子对我最大的支持,就是她的独立。她不要求我一定出去工作。她给我充足的时间和空间,让我去发挥、去创作。要不是碰到我妻子,我可能沒有机会追求电影生涯。”
经过磨练,李安的〝中国功夫〞终成正果。
1990年,台湾新聞局征选剧本,李安编写了《推手》,结果获得台湾1990年的政府优秀剧作奖。之后很快由台湾中央电影公司投资、纽约库德玛西恩公司制片开拍了。这部电影是李安导演生涯的第一部长片,影片上映后好评如潮,获得当年台湾金马奖最佳导演奖提名,所有人都称赞这个突然杀出的青年导演,而李安此时已经36岁了。
这次的成功,使台湾中影公司对李安更加有信心,决定投拍題材比较敏感的《喜宴》。影片上映后又获得更大的成功,李安也一跃成为世界知名导演。
1994年,李安执导了《饮食男女》,成功地完成了他的〝父亲三部曲〞。影片获第七十七屆大卫格里菲斯奖最佳外语片奖,名列1994年台湾十佳华语片第一名。
在接下来的5年中,李安又拍攝了三部纯美国題材的影片:《理智与情感》、《冰风暴》和《与魔鬼共骑》。影片再一次大获成功,不仅获得柏林电影节金熊奖,而且还在奥斯卡竞争中获得七项提名。
在李安开始一部片接一部片的拍攝,电影事业逐渐攀上高峰的同时,林惠嘉却並沒有因此而成〝跟班夫人〞,反而更投入医学的研究工作,同时也更尽职地扮演母代父职的角色,照顾孩子的学习和生活。
对于李安取得的骄人成绩,她觉得这是他在电影这一条路上坚持不懈努力的结果,所以虽然身为亲密的伴侶,她始终不认为自己在李安拍电影这件事情上扮演过什么关键的角色,李安的成就自然也应该归属于他本身。
林惠嘉经常被丈夫对电影的执著感动。1999年暑假,电影刚开拍时她曾经带着两个儿子到大陆探过一次班,当她看到李安当时面临困境身心俱疲时,她心疼得直掉泪。无论遇到多大的困难,李安从来不在拍片期间向妻子诉苦,他是个会把许多压力放在心里的人。不过拍完戏回家的李安,可就非常需要妻子了,跟家人在一起,是他最开心的时刻。
功夫不负苦心人。经过两年的奋斗,李安拍攝的武侠片《臥虎藏龙》将中国传统文化融入一个曲折动人的悲情故事,贏得了东西方观众的一致好评,在很难打入的美国市场贏得一亿多美元的票房,取得华语电影绝对空前的骄人成绩。
2001年的金球奖颁奖典礼上…李安接过朱丽亚•罗伯茲颁奖的最佳导演奖时,幽默地调侃道: “我的惊喜之情难以形容。我要感谢我强悍的太太,她是《臥虎藏龙》里除了碧眼狐狸之外所有女角的典范……”
2001 年的奧斯卡奖项情钟《臥虎藏龙》。颁奖前,林惠嘉帶着全家来到洛杉矶表示对丈夫的支持。在接受媒体采访时,两个儿子说: “爸爸很幸福,能夠娶到像妈妈这样的女人,这是爸爸最成功的地方。”《臥虎藏龙》终于不负众望,开创了华语电影的纪录,一下子就拿下最佳艺术指导、最佳攝影、最佳电影音乐、最佳外语片几个奖项,这是过去奧斯卡历史上所没有的。
在奧斯卡颁奖典礼上,李安在得奖感言中一再提到妻子: “我老婆没有女主角俞秀蓮漂亮,但有她的坚毅,她也有玉姣龙的离经叛道的个性,因为她有时候会令人吓一跳。”
几乎在李安所拍的每部电影中的女主角都有妻子林惠嘉的影子。
之后,李安开始执导耗资1亿5000万美元的电影《绿巨人》,这是他拍攝的投资最大的影片,又是首次拍攝科幻片。很多事情都要摸索,他的家人都对他完成这部影片给予了直接或间接的影响和帮助。林惠嘉是微生物学家,影片里有关遗传基因生化部分的情节……都是她先帮助丈夫了解后,他再找人写剧本,便于观众看得清楚明白;电影里的人体细胞图片,也是向林惠嘉借来的;电影里有一场绿巨人与怪兽狗对打的戏,怪兽狗的图形是大儿子李涵画的。因为电影中涉及了深层次的人性探讨,李安怕年幼的观众看不懂,于是以小儿子李淳做测试。李淳看后让老爸放心: “没问题,现在年轻人很早熟。” 果然2003年6月20日,《绿巨人》上映一周之间便征服了美国影迷,夺得全美票房冠军。
丈夫出名后,林惠嘉则对于別人称她为导演夫人或李太太感到不习惯,要求別人直接叫她的名字或称她为李妈妈。
她虽然认为拍电影很辛苦,电影人很需要家庭力量的支援,但她更強调个体的独立自主性,认为李安成名与否对她不会发生生任何改变。她说: “李安还不是导演的时候,我就是我,李安当导演以后,我还是林惠嘉。”
从当年默默无闻到今天全球最著名的华裔导演,李安在生活态度上同样没有任何改变。以李安今日的成就与地位,外面诱惑那么多,有很多人担心他的纯朴能维持多久?林惠嘉笑着说: “李安是很善良的人,而人的本质不容易改变,我一向的原则是只要我们自己能做的,绝不麻烦或增添他人负担,再说〝恶婆娘〞如我,随时耳提面命,李安大概还不会那么容易被宠坏吧! ” 在妻子眼里,声名显赫的大导演李安永远是一个听话的好丈夫。
当年李安获得第一个金熊奖时兴奋地从柏林給妻子打电话,谁知林惠嘉为从睡梦中被吵醒感觉很不爽,怪他小題大做。“她就是这么酷,这么多年來,这些外在的东西对她好像沒有半点影响。”
成名后,李安只要有时间照样会在家下厨房给家人做饭吃。拿了奧斯卡小金人后,有一次李安和妻子到华人区买菜,有位台湾来的女人对林惠嘉說: “你命真好,先生现在还有空陪你买菜! ” 不料当即遭到林惠嘉的抢白: “你有没有搞错呀,是我今天特意抽空陪他來买菜的。”
现在李安去外面拍片,回到纽约的时候,无论多早多晚,即使公司安排车子接送,林惠嘉都尽可能自己开车去接丈夫,因为这段时间对他们很重要。在车上,大导演还像个孩子般忙不迭地、絮絮叨叨地对老婆述说外面的一切。然后,听老婆的赞美,也听老婆的教诲。他说,以前穷困时,靠老婆养,现在当导演,在外头耀武扬威,回家做收心操,像是煮煮菜, “求”老婆骂一骂。被老婆修理一下,也好收收心,算是平衡一下。
2001年,《臥虎藏龙》没有得到台湾金马奖最佳导演奖时,有记者问李安的感想,李安幽默地说: “很想快点回家被老婆骂一骂。”
李安名滿天下后,美国华裔社区的男女老少请林惠嘉主讲:“牽手与推手---谈家庭沟通和简易人生。”
林惠嘉穿着一身普通的裤裝,不染头发、不施脂粉,浑身上下透着一种真实的本色。她首先介绍自己是个〝只有李安能夠忍耐〞的妻子,然后回忆起夫妻俩,在李安6 年时间与幸运女神无缘的日子里不慕财富的共识。低调的她表示,作为李安的妻子,她和普通观众一样决不去干涉他的创作,但自信虽然不常看见丈夫,却非常了解他在想什么。
在谈及家庭沟通时,她认为相互之间的信任、宽容、耐心和避免斤斤计较,感恩过去…把握当下…创造未來。
移民写真:那七年煎熬的生活
移民写真:那七年煎熬的生活
蓦然回首,不知道那几年是怎么过来的。想起来她总会笑着摇摇头,仿佛不相信自己,已经安然走过,仿佛不相信自己,有那么多的软弱和怨憎,那么多的忍耐和勇气。面对移民岁月里不期而遇的生活,并不是没有想过放弃,也曾经走到危险的边缘。煎熬里等待的日子,不堪回首却意味深长。
人物:Mary,女,35岁,到加拿大7年。
七年,整整七年,三年孩子,四年上学。她说她用七年的时间终于得到足够的安全感。
“来加拿大的时候,还不到30岁,其实,还真的有股天不怕地不怕的劲头。曾经信誓旦旦地说,什么样的日子都能过,只要我们在一起,现在想来还真的只是不懂事的小姑娘说的理想主义,那种琼瑶电视剧里不食人间烟火的男女主角。”那诚挚的情感没有变,只是现在的她似乎不再能够有那种有情饮水饱的得意自在。
“没有想到的有两件事,一个是意外怀孕,一个是意外上学。这两件事情本来都没有打算的,心里只想着怎么找工作。虽然刚登陆的时候,很多人说我年纪还不大,上学挺好的。可我自己知道,我已经上够学了,太想工作了。”小时候上学晚,等到研究生毕业的时候,已经整整26岁。“办移民的时候需要工作信,也是找朋友开的。实际上我并没有更多的工作经验。从研究生毕业到登陆加拿大之间不到两年的时间,因为要出国,也没有什么实际的工作,从内心里,我很想工作,想到自己比较正式的第一份工作是在加拿大,心里还有一些莫名的激动。”
她以满身心的热情准备投入到新鲜而陌生的种种机遇与可能里,却没有想到接下来的整整七年,她的天地只有那么一点点。
“Co-op还没有结束,我怀孕了,可能是遗传的缘故,反应特别的厉害。吃不下东西,人也没有精神,就想睡觉,不舒服极了,小孩也不太稳。虽然不情愿,也只好在家休息待产。那个时候老公在工厂上班了,很多时候我都是一个人在家。孩子生了才刚刚是个开始,老人家都年纪大了,身体也不大好,没有人帮忙。三年时间,我和这么小的一个孩子在一起。还记得,孩子出生之后加拿大的第一个冬天,老公上班去,外面大风大雪,我们哪里也去不了,只能整天整天待在家里,一待就是将近半年的时间。
孩子睡了,她时常望着窗外飘雪灰灰的天空,疲劳已经让她没有任何气力幻想。
“脾气变得很坏。”直言不讳,她说自己是一个自私的人。“我似乎有些不enjoy有了孩子之后的生活,觉得自己的安排完全被打乱。想把孩子送回国,老公死活不让,我们为了这件事情没有少吵架。那个时候虽然他有一份工作,但薪水真的不高,我也很想工作赚钱来有一个更好的生活。在感情上,我似乎比他粗线条。我觉得把孩子送回国一段时间,我找好工作再接回来也没有什么不好。意见不一致,我们彼此都觉得彼此自私只想自己的感受。”
如同抽出的线头,越扯越多越扯越乱。“我说他只管生不管养,他说我长不大不懂事狠心,我们都觉得怎么不能理解对方,都觉得是在为这个家着想,怎么就得不到理解和支持,越说越多。真的,孩子一岁到两岁期间,我们几乎天天吵。每天早上送他上班,期待他回来,回来之后却是不愉快。总是能有那么多的小事情引起我的怒火。”
孩子,这个已经既成的事实,怎么样才能够和生活融合。“吵得生活好无趣,真的都快离婚了,两个人之间似乎没有了温情。那天我生气,是老公哄孩子睡觉的,等他从里屋出来,看到他眼睛红红的。他说他实在想给孩子一个快乐幸福的家,他说我要想工作就工作吧。孩子送到幼儿园。可是,那个时候,我已经将近三年没有工作,我没有信心,更不知道去做什么工作。我的外语也在退步,浑身赘肉。”
正如她预期的一样,工作迟迟不能到位。再次参加Co-op的同学都陆续找到了工作,而她在实习结束没有能够留下来之后,工作的事情就搁浅了。“不如上学吧,上学能够帮你找回自信。孩子在幼儿园,时常,我一个人在家,上网找工作,等待面试,面试无果。生活似乎更加没有寄托。上学对我似乎不是主动的选择,而是没有办法的办法。的确,我对自己无所事事的生活已经厌倦了。可是,没有想到的是,在加拿大上学那么辛苦。”本以为轻而易举的事情,到眼前的时候却沉重万分。
“在中国读了那么多年的书,对学习和考试我自有一套。而且,国内的学习真的也很轻松,大学和研究生期间都是玩玩闹闹地就过来了,考试的时候突击无往不利。而在这里学习的四年,一个字,累。”缺少了对工作市场需求的把握,这次在30岁之后开始的学习,远远不能够轻松自如。“从开始申请到读书,都一直挣扎。学出来都三十四五岁了,好找工作吗?从大学到研究生再到现在,只有这次读书的结果让我紧张忧心患得患失。有的时候,觉得上那短平快的training挺好,有的时候又想是不是正儿八经考托福申请留学比较好,又甚至就到工厂打工,赶紧赚钱,看到别人上完学之后找到好工作,又报怨自己开始的太晚,浪费了很多时间,要不然现在早已经稳定了。很多的功课要做,孩子一样很多的事情,累。”
累得让人悲观。身体与神经仿佛已经不能再承载任何,只想一觉睡过去不要醒,只想一夜之间万事具备。“几乎每天都要熬夜,很久没有睡过好觉。想想自己已经30多岁了,都渐渐老了,却什么也没有弄好,曾经的理想全变了样。曾经说买了房子再孩子,现在孩子生了,房子却遥遥无期。曾经说要把职业和家庭好好平衡,现在却是完全紊乱。家里很乱,却无心无力打扫,职业也不知道在哪里。学业那么难,可已经开始,如果生下的孩子,回不去。硬着头皮上,我疲累而易怒。我冲孩子和老公发火,乱扔东西大喊大叫发泄。”
日子眼看就过不下去,离婚,这个似乎只能是别人家的事,却已被提到自己嘴边。“并不是感情的问题,而是生活的失控。我极度的烦躁,找不到出口。如果没有移民,我一定做着悠闲的工作,如果没有怀孕生子,我就有更多的机会和自信,不是没有抱怨和后悔。要说离婚哪里有那么多的第三者,真的就是这些大大小小的吵闹,把爱一点点碾碎了吧。”望见他,似乎没了热情。望见生活,那曙光就是那么忽明忽暗的一点点。
“学完了,也不一定能够找到工作。整整七年,老公一直一个人工作,我们根本存不下什么钱。我知道他也熬得很辛苦。或许吧,我们就是因为不能够缓解的疲劳让我们变成了一点就爆的火药桶。记得那最后一次大吵,最后我们都哭了。我们都知道等我毕业之后找到工作,家里的境况就好了心里也就宁静了,可是这等待怎么就这么漫长,我们还有没有力气走到最后。”登山也是快到巅峰的时候最难。那身心释然的时刻似乎就在眼前,可那么短的一段路却举步维艰。
“可能之前吵架太多,气力耗尽了吧。老公很坚持,说不是感情的问题,走过这一段就好了。听到离婚这两个字我都会哭,怎么愿意真的离婚呢?更何况,我越来越喜爱这个不期而遇的孩子。她很懂事,刚刚一岁的时候就知道给我递小毛巾擦眼泪。”或许,这些稍纵即逝的温情细节一点点给她濒于瓦解的身心加固钢筋水泥。
“总算熬到头了。”这是她找到工作后说的第一句话。她是她们班上第一个找到工作的,顺利地出乎意料。拿到offer,他们大哭大笑。“这七年,我终于知道了生活。其实,现在的工作更加累。每天几乎要工作十个小时,加上花在路上的时间,回到家里累得什么也做不了,胡乱吃几口饭就是想睡觉。还是很想一觉不醒,可是很早就要起来赶车。薪水不高。拿到offer的兴奋维持了不到一周,接下来的还是每天每天疲惫不堪。我曾想,工作赚钱就好了,现在知道生活的乐趣一定不在于此,或者,不仅仅在此。”
车轮般高速旋转的生活,似乎使她无暇他顾,更记不起那刚刚过去的七年。“现在知道,如果是熬着过日子,永远到不了头。”她说上天给人类最好的礼物就是健忘,尤其是选择性的忘记。忘记那些即便只是一个小时前的不愉快。而那些似乎刚刚擦身而过的哭嚎泪水绝望,对她,却是一段很长的时间,七年。(芙郎)
蓦然回首,不知道那几年是怎么过来的。想起来她总会笑着摇摇头,仿佛不相信自己,已经安然走过,仿佛不相信自己,有那么多的软弱和怨憎,那么多的忍耐和勇气。面对移民岁月里不期而遇的生活,并不是没有想过放弃,也曾经走到危险的边缘。煎熬里等待的日子,不堪回首却意味深长。
人物:Mary,女,35岁,到加拿大7年。
七年,整整七年,三年孩子,四年上学。她说她用七年的时间终于得到足够的安全感。
“来加拿大的时候,还不到30岁,其实,还真的有股天不怕地不怕的劲头。曾经信誓旦旦地说,什么样的日子都能过,只要我们在一起,现在想来还真的只是不懂事的小姑娘说的理想主义,那种琼瑶电视剧里不食人间烟火的男女主角。”那诚挚的情感没有变,只是现在的她似乎不再能够有那种有情饮水饱的得意自在。
“没有想到的有两件事,一个是意外怀孕,一个是意外上学。这两件事情本来都没有打算的,心里只想着怎么找工作。虽然刚登陆的时候,很多人说我年纪还不大,上学挺好的。可我自己知道,我已经上够学了,太想工作了。”小时候上学晚,等到研究生毕业的时候,已经整整26岁。“办移民的时候需要工作信,也是找朋友开的。实际上我并没有更多的工作经验。从研究生毕业到登陆加拿大之间不到两年的时间,因为要出国,也没有什么实际的工作,从内心里,我很想工作,想到自己比较正式的第一份工作是在加拿大,心里还有一些莫名的激动。”
她以满身心的热情准备投入到新鲜而陌生的种种机遇与可能里,却没有想到接下来的整整七年,她的天地只有那么一点点。
“Co-op还没有结束,我怀孕了,可能是遗传的缘故,反应特别的厉害。吃不下东西,人也没有精神,就想睡觉,不舒服极了,小孩也不太稳。虽然不情愿,也只好在家休息待产。那个时候老公在工厂上班了,很多时候我都是一个人在家。孩子生了才刚刚是个开始,老人家都年纪大了,身体也不大好,没有人帮忙。三年时间,我和这么小的一个孩子在一起。还记得,孩子出生之后加拿大的第一个冬天,老公上班去,外面大风大雪,我们哪里也去不了,只能整天整天待在家里,一待就是将近半年的时间。
孩子睡了,她时常望着窗外飘雪灰灰的天空,疲劳已经让她没有任何气力幻想。
“脾气变得很坏。”直言不讳,她说自己是一个自私的人。“我似乎有些不enjoy有了孩子之后的生活,觉得自己的安排完全被打乱。想把孩子送回国,老公死活不让,我们为了这件事情没有少吵架。那个时候虽然他有一份工作,但薪水真的不高,我也很想工作赚钱来有一个更好的生活。在感情上,我似乎比他粗线条。我觉得把孩子送回国一段时间,我找好工作再接回来也没有什么不好。意见不一致,我们彼此都觉得彼此自私只想自己的感受。”
如同抽出的线头,越扯越多越扯越乱。“我说他只管生不管养,他说我长不大不懂事狠心,我们都觉得怎么不能理解对方,都觉得是在为这个家着想,怎么就得不到理解和支持,越说越多。真的,孩子一岁到两岁期间,我们几乎天天吵。每天早上送他上班,期待他回来,回来之后却是不愉快。总是能有那么多的小事情引起我的怒火。”
孩子,这个已经既成的事实,怎么样才能够和生活融合。“吵得生活好无趣,真的都快离婚了,两个人之间似乎没有了温情。那天我生气,是老公哄孩子睡觉的,等他从里屋出来,看到他眼睛红红的。他说他实在想给孩子一个快乐幸福的家,他说我要想工作就工作吧。孩子送到幼儿园。可是,那个时候,我已经将近三年没有工作,我没有信心,更不知道去做什么工作。我的外语也在退步,浑身赘肉。”
正如她预期的一样,工作迟迟不能到位。再次参加Co-op的同学都陆续找到了工作,而她在实习结束没有能够留下来之后,工作的事情就搁浅了。“不如上学吧,上学能够帮你找回自信。孩子在幼儿园,时常,我一个人在家,上网找工作,等待面试,面试无果。生活似乎更加没有寄托。上学对我似乎不是主动的选择,而是没有办法的办法。的确,我对自己无所事事的生活已经厌倦了。可是,没有想到的是,在加拿大上学那么辛苦。”本以为轻而易举的事情,到眼前的时候却沉重万分。
“在中国读了那么多年的书,对学习和考试我自有一套。而且,国内的学习真的也很轻松,大学和研究生期间都是玩玩闹闹地就过来了,考试的时候突击无往不利。而在这里学习的四年,一个字,累。”缺少了对工作市场需求的把握,这次在30岁之后开始的学习,远远不能够轻松自如。“从开始申请到读书,都一直挣扎。学出来都三十四五岁了,好找工作吗?从大学到研究生再到现在,只有这次读书的结果让我紧张忧心患得患失。有的时候,觉得上那短平快的training挺好,有的时候又想是不是正儿八经考托福申请留学比较好,又甚至就到工厂打工,赶紧赚钱,看到别人上完学之后找到好工作,又报怨自己开始的太晚,浪费了很多时间,要不然现在早已经稳定了。很多的功课要做,孩子一样很多的事情,累。”
累得让人悲观。身体与神经仿佛已经不能再承载任何,只想一觉睡过去不要醒,只想一夜之间万事具备。“几乎每天都要熬夜,很久没有睡过好觉。想想自己已经30多岁了,都渐渐老了,却什么也没有弄好,曾经的理想全变了样。曾经说买了房子再孩子,现在孩子生了,房子却遥遥无期。曾经说要把职业和家庭好好平衡,现在却是完全紊乱。家里很乱,却无心无力打扫,职业也不知道在哪里。学业那么难,可已经开始,如果生下的孩子,回不去。硬着头皮上,我疲累而易怒。我冲孩子和老公发火,乱扔东西大喊大叫发泄。”
日子眼看就过不下去,离婚,这个似乎只能是别人家的事,却已被提到自己嘴边。“并不是感情的问题,而是生活的失控。我极度的烦躁,找不到出口。如果没有移民,我一定做着悠闲的工作,如果没有怀孕生子,我就有更多的机会和自信,不是没有抱怨和后悔。要说离婚哪里有那么多的第三者,真的就是这些大大小小的吵闹,把爱一点点碾碎了吧。”望见他,似乎没了热情。望见生活,那曙光就是那么忽明忽暗的一点点。
“学完了,也不一定能够找到工作。整整七年,老公一直一个人工作,我们根本存不下什么钱。我知道他也熬得很辛苦。或许吧,我们就是因为不能够缓解的疲劳让我们变成了一点就爆的火药桶。记得那最后一次大吵,最后我们都哭了。我们都知道等我毕业之后找到工作,家里的境况就好了心里也就宁静了,可是这等待怎么就这么漫长,我们还有没有力气走到最后。”登山也是快到巅峰的时候最难。那身心释然的时刻似乎就在眼前,可那么短的一段路却举步维艰。
“可能之前吵架太多,气力耗尽了吧。老公很坚持,说不是感情的问题,走过这一段就好了。听到离婚这两个字我都会哭,怎么愿意真的离婚呢?更何况,我越来越喜爱这个不期而遇的孩子。她很懂事,刚刚一岁的时候就知道给我递小毛巾擦眼泪。”或许,这些稍纵即逝的温情细节一点点给她濒于瓦解的身心加固钢筋水泥。
“总算熬到头了。”这是她找到工作后说的第一句话。她是她们班上第一个找到工作的,顺利地出乎意料。拿到offer,他们大哭大笑。“这七年,我终于知道了生活。其实,现在的工作更加累。每天几乎要工作十个小时,加上花在路上的时间,回到家里累得什么也做不了,胡乱吃几口饭就是想睡觉。还是很想一觉不醒,可是很早就要起来赶车。薪水不高。拿到offer的兴奋维持了不到一周,接下来的还是每天每天疲惫不堪。我曾想,工作赚钱就好了,现在知道生活的乐趣一定不在于此,或者,不仅仅在此。”
车轮般高速旋转的生活,似乎使她无暇他顾,更记不起那刚刚过去的七年。“现在知道,如果是熬着过日子,永远到不了头。”她说上天给人类最好的礼物就是健忘,尤其是选择性的忘记。忘记那些即便只是一个小时前的不愉快。而那些似乎刚刚擦身而过的哭嚎泪水绝望,对她,却是一段很长的时间,七年。(芙郎)
2007年11月1日星期四
Top 10 reasons C# is better than VB.NET
Top 10 reasons C# is better than VB.NET
Let's get practical, religion aside, with an eye on programmer productivity, here are the top 10 reasons why C# is better than VB.NET, in no particular order. If you have some other ones, let me know.
1. In C# the line ends when I type the semicolon. The practical offshoot of this is that I write code like this:
string sql = @"SELECT *
FROM SomeSuchTable
WHERE ID='WhatHaveYou'
ORDER BY ThisAndThatField ASC ";So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format. In VB.NET, you would have to write the following to keep the formatting.
dim sql as string = "SELECT *" & vbCrLf
sql += "FROM SomeSuchTable" & vbCrLf
sql += "WHERE ID='WhatHaveYou'" & vbCrLf
sql += "ORDER BY ThisAndThatField ASC "And that's annoying.
2. Increments/Decrements. a++;a--; 'Nuff said
3. Money. No, not the data type. The green. C# developers make more money. Don't believe me? Here is the proof. Like Orwell said, War Is Peace, Freedom Is Slavery, Ignorance Is Strength and yeah, it's the same .NET framework, but Perception is Reality. Get over it. Learn it. Put it on the resume.
4. I am not sure whether this is a valid reason, but with C# I can use Borland C# Builder which sports my beloved SDI interface, a la VB3, so that you can code full screen. This interface was also available (though not by default), in VB4,5,6 and VS.NET 2002 beta 1. The SDI interface disappeared from the VS.NET product before it shipped though. Anyway, if you miss that kind of interface, you can use it in Borland C# Builder.
5. Error Catching. C# catches a lot more errors than VB.NET, such as uninitialized variables, dead code, etc...
6. You get to act really snotty to VB.NET developers, yeah! That's priceless.
7. The source code to the C# compiler is available from Microsoft and Novell. This means that you can theoretically develop apps for OSes other than Windows, such as Linux and MacOS. Thanks to Jai Lue for this tidbit.
8. C# has Operator Overloading (my favorite feature from C++). Though, via the grapevine, VB.NET will have this feature in VS 2005. Thanks to Aditya Vaze for this language delicacy.
9. Comments in C# are just better. You can do multiline comments, XML comments, single line comments, etc... Thanks to German Voronin for this.
10. Regions in C# are far better. The key here is that you can place a region inside a function, thus breaking up the implementation into logical pieces. I simply love this ability.
Let's get practical, religion aside, with an eye on programmer productivity, here are the top 10 reasons why C# is better than VB.NET, in no particular order. If you have some other ones, let me know.
1. In C# the line ends when I type the semicolon. The practical offshoot of this is that I write code like this:
string sql = @"SELECT *
FROM SomeSuchTable
WHERE ID='WhatHaveYou'
ORDER BY ThisAndThatField ASC ";So when someone hands you a SQL statement you can just paste it into your code and the output (i.e. carriage returns) will still keep the format. In VB.NET, you would have to write the following to keep the formatting.
dim sql as string = "SELECT *" & vbCrLf
sql += "FROM SomeSuchTable" & vbCrLf
sql += "WHERE ID='WhatHaveYou'" & vbCrLf
sql += "ORDER BY ThisAndThatField ASC "And that's annoying.
2. Increments/Decrements. a++;a--; 'Nuff said
3. Money. No, not the data type. The green. C# developers make more money. Don't believe me? Here is the proof. Like Orwell said, War Is Peace, Freedom Is Slavery, Ignorance Is Strength and yeah, it's the same .NET framework, but Perception is Reality. Get over it. Learn it. Put it on the resume.
4. I am not sure whether this is a valid reason, but with C# I can use Borland C# Builder which sports my beloved SDI interface, a la VB3, so that you can code full screen. This interface was also available (though not by default), in VB4,5,6 and VS.NET 2002 beta 1. The SDI interface disappeared from the VS.NET product before it shipped though. Anyway, if you miss that kind of interface, you can use it in Borland C# Builder.
5. Error Catching. C# catches a lot more errors than VB.NET, such as uninitialized variables, dead code, etc...
6. You get to act really snotty to VB.NET developers, yeah! That's priceless.
7. The source code to the C# compiler is available from Microsoft and Novell. This means that you can theoretically develop apps for OSes other than Windows, such as Linux and MacOS. Thanks to Jai Lue for this tidbit.
8. C# has Operator Overloading (my favorite feature from C++). Though, via the grapevine, VB.NET will have this feature in VS 2005. Thanks to Aditya Vaze for this language delicacy.
9. Comments in C# are just better. You can do multiline comments, XML comments, single line comments, etc... Thanks to German Voronin for this.
10. Regions in C# are far better. The key here is that you can place a region inside a function, thus breaking up the implementation into logical pieces. I simply love this ability.
Top 10 reasons VB.NET is better than C#
Top 10 reasons VB.NET is better than C#
http://www.vbrad.com/article.aspx?id=65
1. The amount of data casts and conversions in C# is gigantic. There are probably 10 casts per 50 lines of code. Most of the time these casts are totally unnecessary, like in this common example. I normally save the state of the form either to Ini file, Registry or XML file. So on application startup, I restore Form's state:
//get the form state from Ini File
//following line fails
FormWindowState eState = oIni.GetValue("FormState");
//must use cast (FormWindowState)
FormWindowState eState = (FormWindowState) oIni.GetValue("FormState");
//even this does not work
FormWindowState eState = 1;
//you have to use a cast even on simple numbers
FormWindowState eState = (FormWindowState) 1;
//finally set the value
this.WindowState = eState;So here we have a case where Form.WindowState should accept value such as 1, but refuses to. IMO, the compiler should be able to convert on the fly. I don't mind strong typing. I do mind stupid typing. In VB.NET all the lines below work.
me.WindowState = 1
me.WindowState = val(oIni.GetValue("FormState"))
http://www.vbrad.com/article.aspx?id=65
1. The amount of data casts and conversions in C# is gigantic. There are probably 10 casts per 50 lines of code. Most of the time these casts are totally unnecessary, like in this common example. I normally save the state of the form either to Ini file, Registry or XML file. So on application startup, I restore Form's state:
//get the form state from Ini File
//following line fails
FormWindowState eState = oIni.GetValue("FormState");
//must use cast (FormWindowState)
FormWindowState eState = (FormWindowState) oIni.GetValue("FormState");
//even this does not work
FormWindowState eState = 1;
//you have to use a cast even on simple numbers
FormWindowState eState = (FormWindowState) 1;
//finally set the value
this.WindowState = eState;So here we have a case where Form.WindowState should accept value such as 1, but refuses to. IMO, the compiler should be able to convert on the fly. I don't mind strong typing. I do mind stupid typing. In VB.NET all the lines below work.
me.WindowState = 1
me.WindowState = val(oIni.GetValue("FormState"))
Choosing between C# and VB.NET
Choosing between C# and VB.NET
The .NET Framework supports a variety of programming languages, including Microsoft?s much heralded C#. Huw Collingbourne considers whether Visual Basic is still as sharp as the competition.
In the past, different programming languages tended to do things in their own way. Programmers using C++ would, in all probability, make use of the types and routines provided by the Microsoft Foundation Classes (MFC) libraries; Visual Basic had its own built-in types and routines; non-Microsoft languages such as Delphi and Java used yet other class libraries, each of which was incompatible with each other.
With the advent of .NET that has changed. No matter which programming language you use, you will have access to the same rich collection of classes and functions provided by the .NET Framework. Indeed, it is even possible to write classes in one language and derive descendant classes from them in another language. Your source code is not compiled directly into a machine code executable. Instead it is translated into Microsoft Intermediate Language (MSIL). This intermediate language is only converted into machine code when the program is run by the .NET Common Language Runtime (CLR).
In effect, the .NET CLR understands only one language: MSIL. This means that it really doesn’t matter which language your programs are written in. Whether they were written in C#, J#, VB, Delphi or some other .NET language, they will all end up as MSIL.
Given the fact that all .NET programming languages have access to the same class library, are translated to the same intermediate language and are executed by the same runtime system, you may wonder what, if anything, there is to choose between them. In this article, I shall be taking a close look at Microsoft’s two principal .NET languages, C# and VB.NET, in an attempt to answer this question.
Choosing between C# and Visual Basic
As far as the .NET Framework is concerned, all programming languages are pretty much equal. In the past, you may have evaluated languages on the basis of their compilation and execution efficiency or their editing, design and debugging tools. Most of these considerations are irrelevant when programming for .NET. Languages such as C#, VB.NET and others can, in principle, access the same classes and output the same MSIL code. When hosted by Visual Studio .NET, they even share the same development environment.
The really important differences between the languages are not to be found in their interaction with the runtime system but in the support they offer to the programmer. In short, the syntax, the structure and the clarity of the languages are paramount.
You only have to glance at some C# and VB.NET code to see some of the obvious differences. On the whole, C# is much terser than VB.NET. To take a simple example, consider the way in which the two languages delimit blocks of code. In common with other C-like languages such as C++ and Java, C# uses curly brace delimiters. VB.NET, by contrast, uses various keywords such as End If, End Sub and Next to terminate specific code blocks.
Some people would argue that the more verbose syntax of VB.NET makes the code clearer (more ‘self documenting’). On the other hand, it would equally well be argued that C# has the virtue of consistency, since curly braces are used to delimit everything and the built-in bracket matching tool makes it easy to find the braces at the start and end of each code block. Ultimately, this is a matter of personal preference which is likely to depend on your previous programming experience.
While it is generally true to characterise C# as the terser language, this is not invariably the case. When you need to read or write multiple properties of a single object, VB.NET provides the very useful with keyword. This lets you enter the object variable just once rather than repeatedly. This can often make VB.NET considerably less verbose than C#, as you can see in this example:
’ Set TabPage properties in VB.NET
With TabControl1.TabPages(0)
.BackColor = Color.Red
.BorderStyle = BorderStyle.Fixed3D
.ToolTipText = "Click Me!"
.Text = "Hello world"
End With
// Set TabPage properties in C#
tabControl1.TabPages[0].BackColor = Color.Red;
tabControl1.TabPages[0].BorderStyle = BorderStyle.Fixed3D;
tabControl1.TabPages[0].ToolTipText = "Click Me!";
tabControl1.TabPages[0].Text = "Hello world";
For programmers with no previous experience of a C-like language, VB.NET code will, in most cases, be easier to understand than the C# equivalent. Take the example of a simple for loop. You could read this VB.NET version aloud and understand what it does:
For i As Integer = 0 To 7
TabControl1.TabPages(i).Text = "Tab: " + i.ToString()
Next i
The same cannot be said of its C# equivalent:
for(int i = 0;i < 8; i++){
tabControl1.TabPages[i].Text = "Tab: " + i;
}
Incidentally, there are two interesting things to note in the code fragments shown above. First, experienced VB programmers may be surprised to see the declaration of i As Integer in the For loop. In previous versions of VB, the counter variable in a For loop had to be pre-declared. The other thing to note is that C# automatically converts the integer variable, i , to a string when it is concatenated using the + operator. VB.NET does not permit this. Instead it requires the variable to be explicitly converted using the ToString() method.
Smooth Operators
There are several non-intuitive or ambiguous features which C# has inherited from the C language. To take a simple example, C# allows programmers to increment or decrement the values of a variable by placing two plus ( ++ ) or minus ( -- ) characters either before or after the variable. The resulting value can then be assigned to some other variable. However, the effect of the assignment varies according to the position of the increment operators. If placed before the variable, the increment is done before the value is assigned. If placed after the variable, the value is assigned before the increment is done. Used carelessly, this can result in subtle bugs. The VB.NET syntax does not allow such ambiguity.
On the other hand, VB.NET has acquired some C-style operators which can be used for brevity. The += and -= operators, for instance, allow you to increment or decrement the value of a variable without having to repeat the variable name on the right-hand side of the assignment:
x += y ’ this is the same as x = x + y
Other distinguishing features of the VB.NET and C# languages include the case sensitivity of C#. In VB.NET, a variable named MYVAR can also be written as myvar. In C#, these would be treated as two different variables. There are, of course, numerous syntactical differences ranging from the declaration of variables ( Dim VariableName As TypeName in VB.NET, TypeName VariableName; in C#) to the way in which statements are terminated (typically the end of a line in VB.NET and a semi-colon in C#).
Better Safe Than Sorry?
Aside from the features of the languages themselves, there are also several significant differences in the way in which they are supported by the Visual Studio .NET environment. The code editor provides more automatic formatting and IntelliSense code-completion for VB.NET than for C#. For example, to create a property in VB.NET you need only enter the keyword property and a name such as MyProp. When you press the Enter key, the editor generates all of the following code:
Property MyProp()
Get
End Get
Set(ByVal Value)
End Set
End Property
In C# you would have to enter all the equivalent code for a property by hand.
The editor supplies many other types of automatic formatting for VB.NET. For example, it adjusts the capitalisation of keywords for consistency and it optionally reformats code by logically aligning statements, adding missing end quotes to strings, supplying parentheses to function calls and so on. The automatic formatting options available to C# are far less complete.
Making the choice
In summary, when evaluating programming languages for .NET, the choice between C# and VB.NET is largely a matter of personal preference. In the past, VB may have been looked down upon by some developers who considered it to be inherently less powerful than other general purpose languages. But VB.NET is altogether a different beast from VB6. It is every bit as powerful as C#, it has full access to the .NET Framework and its compiled applications should generally be just as fast and efficient as similar applications written in C#.
The only major difference between the two languages is that C# can break out of the ‘managed’ world of .NET to support unsafe code should this be required. However unsafe code is, as its name suggests, inherently hazardous and you may feel that it is a good thing to avoid using it. Explicit use of pointers is seldom required when programming .NET. If you really feel that you cannot do without pointers, then C# would be a good choice of language. If you are happy to work within the managed world of .NET, then C# or VB.NET would be equally suitable for your purposes.
Of course, there are other .NET languages available too. At first sight, C++ might seem the most attractive choice for programmers with previous experience of that language. You need to be aware, however, that the .NET version of C++ is best used for manipulating unmanaged memory. In most cases, C# would be a better choice of .NET language for a programmer with C++ experience. Unlike C++, the C# language was specifically designed for the .NET Framework. It benefits from a simple syntax, garbage collection and type safety to eliminate many potential bugs.
For Java programmers, the J# language provides a Java-style alternative to C#. It offers the easiest migration path for projects developed using Microsoft’s Visual J++. However, bear in mind that the syntax of C# is also very similar to that of Java. Moreover, both Java and C# provide garbage collection to reclaim unused memory, they both avoid pointers by default and implement a simplified form of single-descent object orientation. Unless you have a particular reason for selecting J#, therefore, the C# language should generally be preferred.
The .NET Framework supports a variety of programming languages, including Microsoft?s much heralded C#. Huw Collingbourne considers whether Visual Basic is still as sharp as the competition.
In the past, different programming languages tended to do things in their own way. Programmers using C++ would, in all probability, make use of the types and routines provided by the Microsoft Foundation Classes (MFC) libraries; Visual Basic had its own built-in types and routines; non-Microsoft languages such as Delphi and Java used yet other class libraries, each of which was incompatible with each other.
With the advent of .NET that has changed. No matter which programming language you use, you will have access to the same rich collection of classes and functions provided by the .NET Framework. Indeed, it is even possible to write classes in one language and derive descendant classes from them in another language. Your source code is not compiled directly into a machine code executable. Instead it is translated into Microsoft Intermediate Language (MSIL). This intermediate language is only converted into machine code when the program is run by the .NET Common Language Runtime (CLR).
In effect, the .NET CLR understands only one language: MSIL. This means that it really doesn’t matter which language your programs are written in. Whether they were written in C#, J#, VB, Delphi or some other .NET language, they will all end up as MSIL.
Given the fact that all .NET programming languages have access to the same class library, are translated to the same intermediate language and are executed by the same runtime system, you may wonder what, if anything, there is to choose between them. In this article, I shall be taking a close look at Microsoft’s two principal .NET languages, C# and VB.NET, in an attempt to answer this question.
Choosing between C# and Visual Basic
As far as the .NET Framework is concerned, all programming languages are pretty much equal. In the past, you may have evaluated languages on the basis of their compilation and execution efficiency or their editing, design and debugging tools. Most of these considerations are irrelevant when programming for .NET. Languages such as C#, VB.NET and others can, in principle, access the same classes and output the same MSIL code. When hosted by Visual Studio .NET, they even share the same development environment.
The really important differences between the languages are not to be found in their interaction with the runtime system but in the support they offer to the programmer. In short, the syntax, the structure and the clarity of the languages are paramount.
You only have to glance at some C# and VB.NET code to see some of the obvious differences. On the whole, C# is much terser than VB.NET. To take a simple example, consider the way in which the two languages delimit blocks of code. In common with other C-like languages such as C++ and Java, C# uses curly brace delimiters. VB.NET, by contrast, uses various keywords such as End If, End Sub and Next to terminate specific code blocks.
Some people would argue that the more verbose syntax of VB.NET makes the code clearer (more ‘self documenting’). On the other hand, it would equally well be argued that C# has the virtue of consistency, since curly braces are used to delimit everything and the built-in bracket matching tool makes it easy to find the braces at the start and end of each code block. Ultimately, this is a matter of personal preference which is likely to depend on your previous programming experience.
While it is generally true to characterise C# as the terser language, this is not invariably the case. When you need to read or write multiple properties of a single object, VB.NET provides the very useful with keyword. This lets you enter the object variable just once rather than repeatedly. This can often make VB.NET considerably less verbose than C#, as you can see in this example:
’ Set TabPage properties in VB.NET
With TabControl1.TabPages(0)
.BackColor = Color.Red
.BorderStyle = BorderStyle.Fixed3D
.ToolTipText = "Click Me!"
.Text = "Hello world"
End With
// Set TabPage properties in C#
tabControl1.TabPages[0].BackColor = Color.Red;
tabControl1.TabPages[0].BorderStyle = BorderStyle.Fixed3D;
tabControl1.TabPages[0].ToolTipText = "Click Me!";
tabControl1.TabPages[0].Text = "Hello world";
For programmers with no previous experience of a C-like language, VB.NET code will, in most cases, be easier to understand than the C# equivalent. Take the example of a simple for loop. You could read this VB.NET version aloud and understand what it does:
For i As Integer = 0 To 7
TabControl1.TabPages(i).Text = "Tab: " + i.ToString()
Next i
The same cannot be said of its C# equivalent:
for(int i = 0;i < 8; i++){
tabControl1.TabPages[i].Text = "Tab: " + i;
}
Incidentally, there are two interesting things to note in the code fragments shown above. First, experienced VB programmers may be surprised to see the declaration of i As Integer in the For loop. In previous versions of VB, the counter variable in a For loop had to be pre-declared. The other thing to note is that C# automatically converts the integer variable, i , to a string when it is concatenated using the + operator. VB.NET does not permit this. Instead it requires the variable to be explicitly converted using the ToString() method.
Smooth Operators
There are several non-intuitive or ambiguous features which C# has inherited from the C language. To take a simple example, C# allows programmers to increment or decrement the values of a variable by placing two plus ( ++ ) or minus ( -- ) characters either before or after the variable. The resulting value can then be assigned to some other variable. However, the effect of the assignment varies according to the position of the increment operators. If placed before the variable, the increment is done before the value is assigned. If placed after the variable, the value is assigned before the increment is done. Used carelessly, this can result in subtle bugs. The VB.NET syntax does not allow such ambiguity.
On the other hand, VB.NET has acquired some C-style operators which can be used for brevity. The += and -= operators, for instance, allow you to increment or decrement the value of a variable without having to repeat the variable name on the right-hand side of the assignment:
x += y ’ this is the same as x = x + y
Other distinguishing features of the VB.NET and C# languages include the case sensitivity of C#. In VB.NET, a variable named MYVAR can also be written as myvar. In C#, these would be treated as two different variables. There are, of course, numerous syntactical differences ranging from the declaration of variables ( Dim VariableName As TypeName in VB.NET, TypeName VariableName; in C#) to the way in which statements are terminated (typically the end of a line in VB.NET and a semi-colon in C#).
Better Safe Than Sorry?
Aside from the features of the languages themselves, there are also several significant differences in the way in which they are supported by the Visual Studio .NET environment. The code editor provides more automatic formatting and IntelliSense code-completion for VB.NET than for C#. For example, to create a property in VB.NET you need only enter the keyword property and a name such as MyProp. When you press the Enter key, the editor generates all of the following code:
Property MyProp()
Get
End Get
Set(ByVal Value)
End Set
End Property
In C# you would have to enter all the equivalent code for a property by hand.
The editor supplies many other types of automatic formatting for VB.NET. For example, it adjusts the capitalisation of keywords for consistency and it optionally reformats code by logically aligning statements, adding missing end quotes to strings, supplying parentheses to function calls and so on. The automatic formatting options available to C# are far less complete.
Making the choice
In summary, when evaluating programming languages for .NET, the choice between C# and VB.NET is largely a matter of personal preference. In the past, VB may have been looked down upon by some developers who considered it to be inherently less powerful than other general purpose languages. But VB.NET is altogether a different beast from VB6. It is every bit as powerful as C#, it has full access to the .NET Framework and its compiled applications should generally be just as fast and efficient as similar applications written in C#.
The only major difference between the two languages is that C# can break out of the ‘managed’ world of .NET to support unsafe code should this be required. However unsafe code is, as its name suggests, inherently hazardous and you may feel that it is a good thing to avoid using it. Explicit use of pointers is seldom required when programming .NET. If you really feel that you cannot do without pointers, then C# would be a good choice of language. If you are happy to work within the managed world of .NET, then C# or VB.NET would be equally suitable for your purposes.
Of course, there are other .NET languages available too. At first sight, C++ might seem the most attractive choice for programmers with previous experience of that language. You need to be aware, however, that the .NET version of C++ is best used for manipulating unmanaged memory. In most cases, C# would be a better choice of .NET language for a programmer with C++ experience. Unlike C++, the C# language was specifically designed for the .NET Framework. It benefits from a simple syntax, garbage collection and type safety to eliminate many potential bugs.
For Java programmers, the J# language provides a Java-style alternative to C#. It offers the easiest migration path for projects developed using Microsoft’s Visual J++. However, bear in mind that the syntax of C# is also very similar to that of Java. Moreover, both Java and C# provide garbage collection to reclaim unused memory, they both avoid pointers by default and implement a simplified form of single-descent object orientation. Unless you have a particular reason for selecting J#, therefore, the C# language should generally be preferred.
订阅:
博文 (Atom)