最近有特别多的家长,就孩子学计算机问题发了我很多私信,问我编程以后有什么前途等等,就此简单的说一下编程!讲的稍微专业话术,看不懂就私信我哦!
编程正在改变世界。PC时代即将结束,软件开发人员现在正在处理大量设备,工作职能以及需要单机时代不同方法的问题。在我们爆炸式数据的时代,进行某种编程的能力对于每项工作都越来越重要,编程不再是工程职业的唯一保留。
我正在寻找规划编程方式以及影响它的因素。本文捕获了其中的一些知识,我欢迎就您认为事情发生变化的方式发表评论!目标是能够描述程序员在未来十年需要的基本技能,他们应该集中学习的地方,以及区分短期趋势和长期变化。
分布式计算
今天编码发生的“正常”环境与十年前完全不同。鉴于Web应用程序,移动和大数据等目标,程序只涉及一台计算机的概念已经消失。对于程序员来说,这意味着我们必须解决诸如并发,锁定,异步,网络通信和协议等问题。即使是最基本的Web编程也会让您熟悉缓存等概念。
由于这些压力,我们在计算堆栈中看到不同级别的现象。从高层次来看,云计算旨在减轻维护多台机器及其网络的麻烦; 在应用程序开发层面,框架试图体现熟悉的模式并抽象出令人烦恼的细节; 在语言层面,通过Go或Scala等语言提供的功能使并发和网络计算变得更加简单。
设备计算
环顾你的家。在您拥有的大多数电子设备中都有处理器和编程,这肯定会使您的计算机占少数。并非所有人都会参与嵌入式设备的编程,但许多开发人员肯定必须了解为手机开发的内容。并且在不远的将来汽车, 无人机,眼镜和智能尘埃。
即使在更传统的计算中,GPU阵列作为高级数据处理协处理器的兴起也需要非传统的编程。不同的形状因素需要不同的编程方法 业余爱好者和原型制造商都在为Arduino和Processing带来硬件生活。
语言和程序员必须回应之前专家领域的问题,例如低内存和CPU速度,功耗,无线电通信,硬实时和软实时要求。
数据计算
今天流行的编程形式,即面向对象,通常对数据持敌对态度。它专注于行为包含访问方法中的数据,并且更紧密地包装数据集合。在数学世界中,数据就是,它没有行为,但C ++或Java的严格要求开发人员如何访问它。
随着数据及其分析变得越来越重要,将数据视为一等公民的语言的使用和普及程度也相应提高。显然,像R这样的统计语言正在崛起,但在通用编程中,存在对Python或Clojure等语言的一点点优越性,这使得数据更易于操作。
民主化计算
现阶段编程比以往任何时候都多。这些聪明的,无数的,开发人员在Excel宏中拼凑出魔力,将JavaScript和粘合剂与IFTTT或Zapier等Web服务结合在一起。相当合理的是,他们对软件开发知之甚少,对此也不感兴趣。
然而,这些休闲程序员中的许多人会发现很容易产生混乱,并陷入麻烦,而这些只是真的想要完成任务。最好的情况是,这对雇主来说是一件令人讨厌的事情。更重要的是,这不是程序员的错。
可编程环境的提供商如何更好地为“意外开发者”服务?我们是否需要新语言,现有语言的更好框架?这是一个教育问题吗?这甚至是一个问题,还是生活?
Bret Victor的作品以及Scratch和Light Table等项目都有不同的未来。
危险的计算
最后,值得研究一下我们正在用我们目前的软件开发方法构建的纸牌屋。问题很简单:大脑只能在其中适应这么多。要成为一名程序员,您需要能够执行您正在编写的程序。
当问题空间变得太大时,我们的反应是编写一个框架,使问题空间再次变小。因此,我们拥有在CPU之上运行的操作系统。在操作系统之上运行的库和用户界面。在这些库之上运行的应用程序框架。在这些浏览器之上运行的Web浏览器。在浏览器上运行的JavaScript。在JavaScript之上运行的JavaScript库。我们知道它不会止步于此。
我们就像雄心勃勃的服务员将一个茶杯堆叠在另一个上面。现在,它看起来很不稳定。我们正在制造更快,更强大的CPU,但获得了与十年前相同的主观应用性能。框架中出现了安全漏洞,使大量系统面临风险。
我们为什么要使用这样的计算机,同时建立一个纸牌屋并将计算能力限制在程序员能够适应的程度?有没有办法在这个软件视图上重置?
结论
当我展望编程的未来时,我会考虑这些趋势和更多。如果您有经验或观点,或者正在从事研究以完全不同的方式做事,我很乐意听取您的意见。请对本文发表评论,或与我私信联系哦!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/9196.html