编程语言划代(讨论稿)

2020-02-23 15:54:48 +08:00
 esnqir
编程语言 运行模式 内存模式 代表

装配式语言( assem language )
指令式 元件式 assem

变量式语言( basic language )
宏替式 组合式 basic 早期

函数式语言( cable language )
定函式 结构式 c

模板式语言( delph language )
重载式 模板式 delphi/c++早期

自动式语言( exper language )
泛函式 自述式 java/matlab/c#

智能式语言( fairy language )
伺服型 进化型 自适应 cs 模型(目前未见)
2875 次点击
所在节点    奇思妙想
5 条回复
crella
2020-02-23 19:46:44 +08:00
Elixir 和 Rust 呢?
esnqir
2020-02-23 21:49:53 +08:00
@crella 百度了一下 Rust,模板式语言,不支持泛函,不支持自述式变量。
BingoXuan
2020-02-24 12:08:18 +08:00
智能式语言( fairy language )
伺服型 进化型 自适应 cs 模型

这三个特性 lz 是如何定义的?
zagfai
2020-02-25 17:34:26 +08:00
python kotlin swift 呢?窃以为不应归入 java 行列
esnqir
2020-02-28 17:57:37 +08:00
@BingoXuan 猜想如下:
伺服型是指函数不仅会根据变量当前的类型调用不同的子函数(上一代编程语言的特征),甚至可以根据数据的特征(如数组大小、内容预计、目的声明等)自动调用最优化的算法,有些类似于机器学习或专家系统那样。
进化型是指数据在内存中的形态会根据数据的特征自动调整,比如程序员只需指定某变量是查询表,程序自动根据数据量决定是使用完全表还是链表;又比如,一个数据压缩包,在计算机闲暇时会被反复优化等诸如此类的使用方法相同但实现方法可动态调整的数据格式。
cs 模型中前端和后端是分离的,后端程序员会不断的优化数据(比如:内存表→文件缓存→数据库→分布式数据仓库)。而类比到编程语言上,显然是把后端程序员的一些经验固化到程序中(当然不能完全取代)。所起名叫自适应 cs 模型。
应用前景还不明朗,但似乎可以用于上一代语言的加速,比如编程语言预测到某算法主要针对整型数据,就把主体部分生成两个版本进行编译,在入口时检查分拔或在加速版本报错后使用低速版本,而且这种加速功能设想应该由运行时库(即二次编译甚至迭代编译)提供,而不是在初次编译时固化到代码里。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/646826

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX