1.学软件开发是炒蛋炒蛋数学重要还是英语重要?
2.OpenCL是什么,查了半天没看懂,能简单明了的源码告诉我是干什么的有什么功能吗
学软件开发是数学重要还是英语重要?
学习软件开发如果只是仅仅做一些比较浅显的内容的话不需要很深的数学功底,只要把逻辑思维锻炼好就够了。神器但是炒蛋炒蛋如果真正想要学习一些关于算法方面的内容的话就要比较好的数学功底了,至少需要很强的源码思维能力。英语的神器溯源码足干话不用太多,只要能看懂一些基础文章就好了,炒蛋炒蛋因为有时候一些C语言的源码练习题目会用英语写出来,不过也不用太深。神器
数学方面可以多看看离散数学以及图论方面的炒蛋炒蛋知识,有时间的源码话买本关于C或者C++的书看看,这两种语言算是神器最普及的软件开发语言了。
追问
你说这些我都不明白,炒蛋炒蛋你就告诉我数学要好到什么样英语要好到什么样就行了
追答
软件开发中的源码程序语言,不能单纯地把它归结为是神器英语。它也是一门独立的语言,只是用英文字母去表示而已。
作为初学者,你所需只是去记住他们而已,并不要求像真正学习英语那样,要求语法、阅读、听力。
当然,英语基础好的话一定会给你的程序员学习帮助不少。英语是学好计算机的一个有利条件,但决不是最关键的。
我们的课程对算术能力没有什么特殊的要求,有高中的数学基础就足够了,只是需要了解一些基本的算法,比如,怎么区别奇数、偶数呀,质数的dubbonetty源码解析概念呀。算法是现成的,并不需要设计算法。
所以,高中生所具有的数学、英语水平,足够学好这个专业。
你只要好到一个高中生的水平就够了。
追问
我现在高一不念了学这个能学好吗
追答
不行,必须具备完整的高中数学、英语知识,此外高中也会让人的思维更灵敏活跃比不上强。
现在学软件开发,你就得靠自己自学高中内容了。
-------------------------------------
对于程序员, 为什么英语比数学更重要? 如何学习
程序员联盟群里经常有人问:
我数学不好可以学编程吗?
我英语不好可以学编程吗?
今天就来一次性回答这两个问题。
我这些年的体会是:
英语对于编程的助力比数学要大。所以要说优先级的话,首先过了英语这关再说。
当然了,很多人会有不同的意见。我这里只是说说不才的我个人的体会。
欢迎留言指教,也可以丢鸡蛋,不过记得再丢几根韭菜,我可以韭菜炒蛋~
为什么这么说呢?很简单,不少编程都不需要什么数学知识,但是英语却是避无可避。
除非你是用易语言编程(不过说实话,中文真的不适合用来写程序。英语的字母组成和特性决定了编程还真需要用英语),不然离不开英语。
对编程来说,学好英语有以下必要性:
对编程语言里的基本词汇敏感,便于理解意思。江湖云源码很多函数和变量名都是自注释的(也就是说光看名字就知道意思了),例如isFinished()函数,不懂英语的话就不知道是什么意思,如果会英语马上会知道是判断“是否结束”的函数。很多API或源码是没有注释的,因为函数名已经可以达意了,但不会英语你就看不懂。
能够为变量或函数起个好名字。命名可以一大学问,名字起得好,一看便知,就是1中所说的自注释了。如果英语不好。起了个有语法错误的名字,或者胡乱起一个名字,或者起一个拼音读音的名字(比如haoChiMa,简直不能忍),对于阅读你程序的人或者是你日后自己回看自己的程序,简直惨不忍睹。
很多好的教程和书籍是英语的。虽然现在伟大祖国越来越发达,国人编程整体水平越来越高,也著有非常优秀的书籍,写了非常优秀的博客等。但是,老外的思维方式还是跟我们不太一样,看老外的文章往往比同类的中文教程易懂。因为他们思维跳跃,语言幽默、形象,看起来比较轻松愉快。不过,我越来越发现:比如我在搜索Android一个知识点时,github小米源码Google的英文结果没有满意的答案,在中文的博客里却会找到答案。这说明我国已今非昔比了。
很多好的论坛,网站是英语的。例如最著名的stackoverflow,github,等等。在上面可以用英语提问,回答;参与开源项目,撰写文档,等等。当然了,国内CSDN这样的综合编程社区也是很优秀的,但是一般来说新技术会第一时间用英语在国外网站发出来,例如Android的各种新闻,我们中文版还需要等人翻译,这就滞后了。
很多书籍,有中文翻译版,但是不好理解,因为翻译水平不行。所以要看原版的话只能会英语。
很多软件,没有汉化,只能会英语。
我在之前的文章里提过, 我从年编程入门以来, 这5年很努力, 几乎每天都在学习。
当然了, 还是大菜鸟一枚。不过这5年, 可以说学了别人年的东西。(不光是编程,也学了很多其他技能。)
很重要的一个原因就是我的英语还不错(当然了, 比我好的人多了), 英语好对编程真的帮助极大!
反观数学:只在某些特定领域需要数学比较好。
例如游戏开发,源码投资总部3D游戏需要有坐标系的转换,重力,反弹,角度等计算,需要数学知识:嵌入式底层,位移,与、或、非等运算,二进制,十六进制,八进制和十进制的转化和计算,需要数学知识;高科技或研究领域,比如航空信息工程,那数学要求很高。但这些编程领域,还是离不开英语。
一般的编程,你说Web编程吧,如果是前端,一般都不需要什么数学知识吧;做Android应用开发,也不用数学好。
不过,说到底,如果你英语好,数学也好,那对于编程肯定有益。
那么,如何学好英语呢?
首先,兴趣是最好的老师。
如果你不觉得学英语是一件苦差事,反而饶有趣味,那么你的进步会很快。
我就是这样,学习外语对于我来说是很有意思的事。
我敢说自己是程序员里英语很好的,说英语的人里编程很好的。
除了英语还会法语,一些西班牙语,和中文诶(哇,竟然会中文,好腻害...)。
我业余也在给全球下载量很多的App做中英翻译团队志愿者,已经2年多了。
所以你担什么心呢?大可放心来找我。小编久居法国(7年了),每天工作都要接触英语和法语。英语只可能进步,不可能退步~ 有什么学习英语的问题,可以来找我哦。
如果你对英语兴趣不大,那可以用下面的几个方法:
1. 语法是主干
不少人学外语,总觉得应该要学一些常用语,和老外打成一片,口语是很好啊,单词量也有。但是假如知其然,不知其所以然的话,你是走不远的。
学语法,就是“知其所以然”。
要真的学好一门外语,语法太关键了。语法是铜筋铁骨,打扎实了,其他的单词,什么的,慢慢装饰不急。
以前小编的初中课外英语老师就经常强调:英语要打扎实语法。所以小编对语法一直不敢怠慢,后来发现,学其他外语也特别快。只要先从语法入门,其他都水到渠成。
2. 看到背后的益处
也许你会说:“什么?学英语还有什么益处?除了让我不爽之外。”
是的,学英语当然大有益处。学外语,其实是学其背后的文化。一门语言,代表了说这门语言的国家人群的生活习惯,思维方式,文化历史,等等。
如果把学英语想成能够接触英语文化,学习其历史背景,人文艺术,高新科技的大好机会,那你学习就有了新的目标和动力了。
什么?你还是没有动力?你,你,你给我出去~ :P
3. 学腔调
学一门语言,其实很关键的一点是学腔调。什么是学腔调呢?就是模仿,类似“鹦鹉学舌”。
你应该听那些纯正的外语者是怎么发音的,他们说话用的是什么腔调,你就跟着学,模仿就好了。他们怎么待人接物,你也怎么做;他们怎么用这门语言,你也怎么用。
因为语言不是干巴巴的文曲星的发音,每种语言都有其特殊的腔调。这一点,说英国腔英语的人肯定大有体会。
4. 不死背单词
不少朋友学英语,拉起来就猛背单词,个人觉得不是太有效。诚然,单词对于语言来说很关键。假如没有词汇量,你语法再厉害,也是张口的“聋哑”人,不是吗?听也听不懂,说也说不出来。
但是单词怎么才能记得牢,个人觉得用情景记忆法最佳:比如多和老外聊天,他们提到或纠正你的单词,你会一直记得,基本都不会忘了,因为你把这个单词和当时的情景联系在一起了;看文章看**记单词,也是不错的方法,这样才能活记,也是利用情景记忆法。
5. 勇敢说出来
什么“疯狂英语”等概念其实是有其道理的。中国人一般都讲求低调做人,要谦虚不张扬,隐忍不狂放。
但是很多外国的英语老师都会鼓励我们不要怕丢面子,I 就要大声说出来。毕竟肚子里再有墨水,不说就只能黑在肚子里了。
6. 看**和唱歌
看**和学唱英语歌曲是很好提高英语的技巧,但是这个是在掌握好语法的情况下,不然跟不学语法只和老外聊天没什么区别。
看英语**时,可以用遮挡物遮住字幕部分,看几遍**,因为看中文字幕你是很难提高的。
学英语歌呢,可以先自己把歌曲用中文翻译出来,搞清楚意思了,再去背。
7. 多看书
不用说了,多看一些好书吧。
加油,让英语成为你编程学习的一大助力吧!
OpenCL是什么,查了半天没看懂,能简单明了的告诉我是干什么的有什么功能吗
OpenCL是GPU通用运算API。是显卡作通用浮点运算的API。比如视频转码,原来这个工作都是CPU来做的。现在显卡运算能力比较强,这个工作完全可以交给显卡来做。要调用显卡,这个工作不需要再由程序员考虑了,因为已经有一个现成的接口了,程序员只要管好转码的算法,然后直接调用OpenCL中现成的指令,这个工作就自动由CPU转交到GPU了。
OpenCL是一个为异构平台编写程序的框架,此异构平台可由CPU,GPU或其他类型的处理器形成。OpenCL由一门用于编写kernels (在OpenCL设备上运行的函数)的语言(基于C)和一组用于定义并控制平台的API组成。OpenCL提供了基于任务分割和数据分割的并行计算机制。
OpenCL类似于另外两个开放的工业标准OpenGL和OpenAL,这两个标准分别用于三维图形和计算机音频方面。OpenCL扩展了GPU用于图形生成之外的能力。OpenCL由非盈利性技术组织Khronos Group掌管。
扩展资料
API之主要目的是提供应用程序与开发人员以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。提供API所定义的功能的软件称作此API的实现。API是一种接口,故而是一种抽象。
应用程序接口(英语:Application Programming Interface,简称:API),又称为应用编程接口,就是软件系统不同组成部分衔接的约定。由于近年来软件的规模日益庞大,常常需要把复杂的系统划分成小的组成部分,编程接口的设计十分重要。程序设计的实践中,编程接口的设计首先要使软件系统的职责得到合理划分。良好的接口设计可以降低系统各部分的相互依赖,提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的维护性和扩展性。[1]
参考资料来源 OpenCL_百度百科