扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
当然我不想作什么书评,对于这本被称为“速食时代的商业寓言”,看完之后,我会联想起我们身边的一些境域,是否可以加以对照和引用,毕竟“速食时代也需要抚慰焦虑的行动指南”。
之前我们都自称自己是“Windows developers”,用着VB、VC、DELPHI、或是C++ Builder等等,靠着各种IDE的开发环境奔走在Windows的平台上,老实说最后我们会喜欢上这个平台,尽管它一直不是很稳定和让人满意。历经克林顿时代痛苦的反垄断打压之后Microsoft在布什元年推出了dotNET的概念(2001年可谓是Microsoft新世纪的第一个产品年,发布新产品和新计划之多;而2000年,是Sun保持着这个记录)。也就是在不久,8个月前一些变化开始明显了,Microsoft改变了Windows平台的技术底层。在犹豫和徘徊中,我们发现陌生的东西越来越多,除了Window的GUI还是我们熟悉的,其他的也许需要我们重新认识它了。
对于一个开发人员,无论VB还是C++的,你会发现:COM不见了,ADO不见了,指针没有了,内存管理没有了,VB Win32's API声明没有了,IUnknown、IDL没有了。你会说还好VC在,还没有变太多,不过打一开始MS称它为“Managed C++”,目前VC.NET中保留的应用和功能已经显得有些鸡肋了。我们熟悉的“奶酪”是否已经在减少或是开始变质了。
而当我们还在为dotNET进行各种讨论和推测,特别是纠缠于VB和VB.NET、C#和DELPHI、C#和Java、dotNET和J2EE、ASP.NET和JSP等等等等的比较和辩驳时,David Chappell在另一个半球发表着他的观点:
"If you can't change, get out of the software business." “reset your defaults regularly ”,他认为每一个开发者必须承担对变化反应迟缓的苦果,而每个开发人员的重点应当转移到对目前环境的评估和变化上,同时最重要的是你将如何看待你自己,是将自己看作专业的开发人员或编程专家还是公司的一个雇员或Sales,如果是后者那么你可以仍然将你目光的焦点放在股票变化上,而如果你认为自己是前者,那么转变是必然的,甚至比以前从DOS向Windows的转变还要深层、巨大、痛苦和孤独。
"The C++/VB debate is over,",现在该是考虑如何成为一个“CLR developers”的时候了。他预言C++会成为一种“marginal”的语言,但对于非dotNET和非Framework的应用来说,它将变得更重要和核心。在他的概念中更强调“experience”。(也许我们太热衷与争辩语言的优劣了,也但愿我们还没有浪费太多的时间)
But here's what Chappell had to say about your experience as a developer: experience is only useful if the future is like the present (yep, another maxim). Naturally, he thinks your experience could prove a detriment if you rely on it too much. So if you're just getting started, you actually may have advantages over the old-timers who come to .NET with their old coding ways and expectations.
No matter how smart you are, don't worry: there are others smarter than you. That's why everybody needs an edge (maxim again). Specifically, Chappell encouraged developers to become an expert in specific matters, because .NET allows specialized expertise:
Of course, Chappell did concede that Microsoft "has to ship this thing in a timely fashion, and it must work without bugs." In short, execution is everything (his final maxim). But you have to learn it because ".NET is the biggest change in our lifetimes."
我看到这些文字已是3个多月前的事了,当时也许不会有太多的感受,不过这一刻我似乎闻到了一种变质的味道(奶酪变质haha)。我不知道你是否做到Chappell在上面所说的或获得可能的“experience”,我想这之后甚至很长的一段时间里你还应该比上面做得更多和更好,具体的说下面这些方面(各条均是我个人观点):
还可以提及另一个人,Don Box是让人钦佩的,这位COM权威欣然的选择了变化,在表达了他对COM一贯的喜爱之后他也坦言将不再在MSJ的专栏上发布有关COM的文章了(dotNET推出4个月后,当然这个时间从MSJ上推算而得,并未经Don Box本人证实或MSJ考证)。我想他一定是一个“奶酪美食家”和“The Matrix迷”,听听他的看法,这位COM大师,也还会是我们dotNET领域的好老师和权威。
First he described what we're leaving behind: Win32, C++, COM, DCOM, and the notorious MSVBVM60.DLL runtime. He seemed pretty glad to be rid of them all.
"The C++ compiler doesn't respect you," he said, because it takes away the beauty of your code and turns it into spaghetti code, leaving none of your software ideas behind. In fact, it's evil. As he amusingly put it, "the C++ compiler allows you to pass any drug test with your DLL." That isn't good enough; people want to glean a programmer's intention from the code s/he writes.
VB hasn't been free of problems either, of course. The VB runtime has been the bane of Microsoft's existence because everyone knows that somewhere in it lies Bill Gates' ancient code from the 1970s. Indeed, "Keep VB Running" might as well be Microsoft's mission statement.
What of the alternatives? JUMP ("Java Users Must Pay") "will suck," Box said. If JUMP ships, "you'll be able to write 'Hello World' on it." Likewise, Sun's answer to .NET, called Sun ONE, will suck. Face it, it's in neither party's interest to make Java.NET work.
As a facetious aside, Box claimed that "everything you need to know about .NET can be gleaned from watching The Matrix over and over again." After all, software developers create worlds that become other people's realities. (Take his comment as you wish; I only report the news.)
So how does .NET fit into your worldview? If you can give up a certain level of control for the sake of productivity, you'll love .NET, Box maintained. Once upon a time you had to relinquish kernel-mode programming, where you controlled physical memory and interrupts, in order to gain the benefits of native-mode programming, where you took advantage of virtual memory and threads. Now it's time for managed-mode thinking, where you handle the three new currencies of programming: types, objects, and values.
"There's a flood coming and it will wash away all those who don't make the transition," he concluded.
看到变化需要眼光,而适应变化却需要身体力行的勇气和毅力。面对要“消失或变质的奶酪”,一般会有三个层次的反应:
第一个层次是 假装或不相信一切会变,对发生的变化毫无觉察或故意忽视;
第二个层次是 感受并遭遇到变化却不愿意面对,而宁愿呆在自己以前熟悉的环境中;
第三个层次是 愿意面对变化,但不能及时或无法有效的调整自己适应变化,从而在正确的方式下得到成长和收获。
那么我想每个人都会希望自己可以成为超越这三个层次之后的开发人员。抛开语言优劣;平台之见,也许几年之后再看,这些很自然的已经是成为一个“Windows developers”和优秀开发人员最基本的条件和素质。老手的程序员一般都不愿意将自己固定在一个平台上,新手的程序员一般都不会满足自己只会一种开发语言;不过如果要做一个“Windows developer”,可能首先要愿意变,让自己跟得上Microsoft的变化;然后还要能适应每次的变化,渐渐习惯每一次变化。“Windows developers”,永远都是新手。(这可能是Windows系统Bug多、不稳定的主要原因haha)
大凡有关如何变化的话题最后都不会有什么固定的结论,我想这一次也一样。
下面是原书突出的一些语句,不是什么美味的奶酪,但可以作为这个周末一份不错的甜品带给你,最后祝周末快乐。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者