做开发的一些问题
我本来打算就此入睡,但是忽然想起昨天一个好友问我他想做开发,但是不知道做开发用什么工具,反正是个简单的问题,我就简单的说一下。
他问了三个问题:
1、软件一般用什么工具做的;
2、网站一般用什么工具做的;
3、游戏一般用什么工具做的。
这是三个再简单不过的问题了,因为我写博客的原因也是在于帮助更多的朋友能够少走弯路。我另起三段,分别解决这三个问题:
1、软件开发
这要看开发的应用方面了,因为开发的测重点不同,所以选择的工具或是语言自然有所不同的,推荐的初学者从basic开始,但C语言的学习是必不可少的,因为我认为c是一切现代语言的基础。有了这两种语言做基础,另的就要看选择了,不过汇编还是推荐去学习的,我一直在强调一个问题,比较底层的东西一定要知道,用不用是一回事。譬如昨天面试一个人,他用VC有三四年了,我问他了解VC的命令行工具吗,他说不知道。其实我并不是非要他回答这个简单问题,你用不用他是一回事,但你必须知道有这回事,学习和应用的过程是从上到下,再从下到上的过程,也就是先从表面入手开始简单学习,然后深入每个细节,对所有东西了解,这就是从上到下,然后到下面的东西都了解了,然后再找到捷径,然后再走上,这个过程缺一不可,如果不走下,一直在上的话,无异于空中楼阁。至于软件开发具体用什么,要看应用的:如果只是最简单的写写玩玩,用vb好了;如果是侧重系统深入下去的话,那么就C++了;如果对网络相关开发感兴趣,就用java;不过现在的程序员大多数集中在c++和java两者之间,其它的数量倒不是太多;如果觉得做数据库应用,powerbuilder还是有不错口啤的,visual foxpro已经淡出历史舞台,不用也罢。对于一些通用软件的开发,delphi还是不错的,开发迅速,pascal语法,也算不错。另外,要看选择的平台,如果是dos下面,就是以前的一些c之类的,估计算在做的人也不多了,windows下面,vc算是王者,不过MFC的确是大多数人心中的一道坎。gcc/g++是linux下的C/C++编译器,对于跨平台开发,java运行在虚拟机之上,使用j2se也可以做桌面开发的。
2、网站开发
网站的开发要看是动态页面还是静态页面。无论如何,HTML语法知识是必不可少的,即使你说你用某某工具,但HTML必须要了解。静态页面当中,现在要做的漂亮一些,就对dreamweaver/fireworks/flash三个工具用熟也是不错的,但是我觉得基本的美术修养却是必须的。用dreamweaver做页面,fireworks绘图,flash做动画,这三者做静态页面是最好不过的了。对于动态页面,现在常用的是三种,一种是asp/asp.net,asp.net并不是asp的简单升级,他们之间的差别还是挺大的,具体如何一句两句也说不清,用了就知道。asp主要使用vbscript/jscript两种脚本语言,而asp.net则是使用vb,c#,j#之类的.net语言。一种是jsp,是java体系的动态页面开发体系,包含的内容越来越多,jsp其实用户量还是挺大的,因为比较系统,导致许多人喜欢他。当然,php也是不错的选择,语法形式类C,非常不错。当然,你也可以选一些CGI语言,像perl等等,或者也可以用c/delphi等开发cgi应用,不过这些要比前三者麻烦许多。当然,如果是动态页面,自然离不开数据库,一般数据库的选择都是对应的,比方说大多数用asp/asp.net的人,就会顺其自然的用access/sql server来做数据库,而用php做开发,一般用sqlite/mysql,而jsp的用mysql也不少。不过近几年,一些快速开发框架的兴起也是现在的潮流,像基于ruby的ruby on rail,以及基于python上的Djgpp,都是不错的框架,这些新技术的应用,使动态网站的开发速度有大幅的提升。
3、游戏开发
这要看你开发的目标了。先说简单的吧。如果你要用最快的速度写一个角色扮演游戏,用RPG Maker吧,基本不用写代码,就可以快速做个RPG了。当然,最简单的工具是我以前玩过的一个game factory,写一些小游戏还是不错的。如果你要做2D的横版飞行类游戏,或者说是恋爱养成类游戏以及动作类游戏都有现在的工具,套一套用下就可以了,具体名称我也不记得了。这些都是工具,对于没有编程基础的人是再好不过的了。如果要想亲手写的话,那么就用你熟悉的语言吧,vb,delphi,authorware,director,flash,java都是可以的,尤其是flash,这几年发展的不错,要做一个不错的小游戏,也许花不了你多长时间的。但是要涉及到专业的游戏开发,就要做更多的事了。从设备上来讲,手机游戏大都是用j2me做的,PS2的游戏用C做,但是有相关的开发包,也就是SDK。在PC上的游戏,大多数大型的游戏都是采用visual c++进行开发的。但是用vc做开发,游戏中的绘图并不是通过GDI绘图,因为那样速度太慢了,需要直接操作更底层的话,就要用DirectX这个开发框架了,他里面包含 DirectDraw,DirectMusic,DirectSound,Direct3D,DirectPlay,DirectShow,DirectInput等,将游戏开发的方方面面全部包含进去了,不过这个框架还是挺大的,需要你好一阵子的研究。如果要做3d游戏,大多数采用direct3D或OpenGl,但是大家又不是直接采用这两个框架,而是采用的是封装好了的框架去做游戏开发,这样会比较节省时间。对于linux下的游戏开发,常用的有SDL,Allegro,ClanLib,不过这三个框架都是跨平台的,据我所知sdl和allegro还是在其它语言上有移值的,像sdl可以使用freebasic,c++,python等进行开发,都有相关的接口,你在一种语言下会了,另一种语言下也就是语法不同而已的区别了。不过推荐大家了解这些跨平台的框架还是有好处的,不过商业游戏一般都是使用directX或是openGl,或是基于他们之上封装的游戏引擎,这就比较多了,在本站有许多资料值得你去看看。
有了工具就行了,不够,远远不够,最多你只是会了盘架子而已。要深入的话,你必须有相关领域的专业知识,具体哪般,我也就不说了,实在是困了,已经一点多了,明天还要上班,就写到这儿吧。希望对远在异乡的朋友有所帮助,也希望对尚未走入门内的朋友有所帮助。
2007-12-13 1:07 凌晨 江边之鸟
阅读(1696) | 评论(0) | 转发(0) |