c++vb6.0入门到精通pdf问题

相关资料推荐
当前资料暂无简介~
当前资料暂无简介~
c++学习,vc++,.net教程
当前资料暂无简介~
自己学习用的资料备份
当前资料暂无简介~
当前资料暂无简介~
当前资料暂无简介~
在此可输入您对该资料的评论~
资料阅读排行
(window.slotbydup=window.slotbydup || []).push({
id: '2371234',
container: s,
size: '300,250',
display: 'inlay-fix'
该用户的其它资料
请选择举报的类型
赌博犯罪类
资料评价:
所需积分:1用 Visual C++ / Visual C++ 6.0 学习 C 语言的危害有哪些?
为了“忽悠”小朋友改用GCC这些比较开放的工具进行学习,想收集下用VC/VC6.0的罪状,但是自己是Linuxer,所以没怎么用过VC,可能吐槽不到位,所以请大家说说自己的看法。当然如果你觉得没什么问题,也可以说出来讨论下。好像我前面描述不是很到位,我说说我自己现在的一点看法:0. VC是IDE,所有IDE共同的特点就是“方便”(其实不一定……)然后隐藏大量细节;1. VC全称是VC++,虽然兼容C,但好像不是ANSI C?2. C是如此贴近底层的一门语言,基于第0点,IDE不是很好,我认为还是应该用编辑器+编译器(比如sublime text2 + gcc 必要时 + gdb)这样的环境;3. 目前国内的大学好像除了VC6.0(注意就是6.0!)作为教学工具外,还有用TC的。
木有ASCII C,那个叫ANSI C。排毒帖最忌讳的就是帖子里面带毒,哪怕带一点,整篇帖子都会立刻被喷子水掉。最有说服力的排毒帖应该只谈事实,不表观点(当然你可以通过选择事实来夹带一点私货),所有事实必须亲身验证过,决不能出错;逻辑必须清晰严密,不能有漏洞,不能含混不清。以题主列举的内容为例:0. IDE“隐藏大量细节”,很难说这是坏事,反驳方可以说这样可以让初学者关注程序本身,不会迷失在编译、链接、汇编、Makefile等大量琐事之中。1. VC全称是“Microsoft Visual C++”,你不能说它“兼容C”,因为它本身就是一个C和C++的IDE,就好像你不能说四川人兼容汉语一样。2. “我认为……”是一个论点,但是没有论据3. “有没有”不能推出“该不该”,这是一个典型的逻辑错误如果题主要排VC6的毒,我认为应该从以下几点着手:1. VC6已经有十几岁了,比很多小朋友年纪都大了,你不会用十几年前的手机,所以,也就别用十几年前的软件了2. VC6是97年发布的,比目前所有广泛流传的C++标准都早,标准支持这方面有很多不足,例如:(此处题主自己填上)3. VC6有很多Bug,例如:(此处题主自己填上)4. VC6不能写.Net程序,不能支持Xbox、不能支持Windows Phone,不能支持Windows8里的Metro UI(此处略去300字)……5. VC6是要卖钱的,不花钱用的是盗版,用盗版是不道德的,Linux/GCC是免费的/自由的……6. ……
VC6 的最大危害就是:他是 1998 年推出的,不支持 ANSI C99 标准。虽然我使用 Linux 工作,不过我一向不参与平台之争,如果小孩子有钱使用 Windows+Visual Studio 我觉得没有问题。——只是我的一个态度是:出了Windows开发平台相关问题别来找我。如果坚持要使用微软的话,请使用最新版本,例如免费的有 Visual Studio Express 2010。我想,说服一个人放弃 2000 年之前生产出来的已经被新升级产品淘汰很多年的古董级软件应该不是太困难的事情,扔给他一套 VS2010 应该可以快速解决问题。--当然,如果一定要想有什么可以用来『忽悠』的话的话,你就跟它这么说吧:C++ 跟 C 不是完全兼容的语言,而 VC 是只支持 C++ 的,要学习 C ,用 VC 是不行的。以上这个说法虽然未必完全准确,但是应该可以达到效果了。(另外提示一下,题主如果只是要宣传 gcc,在 windows 下可以使用 cygwin 或者 mingw 工具包)
如果「小朋友」们没有首先被说服用 Linux,还是别说服他们用 GCC。You use the system, not fight it. 如果「小朋友」们非要用 Windows,起码也用 Visual Studio 2005 以上吧。
没啥危害。从原理上来说和Linux下的工具链没啥区别。而且其自带的开发文档和图形化的调试器都很好用最好用最新版VC++,而不是VC6。VC++ Express Edition是免费的实际上,由于可以做出Windows下的桌面应用,分享给周边的朋友使用,反而更能鼓励初学者继续学下去
我觉得没啥危害...就是你随着学习的深入会莫名其妙的想去研究MFC然后MFC的意思就是没饭吃
提问者所要表达的意思,应该是『如何劝说初学者,放弃IDE,使用VIM+GCC来学习编程』。顺便一提,最近不敢在知乎修改别人的问题了,尤其是知乎改版之后,改了问题,老被人说不符合人家的原意,考虑到知乎更注重人,不注重问题分类了,就更不敢改了。
本篇答案包括,一,工具无罪,使用什么工具,是由工作的实际情况决定的;二、对初学者,先使用IDE未必是坏事,IDE实际上并没有做恶;三、放弃调试,放弃IDE的工作模式。   九十年代之前的那批老程序员,很多都会津津乐道于自己当初是如何在DOS那个黑乎乎的屏幕下学写程序的。当时只能一行一行地敲代码,手工完成各种操作,这虽然是被逼无奈,但客观上,这种艰苦的锻炼,为他们打下了扎实的基础。而现在的初学者,包括很多有几年经验的人,新程序员,他们可能都没见过DOS,大都是从VC入手,可以说一多半水平就很不扎实。但是人们似乎找错了原因,把IDE当成了万恶之源,替罪羔羊。
老程序员所处的时代,电脑还不普及,有个设备很不容易,那时候电脑功能很弱,面对一个黑乎乎的屏幕,可以静下心来,把注意力完全放在程序上。而今天的网络世界,光怪陆离,聊天、新闻、微博、社交、购物、音乐、电影电视,一个人能静下心来,安心工作一天,真不容易。这其中,知乎也是一种干扰。再者,以前能当程序员的是少数人,这部分人很多都是真的热爱他们的工作,尤其是那些战斗到今天的程序员,不热爱的早跑了。而今天,更多的人,是看到报考计算机热跟风进入的,要么是觉得这行好找工作,真的发烧友很少。我指导过一些学生,都硕士生了,还是不错的学校或研究院的,那基础真不敢恭维,经常能把人气死。这个时候,你最想说是让他们多做练习,打好基础,至于用什么工具,什么顺手就用什么吧。这时候IDE降低了门槛,使他们快速进入状态,也没啥不好。
对于一个没什么经验的人,你告诉他放弃IDE,他真的没法理解。用鼠标直接拖个框,然后加个按钮,多容易多简单的事啊!你非要它用VIM做,他真不知道该干啥。只有等他真的见识过怎么做一款像《魔兽争霸》一样的产品和它的界面,他才能明白,真不是啥事都能用IDE完成的,魔兽的界面,你真用VS的工具箱拖不出来,你需要一整套的界面机制才能应付。如果再有更大的热情,去编译一下linux的系统代码,他就更会发现,这个时候不会用makefile组织代码,你还真不好玩转,makefile不是更麻烦了,而是更方便了。
然而这依然不是我们吹捧的makefile的理由,用IDE能应付的工作,就那么做真没错。它并不应该为我们糟糕的编程技术负责。应该负责的是,初学者匮乏的经验。现在的学生,别说本科毕业的,就是硕士毕业的,能做出贪吃蛇的也不多。他们注过水分的简历的经验一栏,也真没多少东西,问几句他自己就脸红了。而大凡老程序员,虽然在DOS时代,他们往往都在学生时期就有挺丰富的经历。我见过2000年大二的学生,天天泡机房用TC写游戏的。 IDE还是做恶了的,这不是对初学者来说的,而是对那些有一定经验的人。它的恶出在它太过方便的调试方式,把程序员惯懒了。这部分我要说的是调试的恶,因为IDE助长了这种恶,所以我才说它本身最好也放弃,当然GDB就是调试,自然也要少用,能不用就不用。
当程序员开始接手一个较为复杂的项目时,开始一定是做了规划的。但随着项目的进展,程序越来越复杂,这个时候,程序的任何一点变化,都将对整体产生影响。如果这个时候,我们没有强大的IDE调试工具,就会更谨慎些。对每一个微小的修改,都会先对细分的模块做单元测试,尽量把影响控制在该模块之内。维护单元测试,并不比每次小修改都用GDB调试整个系统麻烦。代码写完后,应该是运行下测试程序,然后看到,某个函数测试通过,某个功能测试正确,某个模块测试完成,内存没有泄露,等一列清单,最后还能形成一个差不多的报告。
然而在IDE环境下,程序员则很难养成这个习惯。修改了一处,效果怎么样,F5运行一下看看不就知道了吗。出了错,F9看看运行到哪里出错的就行。但是这是一种陷阱,一旦掉进去,很快你就对整体失去了控制能力。
这种习惯的差别,前者使得程序员总能把握清晰的整体架构,出了问题用脑子想那里的设计不合理,后者则使得程序员做到一定程度就干脆放弃了对整体的掌握,后面的工作完全都交给了『试试看什么效果』和『跟踪一下看哪里出错了』的懒人思维。虽然说,前一种方式在系统规模继续扩大后,极端就是整个互联网,依然会出现没人能再掌握整个系统,不得不进入到『试试看什么效果』的状态,但这个门槛却大大提高了。
所以,就这点来说,我极其赞同大家抛弃IDE,VIM+GCC是一种更有效的工作方式。但是初学者,用IDE专注于编程基础知识,是没错的。因此,需要被说服的不是初学者,而是项目经理选择更有效的工作方式,和公司老板不要追求短期就见成效,给开发团队前期多一点时间。
牛逼的程序员炫耀代码,2逼的程序员用VC6。。
牛逼的程序员炫耀代码,2逼的程序员炫耀工具。。
就算使用IDE的话,也可以用个code::block之类的开源IDE产品。不过有些人就像朱前辈说的那样,现在很多学软件的人本身就对计算机不感冒,说真的能在2013年的今天还在用vc6的计算机专业学生,本身就是一朵奇葩的了。我见过太多同学学了几年SE或者CS,装个系统还要去楼下那种小破店让那边的人帮他弄,而且现在用能用vc6.0,估计很多都是xp系统的人,我记得好像在windows7/8 64bit好像都不能安装了
使用 VC,选择它就是因为它是 GUI 的,GUI 具有很强的“用户自我摸索”的可行性,这是大多数用户比较习惯于接受的。这是和 linux 下的 GCC 是最大的区别。所以这会是你试图推广 GCC 遇到的最大障碍。从学习 C 或 C++的角度,用 Visual C++ (目前的 vs 基本都是从 VC8 以上版本),我觉得没什么特别坏处。VC 的缺点是,非常大,安装耗时,因为它是一个大型的软件。默认选项开启了代码文件必须先 include "stdafx.h",这会导致开源代码编译时报错 。但是用 VC6 就很不好了。VC6 不是很稳定,有时候会在 build 的时候进入死循环,必须强制杀进程。VC6 对 for( int i = 0; ....) 中 i 的可见性会扩大。(相当多 vc6 用户这样写代码,导致在高版本中报错)。VC6 自带的 windows SDK 太旧(对应于win98),很多 XP 引入的 API 都没有,比如 LayeredWindow 相关的 API。VC6 的 IDE 和它之后的 VS 变化性太大,以至你会 VC6 也不会熟练扩展到以后的 IDE,会了以后的 IDE 也不会熟练的扩展到 VC6.VC6 的 IDE 不是很好用。好像我没找到那个错误窗口视图。。我也一直没有认真去找。只能看输出窗口去找 error。
已有帐号?
无法登录?
社交帐号登录你的很多书指的是国人写的那些老书吧,vc6.0是98年的,98年以后C++标准才正式制定出来vc6.0对C++标准才支持86%,你说你学它干嘛?再说你现在只是学习,出去才用,软件这方面有更新十分快,C++马上就出下一代标准了(C++0x)vc马上要出2010了,你说你该用哪个?&&vc2008&在给你加上具体的区别:(我以前回答过的问题)visual C++6.0对C++标准(std)的支持只达到86%,按microsoft官方声称,visual studio 2008(visual C++9.0)对C++的支持达到了98%(但实际上也没这么高)我用的就是visual studio 2008。非常简单的一个程序for (int i = 0; i != ++i)//....for (int i = 0; i != ++i)在6.0中不能通过编译(i redefination i定义了两次),但在2008中则可以通过,因为上述语句是完全符合C++标准的,其中每一个i都有自己的作用域,第一个i的作用域是第一个for的{}内,第二个则是第二个for{}内。还有你如果使用过标准库中的容器,算法等东西的话,我想6.0的运行结果会让人很头疼,很郁闷,基本上错误一大堆!上面是2008中的标准程序不能在6.0中用的两个例子(一个事核心语言:for中变量的作用域,一个事对标准模板库或标准库的支持)下面给你举一个6.0能运行的东西,在2008里被认为是错误的。(最常见的)#include &iostream.h&#include &math.h&#include &.....h&等都是错误的,在C++标准(C98)&1998&之后,标准库规定所有的(标准库)头文件统一去掉后缀(.h),从C语言中继承来的头文件统一给前面加上前缀c,一样也没有后缀所以上面的两个例子要该为#include &iostream&//C++原有的头文件#include &cmath&//从C继承来的头文件另外当你使用这些的时候,不要忘了给下面添加一句话这里意思是使用std命名空间。另外你还可以用using std::using std::using std::using std::sqrt;等一一把你要使用的列出来更酷的表示是在你的程序中给每一个cout,cin,endl。。。都加上前缀(std::,是不是很繁琐啊!也许你知道这些,这只不过是为了说明6.0和2008的区别而引入的!(我以前回答过的问题)要学好C++,好好弄两本老外写的书,好好学学!我相信你能学好的!必要的话,好好学学英语,看英文原版的,登英文网站,学习C++,毕竟C++是外国的,那些人对C++的内部机制比较了解,当然你也就能学到了本质上的东西!&顺便给你推荐C++Primer(4th) ,你先看着!
------------------------
没有关系 两者只是操作上不同.习惯就好.重要的是学习好C++语言.企业中逐渐都是在使用VS2005-VS2008.
------------------------
同时建议购买visual c++2008入门经典 Ivor Horto著 清华大学出版社.&&128元 约1200页书中解决了你的顾虑,并说明了原因.
阅读(...) 评论()}

我要回帖

更多关于 vb6.0从入门到精通 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信