返回首页

程序员需要英语和数学吗?

149 2024-03-11 23:44 admin

一、程序员需要英语和数学吗?

第一:只是当码农

如果编程只是你的副业,或者只是单纯为了编程语言有个饭吃,那就只是作为一个码农,或者说,如果你觉得你不需要那么强的思维逻辑和演绎推算,不需要经常阅读英文文献,不需要经常写英文邮件,那么数学和英语可能就真的没必要了。

毕竟现在很多英语和数学一般的人,也有很多码农在,也都好好的在岗位上工作。不是说会编程的都叫做程序员。程序员的必修课又岂是只有数学和英语两门外学科,编译原理,组成原理,操作系统,不说掌握,起码要有一定认知。

第二:作为合格程序员

不会数学和编程人员,算不得真正的程序员。现在编程直接和算法打交道,可能更多的只是算法工程师了,数学和英语是他们的基本功。但是不能说除了算法工程师,其他程序员就不需要掌握数学和英语了。

很多重要的文献基本都是从英语翻译过来的,问问自己,为什么编程语言第一句都是输出hello world,而不是,你好世界。很多大牛都说,看中文版和英文版获取到的信息都是有差别的。就好像一部英文电影,你看英语场次和中文场次也是两种感觉。

对编程理解深刻的,都知道数学也算是编程的灵魂。编程需要足够的思维逻辑,而数学无疑是帮助你强化思维逻辑。有部电影叫做模仿游戏,电影中计算机的雏形就是由一个数字游戏建立起来的。所以,很多人都认为,无数学无编程。

若暂时对数学和英语或许没有什么好感。没事,这不影响你学习编程语言,等到合适的时候,后面再自我升华。无外乎就是多花点时间和精力,去弥补数学和英语。

二、程序员需要怎样的数学基础?

  软件开发需要数学基础,不是是有数学基础就能学懂软件开发的课程。因为软件开发是需要有很强的逻辑思维。如果仅仅是想成为一个程序员,只是一个写代码的人,那数学不需要太好。如果想精通计算机这方面操作,尤其是软件开发,则必须有很好的数学基础才行,计算机本是从数学里分支出来的,越往上走也就越接近数学。   软件开发是一种极具创造性的活动,其中充满了乐趣。举个例子,现在的网络游戏,说到底其实都是编好的程序,玩网游,其实就是在玩程序。在软件开发中,几行代码就能使物体漂移,攻防逆转,软件工程师要做的,就是想方设法让电脑听从于输入的每一条命令,让它计算,做游戏,放音乐……   软件技术,就像搭积木一样,先想好要搭什么,然后只须利用现有的模块,按照一定的逻辑顺序组合,再做仔细检查。学软件技术只要充满兴趣、认真努力去学就一定可以成功。

三、IT程序员需要数学和物理知识嘛?

It程序员需要数学和物理知识。

因为it方面的程序员最需要的就是数学和物理方面的逻辑思维能力,还有数学的应用公式的。他们最重要的就是数学的公式的使用。在一些方面的计算里面是很有帮助的,对于程序员来说,比如一些数学的三角函数在很多的编程语言里面都是有。

四、优秀的程序员需要懂那些数学知识?

安利一本书,专门讲程序员需要懂的数学。

一位科技博主Jeremy Kun花了4年时间,写成一本书《程序员数学入门》,在科技论坛Hack News引发热议。

这本书精简了大量数学内容,为程序员提供所需的基本数学知识。

书中主要内容有:多项式集合图论微积分线性代数群论等。

好玩的不止这些,这位博主在个人网站中整理了很多数学知识,甚至做成了wiki的形式:

https://jeremykun.com/primers/

里面基本是程序员的大学数学课程内容:虽然没有高等数学(微积分),但是有抽象代数离散数学傅立叶分析拓扑学等等。

这个网站叫做“站在数学和编程的十字路口”(Math ∩ Programming),所以当然不会只有数学课,还包括机器学习、图像生成、自然语言处理、加密学等计算机学方面的内容。

学渣能看懂吗?

看到如此多的数学名词,你是不是想起了当年被数学考试支配的恐惧?毕业多年,已经快忘光了书本知识,还能抢救一下吗?

有网友早就想到了这个问题:自己所学的数学知识已经忘得差不多了,能看懂这本书吗?

不用担心,这本书难度并不大,除非你有严重的数学方程恐惧症。

作者表示,如果你本科的时候学过一些基本的数学知识,那么这本书还是挺适合你的。书中前3个章节是基础数学知识,到后面难度会依次增加。

有习题答案吗?

作为一本数学书,它后面附有习题答案吗?Hack News论坛网友其实挺在意这个问题的,甚至说“没有标准答案我就不买”。

这条评论后吸引了大量网友回复,甚至被延伸成为一个自学方法论问题。如果做完习题又不知道正确答案,那么还有什么意义?

很遗憾,作者在主页上说并没有答案,不过书中提到的的代码已经在GitHub上开源:

https://github.com/pim-book/programmers-introduction-to-mathematics

另外作者为了演示特征向量,还做了一个Demo(可能是矩阵或群论部分的内容):

https://pimbook.org/demo/index.html

更多资源

在Hack News页面里,网友们集思广益,推荐了很多补充数学资源,包括各高校的开放课程。

对有志从事AI的程序员,推荐这本《机器学习的数学基础知识》:

https://mml-book.github.io

最后再着重推荐两个YouTube数学视频合集:3Blue1BrownStatQuest with Josh Starmer

3Blue1Brown在B站上还有官方中文版。(在B站你甚至能学习)

相比枯燥的数学课本,这两博主把数学知识做成动画形式,更加通俗易懂。

下载地址

《程序员数学入门》有实体书和电子版,价格分别是35美元和20美元。你可以阅读书本的前33页,再决定是否购买。

在量子位公众号回复“数学书”,获得该书免费预览部分。

书本购买地址:

A Programmer's Introduction to Mathematics

量子位 · QbitAIվ'ᴗ' ի 追踪AI技术和产品新动态

量子位

欢迎大家关注我们,以及订阅我们的知乎专栏

五、请问程序员具体要学那些相关的数学?

个人建议前四点是较为重点需要学的,后面几点是个人建议:

1、 数理逻辑。不说多了,对写条件判断或者说防止死循环,这方面的训练就有用。

2、 组合计数与算法分析。对一个问题,可能有几种算法,要通过计数来分析哪种算法更快,占用的空间更少。

3、代数学,包括线性代数和比较基本的抽象代数。许多算法和问题用代数表达,推演比较简单。

4、计算方法。这个涉及到许多常用算法以及误差分析,非常有用。前面四类我觉得是最重要的,下面提到的是比较有益的。

5、高等数学。对解决连续问题和实数运算比较有用,而且也是很多数学的基础。

6、 图论。许多算法与图论相关的。

7、 概率论与数理统计。 许多实用程序要用到。对于某些方面的程序员来说,了解其他一些方面的数学知识也比较有用,比如说微分方程,对写股票预测软件等的,都有用。

六、一名程序员的数学水平需要多高?

从上学开始我们就会经常听到这么一句话:学号数理化,走遍天下也不怕!当考上了大学选择了计算机专业之后,老师也经常告诫我们要想把计算机学好,数学基础一定要打牢。对于初入职场的程序员们,很多人就会有相同的疑问,数学真的那么重要吗?为什么在工作中并没有感觉到真正用到了那些高大上的数学知识?是的,作为一个程序员,即使不会任何数学知识也可以写出代码,如果print "hello world"也叫写代码的话。

你要知道,编程的世界并不是只有增删改查,while和if,你之所以觉得数学不重要,是因为你在工作中没有哪行代码会明确表示用了数学中哪个定理公式。如果你想在编程的道路上深耕的话,数学确实是很重要的,学好数学是充分必要条件,它决定了一个程序员未来的发展潜力!

