我是如何学习软件开发的

这是一个科技高速发展的时代,也是新技术层出不穷的时代,对于软件开发人员或想要成为软件开发人员的朋友来讲,也许面对眼花缭乱的技术,学习起来无从下手,本文,我将结合自己近二十年软件开发的学习经历,和大家分享一下。首先,先说明一下我当前进行开发的主要两个技术环境:

  • .NET环境,主要使用C#编程语言,常开发的项目类型是“窗口+数据库”或使用ASP.NET开发Web项目(这也要求对HTML、CSS、JavaScript和美工有一定的研究)。
  • iOS App,使用Objective-C加Sprite Kit开发一些小游戏。

这有些跨界了哈!^-^。那么,在这些年的学习过程中,我的学习方法是什么呢?我想,简单地说就是看书、实践、思考、广泛了解各种技术,下面一一道来。

首先是看书。相信有很多不愿意看书的朋友,他们的理由主要是“没钱、没时间、有网络”。好吧,前两个一定是站不住脚的,一个月花一百元买书,每天看三十分钟,周末每天看两个小时,应该不是什么难事,主要是你愿不愿意了,对吧?至于网络的情况,大家也许认为在网络上什么都有,还需要看书吗?那我们就讨论一下要看书的理由。

我们学习一项开发技术,例如一种新的编程语言,我相信只在网络上看资料是不够的,一种技术是一个完整的体系,如果没有系统的学习,是不可能深入地掌握的,此时,看书就是一个很好的选择,一本书可以系统地介绍一种技术,对于初学者来说,完整的、系统的学习是非常重要的,这有助于我们打下坚实的基础,所以,一定要看书。

实践。在这里,实践不只是实现书中或网络上的示例,更不是随便粘贴代码来进行开发。实践应该是实战演练,即使是没有人出资购买我们的软件,也应该全身心地去做一个或多个项目,把这个项目当成艺术品一样精雕细琢,让项目的设计越来越合理、越来越完美。在这一过程中,我们才会对开发技术和方法有着更深入的理解。

思考。我们知道,实现一个软件功能会有很多技术和方法可以使用,问题是,我们应该选择哪一种?书中或网络中的示例是不是合理呢?是不是适合我们的项目呢?此时,敢于提出质疑、敢于挑战权威、敢于尝试自己的方法。这些就要求我们需要多多思考,并用实践来验证一切,来验证自己或他人的错误和不足,这就是软件开发,是一项创造性的工作,如果没有质疑、没有创新,何来的发展呢?

当我们在一种环境下的开发技能有了很大的提高时,我们要做的就是进一步的学习,广泛了解各种技术和方法学。软件开发不仅仅是编写代码,而软件架构师也不是高高在上,作为一名软件开发者,即使我们现在的工作用不上,我们也要从更高、更广的层面来学习和理解软件的开发;学习更多的知识,拓展更广的知识面,对于我们自身的发展和进步,无论是事业上的,还是个人修养上的,都是一种促进。

也许你想知道我都学习了些什么,那么,我就列出来吧。首先,介绍一下自己这些都学习了些什么开发技术。我是从1995年开始学习软件开发的,当时是BASIC和C、C++为主,还学习了FoxPro(说实话,当时真不明白数据库干什么用的)。很快,Windows当道,窗口开发很自然的选择了Visual Basic,逐渐对软件开发有了新的认识。再后来,就基本完全是自学了。学习面很广,相信很多朋友都不会相信,这些内容包括:Visual Basic.NET、C#、Java、PHP、HTML、CSS、JavaScript、Objective-C、Swift、Sprite Kit、Access、SQL Server、MySQL、设计模式、人机交互、软件架构、设计心理学、……

如果说我对上这些内容都非常地精通,你一定不会相信,实际上,我自己也不会相信!^-^。很多的内容实际上只是感兴趣,去了解一下,但是,我这是不专注吗?我想不是!

就从编程语言方面谈谈吧。这是软件实现的基础,无论开发什么软件,我们需要编码来实现。再看看流行的一些编程语言,VB、C#、Java、Objective-C、PHP、JavaScript、……。从编程语言层面上讲,它们有多大的区别呢?基本的概念都差不多,实际上,我经常会将不同编程语言的特点和优势应用到不同类型的软件开发中,收获还是非常大的。举个简单的例子,当我最初接触设计模式时,相关的书籍使用的是C++或Java,而我就可以通过对这些语言的了解,很自然的通过C#来实现。

除了开发技术,我还对科技、汽车、军事、历史等领域感兴趣,这对软件开发没有帮助吗?当然不是,在写技术类文章或书籍时,我可以把示例做的更生动,比如模拟战争游戏,这样一来,可读性、趣味性不是更好了吗?

所以,作为一名软件开发者,眼中不能只有代码,多看看书,多学习各方面的知识,对我们来说是幸福的,是快乐的,是可以帮助我更好的成长的。

希望我的经历和感受对初学者有些帮助,不对的地方也请大家多多批评指正,让我们共同进步吧!

时间: 2024-10-05 04:47:56

我是如何学习软件开发的的相关文章

电脑小白学习软件开发-C#的选择语句、异常捕获,进攻程序员

