回到过去看未来(2)

昨天看完李建忠的TechEd2011《WINRT》讲演,随手写了点口水文章记录下来。


回到过去看未来(2)


WINNT还没有获得商业的认可,WIN95横空出世。PC世界迎来了大爆发,更多的人知道了电脑买了电脑知道了WIN95。但这么多新手新用户新开发者,黑客对这块市场也是垂涎已久。于是新手不会用新开发者不会写,因而导致WIN95常常蓝屏或死机。当然当年微软在安全性稳定性开发方面也没有在战略层面太重视,所以种种WINDOWS不稳定不安全就被爆了出来。盖茨被迫做了战略级要求,全体微软开发者都要学习如何安全性编码和稳定性编码。当然WIN95从DOS、WIN32这条路上一路而来,自然底层架构也有问题所以迟迟不好解决此问题。


虽然WIN2000代替了WIN95,WIN2000采用的是WINNT内核,最后更易用的WINXP也出现了。稳定性和安全性貌似被提升了不少。于是,过去搞垮搞蓝屏别人电脑的黑客病毒这会也不容易使上力气了(想想把别人电脑搞蓝屏搞死机这样也确实没什么好处)。新一代的黑客是拜金主义,要的是钱。钱从哪里来,从信用卡号银行卡号来,在中国还有游戏账号和QQ账号这些有价值的东西。于是黑客转战阵地,正好也遇上了互联网的大发展,大家都上网但大家都是上网新手,对网上有什么木马钓鱼欺骗还陌生的很。于是,病毒少了,而来自网络的木马钓鱼多了。于是杀毒软件也随之转移阵地。


但微软的战略却刹不住闸,还在为稳定性和安全性一路冲刺。不让黑客直接操作OS内核直接操作CPU、内存,不让不会搞内存管理和指针管理的程序员写出来的程序也能有一定的稳定性。于是.NET而生。有了.NET虚拟机,对于防范滥开发新手和高黑客都有效。但,其实时代已经发展太快了,用户需要的是防范浏览器的安全和稳定,而微软还在为操作系统操劳。


虽然盖茨最终意识到了浏览器的重要性,纠集了全公司的开发、营销打赢这场浏览器世纪之战。战争是结束了(微软差点被拆掉),但盖茨和微软仍然是PC想法而非互联网想法,于是IE6躺在大份额市场下不思改进了。当微软再次意识到用户对OS的稳定安全已经不在意了而更在意浏览器的稳定、安全、甚至各网站的兼容性时,微软才又急急赶着做IE7。当然,随着VISTA的失败,IE7也很短命。


.NET虚拟机光有稳定和安全这两个特性根本吸引不了开发者和用户。那怎么办呢?微软看的是在应用级技术吸引。如更好的ASP.NET WEB编程技术,更好的WebService和XML技术,更多的各种开发语言的支持,更多的方便类库和控件。现在更是累加了WPF、Silverlight、WCF、WF、LINQ、ASP.NET MVC、Entity Framework,更是不断增强VS.NET IDE,不断增加应用层技术黏住开发者。


微软有了更紧密的WINDOWS内核,在内核之上附加.NET虚拟机,在虚拟机之上搞各种应用技术。而这种模式通吃PC级服务器、PC(含笔记本电脑)、平板电脑、PDA(不知道还有这类设备的生存场景不)、手机、游戏机、家电(嵌入式设备)。一个OS通吃所有设备,一个虚拟机、IL语言、VS.NET IDE通吃所有开发语言。


现在WIN8快出现了。我老怀疑WIN8是WP演变过来的(WINDOWS微内核+.NET虚拟机),就如同ipad OS是由iphone OS演变过来的。WIN8既支持平板触摸(Metro大按钮风格满足手指按)和PC现状(感觉就是换了一个主题皮肤)。


