编程中的深度学习:什么,为什么以及如何

免责声明:本文是由Skillbox与Setka编辑的首席开发人员和IIDF跟踪器Egor Yakovishen合作撰写的。



如今,学习编程基础相对容易。 例如,美国无家可归者里奥·格兰德(Leo Grand)仅仅接受了初等教育,就在短短三个月之内就制作了自己的移动应用程序,称为汽车树。

为什么还要学习编程? 有很多答案,从发展的渴望到以赚大钱的渴望结束。 但是,假设我们学习了编码并达到了一定水平。 有工作,似乎也有钱,可以得到对生活的满意(部分或全部)。 看来您可以停下来,享受自己的成就。 实际上,不要停止。 怎么了 我们将讨论这个。

为什么要改善?


如果您不擅长于自己选择的专业,则过一会儿您会发现自己是穴居动物,被封闭在一个洞穴中,该洞穴周围环绕着遥远的未来建筑。 嗯,或者想象一个已经拥有核武器的AI的“文明”,而一个玩家仍然在步枪的帮助下进行战斗。

对于程序员而言,这样的比较非常重要,因为从字面上看,每天都会出现新的平台,框架和硬件,为此您需要编写新的东西。 如果您从事同一行业多年,那么就业和对我们上面提到的生活的满意度可能会带来困难。

即使我们执行相对简单的任务(例如,通过在Microsoft Office的VBScript上创建脚本来实现流程的本地自动化),也无法在这种情况下停止:Office套件更改,某些功能被添加和删除,VBScript本身更改。 几年了-今天的解决方案不适合。 对于技术开发最前沿的Ruby或JavaScript等编程语言,我们能说些什么。

为了跟上新技术(或者,如果您是初学者,请立即做一些相关的事情,而不要学习垂死的解决方案)-报名参加Skillbox编程课程之一。 但是,我们的其他领域也可以帮助您提升相关技能,并开始更好地了解同事和工作流程。



例? 我有他们


对于一个在同一领域工作了多年而不进行开发的人可能会发生的事情,最杰出的例子之一就是Flash开发人员和那些决定选择Flex(基于Flash的交互式编程语言)的人的处境。 长期以来,他们“骑在马背上”-需求旺盛并获得大量资金(无论如何,比许多其他IT专家都多)。 做得好,尊重同事-一个人还需要什么幸福?

但是过了一段时间,随着iPhone的出现以及史蒂夫·乔布斯(Steve Jobs)宣布“我们将不支持Flash”的口号,这项技术逐渐被放弃。 随着时间的流逝,苹果紧随其后,并为其他平台开发人员。

显然,所有这一切并没有很快发生,但是闪光者感到了改变。 几乎有人立即开始寻找新的工作领域并学习其他编程语言。 好吧,由于没有时间再培训,某人继续做他以前的工作,最终根本没有工作。

CMS Bitrix专家中可能会出现类似的问题,他们会基于此系统创建相同类型的站点,而他们在编程方面的最初培训却没有进展。 如果发生了某些事情并且Bitrix不再那么受欢迎,那么以前的“程序员”将不再工作,因为他们没有发展自己的开发技能,但是很长一段时间都这样做。

懂多语言的程序员还是窄版专家?


当程序员达到一定的技能水平时,就会出现问题:继续前进? 一些人已经在一种编程语言中获得了一定的经验,开始学习第二种,然后是第三种,依此类推。

但是问题在于,我们的时代是一个狭special的专业化时代。 任何一种编程语言都需要学习的信息量如此之大,以至于很难成为其他方面的专家-根本就没有足够的时间。 为了开始使用其中一种语言进行相对较好的写作,您需要三年(有人谈论10,000小时)。 但是要成为选定领域中的出色专业人士,需要花费更多,更多的时间。

这完全不意味着没有懂2、3、5种或更多语言的多语言程序员。 他们是,但是这样的人很少。 此外,多种语言的知识并不能保证一个人会完全理解所有内容。 一点也不:在大多数情况下,程序员只是“挑剔”,会认为自己是一个很酷的通用工具。 但是给他一个特定的任务-他的知识可能根本不足以解决它。

