标题: 编程之路(1), 编程环境设置
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-26 16:22 资料 文集 短消息 只看该作者
申请精华  不知道够不够格  

注:图是放在斜风图库的。


作者Maxwell 转载请注明轩辕春秋文化论坛www.xycq.net/forum

    本帖针对编程初学者所写,高手勿看,在看帖之前请保证具备了基本的计算机知识。
    综合考虑各编程工具的利弊,还是决定向大家推荐我比较常用的BCB,初学者上手快,功能强,开发便捷快速。
    初学者最头疼的事情就是看着一堆东西无处下手,在下面的文章里我尽量给出具体的操作,以方便够用为标准而不是完整的介绍最佳用法,因此我所介绍的可能跟真正的完整的功能有所出入而且有可能有更好及功能更强大的用法,这些都要靠自己摸索(入门以后这些就很简单了)。

系统要求
硬件要求
P3 1G以上(INTEL系列)或者Duron 750以上(AMD系列)
内存128M以上,建议256M以上
17英寸以上显示器(屏幕大可以多看几行程序)
500M以上硬盘空间

软件要求
操作系统Windows 98以上即可,推荐Windows 2000 Professional
Borland C++ Builder 6.0

一、软件安装
    由于心照不宣的原因以及考虑到大家不会连安装软件都不会,故此此节内容略去。BCB安装过程中去掉CORBA和Interbase两个选项前的对勾可以节省一部分空间,找不到全部按默认设置安装也可。

二、配置
    在正式使用BCB前先来给它进行一些设置,使它使用起来更顺手。

    BCB启动起来是这个样子


先修改编辑器的设置,选择Tools | Editor Options...


出现这个窗口

将Tab stop的数值改成4,这个值是按一次Tab键向右缩进几个空格。
然后切换到这一页

红线框起来的四个选项是非常影响速度的,如果机器比较慢就把它们去掉
第一项是类结构等的代码自动完成,第二项是提示函数的参数等,第三项是鼠标指向一个变量时显示它的值(调试中用),第四项是当鼠标指向一个变量或者函数等时显示它在哪里定义的。

上面的选项只需要设置一次即可。这些选项设置完之后进行工程属性的设置,工程属性的设置可以在每次新建一个工程的时候进行设置,也可以在中途修改,更可以将其设置为默认值。
工程属性设置选择Project | Options...


出现如下窗口,这个窗口有很多页,如果显示的跟图上不一样也是正常的

把Compiler页File name项的值改为.\vcl60.csm有助于提高编译速度。


Advanced Compiler页把Instruction set设置改为Pentium Pro,可以提高运行速度减小可执行文件的大小。
改完这两处点击OK按钮工程设置也做完了,如果想把所做的改变设定为默认值供所有新建工程使用,可以先把左下角的Default选上再点OK按钮。

    在轩辕上看过我头像编辑器那个帖子的朋友对BCB6运行库可能还有印象,下面再说运行库。有的朋友发现东方无翼和我做的程序都比较大,几百K甚至上M,而别的修改器几十K一二百K,这中间的差别在哪里呢,就是运行库,所有的程序中都有些相同的东西,比如窗口、按钮、复选框等等,这些东西的代码如果保存在每一个可执行文件中就太浪费资源了,所以就用运行库的形式来提供这些东西,程序在运行过程中去调用运行库来获得自己需要的东西。
    VCVB等跟Windows是一家的,Windows中就带着VCVB等的运行库,可执行文件就可以轻装上阵了,所以用VCVB写的程序体积可以比较小。可以到windows的system32(98是system)目录下去找找mfc*.dll msvcrt*.dll msvbvm*.dll等文件,这些就是VCVB的运行库。而大多数机器上并没有BCB的运行库,所以用BCB写的程序要么连运行库一起发行要么就把需要的东西全包括在可执行文件中,我们采用的就是后一种方法,所以体积就大了。
    网上有些观点说BCB不好其中就有BCB的程序体积大这一条,其实如果给VCVB算上运行库的体积会发现其实这一条根本不成立。
    有的朋友会想Borland为什么不跟MS商量一下让Windows里也带上BCB的运行库呢,这事Borland不是没想过,但是MS不同意,MS很清楚如果带上BCB的运行库后果会是什么。
    那么下面来看怎么配置BCB让它使用或者不使用运行库,看图