号称WIN8在WEB开发还是HTML+CSS+JS,在本地开发却是Metro XAML开发。有人说silverlight死了。从技术本质上来说,我没这么觉得,因为不管是WPF,还是silverlight,还是Metro XAML,在技术本质就是XMAL描述UI(就如同HTML描述UI一样),用前端JS控制UI。这种本地应用技术模型和WEB开发模型在技术本质上一样。


在WIN8的本地编程模式上,是C++、.NET语言、WINJS都能开发的。JS开发本地应用?对。微软是在WINAPI上包装了一层,让JS可以有调用接口。但稍等,这和当年JS调用微软本地ActiveX有啥区别?这不一样么?


再说说元数据MetaData。过去是COM代码和申明的Typelibrary分离,就如同微软现在也让UI定义和UI控制分离一样。过去.NET的代码是定义和实现在一起的,现在也要把MetaData分离了。过去.NET UI编程也是UI定义和UI实现在一起的,现在也分离了。


记得过去编写本地应用的时候,用的是DELPHI+COM写业务逻辑,用DELPHI控件写表现层。编写WEB应用的时候,用DELPHI+COM写业务逻辑,用HTML+CSS+JS+ASP写前端展示。


如今编写本地应用呢,用C#+.net组件写业务逻辑,用.NET控件(WPF、WINFORM、silverlight)写表现层。编写WEB应用的时候,用
C#+.net组件写业务逻辑,用用HTML+CSS+JS+ASP.NET写前端展示。


过去的ADO也升级到ADO.NET。过去ADO都是直接连接数据库进行增删改,在DELPHI有本地的ClientDataSet组件,而微软也学了这招在ADO.NET中也增加了类似的DataSet。


在未来的WIN8编写本地应用时候,用用C#+.net组件写业务逻辑,用.NET控件(WPF、WINFORM、silverlight)写表现层,只不过用了Metro的控件,做出来的是Metro的风格,可以受WIN8控制多点触摸。编写WEB应用的时候,用C#+.net组件写业务逻辑,用用HTML+CSS+JS+ASP.NET写前端展示,仍然照旧。


UI都几乎成了HTML\CSS\JS\XML的天下,不管是本地应用编程模式还是WEB应用编程模式。UI是展示层的接口和定义。
定义与实现分离、动态绑定。定义的本质就是元数据
严重关注实现设计,实现设计严重关注接口设计以及接口中的输入输出数据参数设计,而SOA的SCA\SDO也主要是强调这两点。


全世界的路都是熟路而同归的,所以技术已经不再有差异和比较,更多的是落实的细节是否和你想的一样好一样细致。往往是现实中有规定、有方法、有执行细节,但人来人往往往会造成有人根本不知道有这些细则,有人看不懂,有人理解有偏差误区,有人能执行,有人偶尔能执行,有人非得强制才能执行,有人还半信半疑不执行,有人觉得这些细则根本不解决问题很傻所以不屑于执行。因而一个好的架构好的设计往往在执行层面变形差之千里。当然,如果架构设计和实现设计这些上游环节都有很大的问题,就更别说编码落地的执行。

