分享

语言之争——如何真正学好软件开发

 昵称10310220 2012-06-29
 

语言之争——如何真正学好软件开发

分类: 软件开发 19人阅读 评论(0) 收藏 举报

对于初学者,如果你还在为在选择哪一种编程语言而烦恼,那么你真的还不太懂软件开发与写代码之间的联系与区别。

初学者如果经常上技术类网站或阅读技术类资料,一定会被眼花缭乱的语言之争、平台之争,以及快速更新的新技术所迷惑。如何才能从迷惑中走出来,真正的学好软件开发技术,走出代码工人的阶段呢?本文正是想以作者的个人经验谈一下,个人发展过程各不一样,仅供参考。

真正接触软件开发,是在1995年,那时是在学校里。和大多数同龄人一样,是从C语言开始学习的。那时真的不太懂,虽然C语言很容易入门,但始终没发现在DOS下能开发什么大型软件,后来才发现,原来还有很多很多的标准库和扩展库用来实现各种类型软件的开发。

现在在工作中一直使用VB6开发应用软件,而使用VB2005ASP.NET项目,已经没有再使用C语言了。不过,从现在回头看来,学习C语言对后来的学习和工作还是有很大帮助的。C语言虽然是一种高级编程语言,但对计算机结构的操作还是可以帮助我们更有效率的编出高性能的软件。虽然我们现在的计算机内存已经很大、很便宜,但C语言还是能帮助我们如何在软件中正确的处理内存的管理。所以,各位计算机相关专业的同学在大学里能学好C语言将会很幸福的一件事,虽然在工作中以C语言为主编程语言的可能性很小,但它真的很基础、很深入。

当你真的理解软件是怎么回事后,就可以规划自己的技术路线了。这是一个艰难的转折点,你必须选择一种编程语言、一种软件平台,可能还需要一种软件架构;这样一来,你就选择了一条开发路线,进入了某个开发阵营。

我们经常在论坛里发现,不同开发阵营里的人们互相贬低对方,甚至是粗口。这是一种大环境很不成熟的表现,我们都知道,每一种编程语言、每一种平台都有其生长和发展的特殊环境;它们在各自的环境中都能表现的很好,如果让他们互相交换位置,可能谁都干不好。所以,我们不需要因为自己学习了某种语言就说别的语言一无事处;正相反,我们可以广泛的接触各种编程语言和它们的应用环境,学习它们的先进编程方法和技巧,然后在我们自己的环境中加以应用。比如,如果你在学习开发模式,你会发现大部分代码都是Java实现的,这是因为开发模式就是在Java平台中较早投入实际开发,对于开发模式进行研究的大牛们也大多是在Java平台中开发的;但开发模式真的和编程语言关系不大,使用Java实现的开发模式,可以在.NET平台完全实现,在我的ASP.NET项目中就使用了一部分开发模式,效果还是非常不错的。所以,我们可得出一条结论,好的软件开发方法与编程语言真的不是有必然的联系。

选择开发语言,还有一个很重要的因素就是开发的软件类型。我们知道软件大体分为系统软件和应用软件。相信只有少数编程爱好者从事系统软件的开发,而大多数都将从事应用软件的开发。现在系统级平台大致可分为WindowsLinuxApple等,而应用软件也分为窗口软件、Web软件和移动软件。

好了,现在是做出选择的时候了!

想做什么类型软件的开发呢?

下面是我的选择过程,供大家参考一下。

在学校里开始学习VB6开发,感觉和C比较进来,真的很容易进行窗口类软件的开发,随着深入学习,接触到几乎是用之不尽的开发资源以后,VB6真的是我不能离开的开发工具了,一直现在仍然是这样。在学习的初级阶段,我也研究过Delphi,但重新学习的成本有点高,所以,也就放弃了,现在看来,这个选择也不算错。

进入软件公司后,真正接触了Web软件,那时还是ASP,不过因为有VB6的基础,所以干起来也比较轻松。

技术发展的真的很快,公司在项目中很快就使用ASP.NET平台了,这时,我因为有VB6ASP开发的基础,无论是在.NET 1.01.1或者是2.0版本中,我都能迅速的适应新的软件环境,只要加油学习新的扩展就能很快在工作中投入使用。

再后来,由于种种原因,我离开的北京,回到了老家。在单位工作中,我依然使用VB6ASP.NET来解决问题,无论是单位网站还是小工具软件的开发,我都能应用自如。

回头看来,我的技术路线是很清楚的,即:基于Windows操作系统,使用VB作为主要开发语言;主要开发窗口类软件和ASP.NET Web软件;这就是我的技术特点。

现在,工作上已经进入正轨;也有了更多的时间,所以,我创建了自己的个人网站,当然使用的ASP.NET技术。

因为在学习开发模式的过程中学习了基础的Java语言,所以,在业余时间里我还自学了手机Java游戏的开发,感觉还是很有意思的,也能做出一些小游戏了,主要是己出门时玩一玩;现在,这些手机Java游戏也放在我的个人网站上,供广大朋友下载使用。

我想各位朋友现在也应该淡定很多了。我们任何时候都不会一口吃成胖子,开发技术更是这样,我们最需要的选择一条技术路线,然后坚持走下来,深入其中;通过一条主线路,我们还可以通过实践、学习各种技术和方法,最终我们就会成为专家。

从现在开始,我们可以停止编程语言的宗教战争,停止毫无意义的口水战;而是踏踏实实的研究自己的技术,当我们有一天成为软件开发专家时,就可以为整个软件界做出更多的、更有意义的事情。

最后,对于发展过快的所谓新技术(很多情况下实际是新概念),建议大家先了解其本质,然后再考虑是否可以为我所用,而不是杞人忧天的认为自己不学就要OUT了。比如前两年的RSS(也就是通过XML进行信息的发布而已)、现在的“云”(分布式计算和分布式存储)、……

软件开发的学习和应用,要的是淡定,要的深入,要的是坚持;否则一切都是浮云。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多