写点什么

C#首席架构师 Anders 和 Fortress 创始人 Guy 谈并发与语言设计

  • 2008-10-28
  • 本文字数:717 字

    阅读完需:约 2 分钟

JAOO 录制的一个视频访谈中,Anders Hejlsberg 和 Guy Steele 谈论了语言设计中的并发问题。Anders Hejlsberg 是 C#语言的首席架构师,Turbo Pascal 的创始人,以及 Delphi 的前首席架构师。Guy Steele 是 Scheme 的创始人,现在致力于 Sun 的 Fortress,一个关注并行(parallelism)和数学的编程语言。

Anders 说现在有一个重要的变化,关于并行的焦点正在从粗粒度任务和基于并发的流程,向细粒度并发转移,也就是“想将单一的逻辑任务分解成多个工作”。

Anders 正在做得一件事情是为编译器找到一种方法,以知晓一个对象是否已经“暴露给外面”,然后用这个信息来决定转变(Mutate)是否安全。但挑战是,现在程序员被教育的写程序的方式和需要他们所做得事情有很大的差异。

Guy 接着提到对两种并发类型的定义,一种是对应用而言比较基础的,比如交易处理;一种是多个速度非常快的 CPU 的结果。对于后一种类型,Guy 说如果这是个可选项,开发人员会非常乐意不去使用多线程。他不关心语言是不是函数性(functional)的,只要你能告诉编译器在哪儿能使用并行就可以了。

Anders 反驳说开发人员没有必要一定知道他们的代码,或者其使用的代码是否安全。这就是为什么要使纯函数,即无副作用的函数,只能够调用其他纯函数想法的由来。

当话题转向函数编程语言的时候,他们两个都表示对此有很大的兴趣,但也坦诚说,要改变那些对命令式编程技巧兴趣正浓的开发人员是很困难的。Anders 还提到函数语言中的效率问题,指出像 QuickSort 这样的算法,在函数语言里面执行效率非常糟糕。他更倾向采用混合的策略,比如命令行语言中的“纯洁之岛”之间都能有一个清晰的描述。

查看英文原文: Anders Hejlsberg and Guy Steele on Concurrency and Language Design

2008-10-28 02:151685

评论

发布
暂无评论
发现更多内容

教你用JavaScript实现乘法游戏

小院里的霍大侠

JavaScript 前端开发 编程实战 实战案例 初学者

Ansible最佳实践之 AWX 启用facts缓存和模板问卷调查

山河已无恙

12月月更

Ansible最佳实践之 AWX 作业创建和启动

山河已无恙

12月月更

Ansible之Ansible Tower使用User和Team管理访问权限的笔记

山河已无恙

12月月更

Ansible最佳实践之Playbook高级循环任务如何操作

山河已无恙

12月月更

镕铭微电子加入龙蜥社区,推动开源 OS 在音视频产业的应用

OpenAnolis小助手

操作系统 芯片 数据存储 龙蜥社区 镕铭微电子

SAP MM 为UB类型的STO执行VL10B,报错-没有项目类别表存在(表T184L NL 0002 V)-之对策

SAP虾客

SAP MM UB类型STO VL10B T184L

Ansible最佳实践之 AWX 构建高级作业工作流的创建和调度

山河已无恙

12月月更

关于 Git 重写历史的一些笔记

山河已无恙

12月月更

教育部公布2022年第一批产学合作协同育人项目,千锋教育57个项目成功立项

千锋IT教育

Java jar 如何防止被反编译?代码写的太烂,害怕被人发现

小小怪下士

Java 程序员 反编译

多引擎可视化数据流实现方案

元年技术洞察

数据中台 数字化转型 专利解析 方舟企业数字化 PaaS 平台 #方舟平台

预告|2022 星策 Summit MLOps 分论坛议程公布!

星策开源社区

人工智能 机器学习 开源 AI MLOps

react源码中的协调与调度

flyzz177

React

拿到8000元的火焰杯比赛奖金,感谢霍格沃兹测试开发学社

测吧(北京)科技有限公司

软件测试比赛

Ansible之 AWX 管理清单和凭据的一些笔记

山河已无恙

12月月更

react源码分析:babel如何解析jsx

flyzz177

React

Ansible最佳实践之 AWX 使用 Ansible 与 API 通信tags

山河已无恙

12月月更

Ansible最佳实践之 AWX 创建管理项目的一些笔记

山河已无恙

12月月更

广西移动圆满完成区运会通信保障任务

Geek_2d6073

OpenMLDB Meetup No.7 回顾 | OpenMLDB+AutoX:整合自动特征工程,拥抱高效机器学习

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

MySQL从入门到实战讲解,京东T5大牛学习笔记分享,看完我哭了!

钟奕礼

Java 程序员 java面试 java编程

降价背后,函数计算规格自主选配功能揭秘

Serverless Devs

Serverless 前端 函数计算FC

Redis之String类型和Hash类型的介绍和案例应用

C++后台开发

redis 数据结构 hash 后端开发 C++开发

Ansible最佳实践之AWK VS Anssible Tower 界面介绍

山河已无恙

12月月更

【python小脚本】监听日志文件异常数据发送告警短信

山河已无恙

12月月更

Serverless Devs 重大更新,基于 Serverless 架构的 CI/CD 框架:Serverless-cd

Serverless Devs

Serverless Serverless Devs

react源码中的生命周期和事件系统

flyzz177

React

裸辞不慌!入职蚂蚁金服P6,掌握并发编程我是这样吊打面试官的

钟奕礼

Java java面试 java编程 程序员‘

互联网医疗领域月度观察——数字乡村建设加快,“互联网+医疗健康”带动乡村高质量发展

易观分析

数字化 互联网医疗

创业者说丨云起无垠沈凯文:构建新一代开发安全基础设施 让Fuzzing技术为企业赋能

云起无垠

安全开发 开发安全 Fuzzing技术防护

C#首席架构师Anders和Fortress创始人Guy谈并发与语言设计_.NET_Jonathan Allen_InfoQ精选文章