我们学习数学的目的不是说为了能够成为数学家,而是学习数学的过程中可以锻炼我们的归纳,总结和抽象的能力,放到程序员的世界就是锻炼我们解决问题的能力。作为一个合格的程序员,我们都知道数据结构的重要性,它是我们写好代码的基础,而数学正是数据结构的底层逻辑。

现在很多公司招人的时候,如果非科班出身的情况下,都会优先考虑数学专业的学生,因为数学基础好,编程更容易上手,未来的发展潜力也更大。举个例子,我毕业后的第一家公司带我的老大,就是数学专业出身,当时年少无知的我就有这么相同的疑问:数学专业的会写代码吗?结果可想而知,扎实的数学基础让他在面对一些特别棘手的问题和算法上表现的得心应手。

七、当一个程序员需要多好的数学?

作为一个程序员,需要多好的数学取决于其从事的具体领域和工作内容。一般来说,一些领域需要较高的数学水平,例如:

1. 机器学习和人工智能:需要较好的数学基础,如线性代数、概率论、统计学等领域的知识。

2. 图形图像处理:需要涉及到计算几何、变换矩阵、线性代数、微积分等领域的知识。

3. 密码学和安全领域:需要一定的数学基础,如数论、离散数学、代数与密码学、概率和统计学等。

而在一些其他的领域,如Web开发和大数据等,数学要求相对较低。因此,作为一个程序员,需要具备的数学水平不是固定的,需要根据自己所从事的具体领域不断学习和提升自己的数学能力。

总体来说,数学能力对于程序员来说是很有帮助的,它有助于提高逻辑思维和解决问题的能力。即使你从事的工作与数学关系不是很大,拥有良好的数学基础也能够使你在工作中更具领导力和竞争力。

八、程序员数学从零开始这本书怎么样?

程序员数学从零开始这本书还是不错的,本书从人们身边常见的整数讲起,逐步深入,介绍了数论、计数、图论、机器学习等领域的一些典型算法及其原理,尤其是算法背后的数学原理,可以让读者对这些算法有更深入的理解。

九、对程序员来说,数学实际上真的有用吗?

别看各种积分,概率,线性,多如牛毛的公式,其实数学特简单。

不如给数学下个人性化的定义:逻辑的符号化表达。

为什么近代数学家们喜欢用各种各样的符号来论证他们的观点呢?因为就像乐谱一样,起到一个记录和传播的作用。把逻辑问题符号化也有助于对多层复杂逻辑进行清晰的,可视化的分析。

而各种运算,方程,矩阵,微积分,概率等等数学概念,或称其为数学工具,都算是一种复杂的逻辑系统,每个逻辑系统也都是建立在一个最简单的逻辑过程的基础上的,那就是加法(此处的加法亦指减法,加减二者一体,不可独立存在),通过对加法的叠加,或嵌套,或放大以及其它方式,来组合成不同的逻辑系统。(我不懂逻辑学,但在计算机科学中,加法确实是逻辑过程)

减法是加法的逆运算,乘法是加法的叠加,除法是减法的叠加乘方是乘法的叠加,也即是加法的叠加的叠加。。。都是加法来的。

而加法也不神秘,它跟减法互相对立又统一,有加就有减,有减就有加。就像宇宙的跷跷板两边一上一下。为万事万物带来无穷的变化。比如水循环经过天空,河流,海洋,随时在进行着水量的加与减。

所以整个数学大厦,都是用加减法的砖头砌起来的。通过不同的设计可以砌出好看的阳台,也可以砌出舒适的床榻,心灵手巧的工匠甚至可以砌出一个windows系统。

十、想当一名出色的程序员数学必须要很好吗?

只是作为一名程序员的话对数学的要求没有那么高,对数学要求高是研究算法,开发算法的,这个就比较深入了,既要有编程的基础,也要有扎实且高深的数学功底,总之一句话,您想要有长足发展的话,数学功底是必不可少的,加油吧!