学编程都有哪些困难?

洛雅水晶


不光是编程,学习任何内容多,并且复杂的技能都有以下问题或者说困难

1.一看都会,一做都费

这个问题就是偷懒了,该练的没去练,该背的没有认真背. 这真的非常重要,其实有许多东西必须去死记硬背,比如编程语言上的关键字,一些典型例子,你不记熟相当于白学

2.坚持不懈的毅力

学习中遇到实在搞不懂的可以先跳过,说不定随着学习的深入前面的也就理解了.但你学玩了,自己实操遇到不会的就必须去搞懂它.这就需要毅力了

我觉的就这两点,这两点都做好那也就没什么困难了,总之一句话,你能做到多学多练多思考,坚持不懈那就没有困难了,要是做不到,那就步步觉得难.

-ⓜ 2020-03-18


m1517


会编程是一种技能。学习编程成为不少年轻人的选择。如何学习编程?编程有哪些困难?无疑是编程新手希望得到答案的问题。

学习编程的途径有二。一是参加正规的编程培训,一点一滴跟着老师后面学习。二是自己在家自学。笔者建议初学者参加正规培训班学习,这样学习起来,障碍会少许多。

如果初学者确实决心自学编程,那么可能有以下的几个难点问题,必须一一自己去解决。

选择编程语言

学编程,可选择的语言是很多的。比如fortran、basic、c#、debase、java等等。对于门外汉而言,由于对各种编程语言均不熟悉,往往不知道该采用哪种编程语言作为自己的编程语言。

选择编程语言,首先得需要明白自己编程方向。是做单机的电脑程序?还是做服务器版可网络浏览器访问的程序?是电脑上运行的,还是计算机运行的。

不同程序语言侧重点不一样。比如fortran侧重于计算,basic侧重于易理解,c#侧重于面向对象,java侧向于网络空间访问等等。

正因为编程语言选择会面对许多专业的问题,所以是编程者面对的第一个困难。

笔者建议初学者学学basic语言,简单易懂。然后再学c或java。

选择编程工具

选择了编程语言,还是不能编出程序来的。必须建立自己的编程环境,也就是可以把代码编译成可以在计算机上运行的软件。

不同的编程语言,需要不同的编程环境。同一种编程语言,会有不同的编程工具。比如basic,就有quick basic,visual basic。在Windows操作系统下,一般用visual basic。

确定好编程工具,可以上网去查找免费的编程工具安装包。在自己计算机上安装,建好编程环境。

由于对编程的陌生,初学者往往难以顺利完成编程环境的搭建。建议去书店或网上购买编程书籍,对照参考书一步一步去操作。盲目操作是不能建好编程环境的。

学会编程思维

编程本质上是教计算机如何一步一步完成人交代的工作。代码就是指令,就是一组办事的流程,就是对计算机内部资源的使用顺序。

编程思维与日常生活的思维是有区别的,对于编程初学者,往往难以适应。比如赋值语句n=n+1,编程理解是把某个数加一,再赋值给这个数,从而实现计数功能。但从日常生活来看,完全不可理解,甚至得出“0=1”荒唐结论。

编程思维方式的转变,是编程的重大障碍。如果这个不克服,就无法正确编程。

英语水平

因为编程语言和工具是西方的科技工具,不懂英文是不大可能掌握编程的。

编程语句所涉及到的英文语句不是很多,需要熟记语句的使用规则。懂英文的好处就是,理解了语句含义,不容易忘记。否则靠硬背,是难以熟练使用的。

[笔者有三十年的编程经验,欢迎交流。]


涌进风云


以java为例:

知识跨度:主线技术栈完备之前过度的关注一些需要基础知识支撑的内容,比如面向对象都没真正搞明白呢,内存啥玩意儿的都不知道,但是因为看到了一些像容器、反射、注入之类的概念就硬要去理解,是能理解个差不多,但东西一变也许又抓瞎了。这是比较容易发生的问题,顺着一些写的比较好的书或者看视频课主要就是这点好,不需要你过多的关注知识线的问题,虽然细节拓展不一定做得到位,比如我早期看过黑马的ssm系列,controller返回这块儿就不太细,各种用法没有讲全。可能我看的视频是比较早期的再加上前面好像有strus2的视频,他默认你都明白了相关的知识。建议看这里时候先看看mvc模型、http、servlet,还有springMVC框架是怎么实现的servlet(不用太细,当成一个黑盒,看看两边要发生数据往来的时候都是怎么回事儿就行),这些都看过的话理解起来就比较容易。

名词翻译引起的概念偏差:有时候从英文译过来的未必最准确合适,但是早起就那么定的,都那么说就沿用下来了。如果说有些这样的中文名词你理解起来觉得有难度,建议翻阅英文文档,多数情况问题瞬间解决。