写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 不得不说,C#这门语言是小编以为最好的语言.其优美的语法,最具人性化的新特性,以及无敌的开发工具令人陶醉.接触过不少语言,却一直回味写C#的那种状态. 本人认为目前C#是比较适合入门的语言,最为小白,热衷于电脑编程开发的人,可谓是一个大大的福利. 不管如何写过多少中语言教程,在写C#教程时却是如此的富含感情.为了完成我们的全栈梦,作为服务器端,

电脑小白学习软件开发-C#语言基础之循环重点讲解,习题

写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的人.当然因为技术的连贯性,推荐按照顺序查看. 上次课程:电脑小白自学软件编程-.Net语法基础之循环语句,纯技巧干货 近期,致力于进行C#语言教程的写作.写一系列可以供电脑小白学习软件开发的文章,帮助更多初学者入门学习IT编程. 课程总目录:因头条无法自定义目录,大家关注:“做全栈攻城狮”微信公众号

学习软件开发应该看的书

学习软件开发应该看的书 来源: 李越甲的日志 1. C语言提升 <c和指针> <c缺陷和陷阱> <c专家编程> 这三本书是一个初级C程序员必看的三本书,同时也是应届新员工必须好好学习的教材,非常适合刚毕业的大学生学习 2.  C++语言提升 <Effective C++:改善程序与设计的55个具体做法> <More Effective C++:35个改善编程与设计的有效方法(中文版)> <C++沉思录> <C++Template

学习软件开发技术需要注意什么?

现在网络时代已经脱不开计算机,在智能化的时代掌握软件开发技术是必不可少的,因为这个行业是比较有发展前途,选择岗位空间大,缺失很多这样的人才. 随着互联网的急速发展趋势,传统的行业结构开始不断推进,选择的行业将有许多缺失的软件开发岗位,学习更多的更深层次的软件开发技术是随着时代不断推进的选择. 那么在学习软件开发技术上有什么注意的呢?中安云城为大家分析一下: 1.掌握软件开发技术的知识,以及各方面的实用性,掌握了最基础的知识外,将软件开发的门槛不断提升,这样对自己的成长帮助才会比较有效果,一个软件

Python学习————软件开发目录规范

软件开发目录规范 为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要.软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下 Foo/ |-- core/ | |-- core.py | |-- api/ | |-- api.py | |-- db/ | |-- db_handle.py | |-- lib/ | |-- common.py | |-- conf/ | |-- settings.py | |-- run

学习软件开发的心得

一.结缘计算机 我在小学五年级就开始使用计算机,不过那时候的我只能称得上是玩电脑,算不上用电脑.连简单的复制.粘贴.剪切等操作都不会,迷迷糊糊玩了几年游戏.后来高考填志愿也是因为喜欢计算机,而且该行业就业前景比较好,所以就填报了该专业.其实进入大学前对计算机一无所知,连最简单的cmd命令行都没有接触过.进入大一后,最开始学的是C语言.那时的我还是"闭关锁国",一个人再默默地学,C学得到也不错.指针.链表.结构体.队列.树等都写过,后来学聪明了,加了个群,开始和外面的人交流学习经验.直到

技术大牛告诉你,如何系统有效的学习软件开发?

有些人一出生就是为电脑技术而活的,充满着浓厚的兴趣.特别对编程开发对电脑技术有自己的一些向往. 而往往有时总是依靠搜索引擎进行学习,东看一点西看一点,没有系统的学习完一整套思想逻辑. 自己也可能有所成就,但是每当进行进修的时候就会发现,自己的不足,学习其他的东西很费劲.那我们究竟应该如何系统有效的学习一门编程语言呢? 我也不是什么大神,至今学习C#语言三年,期间也学习java android python等其他语言.算是对学习一门编程语言有自己的一些小见解.希望能帮助正在准备学习一门新语言的你.

C#软件开发学习路线

不管学习哪一种编程语言或技术框架,为了避免"迷路",少走弯路,都应当有一条系统的.全面的学习路线,笔者认为应以软件常用功能为主线,由简入繁,逐一实践每一项功能. 笔者曾自学过C.VFP.ASP.VB.NET.PHP.JAVA.JSF.C#.NET.WinForm.ASP.NET及网页开发等编程语言或技术,参与开发的项目有十多个,笔者认为学习软件开发,入门最难,入门不是简单的在电脑屏幕上输出"Hello World!",而应当是了解编程语言的开发环境和工具,学习和掌握

关于看软件开发视频教程的感悟

如第一视频教程,包括网页设计,软件设计等. 网上培训视频教程,包括张孝祥Java视频教程,北大青鸟软件视频教程,达内网上视频教程,毕向东视频教程,后盾网,兄弟连PHP视频教程,硅谷学院,51cto视频学院,还包括李炎恢的北方网视频教程,以PHP网站开发,软件测试实战为基础,还有李全福从实例学习vc+视频教程,and陶益动态网页开发教程,收费的,但有效果. 有些教程很好,有些视频重理论,实战性不强,有些学员至今未搞懂,老师讲的太深奥,学员难以领悟. 有些学员英文不行,老师讲的英文代码太多,只有高水