当前位置: 首页 > news >正文

C#、TypeScript之父Anders Hejlsberg:“会用Excel就是程序员 ”

174634348e7f0a39937c90d1974df786.gif

0b51169e768ee51605091a60bf4117bc.png

导读:近日,C#和TypeScript等编程语言的创造者Hejlsberg与TNS新闻编辑Darryl K.Taft进行了一场线上对话,围绕微软低代码/无代码、Web3等话题,分享了他对许多与软件开发相关的事情的看法。

42cc099980f06b1ccc3259838749c807.png

本文为CSDN翻译    译者 | 章雨铭       责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

原文链接:https://thenewstack.io/microsofts-programming-language-czar-anders-hejlsberg-the-interview/

作为Turbo Pascal、Delphi、C#和TypeScript等编程语言的创造者,Anders Hejlsberg是世界上最重要的计算机程序员之一。在构建微软.NET等开发环境方面极具影响力,Hejlsberg影响了数以百万计的软件开发人员。近日,Hejlsberg与TNS新闻编辑Darryl K.Taft进行了一场线上对话,围绕微软低代码/无代码、Web3等话题,分享了他对许多与软件开发相关的事情的看法。

d64ef754f812e2cdee2dc894b37a9e11.png

Anders Hejlsberg


01

Excel是一种低代码/无代码工具

问:您对于低代码,无代码有什么看法?

Anders Hejlsberg:我认为这个领域的潜力巨大。我们常会忽略,其实我们已经拥有了世界上最好的编程语言之一,或许这取决于你如何定义Excel中编程语言。可以说Excel是一种低代码/无代码的程序编写方式,人们运行程序,而他们使用的电子表格就是程序。你可以做一些事情,输入一些东西,然后运行程序,程序会在电子表格的底层运行,并且给出结果。

所以我认为挑战其实一直在于这些工具。当达到低代码环境的极限时,你需要找到设置合适的逃生舱口的方法,才不会陷入困境。而且这个逃生舱口,可以转移到一个更完整或完整的编程环境,这意味着有意义的可扩展性模型是必须的。

因此,我们需要思考的事情还有很多,但这些事情往往不是最重要的,因为人们往往会转而关注绘制方框和线条,以及这些示例的演示效果。但我常常很好奇,这些工具是否能适应现实世界?很多都不能,但有些可以。这是有趣的地方。

问:我的意思是,整体的主旨是努力让更多人进入开发的世界。其中一部分人想要走的更远,成为专业人士,或者至少更加熟练。

Anders Hejlsberg:是的。如果你去问所有Excel用户,他们都不会自称程序员。但是,从某种意义上来说,他们是。

问:没错,我比较喜欢把这比作“Blue Apron”和“HelloFresh”这样的套餐服务——它们会让你开始学习烹饪,并且自己动手,做得更好。你认为在软件开发中下一个要克服的挑战是什么?

Anders Hejlsberg:在我们编码和机器学习如何帮助我们之间,仍然有非常大的差距。因为人类大脑以及神经网络的工作方式,从来没有真正关于0和1以及绝对正确的答案,而都是统计和模糊逻辑。然而,所有的编程语言都牢固地扎根于逻辑和可证明性等等。这两种世界观之间存在着巨大的差距。看看我们最终如何弥合这一差距的(如果说我们最终做到了的话)。


02

软件开发中的安全性

问:下面我们来谈谈安全问题。在软件开发中,安全性和整个shift left的作用有多重要?

Anders Hejlsberg:这取决

于你在堆栈中的位置。对于编程语言来说,安全性非常重要,起码这对我的工作影响很大,甚至可以说类型检查器是一种安全形式。这是软件中可利用的漏洞,所以从这个意义上来说,编程语言间接地考虑了安全性。

创造出可以分析代码并且指出可能存在安全漏洞的工具,是我们看待安全性的另一种方式。但很显然,这是个现实问题。世界各地也有人每天上班,他们的工作就是黑入西方国家的公司,从而获得薪水。这细思极恐。有很多人靠滥用科技谋生。虽然这一点令人难过,但这就是现实。


03

Web3

问:您对Web3有什么看法?您认为是否需要新的工具进行Web3的开发呢?

Anders Hejlsberg:首先,我们要对Web3的概念达成共识,因为人们对此总是各持己见。我确实比较喜欢创造者概念,以及创造数字资产并获得奖励的能力。但是,在这个领域也有很多骗子、挂羊头卖狗肉的人和急功近利的人。而且还会造成大量的环境污染,虽然可以将其归因于一些正在进行的采矿活动和能源的使用,所以这是一个多样的世界。我们将看到这一切的结果。因此,我喜欢它的某些部分,也反对它的某些部分。


04

潜力巨大的项目:GitHub构建的Copilot

问:我知道您在微软需要做的事情很多,但在微软以外,有没有什么很棒的项目或者工作吸引您的关注?

