Delphi与C#之父:技术理想架构开发传奇
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人的条件,但更重要的是,盖茨许诺他可以有充分的时间和资源投身自己感兴趣的技术方向。
Anders在犹豫,他是否真的要离开已经工作了十三年的Borland。从Turbo Pascal、SideKick再到Delphi,Borland是Anders辉煌的起点,他在这里成为人们敬仰的软件大师,并一手铸就了Borland传奇;在Borland,Anders有太多美好的回忆和未完成的理想。
Anders Hejlsberg
然而,随着1994年Philippe Kahn(Borland公司创始人)的离去,Anders渐渐失去了最强有力的支援;Borland的新任CEO Delbert Yocam希望加强Delphi在IDE市场的王者地位,因为Delphi才是Borland最主要的财务来源;但Anders已经看到Java和虚拟机语言的潜力,与其在已有的产品上徘徊不前,他更想专注于新产品Borland Java(后来的JBuilder)的研发;Borland的管理层的技术短视和Anders的技术追求显得如此格格不入;Anders回忆那段经历时曾说“那时,我感觉自己并不是不可缺少的人”。
风靡一时的Turbo Pascal
Borland的内部矛盾很快引起了微软的注意,Anders在开发界的名头和对技术的理解使微软急不可耐,甚至对Borland使用了最直接的攻击。微软人力部门派遣加长型的大轿车到Borland大门口找Anders吃饭,并开出了年薪百万美元以上的条件;在苦等无应、按捺不住之下,很快就再次联系Anders,这次给出的条件是两百万美元,但依然没能打动Anders。微软开始思索金钱以外的东西。第三次,比尔-盖茨亲自出马,除了开出三百万的价码,还给Anders完成技术理想的许诺。
经过短暂的犹豫,Anders完成了自己的决定,这个决定足以像Turbo Pascal和Delphi那样再次振动整个开发界;因为这个决定,促成了VJ++、C#和微软.NET战略的诞生。
Visual J++
1996年,Anders正式加盟微软,成为Visual J++和WFC(Windows基础类库)的架构师。他的第一个项目与其在Borland的技术理想相当接近,在微软知名的Visual Studio平台上打造一个基于虚拟机的语言和像Delphi一样彻底解
相关文档:
C#:
创建:
HttpCookie cookie = new HttpCookie("regID");
cookie .Value = username;
cookie .Expires = DateTime.Now.AddDays(1);
& ......
2010这个元旦太无聊了,于是找了个奇迹游戏私服耍,在玩的过程中发现总是要登录到网站上去转生加点之类的操作,1次2次还好,100次你就郁闷了,于是自己想写个简单的程序来做。
以下就是代码部分啦:
(需要注意的是WebClient的Cookie部分)
using System;
using System.Collections.Generic;
using System.ComponentMo ......
无论在cmpp或sgip中,都会遇到短信编码格式转换的问题。
因为现在短信编码常用的格式有三种:0:ASCII串,8:UCS2编码,15:含GB汉字。在发送或接收短信时,都会用到相应的编码转换。如以下代码:
public static String Decode(Byte[] buf, int StartIndex, int Length, CODING Coding)
{
......
/// <summary>
/// 方法一:通过使用 new 运算符创建对象
/// </summary>
/// <param name="strSource">需要加密的明文</param>
/// <returns>返回16位加密结果,该结果取32位加密结果的第9位到25位</returns>
public string Get_MD5_Method1(strin ......
http://hi.baidu.com/rainbow_chaser/blog/item/7eb5f001c0d864e508fa93ac.html
1.防止刷新时闪烁的终极解决办法
{ 防止刷新时闪烁的终极解决办法(对付双缓冲无效时) }
Perform($000B, 0, 0); //锁屏幕 防止闪烁
// 做一些会发生严重闪烁的事情..
//解锁屏幕并重画
Perform($000B, 1, 0);
RedrawWindow(Handle, nil, ......