未来的编程可能是什么。新面貌
人们总是对未来感兴趣。我是一个人,还是一个程序员,并且对编程的未来很感兴趣。在哈布雷(Habré)/极客时间(Geektimes)上已经见过类似的文章,并且在网络中也有可能在这个问题上借鉴很多。今天,我列出了未来10-20-50年内编程方面的可能创新。在帖子中,您将对当前编程语言出现的原因和必要性进行比较分析,并描述出现新语言和工具的可能原因。这里的关键词是必要性,因为原因本身就引起了必要性。语言出现的历史背景
首先,我想列出当前编程语言的出现和普及的前提条件,最一般的列表:舌 | 原因/必要性 |
组装工 | 第一台计算机的出现,需要对机器代码进行人性化 |
C | 计算机及其体系结构种类的增加。需要通用汇编程序。 |
C ++ | 开发用户界面。对C程序代码进行人性化和结构化的需求。 |
爪哇 | Sun的衰落,网络的发展。需要交互式的用户浏览器交互。 |
C # | Java的普及,当前用于Microsoft和Web平台的软件开发问题。微软需要拥有自己的技术堆栈。 |
Java脚本 | - Netscape - . - . |
Objective-C | Apple- . Apple . |
PHP/Ruby/Whatever | . -. |
Your Language | ??? |
下面没有对所给出的概念进行深入的科学分析。但是,如上表所示,描述了出现新语言或工具的原因。量子计算机首先想到的是量子计算机在半导体计算机时代的变化。容量将相差一个数量级,量子技术将允许解决的任务也将改变程序员的想象力极限。量子计算机的第一种语言已经被创建,可以肯定地说,随着技术的发展,将出现新的语言,最有可能基于当前的语言。人工智能日常使用AI的增长将影响并且已经在影响开发人员的工具和PL的结构。让我们在电话上使用语音助手。或例如与人工智能聊天。或者,如果AI发展到可以编写程序的水平呢?在后一种情况下,似乎会出现一种特殊的语言,使AI可以根据需求轻松开发程序。新设备iPhone的发布标志着Objective-C的普及。 X公司非常流行的设备很可能已经被开发出来,这将标志着Y语言的流行,也许是Tesla。全球灾难上帝禁止,可能发生全球性的大灾难或战争,这将从根本上改变人与机器之间交互的方式。可以假设,互联网(如果有的话)也将回到其根源,并且不再是无处不在的。在发生全球战争的情况下,将有必要使汽车军事化。首先,它不会像计算和可靠性那样易于使用。从我们可以假设的角度来看,类似OOP的语言将逐渐淡出背景,这为R,Fortran等计算语言提供了坚实的基础。也许它将是共生的,就像某种R ++或Fortran ++。物理学发现科学并没有停滞不前,研究正在各个领域进行,其中任何一个都可以成为人们的主导。如果人们可以操纵时空会发生什么?如果我们打开第五维会怎样?时光机器?显而易见,需要在适应大量数据的新内容上编写用于空间移动的软件。说到巨大,我想象着星系和宇宙的体积,这只是在想象中。这种语言会是什么?显然面向并行计算,网络基础结构,数据处理和可视化。与设备互动的新方法语音控制,手势控制,基于手势的输入设备,计算机对思想的控制。它已经是,它仍然是技术变得流行。
工具类
工具是程序员的单独一类需求。没有它们,进步是无法想象的,就像语言不能没有工具一样。可视化编程不久之前;创建可视化编程工具的尝试不计在内。而且,经常(如果不是总是这样),这些工具会因无法以可视形式显示解决问题所需的零件数量而失败。作者本人试图创建类似的工具,他为此从同事那里得到了无知的情报。大多数人比较了视觉创建一个程序需要多少时间,以及他们现在花费了多少。第二种方法一直赢了。但是我仍然坚信,以视觉形式打包经常遇到的解决方案,并组织了这些解决方案的集中存储库,您可以避免需要不断返回细节,阅读代码的麻烦。接口生成器已经存在很长时间了,但是为什么它们缺乏灵活性?而每个新的表单或布局,您仍然需要手动完成,写下每个属性和标签?以LightSwitch为例。一个很棒的工具,但是适合非常狭窄的任务。从数据生成的接口。总是样板。以某种方式对其进行自定义非常困难,这减少了它在输入表单和CRUD数据时的使用。作者一直梦想着这样的解决方案:- 基于数据的表单生成(WinForms,WPF,Swing,WinAPI)
- 基于PSD的本机接口生成
它已经存在吗?还是我看起来不好?触摸编程(语音,手势,触摸)想象一下,未来的程序员会积极挥舞双手,并用新语言大声说“咒语” 。坦白说,作为程序员,我为编写代码时无法表现出情感而感到非常angle恼。每天,我默默地敲打拍子,成为基于思考和计算的无情机器人。经过这样的编码会议进入现实世界后,我在与人交流和表达情感方面遇到了真正的困难。伙计们,是时候让我们更具表现力了!生成器程序工厂软件开发,软件生成器。是的,所有这些都是,但是没有被广泛使用。为什么?我们可以在创建开发工具的旗舰店的花园里扔石头,但是可以说,游戏不值钱,而是劳力的结果。但是,如果没有现成的解决方案存储库和基于该存储库的程序生成器,我看不到对未来进行编程。
预测
最后,我想对未来做一个预测:- 适应和扩展现有语言以适应新条件
- 创建交钥匙解决方案的集中式存储库
- 界面和程序生成
- 基于手势和语音的触摸和视觉编程
- 哦,是的,这就是我想要的。语言和框架的比较文档,其中您知道该方法是如何用
X语言实现的,并且服务将以Y语言显示其实现。通过类推,我们会更快地掌握所有这些框架。
Source: https://habr.com/ru/post/zh-CN383543/
All Articles