程序员需要学好数学吗?为什么?
谢邀,对于安卓程序员来说一定的数学基础是必须的,动画的处理,交互都需要数学的计算,反过来说,数学的好坏也反应了,一个人的罗辑思维以及学习的能力,恰好这两点是一名程序员的基本能力,所以学好数学对于编程序来说还是很重要的。
数学现在终于因为现在机器学习而逐渐被重视起来,喜极而泣啊!数学为什么重要,因为数学是程序员最强有力的竞争能力。
我们常说常用的排序、二分查找、递归,这些程序员基本都能写,更复杂的算法,也能找到相关的库。
要求再高一点,比如能运用广度优秀搜索、图、贪婪算法、倒排索引等等,这些没有数学基础,说不定费也能拿下!
但是,今后是人工智能时代,在机器学习和深度学习已经应用到各个领域的今天,如果你不了解概率论、数值分析和线性代数,你就很难看懂别人学习出来的模型,无法调整参数看数据结果,看也看不明白。
包括很多初级程序员去读 AI 相关的论文,已经全部是翻译过来的中文了,除了数学公式全是中国字,就是不知道啥意思。
数学是一种思维模式,考验的是归纳、总结和抽象的能力,放在程序员的世界中,就是解决问题的能力。
什么是数学
首先,我觉得有必要说明一下什么是数学!数学就是加减乘除么?当然不是。而且必须要说明,数学在任何行业都是有用处的,在程序员这个行业显得特别明显。有的人会说,我生活中也用不到特别深的数学知识,我就会个加减乘除,一点也不耽误生活啊!涉及到复杂计算不还有计算器呢么?那我们为什么要学数学?
程序员是否一定要学好数学才能干活?以我十多年行业经验,我觉得不一定,这个问题因岗位而异,因工作内容而异,程序员也分好多种。程序员也分为基础web程序员、架构师、数据科学家或者在大厂拧螺丝的程序员等等。
不得不说,有很好的数学基础的程序员是吃香的。首当其冲,算法工程师、大数据工程师、人工智能、云计算类的工程师。这一类的工程师招聘需求,无一不对数学有很高的要求。所以这一类的人才,年纪轻轻进入大厂就30万打底,随着经验的增长,能力提高,有可能工作5、6年就年薪直逼百万。当然,这一类程序员的学习成本也是最高的!详见下图:
答案是肯定的,程序员一定要学好数学。
程序设计是算法和数据结构的结合,说到底程序设计就是一个数学问题,所以对于程序员来说,有一个扎实的数学基础是非常重要的。但是,并不是说数学基础不好就不能做程序员,下面做一个简单的分析。
随着互联网的发展,目前程序员可以从大体上分为研发级程序员和应用级程序员,对于应用级程序员来说,数学知识在平时的开发过程中涉及的并不多,甚至可以说比较少。应用级程序员的主要工作集中在软件功能模块的实现上,大部分开发任务是管理系统的实现,这部分工作往往就是把各个封装好的软件功能做一个集成。很多公司往往都把大量的核心功能进行了模块化封装,比如数据[_a***_]服务、事务服务、业务逻辑服务等都有具体的封装模块,作为程序员来说,只需要按照业务流程把这些服务集成起来就可以了,所以对于数学知识的掌握程度并不会影响工作的开展。
但是,对于研发级程序员来说,数学就显得比较重要了。举例来说,目前大数据、人工智能领域是比较热门的领域,在这个领域的研发级程序员也比较集中,因为一个技术在发展和应用的早期往往都需要解决很多系统级问题,这个时候往往就需要大量的研发级程序员。在大数据和人工智能领域每天都要接触各种算法,数据收集、算法设计、验证算法、训练算法、使用算法、调参、优化等等操作都离不开数学知识,可以说如果没有一个扎实的数学基础,这些开发工作就无从做起。
所以,数学对于研发级程序员的重要程度是非常高的。如果程序员想在开发领域走的更远,一定要向研发级程序员方向走,而数学则是一个重要的基础。
另外,程序员对英语也是有一定要求的,随着开发任务的提升,英语的重要作用就会凸显出来,现在很多大型互联网公司都是业务全球化部署,内部不少开发工作的交流都是***用英语完成的。
我的研究方向是大数据和人工智能,目前也在带大数据方向的研究生,我会陆续在头条写一些关于大数据方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。
如果有软件开发方面的问题,也可以咨询我。
谢谢!
谢谢邀请。我觉得需要。理由有三点:
1.在学程序时,也会涉及到数学的一些公式。比如宏程序会用到数学中的椭圆公式等。
2.学好数学对自己思维的锻炼更有利。
3.多多学一些知识总是没有坏处的。
以上是我个人的想法。
文科类大学毕业生学习Java可行吗?
为啥不可行
首先不会推荐你去培训,因为没必要上来让你去培训。自学完全可以也不会很耗费钱。但是你个人能力是吧,懂没
如果你每天很闲的话而且精力旺盛的话学的是很快的。半年多一点完全可以学会。时间其实要看你的经历以及学习状况来定。说一说简单的学习技巧吧。自学你要考虑无非是如何学习 1视频 2直播授课 3书本 书本相对比较死 没啥可说的 直播授课一般需要花钱 至于***,百度搜索圈T社区(***.aiquanti***),有,免费***教程。
这里面完全符合你的需求,都是免费的。至于学习就是多学多敲多看,就是反复看***书本 多敲代码多看源码 编程是很枯燥的 慢慢学习 加油 一定会成功的 慢慢来 不要怕浪费时间 如果一定去培训
至于怎样能够学好 不管去培训还是自学 都摆脱不了3点
1 多看 (反复琢磨 ***教程啊 书啊等等)
2 多读 (多读源码 理解源码)
3 多敲 (只看是不行的 一定要融会贯通 多练 多敲代码才是硬道理)
做好以上三点一定可以学好 不过本人建议自学 (百度搜索圈T社区【***.aiquanti***】免费***教程 希望对你有用 加油吧)
文科类大学毕业生学习JAVA可行吗?先借名人的效应,开个头FACEBOOK创始人扎克伯格是学心理学的!嗯,可能有点远!
但往往把互联网干的最好的一批人都是跨专业的,为什么?因为他们的思维往往是更加发散的,反而技术岗的同学更容易把自己的思维限制在技术的方方框框内。当然了,不能一概而论。
但是,技术,具有唯一性!只要你想学,有这个决心去攻克它,是不是计算机专业文理科,真的没有那么重要!而思维,它是灵活多变,不可捉摸。在独特思维指导下的开发,能够赋予技术更加灵动的特性。
说实话,文科类专业可能对于学习J***A这些编程语言会比较不擅长难理解些,毕竟普遍来说理工科会比较好些!但是,文科类大学毕业真的不是学习J***A的阻碍!
举个身边的一个例子,一名J***a开发工程师,去年毕业,目前就职于去哪儿网国际机票组~(她也是个文科生,英语不是很好,如图)
可见英语学的精不精,对学习IT技术,不会是问题!同理,跟你是不是文科生也没有必然的联系!
总结而言,当你不够自信,不够热爱,你就会众多犹豫和疑问。这些犹豫和疑问会占用你很多的时间,会进一步消磨你的自信,这个时候,不妨踏出一小步,学着去接触、去尝试,或许可以拨***雾,看见另一片天空!比如去试听一些J***A的***课程、看一些J***A的书,找一些比较懂的人请教等。以上希望对你有帮助!
不少文科生想从事软件开发工作都有这个疑问,那么到底文科专业能不能学习J***a编程呢?答案是肯定的,文科生也是可以学习J***a的。我曾经就带过一个程序员,虽然他在本科阶段学的是中文专业(应该是比较纯正的文科专业了),但是工作能力却非常强,最终成为一名研发级程序员。
文科生要想学习J***a并从事开发工作,需要做好以下几个准备:
第一,学习计算机的基础知识。计算机的基础知识包括操作系统、数据库、计算机网络三个大块内容,如果要想往研发级程序员方向发展,那么还需要补学数学相关内容(高数、线性代数、概率论、离散数学等)、数据结构、编译原理等内容,其中数据结构可以在学习J***a的过程中同步学习。
第二,制定一个系统的J***a学习***。要想学好J***a语言一定要有一个系统的学习***,J***a语言有多个开发方向,可以做Web开发、移动互联开发(Android)、大数据开发等,通常情况下大部分人都是从Web开发开始学起(我在头条上写了关于J***a学习***的文章,可以参考一下)。
第三,制定一个实践***。编程语言的学习需要做大量的实验,实验是学习编程语言最重要的环节之一,大量的概念都需要通过实验来进行验证。对于初学者来说,尤其是对没有计算机基础的文科生来说,一定要多做实验。
对于文科生来说,如果想在编程的路上走得更远,一定要注重基础知识的学习,越往后学习,基础知识就越重要。因为程序设计说到底就是数学问题,程序设计本身就是算法和数据结构的结合。
我使用J***a语言多年,也出版过J***a编程书籍,目前我在头条上陆续写了关于学习J***a编程的系列文章,感兴趣的朋友可以关注我的头条号,相信一定会有收获。
如果有J***a编程方面的问题,也可以咨询我。
谢谢!