各位看清楚标题,这可是技术问题,不是吵架帖子,有20分的专家分里面,只请教老马,眼神不好的赶紧去医院。"对VB6的底层研究得很深,达到汇编级 "本人不理解:
1、VB的底层 是什么?VB有底层么?有的话就可能有中层和上层,那都各是什么?
2、达到汇编级 vb也分级?怎么算汇编级?有没有JAVA级?
3、什么人分的级?或者在哪本书上或哪个网站上看到的这种分级。
据我所知,所有的分级都是人类为了方便,硬性规定的,这种分级是否科学?是否合理?分级的标准是什么?别告诉我是计算机或网络什么的分层分级,这里是讨论VB问题,希望正面回答。如果分不够,可以明说,再加就是,反正我这里技术分一直很少用。
1、VB的底层 是什么?VB有底层么?有的话就可能有中层和上层,那都各是什么?
2、达到汇编级 vb也分级?怎么算汇编级?有没有JAVA级?
3、什么人分的级?或者在哪本书上或哪个网站上看到的这种分级。
据我所知,所有的分级都是人类为了方便,硬性规定的,这种分级是否科学?是否合理?分级的标准是什么?别告诉我是计算机或网络什么的分层分级,这里是讨论VB问题,希望正面回答。如果分不够,可以明说,再加就是,反正我这里技术分一直很少用。
最明显的就是他的解释器,专业点说法应该是“Win32子系统”的一个“子系统”。
从字面上“对VB6的底层研究得很深”一点问题都没有,因为所谓的
“VB6的底层”就是我所说的“Win32子系统”的“子系统”内核。
研究内核工作原理研究得很深,这没什么问题呀。如果说你认为没有
书介绍过这类的东西,你可以先了解一下驱动开发里面提及Windows内核
级工作原理部分。其实不单是VB,VC中的MFC也是和VB一样性质的。
同样拥有着子系统,Windows就是靠这种子系统运行VDM(DOS程序)、
POSIX(UNIX程序)、OS/2(16位的OS/2操作系统程序)、WOW(早先
Windows 3x的程序)。
这个子系统就是于基于Win32子系统上的解释VB抽象编译代码的内核。
因为按照VB的概念,不能直接将VB代码编译成能让Win32子系统直接
处理的代码,所以,只能用一个子系统来做他们之间的桥梁。
VB内核中,虽然没有I/O管理器,但大部份管理功能还是有的。
比如对象管理、进程管理、内存和虚拟内存管理、其他组件管理等等。
这些功能虽然在Windows内核里有了,但是VB对这方面也有独特的处理。
所以说VB拥有自己的子系统这是个事实,也就是说VB是有自己的内核的。
这个内核就是底层。对于你的问题:
1、VB的底层 是什么?
就是上面我说的子系统。也就是VB的内核。VB有底层么?
这是肯定的,除非你说MFC不算是子系统,不算内核。有的话就可能有中层和上层,那都各是什么?
在CPU中,可分为4中阶层,也就是执行命令的阶层
Ring0、Ring1、Ring2、Ring3
在以前的DOS系统中,DOS系统和应用程序都是使用Ring0层执行命令的
到了Windows 2k以后,Windows内核在Ring0层,应用程序在Ring3层
也就是用了两层。
如果说VB程序的运行分层,可分为三种模式,设计时和编译运行时,还有调试运行时
如果你注意观察并使用了VB很久,会发现,VB编译后运行的结果和调试时的
结果有时会不同。这就是在不同的运行层运行程序的结果。这个运行层相当于操作系统
中的Win32子系统,所以VB层次关系最少是:内核->子系统->应用程序 这么几个层次。
具体是怎么划分的微软是最清楚的。我们只是使用者,也就只能观察出结果了。
2、达到汇编级 vb也分级?
分级是肯定的,VB无论从哪方面看都有级可分。
如果从使用者技术水平看,所谓的“级”其实就是使用者技术知识掌握的一个阶段性名称。
如果从VB使用上看,所谓的“级”也是了解这个工具的一个阶段性名称。
如果从意义上看,可以把VB代码看出汇编代码也是有级可分的,呵呵。怎么算汇编级?有没有JAVA级?
在没看过老马的回复我是这样认为的,就是编译的控制。
从简单的来讲,比如在C语言开发当中//这段代码与下面一段代码在编译及CPU运算上会有不同
if(a==1&&b==1){
c++;
}
//-------------------------
if(a==1){
if(b==1){
c++;
}
}如果认真查看编译成汇编后的代码,会发现大有差别
当然,如果在写VB程序的时候也能注意到这种变化,
也要对汇编有所了解,并能够根据汇编的思路考虑程序的过程开发。
还有就是通过看内核文件的二进制流看出点汇编的影子。并从中读
到点什么。PC程序上我没听说过,但单片机开发上到听说过有这么些人能
做到个八九,这些绝对是牛人。
3、什么人分的级?
肯定是微软啦。可以参考我上面所说的东西。虽然微软集体怎么定义的我不知道。
但根据我上面说的这些特点而言,他在没计划没分级的情况下作出VB来是不可能的。或者在哪本书上或哪个网站上看到的这种分级。
对于我而言,具体介绍VB分级的不是什么哪本书上或哪个网站上看到,是结合我多
年的经验与知识总结出来的,还有,不要以为什么书或什么网站就是标准,告诉你。
除了微软本身这样说明,其他的都不是标准。如果我在CSDN发表的这些东西也被别人
说在CSDN里发表的,被别人当作标准来弄不就乱完了?但是,微软是不可能对这种问
题做一一说明的,所以,只能靠知识量、经验、研究结果来自己判定。
我觉得VB是最丑陋的一种语言
1、微软当年为了搞败别人临时折腾出这么个玩意儿。
2、属于解释性语言,严格上来说算不得一门编程语言
3、做应用还凑合,做别的简直是牵强附会,赶鸭上架。所以你说的分层分级实际上是从难度上去划分的,而这些难度很大程度上都是VB本身造成的。我准备最近就放弃VB,转.Net
该说的都说了,补充下,POSIX是一个操作系统遵循的基本API规范,虽然UNIX也支持,但是不能算UNIX的。UNIX、Linux支持的API集合大致被称为UNIX Like API,只是大致这么称呼而已。我是菜鸟,不敢妄谈标准,不能妄谈分级分层,但是我想世界上的一切概念,都是人想出来的,是吧。1930年汤博发现了pluto,这70多年来大家都把它当成九大行星之一,可是随着技术和大家认知的提高,2006年又把它归为矮行星。既然行星、矮行星、小行星的分级都可以变化,这就说明不必教条于书本啦。lz觉得呢?
把不同时代的东西拿来比较本来就有点不公平。我用VB写出了很多有用的程序,可是那时候.NET在哪里呢?
再过十年,或许.NET也很笨拙,很丑陋。
就像您是高手,但是您10岁时候的编程水平恐怕不如我吧。再比如我的中文一定比Bill Gates说的好。
VB创造了RAD开发模式,没有VB就没有Delphi和WinForms .NET。还有解释性语言当然也是语言,而且解释性语言有很多优点,比如灵活、可以实现动态的特征等等。
照你这个说法,VB控制空调开关,空调就成了最低层?
这样的话低层是不是太多了?热水器算不算?
VB通过Windows实现某些功能仅仅是不得已的手段,二者什么时候成了上下层了?
另外马说这是他一家之言,到你这里就成了微软的分类了
再就是单片机的问题,不意思,我接触的人中单片机高手多的很,没什么了不起,既不是人牛也不是牛人。
从你讲述这一些来看,把对windows开发看成正道。但我看来微软折腾出个VB来不是为了开发什么windows的
是开发应用的,这就是为什么VB开发应用很简单,开发Windows很麻烦的原因
你既然知道VC,也应该知道在VC里开发Windows要比VB方便吧?
另外VB在开发应用的时候显然不是这么分类吧?低层是什么?数据库?
我才不相信呢
在VB6出来以前,Delphi号称VB杀手,很是热门了一阵子
非业内人士明天或许就成了业内人士
微软没有搞Browser以前,W3C成员谁觉得微软是业内人士
大家都嗤笑微软的破玩意不支持标准Bill Gates没有搞Microsoft的时候,社会给他的分层就是一个大学肄业生。
不过有点可笑的是,微软想把这套画图+控件+绑定搬到Web开发上,却失败了。
全部汇编实现了BASIC,大学数学满分
或许在我看来,能做到这两条就比我强无数倍。
当然,和他在商业上的巨大成功相比,技术是其次的。但是完全没有技术也是万万不行的。
世界一流的技术文档都是用中文写的?
Bill Gates有魅力跟实力招来Borland的架构师,这就是他的本事,如果他没有这样的人格魅力,或许找100个一般的架构师也搞不出来。
话说那个老兄跳槽以后,Borland就趴窝了,每人能改进他遗留下来的代码。
他写的编译器,就是速度超级超级快。这些内容参见李维《Borland传奇》
除了Gates很有钱,很有商业头脑以外没有别的了么?如果Bill Gates是一个很尖锐很刻薄的人,Anders会去么?
那是你根本就没见过什么叫高手,难道你认识的比你懂的就是高手?你是以这种标准评价的?
看你的语气好像了解的东西很多嘛,好像你有能力搞出比微软更牛的OS一样,雪豹系统是你
弄的?还是你作出了更牛的东西?口气如此狂妄,比苹果的口气还狂妄,你还真“牛”呀。“你既然知道VC,也应该知道在VC里开发Windows要比VB方便吧?”
你这是什么意思,在教育我吗?说得难听点你有这水平来教育我吗?
方不方便是由你来说的吗?你的VC玩得比我好吗?说白了,你接触过多少东西?真正的研究过多少东西?接触过几种语言?真正的了解了多少?
接触过单片机吗?接触过ARM吗?接触过驱动开发吗?真正的接触过操作系统吗?自己试着开
发过操作系统吗(单片机、ARM、PC)?告诉你,就算你真的接触过在我看来也不是什么牛人,
因为我就弄过,也常用多种语言,我就不觉得自己很牛。因为我不是井底之蛙,知道什么叫学
海无涯的道理。虽然只是猜测,但是从你的言语上,就可以猜测你的技术水平不怎么样,技术生涯也没过几年。
因为对这种工具性的问题这么较真的也就是这种水平段了。但口气还这么让人不爽。我上面的见解你如果不接受你可以说你认为是什么样,既然你说是技术讨论,但我看你的帖子就
没有一点技术含量在里面,全是些贬低别人抬高自己的语气。你这样个讨论法我不贬你才怪。
大家也没有必要继续针锋相对了。
既然大家觉得lz说话的方式有一点点不妥,那么何必也用这种方式来攻击他呢?
大家的也没错。
但是你的说话方式显然造成了大家的反感。
你觉得这么些天来和一群人争执你开心么?有收获么?我看大家也别再指责lz了,既然他说话就是这个方式,也不是针对某个人的。
搞得大家都不开心,何必呢?
就此打住算了。至于老魏老马等等,不管他们什么学历,什么等级,什么MVP还是别的,他们活跃在论坛里面,很多技术贴对大家都很有启发。他们都是我尊敬和佩服的人。
lz技术很高,或许觉得他们的帖子不能给你什么启发和帮助,也可以理解。比如sourceforge、codeproject、javaeye、Microsoft社区还有很多别的论坛和网站,干嘛和广大初学者较真,同时搞得自己不快呢?
lz如果真的不服输,不妨把热情投入到给大家分享些技术上,或者谈谈自己的不同见解,岂不很好。
比尔盖茨曾经是一个basic高手,他说过,用basic可以和任何人PK
弄个版主来封别人贴?没那兴趣
弄个论坛自己玩?玩过
把CSDN买下来?怕赔钱
所谓vb的汇编级,搞过反汇编的都明白。
PLC是语言吗?
可编程控制器,简称PLC(Programmable logic Controller),是指以计算机技术为基础的新型工业控制装置。
也许他说的是CPLD/VHDL吧。
我个人是很喜欢养宠物的,狗、猫是我很喜欢的宠物
有一次,我的女朋友(现在的老婆)送我了一只小狗,说是她姐的同事给的。
外表很可爱,我当时真是很开心。
有一次,我在电脑前写程序,突然听到那只小狗拼了命的狂叫,
像是临死前的最后呐喊一样(好尖好刺耳的声音)。
当时我一头雾水的冲进厨房,看到我的女友站在门口。
看到那只小狗向着我的女友吼叫,我就问她是怎么回事。
她说她也不知道,只是刚进厨房那只狗就冲她乱吼。
我怀疑的问她:“你真的没做什么?会不会是不小心踩到它了?”
她说:“没有,它就是见到我就冲我乱吼。”
我也没怎么在意就算了。
后来一天夜里,大概是凌晨三点左右,我也在研究程序,突然间又听到了那阵刺耳狂吠声。
因为夜里很静,这个声音显得特别的大声和刺耳,弄得心情都很紧张的立马跑到厨房去看。
结果一个人也没有,后来我就训斥了它几句(虽然知道没什么用),后来就又去弄我的程序
了。此后,经常在写程序的时候被那只狗的狂吠声所打断思路,每次被打断都会跑过去骂
它两句。之后,这种情况越来越频繁,有一次我要上厕所,刚好路过它旁边,它突然对着
我狂吠,当时真是把我吓了一跳,接着它还扑过来咬我,我的自然反映就是用脚把它踢开。
结果就像捅了马蜂窝一样,它叫的声音更加大了,态度更加恶劣了,我骂它都不管用了,还
咧这个嘴,把牙齿露出来,那样子完全把我当敌人对待。我给他吃的,给他住的,结果它
却用这种态度对我(既然你不仁,我也不义,你要和我比暴力,那就看看谁厉害)。当时我气
头一来,就用脚孟踢它(当然没用真力,不然一脚它就OVER了),它反过来想咬我,我又
一脚踢过去,它被踢到了墙边,我跟着就用手按住它的头,然后用膝盖压着它的身体,它
还想叫、还想动,但是因为被按住了,没能力动,连嘴都动不了。后来它终于放弃了。
当时,突然觉得好安静,好欣慰,心想:“这种感觉真好,呵呵”。之后随便骂了它两句
就算了。后来,每当它发疯乱叫得的时候,我会尽量动嘴警告它,如果他不知趣越叫越厉
害的话,我就会让它知道什么是暴力、什么是无可奈何、什么是弱小。最终,这条疯狗我还是把它丢了,因为它开口咬了我的女友(我老婆),都不知道有没有
狂犬病,反正打了预防针,也就没去管了(后来有点后悔,这样便宜它了,还可能害别人)。
此后,我对狗这种东西就有了一定的阴影。后来又养过一只狗,名叫“圆圆”,张得很好
看,就像它的名字一样,是个很胖很可爱的小东西,但是性情好多了,很听话,还会和我
一起出去散步。过了好久才对狗的阴影放下。但是,每当我看见那种冲人乱吠的疯狗都有
一种想一脚踢过去的冲动,让它知道这个世界是由人统治的,它只是一只人随便就可以涅
死小东西。这只是我的一个小故事,没别的意思
ok 恭喜你也会咬文嚼字了
我们这里讨论的是高级语言,vb的汇编级是问题的根源。
如果你认为我说的有问题,那我收回,由此对你造成的伤害表示抱歉。但是,能证明vb没有汇编级么?
我倒觉得VHDL转变成门阵列的时候,相当于计算机在做解释语言。而且这个过程肯定是CPU操作的,显然有汇编
类似的还有HTML。
个人观点,没有求证。
能说明什么问题么?