msolap

architect's dream, developer's nightmare

2006年2月13日 #

Borland准备剥离IDE开发工具

Borland公司准备剥离IDE开发工具,而专注于application lifecycle management,现在Borland公司正在寻找合适的买家。对于一个Borland产品的老Fans,看到这条新闻还真有些吃惊,这意味着Delphi, JBuilder, C++ Builder, C# Builder, Kylix和Interbase等产品线要再易其主了。不禁让人回想起,多年前Borland曾经被Inprise收购并更名为Inprise,在经历了一次失败的转型后(中间件业务),又再次改回Borland。如今这家有着传奇经历的公司再一次站到了十字路口前。

http://www.eweek.com/article2/0,1895,1922016,00.asp
http://www.borland.com/us/company/news/press_releases/2006/02_08_06_borland_acquires_segue_software.html

posted @ 2006-02-13 15:22 msolap 阅读(249) | 评论 (0)编辑

2005年4月5日 #

When OOP Becomes POO

When OOP Becomes POO - http://www.developer.com/net/vb/article.php/3494001
作者受 "OOP is Much Better in Theory Than in Practice" 一文的启发,提出一些自己想法:
1. OOP的程序员应该分成OOP的使用者(Consumers)和OOP生产者(Producers)。
2. 创建一个类很容易,但建造一个类库或者一个架构完备系统则是出乎意料得难。
3. OOP的使用者未必能成为OOP的生产者
如果所有的使用者OOP都变成生产者POO,项目十有八九不成功。

我认同两位作者的观点,虽然也已经习惯了OOP的思维方式。从技术角度看,一个成功的项目需要的是一个健全的框架,而不是单纯的OOP。

posted @ 2005-04-05 14:29 msolap 阅读(390) | 评论 (1)编辑

2005年2月16日 #

In .NET 1.0, value types can't be null, but in 2.0 they can.

See in: Exclusive Interview with Anders Hejlsberg: Getting Reacquainted with the Father of C#
http://www.sys-con.com/story/?storyid=48156&DE=1

posted @ 2005-02-16 14:44 msolap 阅读(574) | 评论 (1)编辑

2005年1月8日 #

C#和Aspects计划

在最近的TSS访谈中, Anders Hejlsberg叙述了Aspects在C#未来版本中的位置:

 

It is not something that we are actively looking at implementing at this point, so we are sort of if you will in wait and see mode

 

http://www.theserverside.net/talks/videos/AndersHejlsberg/dsl/q21.html 

 

posted @ 2005-01-08 01:20 msolap 阅读(717) | 评论 (1)编辑

2004年12月31日 #

帮助2004年12月26日印度洋海啸中受灾的人们

印度洋海啸12.5万人遇难,帮助他们!

 


posted @ 2004-12-31 12:18 msolap 阅读(1152) | 评论 (1)编辑

2004年12月29日 #

模式之不学与不用

现在模式和架构是个热门话题,也来凑个热闹。


模式和架构属于较高层次的应用,但并不是非学不可。
出现下列情形时,当不学
. 程序员初学者,不学。并非学不会,而是不要被模式禁锢了自己的头脑。
. 为扬名立万填补知识空白,不学
. 不写代码,不走程序员之路者,不学
. 无恒心、信心和热情者,不学


不要期望优雅的代码里能到处看到模式的应用。模式就像钻石,镶满钻石的东西好看,未必好用。
当你准备用某个模式的时候,如果有下列情形,当不用

. 为模式而模式,不用
. 为扬名立万,不用
. 不清楚模式适用场景,不用
. 不清楚模式约束条件,不用
. 翻书才知道怎么写的,不用
. 会增加代码复杂性的,不用
. 会导致代码可读性变差的,不用
. 模式所带来的扩展性和灵活性不可预见的,不用
. 见不到明显益处的,不用
. 同事看不懂,不利于团队交流的,不用


最后用模式要记得写注释,写清名称和出处,足矣。

posted @ 2004-12-29 18:42 msolap 阅读(998) | 评论 (11)编辑

模式和招式

    最近blog里有很多人在谈论模式(pattern)和架构(architecture),其中不乏刚入程序员行列的同学,目标都是希望提升自己的开发水平。由于担心初学者过于看重模式,有舍本求末之嫌,特写此文。


