普及电脑知识研讨会之一: 关于Y2K问题...(300分)

  • 主题发起人 主题发起人 cAkk
  • 开始时间 开始时间
C

cAkk

Unregistered / Unconfirmed
GUEST, unregistred user!
本人准备不定期的搞一些普及电脑知识的问题来让大家讨论,目的在于
群策群力,将一些平时在我们心目中似是而非的概念清晰化,虽然不一定
解决"为什么",但希望至少能做到清楚"是什么".希望大家支持. :-)
这次的话题是现在比较时髦的"千年虫"问题:
1."千年虫"是什么?
这个问题我们搞编程的应该不用问了,而且,说起来,我们也算是罪魁祸首. :-)
2.怎样解决"千年虫"问题?
目前比较流行的解决方案是什么?(国内/国外),什么原理? 油水如何?
我有时候不太明白,既然程序有这个bug,把软件商找来,让他修改源代码
不就行了? 是不是因为大部分的软件已经无法找到源代码了?
还有,已经编译成二进制的代码,怎么能修改的了呢?
3.国内目前进展如何? 普及程度如何?
4.经常看到说某银行停业几天,专门测试y2k问题,方法无非是将系统日期
调整到1999.12.31日,看能否正常过渡到2000年,请问这样的方法能真正
发现问题吗?
5.各位在早期编程的时候,有没有埋下y2k这个大虫子?老实交待,我们本着
坦白从宽的政策,不打棒子,不扣帽子. ;-)
暂时就这些吧! 如果还有我会在后面补充. 希望大家踊跃发言. :-)
 
2000年都快到了,虫虫危害大大呀!!!
1、我认为千年虫主要危害来自硬件(自己是搞软件,当然得帮着
点儿自己,嘻嘻),那些只认两位的主板等,软件怎么更新也是
没用的。
2、要解决千年虫最重要的就是更新硬件,把那些老得掉牙的386主板
给扔了。至于软件嘛,当然是要从源码着手改的。要是掉了source,
那就正好让他们升级,最多少收点儿收级费呗。(小天就知道有不少
公司靠这个了财了,嘿嘿)。
3、象1999.12.31向2000年过渡的测试方法我是不放心的,做软件的都
知道,能卖的软件哪个不是测了又测的,可出去了不照样BUG一大堆?
我认为新老版本同时使用才是最明智的办法。好象现在税务局就是这样
做的(听说的,错了别找我)
4、至于小天编程嘛,以前在DOS下写程序,数据是用文件格式保存的,
且查询量大时,老会出现内存溢出的现在,所以不得不把日期取两位,
但自从写windows程序以来,日期绝对是用4位,反正它是由数据库
(如SQL Server)自己控制的,我还乐得轻松呢,嘻嘻。
 
小天: 你就是这么解决y2k问题吗:"源码 OR 升级" :-)
 
是丫是丫,人家DOS程序,才赖得改呢,反正早晚要升windows的还不如趁
现在升级费优惠,老板也有得赚,嘻嘻
 
如此一来,解决y2k问题何难之有呢?
 
对于我们来说当然不难,可人家重要机关可就麻烦了。
想想国防部,要是他们的计算机出问题了,导弹乱飞怎么办?
要是坐飞机,飞到一半不飞了怎么办?
要是坐电梯,在20楼和21楼中间停了怎么办?
象银行,不是要给每个人都加上100年的利息?
象户藉所,不是每个要老上100岁?
。。。。。。
呜~~~~~~~~~~~~~~~~~~~可怕~~~~~~~~~~~~~
 
1、千年虫是什么?说大就大,说小就小,不少软件就有吗,把WIN的日期
格式设成YY-MM-DD就知道了。
 2、国外有不公司出了一些测试软件,可以测顼在运行的软件有没有Y2KBUG,
但不知道用起来怎么梓??有用过的可以说一说,计算机报的配套光盘上有一
期有不少是这方面的内容。至于老的程序,可以让用户升级?可以解决Y2K,用户
可以有新的硬件可以玩,有WIN,至于软件公司还可以收一些(...)升级费,可以
借此良机,嘿嘿...
 3、国内不机构都说自已已解决了Y2K,不过,有一天您银行的户头多了XX万元时
别出声,敢紧取出来就是了,要是少了,你可以去告他,让他陪吗。我的意思是:
  下一世纪来临之前,各位可以多在银行开几个户头,就根买彩票似的,要抱着