debug:异常机制的问题,它会在发生异常的代码块去报错,但原因很多时候不在这里,可以简单看一下异常说了什么然后顺着抓到异常的try-catch块中调用的语句一层一层往里找。当然很多框架或者jar包自己写了异常,可能会把问题描述的更确切方便你找原因。

敲字:打字多了偶尔会发生的多个字母啥的,调用类或对象和相关方法还好,有提醒,一般打几个字上下键选选回车就行了,自己定义数据(类、数组、基础类型)的时候最易出问题,写完一定检查检查是不是想要的,有时候用来接数据的实体类属性只差一个字,如果前端往后端传json传的时候用到了注解拿实体类去接,不报错,但是给你接null。还有创建的时候也要注意,尤其像String这种初始化时候需要手敲内容的。总之人自己完成的部分要谨慎一些,语言和ide帮你的地方就好些。

以上是暂时能简单想到的一些问题。当然困难跟各语言特性也有关系。js一开始没学多少,就到了前后端交互就没看了,后来学vue框架的时候就觉得我很多地方就像java基础不牢固的时候一样,知道怎么用,但原理不清楚,也许提个别的需求,要求一个技术你简单变一下来实现,就会出现不知道怎么做了,需要回去翻越相关基础。好在现在都是面向浏览器编程,基本上问题都能在百度解决,如果不知道怎么百度,建议研究研究或者看看搜索引擎相关的知识或者回想一下自己是怎么找电影的(你有固定的电影网站当我没说,顺便可以发我一份),如果还是不知道怎么解决问题,建议不要接触编程,学习Code对逻辑能力要求比较高,你自己做一件事都没有正确逻辑来理清事项和步骤,真的难以想象编程中遇到问题能怎么办。


伤心大叔不伤心


最困难的应该还是持之以恒的坚持吧

1. 每天都找不到合适和足够的时间

如果你正在自学编程,很可能你还有其他的事情要做。

你可能有一份兼职或者一份全职工作,或者要居家照看孩子。关键是很难抽出空来。那么,你如何每天拨出时间来学习编程呢?

有些人可能会说:“如果你肯下功夫,总能找到时间。”说实话,我同意。

所以问题就变成了:“你每天应该花多少时间学习编程?”如果每天只能抽出半个小时,那还能学到东西吗?

另一方面,我也听说过有些人在一年左右的时间每天学习9到10个小时的编程,取得了惊人的进步。所以如果你想找到点动力,可以参考一下这个。

底线在于:只有你自己知道你每天可以抽多少时间出来学习编程,并养成习惯。

2. 在“没有取得长足进步”和“精疲力竭”之间找到平衡点

就我个人而言,我在这方面挣扎了很久。

当时有几天,我就是没法理解书中的一个代码片段。我非常疲惫,以至于不得不强行让自己冷静下来,去阳台深呼吸。

从那时起,我就一直提醒自己不要用力过猛,以免物极必反。

3. 热爱自己的工作

虽然听起来很老套,但这是事实。如果你热爱自己正从事的工作和方向……你就不需要从外界的认可获得动力。

这种满足感是无法伪造的。

4. 记得在完成了别的工作后,继续坚持学习编程

事实是,当涉及到自学时,你永远都没法心无旁骛地学习。

我们在生活中都扮演了各种各样的角色——可能是丈夫,或者妻子,或者父母。你需要照顾家庭,或者工作,或者完成学业。

当我们还有其他角色,哪儿有时间去学习编程呢?

有时候你的确做不到一直坚持学习。我最长的不学编程的时间是两个月。

但在那之后,我立即又捡起了编程的学习。我发现自己忘记了很多学过的东西。当你拿起同一本书,却不知道如何继续读下去时,你可能会感到沮丧。“天啊,难道我真的要重头来过,再学一次吗?”

这就是你必须坚持到底的时候了。

5. 无论如何,保持动力

自学是很不一样的。当你自学编程的时候,身边没有人跟你一道。没有同学,没有社交,成功了也没有喝彩。大多数时候,你都是一个人。大多数时候,你都是孤独的。

所以你需要找到某种动力来保持前进。

6. 不要“为了学习而学习”,要去面试,去实践,去参加工作

在学习编程时,我们有时会偏离正道。我觉得有时候你只是想偷懒——一种希望通过整天坐在电脑前就不必面对真正的挑战的偷懒。

别偷懒,别忘了,你要成为一个开发人员。

不要陷入“我正在学习,这已经足够好了,等我准备好了,我再去找工作”的误区。

坦率地说,找活儿干是我们最应该做的事情。你可以联系潜在客户,哪怕是为家人和朋友免费建立网站也行。



怪人制造2025