模式和招式
    不知有多少程序员学过武术,其中有句话:“力不敌法,法不敌功”。意思是说:使蛮力敌不过会招法的,会招法敌不过基本功 厚实的。其实编程也是如此,如果放着基本功不练,拼命研究模式,最终只是一身花架子。

见过很多国内大型软件企业程序员的代码,很少有上乘表现的。主要原因我觉得和国情有关:
1)业务和编码一把抓,结果编程技术平平,却个个精通业务;2)急功近利,为赶工期不顾质量;其结果就是忽视基本功的学习和练习。


什么是软件领域的基本功?
Steve McConnell在《After the Gold Rush》一书中提到:
-- 一个人要成为某一领域的专家,大致需要五万个知识点。在那些成熟的领域,通常需要10年才能获得足够的知识点。
-- 其中超过一半的知识点会随着时间的流逝而废弃,如C++、JAVA、Perl、HTML、LINUX、Microsoft Windows。
-- 剩下的那些被称为Stable Core的,则会使你终生受用。
-- 哪些是软件领域的Stable Core?
 Software Requirements Engineering
 Software Design
 Software Construction
 Software Testing
 Software Evolution and Maintenance
 Software Configuration Management
 Software Quality Engineering
 Software Engineering  Management
 Software Engineering Infrastructure
 Software Enineering Process
-- 不用精通所有的上述领域,但至少所有的都要了解,同时要精通其中某一些。
基本功便是Stable Core中和我们工作内容相关的知识点。
 

试举一些和编码(Software Construction)相关的基本功:
. 标识符命名,变量类型选择
. 好的编码风格
. 基本的算法,如表驱动、树遍历、排序等
. 基本的编程技巧,如Assert、Trace等

(这些基本功不能光知道不练)

程序员从哪里入手?
有本老书一直觉得很受用:《Code Complete》(中文版《代码大全》)
最近出了第二版,内容大致相同,是学习编码(Software Constuction)基本功的宝典。

学习模式没有什么不好,但有个时机和火候的问题。就像练武术,先得从站桩、盘架子开始,基本功扎实后,再学招法是事半功倍。照我看,前三年不用专门学什么模式。多写代码,多看代码,不断改进自己的代码;到时自然水到渠成。

posted @ 2004-12-29 18:24 msolap 阅读(699) | 评论 (0)编辑

2004年12月15日 #

在http://spaces.msn.com/上blog,你MSN7的名字后面会有颗小星星,我喜欢这个功能。

http://spaces.msn.com/上blog,你MSN7的名字后面会有颗小星星,我喜欢这个功能。
乘现在注册的人少,赶快抢个好名字。

posted @ 2004-12-15 20:09 msolap 阅读(373) | 评论 (0)编辑

2004年11月28日 #

ThoughtWorks想进中国,却不知道怎么着陆。:-)

从哪里入手看上去是个问题,在中国做咨询有点难。有人建议先从一些高端或覆盖率最广的IT杂志上推agile...,办事处在北京还是上海也是未知。知道www.thoughtworks.com的人不多,知道Martin Fowler的人不少。

posted @ 2004-11-28 11:56 msolap 阅读(1416) | 评论 (3)编辑

2004年11月24日 #

关于Coupling, 有意思。

“How do you make two systems loosely coupled? Don't connect them.” -- David Orchard, BEA
“Objects that interact in a distributed system need to be dealt with in ways that are intrinsically different from objects that interact in a single address space.” -- Waldo et al, 1994
“Sometimes you want things to break when they change" -- ThoughtWorks

posted @ 2004-11-24 00:42 msolap 阅读(345) | 评论 (0)编辑

2004年10月26日 #

New feature in C# 3.0 - aims to make data programmable in a general purpose and truly object oriented syntax

C# 3.0的一个新功能是融合编程语言和数据库SQL语言,程序员的日子不知是祸是福。
Anders Hejlsberg的录像:http://channel9.msdn.com/ShowPost.aspx?PostID=10276

posted @ 2004-10-26 18:06 msolap 阅读(612) | 评论 (1)编辑

2004年10月20日 #

初来乍到,先四处看看

生平第一次用BLOG,作为.net的爱好者,这里也许是不错的选择,有感于dudu的“创建属于自己的博客堂”。

msolap

posted @ 2004-10-20 08:57 msolap 阅读(559) | 评论 (2)编辑