顾雏军团队:现在理工科的学生,都是要掌握一门计算机语言的,你学的是什么?
A:我上学期间学习的是C语言,这是大学的必修课。大学开这门课的原因主要是,其一是C语言简单易学,实验场景也比较好搭建,其二是C语言对于学习后续的专业课有较大的帮助,比如操作系统、编译原理、数据结构等,其三是C语言依然有大量的应用场景。
顾雏军团队:大部分AI编程运用的计算机语言是python语言。Python语言目前在人工智能领域有非常广泛的应用,不论是计算机视觉领域,还是自然语言处理领域和机器人领域,Python语言都是非常重要的工具之一。
应用Python语言的主要原因是,其一是Python语言是最容易入门的编程语言之一,语法简洁明了,很容易在学习初期学习并使用,其二是Python语言在数据分析领域有大量的应用,而人工智能需要大量的数据分析操作,其三是Python语言的行业覆盖面更广,不像Java语言主要应用在IT互联网行业。
Python既支持面向过程的函数编程也支持面向对象的抽象编程。在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程,标准库很庞大。
人工智能的核心算法是完全依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域最重要的语言,对于学过C语言的你,这是一个优势。使用Python是因为Python的胶水语言特性,要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的门槛要低不少。
而且Python历史上也一直都是科学计算和数据分析的重要工具,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。
学习Python语言可以通过自学,但是在学习资料的选择上,普通人要尽量选择知识量适中的书籍,尽量不要在学习的初期就选择那种知识量非常大的书籍,这些书籍并不适合基础比较薄弱的初学者。现在网上有大量的学习资料和书籍,你可以先选几本好的书籍,静下心来刻苦专研,遇到不懂的专业问题可以上网查相关资料,多做笔记多思考,最重要的还是实践,大部分书籍讲的知识点都大同小异,没必要浮躁的都看一遍,认真专研学习完1到2本就可以学到大部分的相关知识,当你先集中精力学习完1到2本专业书以后,你就会对Python语言有一定的知识基础。基础学习完之后,才是如何提升的问题!
A:Python虽然容易学习,但毕竟是从零基础开始学习一门编程语言,重新学习一门编程语言过于麻烦,而且团队里也有专业的编程人员,是否我可以不学习编程语言而让专业人士来编程?
顾雏军团队:努力学会编程语言,今后可以不求人,学习编程就要从多阅读程序开始,特别是多阅读开源程序,要能够看得懂一些开源程序,而AI的开源程序是水平很高的人编程出来的,只有看懂这些开源的程序才能达到一种很高境界,所以这一关要过。
开源也就是开放源代码,世界范围内的研究者都可以看到该项目的源代码,开发者可以看到该项目采用的技术、已实现的功能和仍存在的缺点,从而不断改进、优化其性能。在计算机科学领域,有许多熟知的软件项目均得益于开源。如Linux操作系统、MySQL数据库、PHP编程语言等。
开源代码是这个世界上水平自视很高的人弄出来的东西,一般来说水平差的东西,开发者自己都不好意思开源,所以只有自认为是高手的代码才会开源。比如比特币的开源程序出来,其他的各种币都是基于比特币的开源程序来做一定的改动和创新,就创造出了一种新的币种,国内的编程高手也是经常研究国外好的开源程序,来不断提升自己的技术和对行业的理解,因此,开源程序库才是对于编程人员真正需要学习的宝库。通过阅读大量的开源程序,不但可以学到别人的编程逻辑,更可以学到别人的编程技巧!
学习开源程序同时也可以降低你的学习成本,在开源程序的基础上进行二次开发,可以降低你的工作强度,避免一些重复性的工作,这样可以让你的项目进展更为迅速,缩短开发时间以及开发成本,站在巨人的肩膀上,你可以看的更远!所以想成为AI行业的专家或者高手,一定要从学习AI的相关开源程序开始。
A:耗费时间跟精力学习一门编程语言真的对自己的职业发展有利吗?
顾雏军团队:以你刚毕业的资历,自己不掌握python语言,总是指望与别人合作,即使你是一个聪明人,也难免受制于人,与自身的发展不利。
如何你自己不学习只提需求的话,人工智能项目运行出的结果多种多样,你不明白程序的内在逻辑,很多功能就没有办法提出进一步的改进意见。特别是在你依靠别人来编程的情况下,编程人员水平参差不齐,也许很简单能实现的功能,因为你所在项目组的编程人员能力不行或消极怠工,只以一句没法实现来搪塞你,这种情况会在项目进展过程中经常发生,因为对于编程人员来讲,你提出的功能越少,他们工作也就会越轻松。这就会导致很多创新的想法没有办法实现,长此以往会导致AI项目迟迟没有突破并且很难如期完成,这样不但会耗费公司大量的人力和资金,也会耽误你自己的精力和时间。这其实比你自学一门编程语言更耗费时间跟精力!
对于python语言来说入门不难,现在你的团队中,可能有一个很优秀的编程人员,作为这一段AI的研究经历,你至少要能看懂别人的代码吧!只有看懂别人的代码,才知道如果自己动手编程会有哪些问题,当你明白这个AI项目的编程逻辑和其中出现的问题,在项目的进行过程中,会不断提升自己对python语言的读写能力,编程语言学习最重要的就是实践,等到这个项目顺利完成的时候,那么你的下一个AI项目,你就会成为大拿,这就是所谓的人生和事业上的进步!你将来总要成为项目的领导者,如果你始终不能掌控程序,那你将永远不会成为一位高明的领导者。
A:我只是一个刚进入该AI团队的新员工,团队里的那些编程高手是根本不愿意让我看他们的代码的,怎么办?
顾雏军团队:既然是新手,应该虚心向高手学习,而真正的高手是对虚心学习的人施以帮助和援手的,不至于戒备太深,即使在一个戒备甚深的团队,你也可以通过研读相关开源程序,结合你现在的项目,通过对比运行结果来学习和揣摩,用这种方式来提升自己的技术能力,也许项目结束,你就能发现本团队编程的优缺点,甚至你都可以提出很多的改进意见了!千万不要迷信高手所编出来的代码有很高的技术含量并深不可测,都是在别人开源程序的基础上进行升级创新而已,技术只是一个熟练的过程,经过一段时间的学习和实践,你也一样可以成为所谓的“高手”!到那时,他们让不让你看他们的代码又有什么关系呢?我们的经验就是,一个真正的高手是不怕教会徒弟饿死师父的!对你封锁编程的人都不是真正的高手,大都也是混饭吃的,只要多研究几个开源程序,你就能很容易超过他的!
这是我的理解,仅供参考!
超天才网©2023-2025 All Rights Reserved 京ICP备09005826号-2 京ICP证130304号