摘要:
近日M#的消息令江湖再次起了波澜。大家知道,.NET已经进入了瓶颈期。这个消息又让偶有所期待,趁此机会发表一下个人的展望,对C#或者其继任者,不管是M#还是X#。一、语法特性1. using引入类型using关键字在.NET中有两个意义,这里是指引入命名空间。要是支持using类型会带来很大方便,比如:using System.Runtime.InteropServices.Marshall; //可以直接调用Marshall类的静态方法和属性using List= StringList; //写起来不用再打2. 变量命名空间有时候,处理业务很复杂,即使在一个不能再分割的处理单元中也有许多.. 阅读全文
摘要:
长期以来,一直对字符串编码认识比较粗略,认为支持"特殊字符"编码就是Unicode。当然,.NET平台上很少需要考虑这类问题,但搞清一些基本概念还是很有好处的。Unicode这个词,首先是国际标准的通用字符集(UCS)名称,囊括了汉语八国联军火星文等各种文字。这是一个面向用户的字符编码标准。其他的编码标准如GB2132,BIG5什么的都是Unicode标准之前的老黄历了,彼此间,与现代系统间各种不兼容。而.Net中的UnicodeEncoding类,是实现Unicode字符集的一种编码方式,将一个字符转换成字节形式。其名称容易引起qi义,其实这个编码方式通用名称(在其他编程 阅读全文
摘要:
一提到C语言,在偶这个始终的C语言菜鸟眼里,是个神奇的语言。经过了近半世纪的历史,多少技术湮灭在信息时代的长河中,C语言却依然在TIBOE排行榜中笑傲群雄。本文是谈.NET开发者看来,C语言有什么特点,我们能从C语言中了解些什么。个人觉得,C++过于复杂了,和.NET走的完全是两条路,对我们没有多大可借鉴启发之处。操作系统和硬件驱动主要都是C语言编写的,比如Windows系统。C语言可以自由地通过嵌入系统头文件,调用Windows函数,创建窗口,画图操作文件等等。而.NET要调用这些函数,必须像这样声明: [DllImport("user32.dll", CharSet = 阅读全文
摘要:
.NET这两年来毫无疑问进入了一个瓶颈和停滞期。这两年来,虽然幅度不大,PC销量不断下滑,而移动设备发展一日千里。.由于Windows Phone份额远没有达到预想,Windows在所有终端设备的市场份额两年来大大萎缩。.NET一边在移动领域苦苦挣扎,桌面上微软在却一点点砍掉自己的手足,本来它是一个八爪章鱼,却一定要学人一样四肢健全。Silverlight不更新了,XNA不更新了。就算这两个领域带来的收入微薄,但真得连几个人的维护团队都维持不了吗?其实是因为,微软早已在酝酿彻底转型。从以软件改变世界的理想,到设备和服务迎合世界的现实,更早已放弃了构建一个大一统.NET平台的想法,.NET战略早 阅读全文
摘要:
最近我发现在上次Release中,由于时间太紧,个人水平有限,在许多存储过程中用了这么一个子查询,用以过滤用户没有权限访问的交易业务,类似这种形式:DECLARE @IDs TABLE(GroupID INT)--填充该用户无权限的组IDSELECT * FROM Deals WHERE GroupID NOT IN (SELECT GroupID FROM @IDs) 当时加上这个子查询时,因为前面还有很多连接操作,认为慢也正常。但是当我要将这段逻辑扩展到其他功能上时,我犹豫了,有些很常用的查询也要等个近一分钟,就算用户能忍受,我自己都接受不了,于是我试着把(SELECT GroupID F 阅读全文
摘要:
弯弯的月亮月亮代表我的心你看你看月亮的脸月亮之上这几首恐怕无人不知,无人不晓。我喜欢听的有:月亮船(杨钰莹)带我到月球(张雨生)城里的月光(许美静)坐在月亮上(徐若瑄)月光(王心凌)花好月圆夜(任贤齐&杨千烨)私奔带月球(五月天&陈绮真)庐州月(许嵩)还有几首也不错:荷塘月色(凤凰传奇)明月几时有(王菲)花好月圆(刁寒)明月千里寄相思(徐小凤)透过开满鲜花的月亮(林依轮)明月心(叶倩文)上弦月(许志安)月半弯(陈坤)还有白月光,月光爱人等,也很流行。看起来我听过的经典还真是不少,可以跟老婆炫一下。其实我很不满意,因为我搜索了半天,才回忆起这些。我特别喜欢《坐在月亮上》,Viva 阅读全文
摘要:
正值换工作面试高峰时节,偶尔回忆起自己的经历,还有不少感触。我自己算不算好程序员,还不敢断言,但对于什么是好程序员,倒积累了一定的见解,这里就分享一下。很多人将激情和热爱放在首位,其实做任何一行,也是如此,打球要有激情,当科学家要有热情。我个人比较认可知难行易,所以喜欢说意识而不是素质。尤其我们这一行,思想决定一切。第一位的,当然是技术意识。每个人情况不同,开发领域有天壤之别,适合什么样的技术自然也不同。我们用的技术日新月异,必须不断学习才能保证不被时代抛弃,让自己的职业生涯终结在三十岁。一般的程序员,接受新技术,比如客户提出我们下个版本要采用MVC,才开始突击。优秀的程序员,追求新技术,并用 阅读全文
摘要:
周三本来应Coding Complete,时间很紧,但别人时间看来更紧,被经理拉着一起去面了个人。面试者有5年半开发经验,主要是.NET方向,应聘Tech Lead。简历上列了不少项目,问他系统架构是什么,他说PetShop一样的三层架构。没有服务层,也没有日志缓存等纵向层的概念,问到错误处理,回答try catch写日志。问他怎么使用缓存,说用过MemCache,然后没了。没有UI开发经验,他说由美工负责,Winform/WPF/Asp.Net就都没问。我看到项目经历都是VS2005或2003开发的,问他是否了解.NET 3.5以后的新特性,只知道Linq To SQL,说用过Linq。又问 阅读全文
摘要:
半年多没更新了,太懒了。工作上业务逻辑真是无穷无尽,变更无休无止,还是回来,哪怕随便写点也好。今天就是个微不足道的东西,不过也有点可以深入思考的东西。快速排序一般都是递归实现,我一直以为递归性能上差一点,但可读性。但我前几天试写了一个不用递归的快速排序,发现反而不如递归的版本快: static v... 阅读全文