Linker页的Use dynamic RTL代表的是运行时需要borlndmm.dll和cc3250mt.dll两个文件,Packages页的Build with runtime packages代表的是运行时需要*.bpl文件(.bpl文件有好多,一个程序可能只需要其中的一个或多个)。两个选项如果选中就是使用对应的运行库,如果都去掉就是把所有需要的资源都打包到可执行文件中。

三、使用初步

    编程过程中最常用到的有 四个部分是主窗口、设计窗口、对象观察器和代码窗口。菜单工具条操作全在主窗口,拖放控件也是在主窗口。设计窗口是程序在运行时看到的窗口,在编程过程中把设计窗口变成什么样子运行时的窗口就是什么样子的,这就是所谓的所见即所得式设计。在对象观察器里可以对摆放在设计窗口中的控件的属性进行查看和改动。代码窗口是用来写代码的,我们肯定不能满足于显示一个静态的什么都不能做的窗口,对窗口的控制要靠代码来完成。
    在编程过程中最常用到的几个快捷键要记清楚,ctrl-s保存当前文件,F1查看帮助,F11在对象观察器、设计窗口和代码窗口三者之间切换,F12在设计窗口和代码窗口之间切换,Esc在设计窗口中选中当前控件的父控件(常用于一个控件占满了它的父控件使鼠标无处点父控件的情况)。其他的快捷键可以看菜单项上的说明。
    好了,介绍完这些就可以试着自己用BCB随便做点东西了,体会一下BCB的方便快捷。


附件是这篇帖子的文档版(WPS2003格式)  大小331K


推荐贴
顶部
性别:男-离线 东方无翼

燕王

Rank: 28Rank: 28Rank: 28Rank: 28
组别 诸侯
级别 卫将军
好贴 6
功绩 849
帖子 6143
编号 1704
注册 2003-10-27


发表于 2004-11-26 16:45 资料 主页 个人空间 短消息 只看该作者
BCB是个很好用的开发工具。
虽然它也有一些缺点,但是容易上手,开发快捷方便,很适合初学者入门。


推荐贴
顶部
性别:女-离线 花仙子
(樱花仙子枣真夜)

汝城公主

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
组别 翰林学士
级别 镇北将军
好贴 2
功绩 323
帖子 3460
编号 8206
注册 2004-6-8
家族 泡泡营


发表于 2004-11-26 17:09 资料 主页 个人空间 短消息 只看该作者
虽然是初学者但还是看不懂
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-26 17:11 资料 文集 短消息 只看该作者


QUOTE:
原帖由樱花仙子枣真夜于2004-11-26, 17:09:57发表
虽然是初学者但还是看不懂

只要有兴趣可以慢慢学,只要你会安装程序就没有问题,有什么疑问随时提。
推荐贴
顶部
性别:未知-离线 青木风亮
(枯木)

定远侯谏议大夫

Rank: 13Rank: 13Rank: 13Rank: 13
组别 翰林学士
级别 平西将军
好贴 3
功绩 521
帖子 2357
编号 12000
注册 2004-7-18
家族 泡泡营


发表于 2004-11-26 18:48 资料 主页 文集 短消息 只看该作者
c我只约略看过一下 个人感觉做一般程序英文好是前提(我的英文。。。) 做复杂程序还需要数学好 做任何程序都需要耐心好

maxwell兄认真写啊 我就把你这个当教材了 不过现在只能在外边上网 没法实践 放假来跟你当学生
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-26 18:56 资料 文集 短消息 只看该作者