中头奖的心理去吗,另外各位记得到时出行少坐飞机是了!
 4、你想信你写的程序真的没有BUG吗?
 我发顼我以前的WIN日期用的是二位?????:-)
 
 
呵呵,外国有一个人提出一种方法,可以延迟虫虫发作的时间,让人类找到更好的
解决方法。
他的方法是,使用一种新的进制。我们现在使用的年月日是十进制,但是如果把这些
日期的数字看成是另外一种进制的话,那么,这些数字表达出来的信息就和以前的
不一样的拉。具体有什么进制我忘了,
对不起。
 
1. 我们不是罪魁祸首. 中国计算机使用晚, 应用水平底. 所用的开发工具几乎
没有2000年问题. 就算很古老的FOXBASE开发的系统, 数据库中保存的也
是4位年(输入时只给2位那是你当初设计时考虑不周, 任何谨慎的程序员都
会给4个空格让输入年份). 对MIS系统的所谓Y2K测试纯属起哄或者广告行
为. 会出现Y2K的大部分是硬件造成的(老底版本来就只能存放2位年). 或者
某些专用仪器设备等. 这些和我们程序员没什么关系.
 
千年虫而只是一时偷懒的结果。
可真是“人无远虑,必有近忧”,古人诚不欺我。
所以,各位大侠是不是还要考一下万年虫问题。
待到一万年以后怎办。
嘿嘿!是否又犯极端了。
说着玩玩莫要当真。
 
感谢 cAkk 出此善举 。
非常同意 Another_eYes 的观点,
Y2K 主要存在于老的硬件中和老的软件中,例如COBOL,
一些银行和交易系统用了 COBOL。
我们这里恐怕很难找到 COBOL 程序员吧。
我有一次为人家编了个Delphi程序使用了
formatDateTime('yy-m-d', now)
结果用户大叫我的程序有2000年问题,我差点吐血 :((((((
 
呵呵,反正和时间没关系的就没千年虫嘛。
记得有部记录片排的不错。
yysun:你的程序虽然虫不严重,但也是虫呀?至少看上去像虫:)
 
是呀.2000年的时候,yysun的程序将显示00-1-1,虽然内部是2000-1-1.
 
我很少写数据库的程序,所以没虫。:)
有一个问题问一下,12月31日是理所当然,为什么还会有9月11月等问题呢?
 
说了这么多,还是没人解释清楚: <font color=red>国外那些y2k解决问题公司,是怎么解决问题的?</font> 肯定不是重新开发一套新软件出来吧? 一些大型机构用以前的cobal程序用了很多年了,
习惯了,并且有海量的历史数据,全面升级一来资金是个问题,二来数据的迁移也是个
问题,我想那些大机构轻易不会选择全面升级软件的吧? 况且,我觉得存储方式是一个
方面,使用数据的方式也是一个方面,即使是后来用比较先进的语言写出来的程序,即使
系统帮你存储成4位了,可是你只判断了后2位,不一样是y2k问题?
另外,我并不同意"y2k问题主要是硬件问题"的看法.因为日期数据的存储是由软件
来控制的,就算硬件不支持4位日期类型,也完全可以自己用4位字符串来代替存储,
之所以发生y2k问题,主要还是软件作者的疏忽.
响应的人不多啊!
难道大富翁里这么多搞软件的一点也不关心这个吗?
难道宁愿要别人施舍的分也不愿靠自己能力挣点分吗?
各抒己见,见者有份.
 
<font color=red> 国外那些y2k解决问题公司,是怎么解决问题的?</font>
去国外的网站上找找就知道是怎么回事了。
  你可以去:
http://www.norton.com
 
那你说,人家386主板的机器,不升级怎么才能解决Y2K呀
软件解决根本不行的嘛
 
天兄:一般的大型系统可不是用的PC机哦!
 
cakk, 确实有软件的问题, 不过主要在于硬件的问题.
所以, 国外解决的通用方法都是使系统在得到>=00<xx的年份时, 缺省认为是
20xx年. 而且, 具体到软件系统, 一般的如数据库等也是这么解决的, 以前的
系统如果储存的资料就是2位数字年份的话, 必须升级系统才能适应y2k, 没有
通用的方法. 不过有的软件可以从程序中找到使用日期的地方, 从而自动更正,
不过, 能不能成功把所有问题都找到, 还是要经过测试的, 那些软件厂商也不会
给你打保票.
 
后退
顶部