最好坚持千篇一律-最好主要了解一种编程语言,并且,如果您想学习其他语言,则只是为了一般的开发。 额外的技能尚未伤害任何人。

究竟要选择什么?


图片

为了选择正确的发展和改进方向,您需要有远见。 换句话说,您需要了解与之相关的哪些技术和编程语言将在不久的将来流行。

最好选择一个如今没有专业人才的区域,然后开始发展,并在成为主流之前获得必要的经验和专业知识。

JavaScript是一个例子。 现在,这种语言非常流行,几乎可以说在每个人的嘴上。 但是,在开发初期,JS是一个小众产品。 那些立即开始在该领域发展的人变得很酷,并且很受专家欢迎(是的,但不是没有),他们得到了很多。 现在一切都写在上面:前端,后端,甚至移动应用程序。 仅凭这种语言就足以知道编写复杂度最高的应用程序来解决几乎所有任务。

捕捉编程语言,框架等趋势的好方法。 -跟踪大型公司产品中某些工具的使用。 如果公司开始从事利基产品并将其引入其产品中,那么值得考虑为什么。 如果这不是偶然的,那么很可能它将很快成为编程的主流。

现代编程的三大难题:JavaScript,Python,Java


如果我们已经在讨论选择,那么值得举一些具体的例子。 因此,Java Script和Python语言是目前最有前途的语言之一。 首先是因为它是通用的。 第二个原因是因为它是最简单的(相对)并且同时是掌握的流行语言之一:上面写有机器学习,神经网络和AI领域的项目。 用Python完整或部分编写Dropbox,Google和Yandex的各种产品。

Java仍然是一种通用语言,尤其是用于编写Android应用程序时使用。

如何成为一名大师?


原则上,这并不困难。 最主要的是对基本知识的理解,灵活的思维,毅力和实践。 是的,这是首都。 事实是,如果没有实践经验,无论您怎么学习,任何理论都不会帮助您成为专业人士。 就像人们说的语言一样:您可以记住数百个外来单词,阅读语法规则,但是如果您不说和写,所有这些都会变得被动起来,随着时间的流逝,它会被完全遗忘。

因此,对于希望在所选领域中有所改进的人们,有两个主要建议:

  • 阅读别人的代码。
  • 编写您的代码。

这些技巧可以以任何顺序使用-没有害处,只有好处。 怎么了 您创建的产品越多,编写的代码越多。 解决了某些问题,正在开发工作原理,并正在形成技能。 在这种情况下,您需要解析其他人的代码。 对于初学者来说,这是必要的,因为他几乎不了解,并且阅读其他人写的东西,初中生将能够理解它的工作原理和原理。 对于中级人员,解析其他人的代码可以使您找到开发特定产品时遇到的问题的成功解决方案。 好吧,对于高级人员来说,这首先是在别人的代码中寻找错误并提供帮助,其次是自我完善。 众所周知,“总会有一个亚洲人比你做得更好”,但他是公平的,不仅是对亚洲人。 通过研究别人的代码,您可以找到一个优雅的解决方案,以解决以前必须使用“拐杖”的任何问题。

图片

现在,有一些可以被程序员称为Twitch的服务。 其中之一是livecoding.tv。 在资源上注册的程序员可以编写自己的程序,并实时演示代码。

而且,当然,我们还需要一种理论。 要补充知识储备,您不仅需要阅读编程知识,还需要阅读很多相关学科的知识。

结论是,我们可以回想起“爱丽丝梦游仙境”中的引用(即使是学龄前儿童也知道这一点,是的,但这并不能抵消声明的价值):“我们需要以最快的速度运行,以保持原位,但是要达到某个目标,我们必须运行速度至少快一倍!” 实际上,在技术日新月异的时代,您需要做出坚实的努力才能保持优秀的程序员的地位。 为了变得更好,您需要工作和学习两次,甚至三倍以上。

Source: https://habr.com/ru/post/zh-CN415509/


All Articles