同事要给一家公司写Proposal,晚上给他找一篇中文的Web Services介绍性文章,以及一些ASP->ASP.NET、ADO与ADO.NET比较的文章等,找来找去找不到(还别说,要找到对胃口的还不太容易)。现在的中文MSDN和TechNet都不放这些这么浅的文章了。
于是就想起以前China Community的社区专栏文章了。其实,China Community的社区专栏文章那时候的好文章还真不少,有些文章现在看起来还颇有一定的参考价值。结果还真的找到几篇对胃口的,比如:
《ADO 与ADO.NET[孟庆臣, 3/10/2003]》
《迁移到 ASP .NET:需考虑的重要问题》
《Visual Studio .NET 中的 XML Web services 入门》
其实,感触最大的还是看到了自己那时候写的一篇文章:《非.NET语言调用.NET XML Web Services返回的数据集合的两个方法》。
之所以感触良多,是因为我发现,文章里面的一些代码,自己现在已经根本就不会写了。那些Java的Namespace,比如org.apache.xerces.dom.*,已经恍如隔世,压根就不记得是怎么回事、怎么调用了,仿佛那些代码根本不是自己一个个键敲出来似的:
import javax.swing.*;
import javax.swing.table.*;
import org.idoox.webservice.client.WebServiceLookup;
import org.idoox.wasp.Context;
import org.w3c.dom.*;
import org.apache.xml.serialize.*;
import org.apache.xerces.dom.*;
try{
System.setProperty( "wasp.location","C:\\Home\\Util\\wasp_4.0SP2");
javaclient.service1Soap12Client.Service1Soap service;
String serviceURI = "http://localhost/dotNetHost/Service1.asmx";
String wsdlURI = "http://localhost/dotNetHost/Service1.asmx?wsdl";
WebServiceLookup lookup = (WebServiceLookup) Context.getInstance(Context.WEBSERVICE_LOOKUP);
service = (javaclient.service1Soap12Client.Service1Soap) lookup.lookup(
wsdlURI,
javaclient.service1Soap12Client.Service1Soap.class,
serviceURI);
String result=
service.GetPersonTable(new javaclient.service1Soap12Clientstruct.GetPersonTable()).GetPersonTableResult;
DefaultTableModel model=new DefaultTableModel(new String[]{"name","gender"},0);
java.io.StringReader reader=new java.io.StringReader(result);
org.apache.xerces.parsers.DOMParser parser=new org.apache.xerces.parsers.DOMParser();
parser.parse(new org.xml.sax.InputSource(reader));
org.w3c.dom.Document document=parser.getDocument();
org.w3c.dom.NodeList children=document.getDocumentElement().getChildNodes();
for(int i=0;i
这代码里面还有JTable的一些用法,也基本没什么印象了——纵使三四年前对Swing是何等的得心应手。
同样的情况还不止于Xerces或者Swing。自己以前还有很多得心应手的东西也都忘记得差不多了,我想很多人都和我有同样的体会。编程就是这么一个东西:当你遇到一个具体的问题或方面时,通过几天、几个礼拜的钻研,就能在那一个点上面达到很深的层次,甚至完全可能就变成国内搞明白这个问题的寥寥数人之一。但是,一旦问题解决了,过后,要不了几个月、一两年,就会忘记得差不多一干二净。
看来IT人、程序员毕竟还不是一门手艺。一门手艺是不会忘记这么快的(虽然说曲不离口拳不离手)。这也就是为什么会产生程序员30岁以后做什么的问题——30岁出头的人,即便已经有六年七年八年或者更多的Years experience,从技术上说也总是最多只相当于有两到三年的经验——因为更早年做过的事情已经都忘记了,拿不起来了,和从来就不懂的人没太大差别了。