Anders Hejlsberg:我认为微软肯定有一些非常有趣的项目。比如开发者工具、人工智能、机器学习,还有很多其他有意思的事。不知道你是否了解GitHub正在构建的Copilot的项目,在世界上所有开源代码上训练一个机器学习网络,然后让它给出答案,是不是很棒?当然,这仍然有点像西大荒,因为有各种机遇和不可掌控的因素存在,以及知识产权等未解决问题,但它展现出巨大的潜力。所以我认为这很吸引人,我正在密切关注这个问题。

问:我认为这是2021年的最好的编程项目,涉及到相当大的领域。

Anders Hejlsberg:是的,这个项目确实很吸引人。尤其是作为一名程序员,它在很大程度上让人洞察到我们谈论的是什么样的智能系统。但从某种意义上说,用智能这个词有点不恰当,如果有人以前写过这段代码,它就可以快速地从机器模型聚合内存中快速查找到,这就相当了不起。但是,如果以前没有人写过,它必须要思考解决方案,结果可能出人意料,所以在这方面还有很多需要思考的地方。但这是一个了不起的工具,因为它把再利用的概念提升到了一个新的水平,让我们不用再重复造轮子。

RECOMMEND

推荐阅读

6691d1ebc47c7e016c746970288724fe.png

6f465b2e2a104c916766d24dd8628b47.gif

07e00c2e483d20dea32c915724a819eb.png

扫码关注【华章计算机】视频号

每天来听华章哥讲书

b95a09b999918ae9fc4c7cec18a8c2a4.gif

更多精彩回顾

书讯 | 2月书讯(下)| 新年到,新书到!

书讯 | 2月书讯 (上)| 新年到,新书到!

资讯 | Python迎来31岁生日,蝉联年度编程语言排行榜冠军

书单 | 成为优秀Java开发者,我看了这几本书

干货 |一文带你掌握计算机体系结构核心内容

收藏 | 大脑如何做算术?加减法都有专用神经元,符号文字都能激活同一组

上新 | 深入浅出隐私计算:技术解析与应用实践

赠书 | 【第94期】存储系统又慢又杂太难用?我们推荐这几本书帮你解决问题

30fa91e59166928967318aba25ee94d7.gif

3d35a2218aaf528f94b1773bb902f297.gif

点击阅读全文购买

相关文章:

  • 只能存储12KB数据,“码农女神”是怎样把人类送上月球的?
  • 科幻正在成真!人造神经元成功控制捕蝇草,或助推脑机接口变革
  • 金三银四产品人跳槽指南——找准定位,突破职业瓶颈
  • 《Java多线程编程核心技术》迎来重大更新
  • 又又叒更新,Win 12要来了?
  • 解读边缘计算在7大领域的研究趋势和最新进展
  • 【第95期】东数西算是什么?如何实现东数西算?
  • 国际数学日 | 有π的日子,来一场数学派对
  • Unity3D高级编程:主程手记
  • 详解SaaS产品的5类核心指标
  • Java到底能干什么?有哪些实际用途?
  • 微服务治理框架的选择:对比Spring Cloud和Istio
  • C++都有哪些就业方向?是否应该学习C++?
  • 实战案例,手把手教你构建电商用户画像 | 附代码
  • 两大图灵奖得主力作:计算机架构的新黄金时代
  • 【140天】尚学堂高淇Java300集视频精华笔记(86-87)
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 2017-09-12 前端日报
  • es的写入过程
  • Median of Two Sorted Arrays
  • Nodejs和JavaWeb协助开发
  • tensorflow学习笔记3——MNIST应用篇
  • 分类模型——Logistics Regression
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 蓝海存储开关机注意事项总结
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 模仿 Go Sort 排序接口实现的自定义排序
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 数据科学 第 3 章 11 字符串处理
  • 微信开源mars源码分析1—上层samples分析
  • 移动端 h5开发相关内容总结(三)
  • 自定义函数
  • Prometheus VS InfluxDB
  • ​Java并发新构件之Exchanger
  • #if和#ifdef区别
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (二)linux使用docker容器运行mysql
  • (翻译)terry crowley: 写给程序员
  • (附源码)计算机毕业设计大学生兼职系统
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (十一)手动添加用户和文件的特殊权限
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)eclipse Dynamic web project 工程目录以及文件路径问题
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .h头文件 .lib动态链接库文件 .dll 动态链接库
  • .NET 中让 Task 支持带超时的异步等待
  • .NET开发人员必知的八个网站
  • .NET中的十进制浮点类型,徐汇区网站设计
  • [ Linux 长征路第二篇] 基本指令head,tail,date,cal,find,grep,zip,tar,bc,unname
  • [ 数据结构 - C++] AVL树原理及实现
  • [.NET 即时通信SignalR] 认识SignalR (一)
  • [100天算法】-不同路径 III(day 73)
  • [ARM]ldr 和 adr 伪指令的区别
  • [AutoSAR 存储] 汽车智能座舱的存储需求