【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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:151575

评论

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

在 Pisa-Proxy 中,如何利用 Rust 实现 MySQL 代理

SphereEx

MySQL 数据库 rust

配置swagger

卢卡多多

swagger 6月月更

5分钟了解红队如何搜索网络情报

穿过生命散发芬芳

6月月更 攻防演练

Navicat Premium 15 永久破解激活工具及安装教程(亲测可用)

Geek甜甜

数据库 程序员 工具 navicat

Java—JVM

武师叔

6月月更

「 2022 精益软件工程大会」圆满闭幕,观测云奉献精彩主题演讲

观测云

LabVIEW Arduino ZigBee无线气象站(项目篇—3)

不脱发的程序猿

物联网 LabVIEW Arduino ZigBee无线气象站 无线传感器

JASON

Jason199

json js math 6月月更

GTID详解

乌龟哥哥

6月月更

数据库每日一题---第15天:未消费的顾客

知心宝贝

数据库 程序员 前端 后端 6月月更

倒计时1天,龙蜥社区走进Intel MeetUp 即将开播!直播大奖等你来拿

OpenAnolis小助手

开源 intel Meetup 龙蜥社区 线上直播

leetcode 413. Arithmetic Slices 等差数列划分

okokabcd

LeetCode 算法与数据结构

Android 自定义View之展开收起的Layout

yechaoa

android 自定义view 6月月更

Docker 实用技巧二

Nick

Docker 容器 实用技巧 6月月更 实操

Java Core 「10」J.U.C 同步工具类-2

Samson

学习笔记 Java core 6月月更

力扣每日一练之二维数组下篇Day5

京与旧铺

6月月更

InfoQ 极客传媒 15 周年庆征文|海王的鱼塘是怎样炼成的

知心宝贝

人工智能 大数据 运维 前端 InfoQ极客传媒15周年庆

跟着官方文档学 Python 之:3.12 新变化

甜甜的白桃

Python python3.x 6月月更

一文带你认识CSS

未见花闻

6月月更

python程序设计思想

左手の明天

Python 面向对象

依图在实时音视频中语音处理的挑战丨RTC Dev Meetup

声网

音视频 RTC Dev Meetup 语音处理

如何设计BI平台

奔向架构师

数据仓库 商业智能 6月月更

如何往 Kafka 发送大消息?

Se7en

JVM调优简要思想及简单案例-代码执行与内存区域

zarmnosaj

6月月更

挑战最全 Apache Doris 学习资料,你想要的都在这里了!

SelectDB

数据库 Doris apache doris 技术干货

LabVIEW Arduino无线蓝牙遥控智能车(项目篇—2)

不脱发的程序猿

LabVIEW Arduino VISA 无线遥控智能小车 无线蓝牙遥控智能车

关于微服务通信的一些Tips

阿泽🧸

微服务 6月月更

考试试卷存储方案

极客土豆

百度团队CSS编码规范

sean77

flutter系列之:深入理解布局的基础constraints

程序那些事

flutter 程序那些事 6月月更

【愚公系列】2022年06月 通用职责分配原则(五)-控制器原则

愚公搬代码

6月月更

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