我自己是培训机构出来的,在培训机构学习的时候,会遇到的问题是基础薄弱,也就是关于课本以外的知识不够了解,因为培训的目的是就业,所以老师会偏向于项目实战。我一个表妹是大学本科,学的是计算机专业,她遇到的问题就是项目经验缺少,基础知识比较扎实。所以总结一下,学编程主要的困难就是两点:基础薄弱,项目经验少。如何克服呢?最主要的就是自主学习,你得自己意识到学编程是你想要做的事情,要像热爱玩游戏那样热爱它(如果你玩游戏),然后多去刨根问底,不要会用就可以。其次就是多做项目,没有项目可以去网上找开源项目来练手,还有就是在工作中尽量使用自己所学新技术来改善代码质量。


沐金


1。逻辑抽象能力,编程也有很多更为细致的分类,如算法,数据库,流程,等等,或者普通网站,专业应用。。。这些都需要逻辑抽象能力,当然不同方向需要的能力大小不同。

2。兴趣,所有的事情都是依靠兴趣驱动,但是开发更是如此,这是一个相对单调的行业。

3。忍耐力,接上面说,当你感觉学不下去的时候,就是考研忍耐的时候。我04年面临从命令行转成网站,不会,周边没有会开发的,天天干憋,天天想,1年半,突然想通了,后面就一马平川。所以想搞IT必须有强大的忍耐力。

4。求知欲,开发不单单是个堆积木的过程,里面还要涉及更多的知识,你不可能一辈子只干开发,至少在目前中国的环境是不可能的。你需要不断的提升,不断的去掌握新的技术,不单单是开发相关的技术。如我目前相关的有数据库,虚拟化,docker,devops,。。。

5。职业规划,还是接上面说,开发走技术应该就是高级开发,架构师。。。,走项目就是产品经理,高级产品经理。。。

6。认证资质,国家有相关资质认证,初级中级都有明确的专业方向,高级就几个如果走技术,到高级都是相互融合的。

以上就是我从业16年的建议,希望能给你有个良好的指导。


无趣做IT


个人认为学编程的难度在于个人能否坚持下去

因为任何编程语言你学起来基础的语法都差不多,但是里面的思想逻辑还是需要好好的学的。

这也就是有很多人开始学编程感觉很有兴趣,但是越来越感觉枯燥乏味坚持不下去的原因。

如今掌握一门编程语言也是很重要的,如果真的想学编程就要有一个长期学习的心理准备,持之以恒的一颗心才是学好编程的关键


猿猿嘚不嘚


首先非常感谢在这里能为你解答这个问题,让我带领你们一起走进这个问题,现在让我们一起探讨一下。

广度与深度难以兼顾。

计算机专业基础课,如OS,数据库,网络,算法等,抽象且难以理解,大学时不学,以后就很难拾起来。

既强调动手,又强调抽象,二者缺一不可。但善于思考的人,往往喜欢谋定而后动;善于行动的人,往往没功夫回顾思考。

对于要先理解才动手的人,是种折磨。往往做了一两年,才突然理解某个概念。

对于初学者,难以区分学的知识,还是配置。

杂讯太多,不知道学什么。

总的来说,编程里简单的地方,往往价值不高,困难的地方,这次避开了,下次还是要理解,逃也逃不掉。

在以上的分享关于这个问题的解答都是个人的意见与建议,我希望我分享的这个问题的解答能够帮助到大家。

在这里同时也希望大家能够喜欢我的分享,大家如果有更好的关于这个问题的解答,还望分享评论出来共同讨论这话题。

我最后在这里,祝大家每天开开心心工作快快乐乐生活,健康生活每一天,家和万事兴,年年发大财,生意兴隆,谢谢!



热血的燃屎官


1。逻辑抽象能力,编程也有很多更为细致的分类,如算法,数据库,流程,等等,或者普通网站,专业应用。。。这些都需要逻辑抽象能力,当然不同方向需要的能力大小不同。

2。兴趣,所有的事情都是依靠兴趣驱动,但是开发更是如此,这是一个相对单调的行业。

3。忍耐力,接上面说,当你感觉学不下去的时候,就是考研忍耐的时候。我04年面临从命令行转成网站,不会,周边没有会开发的,天天干憋,天天想,1年半,突然想通了,后面就一马平川。所以想搞IT必须有强大的忍耐力。

4。求知欲,开发不单单是个堆积木的过程,里面还要涉及更多的知识,你不可能一辈子只干开发,至少在目前中国的环境是不可能的。你需要不断的提升,不断的去掌握新的技术,不单单是开发相关的技术。如我目前相关的有数据库,虚拟化,docker,devops,。。。

5。职业规划,还是接上面说,开发走技术应该就是高级开发,架构师。。。,走项目就是产品经理,高级产品经理。。。

6。认证资质,国家有相关资质认证,初级中级都有明确的专业方向,高级就几个如果走技术,到高级都是相互融合的。


ai乡里人


基础知识要牢固、如、数据结构与算法 、设计模式、网络相关等。



分享到:


相關文章: