编程语言】没基础的文科生学编程难度大吗?

2020-03-26 15:51发布

作为一名准毕业生,文科女,无基础,学习编程会很难吗?现在这个阶段建议我去学吗?我好纠结。

作为一名准毕业生,文科女,无基础,学习编程会很难吗?现在这个阶段建议我去学吗?我好纠结。

6条回答
二大爷的三哥
2楼 · 2020-04-03 09:45

不难,都是从零基础走过来的

给你三个亿
3楼 · 2020-10-12 10:12




作者|阿文

责编|伍杏玲

出品| 程序人生(ID:coder_life)

【CSDN编者按】很多想转行的朋友会问:零基础我该如何自学编程?作者作为一名文科生,零基础转行为网易工程师,在本文中作者分享了自己的学习方法,希望对你有所启发。

很多工作一两年的朋友经常会感到迷茫,尤其是一些在传统行业一线岗位工作的年轻人,当前的工作机械重复,升职加薪没希望,薪资待遇又不高,于是萌生出跳槽转行的想法,看来看去,发现高薪行业无非就是金融、互联网、房地产等行业。

于是很多人把目光投向了程序员这行当,认为有一台电脑就可以学编程,成本很低而且薪资待遇相对来说是比较高的。目前互联网对于软件开发的需求极大,现在是互联网+时代,大数据、云计算等技术的应用,使得未来互联网化是必不可挡的趋势。因此,这是一个非常热门且有前景的行业。

上面的这些问题笔者也遇到过,笔者本人也是一位文科转行过来的,作为一名过来人,我就自己的一些经验和大家分享下作为一名零基础的同学应该如何学习、找工作、选方向。

 


怎么入行

 

作为作为一名零基础的学员,在开始学习编程时会遇到各种各样的挫折,例如:

选什么样的语言编程环境怎么搭建语法看不懂遇到错误了怎么解决写完了代码调试不通过

……

我们看下怎么选择语言,是选择最新潮的Python、Go,还是选择比较传统的Java呢?其实没有绝对的优势,都是各有优劣。

Python、Go虽说比较新潮,但是市面上的岗位需求还是比不了Java的,毕竟Java作为最受欢迎的编程语言之一,Java已经走过了20多个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到Java语言的身影。在未来,Java仍将会是最受欢迎的编程语言之一。

如果你想成为一名合格的后端工程师,并且想入职知名的互联网公司,那我推荐你深入学习Java。事实上,一些高薪高福利的岗位都只有大公司可以提供。

小型互联网公司的福利都很一般,比如公积金社保按最低基数缴纳。因此我建议如果是想未来从事相关工作,建议选择应用范围和前景比较广阔的语言学习,有钱途。

这里并不是说你这辈子就只会这一门语言就行了,只是说一开始为了节约时间成本,你可以先学习主流的Java语言。

等你未来真正工作再学习其他的语言。毕竟语言这门东西都是触类旁通的,从编译型语言到解释型语言学起来不难。

事实上,真正的开发者都是同时具备很多编程语言的编码能力的,有可能一个项目用Java,而另外一个项目用Python。

在刚入行的情况下,我建议先全身心的投入啃完一门语言。

选好了编程语言之后,你就该搭建环境然后开始学习了。

接下来该遇到的问题就是报班培训好,还是自学好。

其实这个问题我觉得看个人,如果你学习起来比较困难,很多都不懂,建议先找些视频资料学习一篇,照着敲,然后看书巩固,培训班看个人财力和时间是否允许吧,如果自制力差,选择培训班也可以。

但是我不相信一个自制力差的人靠培训班就可以改变自制力差的本质。其实,像Java这类编程语言的学习资料可以说一搜一箩筐了,完全不用担心哪里不懂,网上资料太多了。不懂的地方百度、谷歌一点点消化了。

在学习过程中我不建议你去记笔记,建议你在看完书和视频教程之后把所学的东西整理成博客,用自己的语言把你学的东西总结一遍。只有你自己掌握的知识才是真正属于你的,照着视频或书本敲的那都算。

这一阶段,建议你把一些语法、API理解透彻,能够融汇贯通的使用,可以自己学习完后做一些小项目练练手,因为你只是会使用API会语法,那不能叫会编程,那样和死记硬背没啥区别,编程是一门动手能力要求很强的活。一定要动手实践。


很多新手最容易犯的毛病就是写一个东西,比如一个计算器上来就刷刷刷写代码,其实这样是不对的,任何一个项目都不是上来就动手写代码。

我们需要把业务的逻辑理清楚了,哪些需要注意的地方都想明白了,可以把程序的调用链或程序的执行流程画成流程图的方式。把一些该注意的点都考虑到位然后在动手写代码。这样才能理解透彻。

在学习过程中不要把自己当初一名学习者,而应该把自己当成一名真正的开发者:

记录博客,对于未来的求职也是一个加分项,尤其是对于新手而言。练习的代码放 GitHub,方便你以及同事查阅,这也是一个加分项。不要死记硬背语法和API,这样是没有任何用处的,你是要用语言去实现一些功能。我见过很多新手抱着一本《ThinkinginJava》在啃,其实刚入门真的没有必要。简历上写:通过XXX技术实现了XXXXX项目,而不是精通XXX语法、XXXAPI。接受不确定性,因为你在实际的编码过程中会遇到各种问题,不懂的就去查资料,然后消化和理解他。要递归地去学习,而不是拿着一本书从头把语法肯到尾。什么是递归学习,递归学习是指为了搞懂A,而去学B,为了学会B,而去学C,这叫递归学习,递归虽深,但有回溯,它最终会回溯到我们的起点。

 


规范编码风格

 

好的代码风格能够降低理解难度,减少Bug,提高开发效率。我们的工作是需要和其他开发一些协作编码的,因此好的编码习惯一定要从一开始就养成,例如:

  1. 函数名、变量名采用驼峰样式;

  2. 2.函数名变量名都有与功能相关的字面意义,代码中不出现表意不明的变量名与函数名;

  3. 3.缩进采用4空格宽度的Tab;

  4. 4.花括号“{”和“}”单独占一行;

  5. 5.注释单起一行。一般会在需要说明的代码段上方;

  6. 6.定义变量时,每个变量单独定义并单独占一行,不出现类似inti,j;之类的代码;

  7. 7.所有的函数只干一件事;

  8. 8.复杂的函数一定要写注释;否则时间长了你自己都难以理解;

  9. 以上只是简单列举了一些,建议新手阅读下阿里的《码出高效:Java开发手册》了解下大公司的Java编码规范。

 

基本功要扎实

 

作为一名零基础的学员,一定要把计算机基础打扎实,这个过程并非一朝一夕或者参加个培训班突击学习三个月就可以完成的,这需要大量的理论学习+实践。

我们只有明白了计算机基础,后面的路才能走得稳,如果一开始上来就学习编程语言肯定是不行的,这就好比武侠小说里面的练武之人只会花拳绣腿,内功不行,打出去的招式都是软绵绵的。

那么计算机基础知识包含哪些呢?计算机原理、操作系统原理、网络原理、数据结构和算法等。

如果这些基础的原理掌握不牢固,你是写不出来优秀的代码。

举个例子,当网络出现异常,你能快速定位出来是哪个层面出现的问题吗?是应用层还是网络层或是硬件故障。

再比如一个程序到底是用单线程还是多线程,这些都是开发人员应该要考虑到的问题。

合格的程序员不是上来就刷刷地敲代码,而是先分析一个程序的设计思路、可能会遇到的问题和瓶颈是什么。因为程序是要和系统、网络打交道,数据结构设计的合理不合理和算法使用的恰当不恰当直接影响到你程序的性能。

因此基本功一定要打扎实。

好了,以上是我个人的一些新手入门建议,希望能给你带来一些有益的帮助。

作者简介:阿文,网易云担任高级工程师,在边缘计算、云计算领域有多年的从业经历,曾担任过讲师,主讲思科路由交换技术。个人博客地址:https://awen.me

【END】


Python成功逆袭,正逐渐与Java拉开差距

https://edu.csdn.net/topic/python115?utm_source=csdn_bw



 热文 推荐 

☞美对华为禁令或将再延迟90天;微软帮助优化Chrome;Go1.

小橘子
4楼 · 2021-11-01 09:11

1. 结构构思能力。编程就像规划城市交通。编程从编程效率上说,往往一个好的结构比局部编程更重要。但是开始编程前,要想清楚并确定一个结构往往比较难。需要分析需求,理解此次编程的目的。个人喜欢在编程前,尽可能把结构构思好。因为写好后改结构是件很繁琐的事。

2. 逻辑思维强。写出的代码是给机器编译的。但是编译器是没有情感的,它只负责你输入的代码,它不会自行脑补任何你以为它会明白但是你没有编写的代码。编程需要程序猿思维缜且有逻辑。不缜密的后果是,代码很多漏洞,就会有bug;不逻辑的后果是,编译器读不懂写的代码,就要debug。

3. 耐心写的过程就不说了,debug过程,是一个极其需要耐心的过程。c语言,一般据统计,1小时写的代码,要9小时来调试。并且测试过程也是一个很需要耐心的过程。


爱梦 - 拿来吧你
5楼 · 2021-11-04 09:43

1:要选择好一门适合你自己的语言。由于难易程度不一,所以一方面要结合自身,还有一方面要结合目前或未来2年的市场需求。

2:自学能力更重要,最该学的是学习的方法,掌握编程思想。

3:不要一直看视频,一定要动手,遇到错误,多去找解决方案。可以网上各种资料,博客有很多,要一步一步的进行调试,找到问题所在,不要只是为了解决错误。

4:心态要放好,刚开始你就是个菜鸡,不会就去问。最好有做程序员的朋友,可以和他们多交流,可能一句话就能让你少走很多弯路,拨云见日。


超甜的布丁
6楼 · 2021-11-04 11:20

这个主要是看你学编程是为了什么?如果只是想学点东西辅助到工作上,那应该不会很难,不用学很深入的东西,但如果是想往专职这方面发展,那就比较难了。既要构建一个全面系统的知识架构,还要有丰富的工作实践经验。特别是对文科生而言,思维逻辑也是一大影响因素。

可是你看看现在小学生都在学编程了,甚至有很多都学得很厉害了,经常参赛获奖,你看人家在起跑线上发力有多猛,很多中学也把编程纳入必学课程,真是后浪推前浪,以后竞争有多激烈可想而知。所以你说小学生也能把编程学的这么溜,我们文科生难不难?


慢半拍
7楼 · 2021-11-04 16:56

问出这个问题的时候,你就已经给自己设限了。一提学编程,很多人都给自己贴上了标签,例如我是女生,我学文科的,我数学不好,我逻辑不好等等,给自己找一个学不会编程的理由。其实编程并不是一个神秘的事情,它在我们生活中已经得到广泛的应用。按照乔布斯的说法,每个人都应该学一学编程,不仅可以提升你的逻辑能力,同时也可以帮助你提高工作效率,提高与他人的协作能力。编程是什么?与其说编程是一项技能,我更愿意说它是一种工具,为达到预期目的而使用的工具。学编程跟是不是文科生没有必然的联系,关键还是要看你自己愿不愿意学、付出多少精力学。

相关问题推荐

没有解决我的问题,去提问