QUOTE:
原帖由青木风亮于2004-11-26, 18:48:17发表
c我只约略看过一下 个人感觉做一般程序英文好是前提(我的英文。。。) 做复杂程序还需要数学好 做任何程序都需要耐心好

其实我觉得英语根本不重要,甚至会有负作用。C总共三十几个关键字,C++算上Borland扩展的也就不到二百个,根本不必记每个词英文什么意思,因为你学的根本就不是英文。真想让那些说学不好英语是个障碍的人去琢磨琢磨for是什么意思。
但是数学好还是有必要的,最起码函数和递归应该好懂。
有个大师说理解指针的能力是天生的而不是靠后天学习能学会的,所以指针难学一点,现在四重指针我还得晕。
推荐贴
顶部
性别:未知-离线 青木风亮
(枯木)

定远侯谏议大夫

Rank: 13Rank: 13Rank: 13Rank: 13
组别 翰林学士
级别 平西将军
好贴 3
功绩 521
帖子 2357
编号 12000
注册 2004-7-18
家族 泡泡营


发表于 2004-11-26 19:27 资料 主页 文集 短消息 只看该作者
说到指针嘛 我以前在pascal/dephi里面玩二叉树分解表达式 或者链表等等 经常出错查很久都查不出来 后来一怒之下“发明”了“假链表”:

其实就是一个数组 数组中的每个变量是一个记录类型 每个记录类型有两个域 第一个存放需要的数据 第二个存放数组下标--指向下一个数组变量  用数组模拟生成链表/树/图的感觉非常轻松

由于我们以前用pascal的时候允许使用的只有基本内存640K 复杂的问题用递归/回溯很容易栈溢出 所以有些问题经常用动态规划 是非常高效的算法 剪枝/启发式算法有时也不能媲美

英文我感觉还是很重要的 因为编应用程序不像解题 需要查阅不少资料 大多是英文的 英文好的话阅读协调能力强 我以前就找了一个英文好的同学合作 真是省了不少事
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-26 19:35 资料 文集 短消息 只看该作者
呵呵,用数组仿链表那个有些书上叫静态链表,看来看看数据结构还是必要的,一般书上都有  
英语这东西稍微会点就没问题,我就会的不多,一般文档还是能看懂的
推荐贴
顶部
性别:未知-离线 青木风亮
(枯木)

定远侯谏议大夫

Rank: 13Rank: 13Rank: 13Rank: 13
组别 翰林学士
级别 平西将军
好贴 3
功绩 521
帖子 2357
编号 12000
注册 2004-7-18
家族 泡泡营


发表于 2004-11-26 20:09 资料 主页 文集 短消息 只看该作者
那什么叫四重指针啊?
《数据结构》这本书在家中尘封已久   
另外maxwell兄能不能说一下用数组模拟指针有什么局限性啊?我模拟的树/图 应该不叫做静态链表了
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-26 20:23 资料 文集 短消息 只看该作者


QUOTE:
原帖由青木风亮于2004-11-26, 20:09:20发表
那什么叫四重指针啊?
《数据结构》这本书在家中尘封已久   
另外maxwell兄能不能说一下用数组模拟指针有什么局限性啊?

void ****p是一个四重指针是指针的指针的指针的指针,一般没有什么用处,通常是用来考查对C掌握情况的。

用数组做的链表我觉得主要缺点就是不能适应长度变化太大的情况,而用动态链表对长度的限制只取决于进程所能用的空间。如果长度相对固定,特别是最大值已知而且资源充足的情况下还是静态链表比较好,存取速度快而且占用空间小。
推荐贴
顶部
性别:男-离线 东方无翼

燕王

Rank: 28Rank: 28Rank: 28Rank: 28
组别 诸侯
级别 卫将军
好贴 6
功绩 849
帖子 6143
编号 1704
注册 2003-10-27