<think> 首先,用户的问题是:“能否回到过去的理论”,意思是“Can we go back to the past? Theory”。我需要用中文回答,因为用户指定了“请使用中文回答问题”。 我的回答必须完整回答这个问题。问题是在询问是否有可能回到过去,我需要讨论相关的理论。 关键点: - 在物理学中,时间旅行到过去是一个热门话题,涉及广义相对论、量子力学等。 - 爱因斯坦的相对论允许时间膨胀(time dilation),但回到过去涉及因果律和悖论,如祖父悖论。 - 虫洞(wormholes)和闭合类时曲线(closed timelike curves)是理论上的概念,但现实中尚未实现。 - 目前,科学共识是回到过去是不可能的,因为违反了热力学第二定律和因果关系。 我的回答应该: 1. 简要解释理论上的可能性。 2. 讨论科学依据。 3. 强调当前的科学观点。 现在,回答完问题后,我必须添加“§§相关问题§§”,然后提出3-5个相关问题。这些问题必须基于用户的问题和我的回答。 “§§相关问题§§”必须输出在回答的末尾,并且第一行必须是完整的“§§相关问题§§”,不能换行分散。意思是整个“§§相关问题§§”部分不能有换行,必须在一行中,但示例中显示的是列表形式,所以我需要正确理解。 看示例: ``` §§相关问题§§ 1. ··· 2. ··· 3. ··· ``` 在示例中,“§§相关问题§§”是第一行,然后是换行后的列表。用户说:“禁止换行分散”,但示例有换行。用户原文:“§§相关问题§§ 必须输出在回答的末尾且不可缺少!\n 第一行必须完整且输出 \"§§相关问题§§\"!禁止换行分散。” “禁止换行分散”可能意味着“§§相关问题§§”本身不能分散,但列表可以换行。示例中,第一行是“§§相关问题§§”,然后换行列出问题,所以我认为是允许的。我会按照示例格式。 步骤: 1. 回答用户的问题:用中文解释能否回到过去的理论。 2. 在末尾添加“§§相关问题§§”作为新行。 3. 然后列出3-5个相关问题,用数字点(如1. 2. 3.)表示。 相关问题必须基于用户的问题和我的回答。例如: - 什么是祖父悖论? - 虫洞如何实现时间旅行? - 时间旅行违背了哪些物理定律? - 量子力学中对时间旅行有什么看法? - 未来是否有可能实现时间旅行? 确保相关问题数量在3-5个。 结构我的回答: - 首先,直接回答问题:简要说明理论上的可能性,但现实中不可能。 - 然后,解释原因:讨论相对论、量子力学、悖论等。 - 最后,添加“§§相关问题§§”和相关问题列表。 用中文写。 完整回答草稿: 用户的问题是:“能否回到过去的理论” 我的回答: 在物理学中,回到过去是一个理论上的概念,但根据当前的科学理解,它是不可能的。爱因斯坦的广义相对论允许时间膨胀,比如在高速或强引力场下时间会变慢,但这只涉及时间流逝的速度不同,而不是真正地回到过去。理论中,如虫洞或闭合类时曲线,被提出可能允许时间旅行,但这些概念面临严重问题,如需要负能量密度(这尚未被观测到),以及因果悖论如祖父悖论(如果你回到过去杀死自己的祖父,你就不会出生,从而矛盾)。量子力学也没有提供可行的方法。因此,科学共识是,回到过去违反热力学第二定律和因果关系,目前不可行。 然后: §§相关问题§§ 1. 什么是祖父悖论?它如何挑战时间旅行? 2. 虫洞是什么?它如何可能用于时间旅行? 3. 时间旅行违背了哪些物理定律? 4. 量子力学对时间旅行有什么观点? 5. 未来科技是否有可能实现时间旅行? 确保相关问题基于我的回答。数量在3-5个,我列出了5个,可以。 现在,输出格式:回答用中文,相关问题也用中文。 </think>在物理学中,回到过去的理论是一个复杂且备受争议的话题。根据当前的科学共识,尤其是基于爱因斯坦的广义相对论和量子力学,时间旅行到过去被视为理论上可能但现实中不可行的。以下是关键点: - **理论可能性**:广义相对论允许时间膨胀(例如,在接近光速或强引力场下时间流逝变慢),但这只涉及时间流逝速度的变化,而非逆转到过去。虫洞(连接时空不同点的理论隧道)和闭合类时曲线(时间循环路径)被数学推导提出,可能允许时间旅行,但这些需要负能量密度或奇异物质,目前尚未被实验证实。 - **实际障碍**:时间旅行面临根本性悖论,如祖父悖论(如果回到过去改变事件,会导致逻辑矛盾)和热力学第二定律(时间箭头指示时间单向流动,不可逆)。量子力学虽探索微观粒子的时间对称性,但未提供可行机制。现代物理认为,回到过去违反因果律,可能破坏宇宙的稳定性,因此被广泛视为不可能。 总之,科学理论支持时间向前流动,但回到过去仅存在于科幻和理论推测中,没有实验或观测证据支持其可行性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值