首先我想强调的是:“学习从来都不是件容易的事,除非你是天才”。
所以,就更不用说软件开发,这个极其需要脑力和精力的学习。
软件开发,本身就是一门大学问,不仅仅需要有扎实的理论知识,还需要不断的实践经验积累。
当然,不同平台的软件开发,上手难易程度是不一样的,而且跟该软件开发所需的编程语言掌握程度关系也非常大。所以,学习软件开发你得先把对应的编程语言先学好学精。
这里简单说下当初我自学Android软件开发的经历:
2011年刚毕业没多久,我在一些论坛上看到很多牛人通过自己写的移动端应用或者游戏赚取了大量的广告费,我在这些数字(金钱)的诱惑下决定自学Android软件开发,希望能从中分一杯羹。
那时候基本上是白天上班,晚上就窝在自己的小屋里,天天学习Java编程语言和Android软件开发到凌晨2、3点。后期基础学的差不多了就开始着手开发自己的App,每天晚上基本都是在完成一段自认为比较满意的代码或者完成自己的App上一个比较重大的功能之后才回床休息。
那段时间很累,但人很兴奋(我这得有多大的兴趣啊)。虽然广告费没赚到多少,但成功的把自己送进了一个比较高大上的外企,薪资也翻了两翻,算是正式踏进了移动互联网行业!
所以,对普通人来说软件开发并不是件容易的事,但天道酬勤,勤学勤练自然就会变得容易!
1 难在思路的构建
你学了很多语法,很多 API,但是当给你一个实际问题,让你通过编程实现,不是简单地罗列 API 即可完成,而是需要你对问题进行分析,理清解决问题的逻辑,然后再通过各种算法、数据结构和 API 等进行编程实现。
2 做出来容易,做好难
当你解决了思路构建的难点,解决了一个问题,但是你是否使用的最好的方法,这就是所谓的做出来容易,做好难。
写的程序能够解决问题且没有 bug 是基本要求。这里的做好不是指功能正确,而是写的程序容易理解,能够很容易让其他接手的程序员(水平不差)看懂为什么这么写。
正确是现在怎么写不会挖坑害将来的人,现在怎么写能让别人1年后看你代码时候不可能理解错你现在的意图,现在怎么写能在别人将来犯错的时候提示他你错了。
编程是给未来的未知人讲故事,你无法知道将来这个人是谁,他都懂什么,他经历过什么,这个系统将来已经是什么样子了。我们需要在这种无知,缺乏信息的情况下做决定,从千万种把这件事做出来的方法里,选出你觉得最能把这个故事给讲好的那种方式,把故事写下来。
编程是一种沟通,用程序跨越时空之沟通则是一门属于程序员的特有的艺术 —— 阿莱克西斯
3 规范性好,有良好的可扩展性
并且程序的可扩展性,规范性高,后期维护难度小。整体功能实现的过程中,各种情况考虑规范。
其实学习编程和学习其他内容一样,没有什么太大差别。心态放好,用对方法,你就能够学好。重要的是学知识的人是什么样子,而不是学的是什么。
在这给你一些学习编程的建议,希望对你有用。
1 让编程成为一个习惯
想要培养一项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。
对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境总之就是找各种理由一拖再拖,最后就不了了之了。
为自己设定一下,每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。
2 将每天的学习过程拆分成小块
对待编程学习,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做40分钟、然后休息5分钟,整个过程重复4次。很明显。
3个月左右。
确定一个方向,编程语言太多了:java、C++、python、PHP、C等,需要确定方向,从基础学起,建议零基础学编程的小伙伴从C语言开始学起,C语言入门比较简单,会提升自信心。
自学编程入门一定要阶段性的看到成果,这个“成果”并不是在“黑匣子”里面实现,要在用户展现界面呈现,很容易提升信心。
机器语言
在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本 *** 作,这些指令一起构成了该系列计算机的指令系统。
在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显。
学习编程究竟有多难?走访了一些计算机科班新人,没想到竟有不少人表示,编程真的太难学了!更有人表示,不瞒你说,上大学前我是张白纸,4年后我成功将自己捣成了“浆糊”,理论是掌握的不错,可到了具体 *** 作总觉得差把火!
其实并没有觉得很难很枯燥啊,那么问题到底出在哪?
难在没有建立学习中的“正向”兴趣循环
强烈的兴趣与不断获得的成就感是整个学习过程的“引擎”,它为学生完成整个学习任务提供源源不断的强大动力。
传统大学教育的目标之一是为学生在本专业领域未来的发展“打下扎实的理论与实践基础”,所以从一开始就要“科学训练”。这种教学方式对于很多学科或许十分试用,但对于计算机初学者来说,首要任务就是引发兴趣,否则一切都是枯燥的。
如果计算机教学从一开始就给了这些学生“痛苦”的编程体验,并且在后期枯燥的专业课程学习中不断得到强化,学生想觉得好学都不容易了!
难在没有受过解决问题的训练
从小到大,我们一直奔着考取好学校的终极目标,被动的记住或“理解”各种知识点,然后依着一组标准答案有条不紊的填写着试卷。
到了大学以后,很多人继续发扬着这种“高考精神”,背诵着C++语法、 *** 作系统各项定义、计算机网络各种协议、常量、作用域、多态……拿相应的学分不成问题,但脱离了试卷进入到真的项目,真没有几个人敢说自己多会编程。
然而编程的核心,从来都不是这些死记硬背的东西,而是如何分解问题——发现规律建立解决问题模型,映射到合适的数据结构和算法上,最后才根据算法写程序实现。没有这样的训练,应用到实处也许真的很难!
在这里,他们从未觉得编程难学
如果说,学编程真的很难,那为什么还有那么多非科班人通过专业的IT职业教育学习并入门IT行业,实现高薪就业了呢?
事实上,一些专业的职业教育学校所教授的课程内容是根据市场上企业需求开发的,而且是灵活变动,实时更新的,很多实训项目也是直接跟着企业在做,真正实现学习就是工作,工作促进学习。
先培养出学生对于编程的浓厚兴趣,并从中获取成就感,形成正向兴趣循环,打下扎实的学习基础。随后会在具体的项目案例中逐步击破各个知识点,获取编程实 *** 经验。技能经验全掌握,面试拿offer一气呵成,学编程他们当然不会觉得难!
以上就是关于软件开发难吗全部的内容,包括:软件开发难吗、编程究竟难在哪、学编程难不难,一般要学多久等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)