发表于 2004-11-27 09:48 资料 主页 个人空间 短消息 只看该作者
这种连载形式的,据说不完结是不能给精华滴!
推荐贴
顶部
性别:男-离线 关毛
(人间的祸害)


Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
组别 羽林都尉
级别 骠骑将军
功绩 121
帖子 9903
编号 15525
注册 2004-8-14
来自 南秦州仇池郡
家族 轩辕狼党


发表于 2004-11-28 11:36 资料 主页 个人空间 短消息 只看该作者 QQ Yahoo!
难啊
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-11-28 21:22 资料 文集 短消息 只看该作者


QUOTE:
原帖由东方无翼于2004-11-27, 9:48:24发表
  这种连载形式的,据说不完结是不能给精华滴!

可恶的没翅,趁我不在居然把我的单篇搞成连载!  
不过既然说了,那我就继续写吧,不过时间不是很多,更新可能比较慢。不过中间有什么问题我会及时解答的。连载好象可是2000字一个精华吧,那这一篇就不止一个精华了
推荐贴
顶部
性别:未知-离线 爱喝绿茶

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 103
编号 17338
注册 2004-9-9


发表于 2004-12-8 15:41 资料 短消息 只看该作者
晕啊,来了个高手,哈哈
推荐贴
顶部
性别:男-离线 月之魂魄

Rank: 2Rank: 2
组别 百姓
级别 奋威校尉
功绩 1
帖子 141
编号 26001
注册 2004-11-27


发表于 2004-12-8 21:23 资料 主页 短消息 只看该作者
我现在用的VC++(初学),问个问题,vc怎么像bcb和vb那样在一个窗口上直接放控件并编程?我找了半天都不知怎么弄。
推荐贴
顶部
性别:未知-离线 Maxwell

代王
监管使
枢密直学士
山南西道节度使

Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27Rank: 27
柱国(正二品)
组别 诸侯
级别 征东将军
好贴 4
功绩 1845
帖子 5799
编号 622
注册 2004-7-7


发表于 2004-12-8 21:29 资料 文集 短消息 只看该作者


QUOTE:
原帖由HerrQisl于2004-12-08, 21:23:52发表
我现在用的VC++(初学),问个问题,vc怎么像bcb和vb那样在一个窗口上直接放控件并编程?我找了半天都不知怎么弄。

很遗憾,vc只能那样设计对话框,其他的不行。
推荐贴
顶部
性别:未知-离线 fantasydog
(codering)

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 567
编号 42708
注册 2005-7-9


发表于 2007-3-15 08:56 资料 短消息 只看该作者
一家之言:
1. 指针并不好。完成某种功能并不一定依赖于指针,而指针自身并不易于被人理解。性能?用不用指针不会是你的性能的瓶颈的,相信我。
2. 算法?理解就好。现实中绝大部分算法都有现成的库,并且其实现都比你自己做的好——当然,除非你愿意花足够多的时间去重复那些库设计。Don't reinvent the wheels.
3. 建议学Java。java本身比较简单固然是一个原因,但更重要的原因是,微软的东西实在太方便了(包括borland),用他现成的框架,很容易被宠成“傻子”。是的,你不需要理解系统构架,不需要知道任何模式,就可以做出很“专业”的软件。可问题是,做软件的重点不在于你如何去实现一个按钮的功能,如何布局,而在于你的按钮是哪个类层次里的,它与你的model如何耦合(MVC是标准)——微软都给你做好了,而java社区推荐你自己去了解这些东西,从而真正掌握优秀的编程技巧。

[ 本帖最后由 fantasydog 于 2007-3-15 08:57 编辑 ]
推荐贴
顶部
性别:未知-离线 bifei
(天亮了)

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 14
编号 107291
注册 2007-2-4


发表于 2007-3-15 09:30 资料 短消息 只看该作者
vc要比bcb,vb delphi难用很多了,不过做做修改器这4种语言都足以胜任。java,dot net做修改器就没意思了,性价比太低了。貌似做修改器用到的指针很少,即使用到也很简单,4重指针没必要用到吧,一般人都会晕的。
bcb没怎么用过,需要额外运行库吗,delphi就不需要啊,难道同门师弟要?
推荐贴
顶部
性别:男-离线 岱瀛
(deving)

长平侯
川峡东路经略使
监管使

Rank: 19Rank: 19Rank: 19Rank: 19
组别 经略使
级别 左将军
好贴 1
功绩 2293
帖子 1370
编号 55810
注册 2005-12-22
来自 人间
家族 慕容世家


发表于 2007-3-15 11:57 资料 个人空间 短消息 只看该作者
任何一种语言,它的外在是语言的表现形式,它能够影响人的思维习惯,它传承的着一种文化。英文和中文都是如此,计算机语言也不例外。

学C#的人,他很容易说,微软都给你做好了,什么谁谁谁都给你做好了,直接拿来用就是。不能完全说他们的说法不对,但是作为学C开始的我,确实是很难接受这种.Net思维和文化的。
感觉做.Net的人,他的思维重点在于去找,去找现实中已存在的代码,组件到服务来完成自己的任务。
他的文化习惯是别人已经做好的东西,直接拿来用,肯定比自己拼命写来得合算。
这其实倒是符合现代软件工程想要的软件产业化,工程化的愿望,从软件行业的发展上看,他现在更需要象建筑业里的工地工人,施工工程师这样的人,太需要了,而且需要的量非常多。
所以现在招C#程序员,.NET工程师的都很多,待遇却也都不怎么样,这个其实非常的合理。

学Java的人,很多有着一身的牛气。他们容易鄙视学C#的,也看不起学C++的。学Java的,其实部分文化和C#是一样的。面向对象和面向过程之间,是一种自上而下和自下而上的思维区别。但是,java不象C#那样强调傻瓜化,他更注重了设计层面的东西。(C#不是不注意,只是他更容易去附和微软的提倡)
C#里,微软的MSDN,微软的推荐解决方案都是权威,而Java里可能相对标准会多一点,EJB和spring不就各执一词吗? 比如Web Server的选择,J2EE里面就五花八门,.NET里你就看IIS。当然也有人会说,选择IIS有什么不好
我个人对C#的那种傻瓜文化是非常抵制的,对.NET世界里的思维习惯是无法自如应用的。
虽然我现在也常写C#,这好比我学英文却不能完全用英文去思考问题一样。
但是对于Java,java里面的文化内容,我还是学习了解,适应了一些。
可以说,是Java把我带入面向对象的世界里,是java让我了解设计比具体实现还重要,
是java的设计模式,是java的团队开发精神影响了我的思维,尽管我现在写java不一定比写C#熟。

其实很早我就会写C++了,C++和带来的重大的变化是一个class的出现。但是那个时候,
也就是我读高中那会,根本上是无法理解面向对象的封装,继承,多态。
因为信息学竞赛里面强调的是算法,当时社会上热炒的面向对象概念,我是全然不理的,主要也是理解不了。面向对象里面给我带来震撼的,就是VB,做界面好爽,随便拖个窗口可以让我写C写上半天都达不到那种效果

然而,等到大学里学java的时候,等到学设计模式的时候,我看到了多态的魔力,看到了封装的意义。
知道了继承里面有对接口实现,有对类继承,在概要设计,在详细设计,在代码实现上有不同的要求。
面向对象里的开闭原则,对接口编程原则,多用聚集少用继承的原则.

java本身确实也有它的合理性,它的一个公共类对应一个.java文件,编译成一个对应的.class文件,把开闭原则诠释得那么清晰。

小学的时候,学的是Logo语言,当时经常一个程序写完,就和同学对比,看我的实现在3行代码,你的写了5行,差劲吧。学C,学pascal,也可能是信息学奥赛的评分标准的诱导吧。我们重点是在看时间复杂度,空间复杂读。

DOS的时代很变态的。64K的栈空间,里面带上数组,外界测试数据故意弄一堆很变态的,一下进来,你程序递归深了,栈就爆了。
而就算用malloc,new这些,DOS下的基本内存也就640K,除掉系统用的,一样遇见故意为难你的变态测试数据,程序一样得见鬼。这样评分就降下来了。
还有那万恶的时间要求,2秒内对那组测试数据出不了结果,一般就扣分了。

基本上到了省赛以上级别的奥赛,那种变态的题目也基本上是难不住我们的,但就是那些苛刻的测试数据和变态的评分标准,硬是把我们的程序评出优劣,自然而然,也影响了我们写代码的习惯。
至今我还忘不了当初在机房里头撞显示器的情景

好象跑题了,说到C和面向过程的时代了。回头再看java,java里当你要修改你的代码,要扩展你的功能,
你就现了所谓的"向修改关闭,向新增打开“的开闭原则的精点所在了。
怎样把原来的.java一个都不改,这样原来的.class就都不用变了,新写一个java,build出一个新class,进入后,新程序就又跑起来了。
扩展性,可测试性的重要性显示出来了。

java为什么如此的强调设计的重要性,因为它处处体现的要求是项目的可扩展性,可变更性,可测试性,可维护性。
这和C的效率至上,代码行数少更好的重点要求是不一样的。

可扩展,灵活的架构,往往会带来更笨重的代码,但是当和松藕合高内聚的要求对比起来,当和测试工程结合起来,当以代码重用,项目可维护,可扩展,等这些联系起来时,这种强调就非常的合理了,而且我个人也接受这种文化,这种看起来和C有相悖的文化,两者相结合而成我自己的编程思维,自己信奉的文化。有点中庸的感觉,或许小时候喜欢读古文吧不过作为一个中国人,不受点儒家思想影响一样也是不太实际的

所以,java从面向对象那里吸收了营养,以一种自上而下的大者,王者形象掌握着全局,对C里面的讲究,的内容,他是一种君子不拘小节的态度。
前面说了,学java的人自带了一种牛气,原因就在于此。

再说说C,C作为面向过程世界里的王牌语言,至今也有其生命力。面向对象的思想听老师说70年代就有了
,然而一直到90年代才战胜了面向过程,这其实也是软件工程发展的要求,并不是哪种思想比哪种思想好,更不用说哪种语言比哪种语言好了。
个人是很鄙视那些教科书整天吹嘘面向对象的思想更符合人的思想的说法的。
一个完全新人,学习计算机的时候,你看他是学面向对象快还是面向过程快。现在大学计算机系里,又有多少学生他真正明白面向对象的真谛。所谓的符合思维习惯,我怀疑是首先符合西方人的习惯,然后他们这样写书,我们翻译过来然后不加分析就一传十十传百的传开来了。
反正我个人认为面向过程更符合我自己的数学,物理解题的思考习惯。

C除了前面有说到的强调代码简结,运行效率高,开销小外。和C#有一个致命的不同是,写C的人从来不愿意更多的相信别人的代码。C#说别人写好了,肯定比自己匆匆去写来的问题小。写C的可坚决不这样认为,就算不是自己亲自写,要拿来用的东西,一定要见到源码,一定要明白了他到底在做什么,只有明明白白的东西,才会用,不然宁可自己写,不然出了问题怎么办?
C#出了问题,更习惯查帮助,查文档,怀疑自己调用的接口顺序不对。
C的出了问题,那是Debug,Debug再Debug,越不是自己写的,越是怀疑的重点
所以,C的代码,往往不象Java,C#那样强调可读性,C的程序员,感觉上更象独孤求败的世外高人,
很有陶渊明独爱菊的感觉。
过去的程序员性格更加内向,过去的程序员经常有独立出来接项目自己做的。
我想这和C的文化习惯应该很有关系。

不能不提下汇编,这个不被列为高级语言的怪物。
不谈其实现语法,只从个人理解的部分思维习惯上说起。汇编里面,是一种类似机器人的文化。
但是,仅仅说机器人是不够的,应该叫做高智能能的机器人(突然想起雪芸姑姑对论坛一位高人的评价)
有条不紊,扎扎实实。写汇编的人,本来就需要有异于常人的冷静,而汇编里多条指令才实现一个功能的那种做法,没有类机器人的稳重,不是一般人能够达到的。

而高智能,这点就更是汇编人的特色了。更突出的是那些写16位汇编的。win32汇编,曾经让很多写汇编的人很不爽,原因很简单,win32汇编和C一样,对系统级的操作都是要调用Win32的api。这其实挺难让以前写汇编的人接受的。16位汇编,那是想调用中断就调用中断,为所欲为的。真正的病毒开发者,黑客
应该都喜欢这种语言,有着这种思维文化的底子。汇编里面变量是无类型的,听说B语言也是,汇编里面的jmp,那是远胜goto的东西。一切讲究的是一种全面的自由,一点阻碍都要不得。所以象win 32 api,那是多讨厌的东西啊。C里面也同样有自由至上的文化,那就是指针的应用。但是比之汇编,那全是小巫见大巫了。

最后说说C++,C++是一种有容乃大的姿态,出现在这个世界里的。从我个人来讲,很难说我从C++里面领悟到具体的什么,但是C++又感觉给我带来了很多的东西。前面说了,我个人是同时接受着C和java两种思维文化,以一种中庸之道凌驾着这两者,那么不从中文儒家的角度说,其实C++是不是在我的潜意识里也发挥着这种作用呢?这个我也不敢十分的肯定吧。也许应该有吧。
因为我确实没见过一个纯粹的C++程序员,会C++的,基本上都会有C的思维习惯,然后还往往又夹杂其他。至于我自己,那更是杂就一个字。


简简单单的说哪种语言好,哪种不好,那是肤浅的。

语言并不代表着什么,编程思维,编程习惯,乃至背后的文化才更加重要。
但是,也不能说孰优孰劣,只能说是社会需求的多寡和个人更加适合哪一个。
推荐贴
顶部
性别:未知-离线 fantasydog
(codering)

Rank: 4
组别 士兵
级别 牙门将军
功绩 6
帖子 567
编号 42708
注册 2005-7-9


发表于 2007-3-15 12:34 资料 短消息 只看该作者
Any fool can write code that a computer can understand. Good programmers write
code that humans can understand.  
--Martin Flower

不过这里貌似重点在于修改游戏之类的吧。那是hack,有其特有的技术与特质了。 当然,如果游戏做得够好,hack起来也容易(比如魔兽争霸的战役编辑)。

ps:窃以为性能问题绝大多数情况下还是可以不做考虑的。说到底大多数程序最后还是编译成二进制码,性能取决于编译器,而非哪种语言。(ruby类除外)
推荐贴
顶部
性别:未知-离线 成全

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 3
编号 331262
注册 2009-7-26


发表于 2010-7-22 02:26 资料 短消息 只看该作者
顶起
推荐贴
顶部
性别:未知-离线 将来的mod达人

Rank: 1
组别 百姓
级别 在野武将
功绩 0
帖子 6
编号 389190
注册 2010-7-26


发表于 2010-7-26 20:44 资料 短消息 只看该作者
如果是纯菜鸟的话。。。推荐先学LOGO,很好玩。。。
然后可以去学QB啦!不是很规范的。
然后可以去学C++啦!先学C++后学C会比较简单。
接着可以FLASH,VB,VC++,PASIC[拼错别怪我]JAVA啦!
程序其实很简单,我小学1年级就开始学啦!
推荐贴
顶部

正在浏览此帖的会员 - 共 1 人在线




当前时区 GMT+8, 现在时间是 2024-9-30 05:01
京ICP备2023018092号 轩辕春秋 2003-2023 www.xycq.org.cn

Powered by Discuz! 5.0.0 2001-2006 Comsenz Inc.
Processed in 0.018600 second(s), 9 queries , Gzip enabled

清除 Cookies - 联系我们 - 轩辕春秋 - Archiver - WAP