深度对话C++天才Andrei Alexandrescu

PRD撰写效率翻倍秘籍:我是如何用大模型+飞书文档搭建自动化工作流的 本文分享了如何利用大模型与飞书文档构建自动化工作流,以大幅提升PRD撰写效率。通过结构化需求输入、设计模块化提示词模板,并借助自动化脚本桥接数据与文档,产品经理可将繁琐的文档撰写工作自动化,从而将精力聚焦于产品战略与用户洞察。 阅读详情

转)深度对话C++天才Andrei Alexandrescu

【十问十答】深度对话C++天才Andrei Alexandrescu

2012-02-06 18:06 | 26999次阅读 | 来源:ServerSideMagazine 【已有47条评论】

(原文地址)http://sd.youkuaiyun.com/a/20120206/311489.html

导读:国外技术网站ServerSideMagazine对Andrei Alexandrescu进行专访,优快云软件研发频道对此文进行编译。Andrei Alexandrescu是罗马尼亚人,现担任Facebook资深工程师一职,2001年撰写了一部经典名著《Modern C++ Design》,被认为新一代C++天才的代表人物,书中由于对Template技术的精湛运用,该书震撼了整个C++社群,开辟了C++编程领域的“Modern C++”新时代。本文以Q&A问答形式呈现,深度探讨技术界的热点话题。

文章内容如下:


1.请您先自我介绍一下,来自哪里以及在哪儿工作?

Andrei Alexandrescu:我是一名黑客,来自罗马利亚,现居住在美国。2001年撰写了一部经典名著《Modern C++ Design》。这使我相信我能做成任何事,我不再被人们称之为“C++ guy”。我不想被别人称为“XYZ guy”,为此我付出了很大的努力,我花了8年的时间攻读机器学习(Machine Learning)方面的博士学位,专门研究部分自然语言处理结构,又利用5年时间钻研编程语言D。

注:机器学习(Machine Learning)是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

目前,我在Facebook任职,一个很高的称谓 “Research Scientist”(资深科学家),涵盖了各种工作职责,幸运的是,我有着相当大的自由选择权。随便抽取我某一周的工作记录,你可以看到,我在应对Script攻击、审查代码、处理一个off-by-one错误,或者甩着头发跟别人谈论Bug。

目前我的工作分为三线,其一,我们的核心工作C++库(typecast!)目前还处在基础阶段,我们正在考虑把部分资源开源。其二,优化配置Hive,Facebook正在使用分布式数据库系统;其三,大部分研究工作是在延续我的论文。

我正在做Machine Learning关于图形学方面的研究。探索Universe中最大的和最有趣的图形。Machine learning社交图中可以给你提供多种应用,比如在垃圾邮件检测、网站的完整性等等。

2.您使用哪些开发工具?

Andrei Alexandrescu:我们将重点关注Windows和Unix两大平台。

Facebook简直就是一个Unix“商店”,Unix工具(技术)无处不在。在Facebook每一位工程师可自由选择MacBook或者Windows笔记本,搭配固定的30寸显示器(yum)。但是开发者们却不在笔记本上进行任何一项工作,他们往往在基于各种协议(普通终端、NX、VNC等)情况下远程连接到Linux服务器(每位工程师都会分配到)。

开发者们可以任意的选择编辑器,Emacs和Vim颇为流行。Eclipse和其他的一些编辑器也是不错的选择,而我个人比较倾向于Emacs和NX,我认为这两者组合起来使用非常完美。

当然,我们还其他有许多组合工具(很多已开发但并未被推出),这似乎听起来有点NIHish,但我们尝试去开发一套属于自己的开发工具,尽管结果失败了。这一点我们应该好好反思下。

我们会用自己的开发套件以便于我们平时工作。如果有人不喜欢,他们可以重新组合。(指邮件和日志软件是现成的)。通过这个工具,我们会有一些“专业”人士发出会议邀请,当然,这还需要有特殊的专业知识以便解决bug问题。

回到我们的工具链来说,一旦某一位工程师通过unit tests和lint修改代码,代码会通过Phabricator系统自动提交审查,显示所谓的“差异性”,这就是我们的开源。代码审查分为手动部分、自动部分,几乎每一行代码至少会被一个(或多个)工程师检查。Phabricator系统非常好,可以让你填写差异分析,交换意见并修订更新,使用起来非常方便。

一旦“差异性”被获批,就会上传到我们的Git中心数据库。我们非常热爱Git,自我加入Facebook两年前,我们才开始从Svn迁移至Git,直到今天我们依然在使用它。我们会通过编写一些Git流行的脚本,把它融合到工作流程中。

我们使用自己的构建系统来编译C++代码。从始至终我没接触过此方面的工作,所以许多细节方面我不是很了解。我们使用的是最近发布的HHVM(HipHop Virtual Machine)虚拟机和HipHop静态编译器。

我们有不少基于浏览器的工具来提高工作流程,比如:任务管理,讨论、Wiki、同行评审、招聘和面试、分析系统、系统管理等等。几乎满足任何一个典型的“应用程序”需求。如果没有,我们有会提供大量的基础设施,让您可以快速构建。

3.您是在什么情况下开始C++编码?

Andrei Alexandrescu:开始一门编程语言有许多的偶然连带关系,就像挑选一支喜爱的球队或者是迷恋上某人。对我而言,其中大部分是大学时接触到的buzz语言,Pascal是普遍存在的语言,但我仍然记得jocks在谈论“C语言是真实的东西”。C++更像C,但C++支持objects,encapsulation。如果你想构建一个大型的应用程序,它是个不错的选择。

有趣的是,作为一名程序员我从罗马利亚移居到美国前,我对C++理解能力充其量算是一般。而令我吃惊的是,我在美国的第一份工作,我被他们认为是C++方面的行家,正如我之前提到的,这就是我驱使一定要成功的原因。

4.Facebook最初使用PHP,后来用HipHop For PHP这个项目将PHP转为C++,您是如何看待PHP这门语言?使用C++与PHP相比有哪些优缺点?

Andrei Alexandrescu:首先,我得澄清下HipHop For PHP这个项目,是PHP转为C++的转换程序,一个重新实现的PHP运行库。但是生成代码不是意味着供人们使用,它只是编译,我们仍然可以用PHP编写我们的前端开发。

我并不认为PHP是一门被精心设计的语言,它有很多经典错误。Rasmus Ledorf自认为是一名语言设计的爱好者,但是,别忘了,Rasmus是一名知名的黑客,他只做自己喜欢的事情。

于是,他连接和整合了PHP上一切值得连接和整合的东西,并且将网页设计中的每一个典型任务都与黑客相关。我认为这就是PHP就是能力所在。比如,D语言是一门设计比较好的语言,我主要将它与Apache整合在一起。

Facebook对于PHP向来是缺乏热情的,因为工程师认为PHP还远不够完善,还有人会指责它或者展示一些WTF(不好的)的代码示例。尽管如此,在Facebook我们也喜欢做很酷的事情,PHP只是达到目的一种方式,利用丰富的框架和库,这通常也是一种最为简单的方式。

同样的,我们对PHP增加了重要的改进,贡献不少。作为是PHP的一个扩展——XHP,用PHP编写可嵌入XML。我们的前端、后端工程师推荐使用它。同时,我们还增加了Python。是否加入“real”数列组这个主题已经被我们讨论了好多次,PHP的数组很奇怪,无法满足我们的需求。

HPHP是Facebook一个主要的项目,有很多工程师参与,当然,我们还有个新的项目HHVM一个快速的虚拟机。这极大的提高了我们的测试和调试周期,因为它,为我们转投C++省掉了很多步骤。

同样的,我们没有C++开发基础,用C++开发主要是依赖我们的后端系统,实际上,现在C++可视的领域应该与两年前Facebook的PHP相比。

C++与PHP相比,在某种程度上,我是比较倾向于编写好的C++代码胜过编写好的PHP。这是因为:C++典型的Bug要比PHP难以修复,后端开发问题比前段开发要大的多,所以,我们有一个更好的c++代码库只是因为生存的需要。

编译时间(一般管理的依赖性和物理设计)对于C++仍然是个大问题,我们建立了一个专门的场所用以区分复杂的软件,从而降低问题的难度。Deployment系统规模过于庞大, 但现在我们将其很好的控制。我们有并行哈希表带有数百万甚至是数十亿的元素。因此,我们非常小心哈希函数,

我们知道排序和稳定排序之间的区别,我们注重内存分配的成本,locking和atomic increment。C++可以很好的控制这些,而PHP和大部分语言却无法做到。

5. 目前,您在Facebook从事哪方面的研究?(这是机密吗?)

Andrei Alexandrescu:我很幸运能继续从事我的论文工作。其实这种带有很大的风险——PhD毕业生有一个普遍的错误常识,他们让论文随处可见。在我看来,我不赞成此做法,我来解释下。

我研究的课题是Machine Learning运用相似的图形学。简单的说,你有很多的数据信息(用户、服务器、职位、点击、命名),你想弄清楚他们中的一些有趣的特质。基于图形你可以将所有的数据区分开并且链接到相似的边缘,之后,你观看他们如何集群在一起。

例如,我们想弄清楚一个公开状态更新是meme(模仿),还是原创内容,在这种情况下,你需要弄清楚两者职位之间的“相似性”。这并不难,其实有许多参考标准。

那么,meme有什么用途呢?它具备多种用途。它可以将好的内容进行分组,这样在新闻提要里,你便看不到相似的内容;它还提供识别chaff功能,垃圾邮件,甚至是一些恶意的内容。(注:这只是我们一个假设性项目,该项目已引起我们的关注)

在Facebook从事Machine learning研究,是因为它有着庞大的数据库。大部分研究人员乐意将图形上成千上万的节点放在一起。我们几个人花了很长一段时间才弄清楚如何区分许多机器上的图形数据处理,最终我们成功了,不久后,我们会将方法公布出来。

6.D语言与C,PHP,Ruby和其他语言的区别在哪些里?哪些领域可以使用D语言?(主要是研究/科学应用,Web环境)

Andrei Alexandrescu:D语言是一种通用的系统和应用编程语言。它是比C++更高级的语言,同时还保持了生成高效代码以及直接访问操作系统API和硬件的能力。集内置同步机制、内建运行时信息于一身的系统级语言。与当今出现的其他高级语言不同,D语言的定位是系统编程语言,它的目标是既要C语言的强大威力,又要Python和Ruby的开发效率。

在Web特定领域里,D语言可以做的很好,但不利于粗放型库和框架就像Ruby或PHP。

  1. <?d writeln("Hello, world!"); ?> 

可以插入到网页中。

考虑到Vladimir Panteleev的NNTP-HTTP代理协议。它涵盖了一个Usenet newsgroup可将HTML格式实时转换,只能编写在D语言中。不像与之类似的服务端开发可以编译在其他的编程语言中。

7.您对于服务器端开发的初学者有什么建议?以及对开源作者/贡献者有什么建议?

Andrei Alexandrescu:学习如何学习,坚持原则,掌握一门个人技术。

要做技术的主人,莫做技术的奴隶。(Technology is a great servant but a terrible master)

成为某个特定领域的专家。

8.一些开发者想进入Facebook,对此您有什么建议?Facebook在招聘新人时关注哪方面的技能?成为一名CS研究生真的很重要吗?Facebook大部分员具备什么样的技能?

Andrei Alexandrescu:首先,最重要的,Facebook理想中的工程师应聘者应该善于编码。在我们的面试中注重的是他们的编码能力而不是注重掌握特定语言或是技术上。我们希望能找到好的开发者,全能型人才,他们可以在公司组织架构上随意调动。

在面试的时候选择最爱的编程语言。Facebook面试官会接受3-6种语言的选择,他们会根据编码能力进行评估。

我曾亲自面试过一名应聘者,他使用了Java,C,C++,C#,Javascript,Python,Ruby,PHP,Pascal甚至是伪代码(pseudo-code)。

注:伪代码(Pseudocode)是一种算法描述语言。使用伪代码的目的是为了使被描述的算法可以容易地以任何一种编程语言(Pascal,C,Java,etc)实现。因此,伪代码必须结构清晰、代码简单、可读性好,并且类似自然语言。介于自然语言与编程语言之间。

当时,我便建议录用这个会用伪代码的家伙。

我很注重一个人的编码能力。编码是我们的精髓,是工程师从前端至后端系统配置的一项研究。同样是编码,而有的人能让你看到通过简单的算法即可实现。

利用简洁的方法。典型的解决方案类似这个:

  1. char* strstr(char* haystack,char* needle){  
  2.  
  3. for(;;++haystack){  
  4.  
  5. char* h = haystack;  
  6.  
  7. for(char* n = needle;;++n,++h){  
  8.  
  9. if(!*n)return haystack;  
  10.  
  11. if(*h !=*n)break;  
  12.  
  13. }  
  14.  
  15. if(!*h)return NULL;  
  16.  
  17. }  
  18.  
  19. }  
  20.  

使用索引是很好的方法,无须有过多的替代品。或许10个人有11种解决方案,那么哪种才是最好的呢?要避免太多的复杂化或者纯粹的破坏性。

以上这个代码是个很好的标准,因为它非常简洁。空串是任何字符串包括空串本身的子串,较长的字符串不可能是较短字符串的子串。更多的解决方案可参考http://goo.gl/U4poN。

关于Facebook的面试题,可以查看http://goo.gl/glnAz。在面试过程中我通常会问一些复杂的问题(有时,甚至连我也不知道答案),但主要是考量应聘者能否提到strstr或是与之相似的层面。遗憾的是,很多人都因此而失败了。

我会把重点放在编码上,因为它是一块敲门砖。当然,我们还有其他的一些考核标准。比如文化适应和设计学/建筑学等各方面能力。即使是专家,除了专业外,他们的编码能力和其他技能方面(比如Machine Learning领域专家)也必须给人留下深刻的印象。

Facebook理想中的工程师是一名伟大的黑客,一个通才(或者在某些领域有卓越成就的人),并且是一个适应能力比较强,能够在不断变换的团队中工作的人。

9. 今年您将出席哪些场合?

Andrei Alexandrescu:2012年2月2-3日,在微软即将召开的GoingNative会议上,我将有两场讲座和一场座谈会议。

随后,还有今年的8月5-8号,Asheville将举办一场C++ and Beyond 会议和NC and at the LASER Summer School on Software Engineering。

我已经在和OSCON上提交建议书,随后我将在我的网站上公布结果。我们的一组成员计划从事Machine Learning研究工作,届时我们将提交给NIPS。

最后,我希望大家能参加Facebook的技术论坛会议,我非常期待志同道合的人员加入。

10.您愿意与我们分享下您未来计划的项目吗?

Andrei Alexandrescu:在Facebook我们将研究对Hadoop / Hive性能改进方案。从某种意义说,这项工作不完全是“服务器端”,它更倾向于离线存储和检索方面,而不是传统的线上服务器端数据访问。我希望在今年的某个时候将这个项目开源。

今年还将看到Facebook推出的核心项目C++ library code。我们非常期待,其中大部分是针对高性能计算服务器。

除此之外,我在业余时间研究D语言,我认为D语言是与服务器端开发技术非常密切,同时也越来越重要。

我们并不急于将不同的库(例如MySQL,Apache,CGI等)完全集成在一起,而是更致力于建设标准库。

(注:本文由夏梦竹编译,转载请注明出处)

【PCIe 总线及设备入门学习专栏 1.3 -- PCIe 基础知识 lane和link介绍】 PCIe RC(Root Complex)是PCIe树的根节点,一个RC 可以包括多个 RP(Root Port),例如一个16 条 lane的PCIe RC 可以包括4个RP(4个x4的),或者8个RP(8个x2的)等等。在该模式下,数据传送由CPU执行I/O端口指令来按照字节或更大的数据单位来处理,占用大量的CPU资源,数据传输速度也大大低于DMA模式。国内应该有公司做出相应的phy芯片(例如芯动科技、牛芯半导体),毕竟常见的pcie 3.0才8 Gbps的速率,最新的6.0才64Gbps。 阅读详情

相关推荐

python特征选择pso_【来点干货】机器学习中常用的特征选择方法及非常详细的Python实例...

花费了很长时间整理编辑,转载请联系作者授权,违者必究。特征选择(Feature selection)是在构建预测模型的过程中减少输入变量的一个过程。它是机器学习中非常重要的一步并在很大程度上可以提高模型预测精度。这里我总结了一些机器学习中常见的比较有用的特征选择方法并附上相关python实现code。希望可以给大家一些启发。首先,我们为什么要进行特征选择呢?它有以下几个优点:减少过拟合:冗余数据常...

weixin_39927158的博客 1161

【十问十答】深度对话C++天才Andrei Alexandrescu

导读:国外技术网站ServerSideMagazine对Andrei Alexandrescu进行专访,优快云软件研发频道对此文进行编译。Andrei Alexandrescu是罗马尼亚人,现担任Facebook资深工程师一职,2001年撰写了一部经典名著《Modern C++ Design》,被认为新一代C++天才的代表人物,书中由于对Template技术的精湛运用,该书震撼了整个C++社群,

Allan的专栏 916

MacBook上玩转国民技术N32G430:从零搭建ARM开发环境(VSCode + pyOCD)

本文详细介绍了在MacBook上搭建国民技术N32G430的ARM开发环境,涵盖VSCode配置、pyOCD调试及一键编译烧录全流程。通过Homebrew安装工具链、配置Python环境及VSCode插件,开发者可在MacOS高效开发嵌入式应用,特别适合国产芯片N32G430的开发者参考。

weixin_30614109的博客 436

专访Andrei Alexandrescu:对C++要有信心 保持乐观[转]

Come from :   嵌入式在线   2007-12-04  Andrei Alexandrescu先生日前接受了相关媒体的专访,我们就C++当前情况和与其它语言的比较以及发展前景进行了深入的讨论。总的来说,Andrei Alexandrescu先生号召C++程序员要保持乐观和信心,继续努力开发优秀的软件。         采访嘉宾简介:Andrei Alexandrescu是新

狂人山庄 1619

NBIS单细胞教程:差异基因(五)

此文章是通过学习瑞典国家生物信息学基础设施(NBIS) 所开放的单细胞分析教程加上网上所查找的资料,自身的理解所形成的,可能会有不足之处。该部分是对不同集群之间的差异基因进行分析。参考来源:https://github.com/NBISweden/workshop-scRNAseq/blob/master/labs/seurat/seurat_05_dge.Rmd感兴趣的话可以阅读原文。

songyi10的博客 1万+

杭电oj2023题题目详解(Java版)

杭电oj2023题详解

m0_51065958的博客 977

专访Andrei:C++会带给我们什么

Andrei Alexandrescu是新一代C++天才的代表人物,他创造力非凡,思维方式不循常理,剑走偏锋,却往往能收到奇效;善于在各种“标准”中游走,发现提升空间,有“庖丁解牛”之功力。其他身份:华尔街咨询师,摇滚乐队鼓手,古典吉他演奏家,罗马尼亚伞兵。Andrei Alexandrescu日前接受了51CTO记者孙淑娟的专访,就C++当前的情况进行了广泛而深入的讨论,他号召C++程序员要

游戏人生的专栏 2198

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Etcd教程 — 第三章 Etcd集群动态发现、DNS发现

Mr_XiMu的博客 2819

三访安德烈Alexandrescu(第2部)

Google翻译哦 面试------> 应翻成 访谈 这部分大约为D编程语言面试2认为埃里克Niebler和Andrei Alexandrescu在讨论中深切地关注结构体与班,复制语义,右值引用的困难,垃圾收集复杂,和安德烈的偶尔失败作为旗手服务政策为基础的设计。 See Part 1 of this interview.见第1部分的采访。 Eric: D supports b...

hqs7636的专栏 333

AFSim 2.9实战指南:从入门到精通的中文教程

本文是AFSim 2.9的实战指南,提供从零开始的中文教程。内容涵盖仿真环境搭建、实体行为控制、脚本编写,到传感器、武器系统集成与复杂想定构建,最后讲解数据记录与结果分析方法,帮助用户快速掌握这一强大的军事仿真框架。

weixin_29281941的博客 943

小龙虾OpenClaw卸载全攻略,彻底清理缓存和配置,干净无残留!

不想要的小龙虾OpenClaw怎么彻底卸载?🦞本文教你如何彻底的卸载OpenClaw⚡️,Windows/macOS/Linux通用,干净无残留🧹

XiaoqiangClub的博客 313

浅谈 C++ 元编程

随着 C++ 11/14/17 标准的不断更新,C++ 语言得到了极大的完善和补充。元编程作为一种新兴的编程方式,受到了越来越多的广泛关注。结合已有文献和个人实践,对有关 C++ 元编程进行了系统的分析。首先介绍了 C++ 元编程中的相关概念和背景,然后利用科学的方法分析了元编程的演算规则、基本应用和实践过程中的主要难点,最后提出了对 C++ 元编程发展的展望。

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 548

RK3568-适配phy芯片ip101gri

复位时间查阅数据手册。

Paper_Love的博客 2643

九月最值得收藏的IT内容回顾

2007年是优快云内容发生重要变化的一年,可喜的是我们看到了大家对这些变化是喜爱的,对内容越来越多的喜欢伴随着越来越多的关注,这也让我们感觉到作为传播媒介越来越重要的责任。作为一名IT技术人员,你的忙碌也许会错过我们每期精彩策划的原创内容,不必沮丧,只需要锁定我们每月汇集的精彩原创内容你就不会从IT的前沿掉队。一、多位技术专家针对C++展开语言选择之争多位技术专家针对C和C++展

张彤的专栏 1345

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

断言(C++大师Andrei Alexandrescu的文章)

断言(C++大师Andrei Alexandrescu的文章)

cay22的专栏 1476

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

《Modern C++ Design》Loki库源码读解随想

《Modern C++ Design》Loki库源码读解随想大牛Andrei Alexandrescu的《Modern C++ Design》讨论的是C++语言的最前沿研究:generative programming。本书中译版估计得要半年以后才能出来,所以只能靠其所附源码来窥测generative programming了。目前,我刚将源码读解了约一半,等全部读完,我会将我的读解注释放

taodm的专栏 9697

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Andrei Alexandrescu的SD2C大会演讲主题

大概还有不少人不知道优快云将在11月底举办的SD2C技术大会吧,那就赶快来这里看看大会简介。这次大会是优快云成立以来最重大的项目,我们争取开一次真正的、纯净的软件技术大会。虽然时间还远,但是这一两周来公司里已经出现了会战的气氛,很多同事都在为这次大会积极工作。举贤不避亲,我也觉得有必要给大会做个广告 :-)刚刚收到编辑寄来的一个大会部分课程简介,我这里跳出一个精彩段落,跟技术同好们一起兴奋一下

孟岩 1万+

D语言架构师Andrei Alexandrescu谈D、Go、Rust取代C/C++

http://www.csdn.net/article/2015-12-20/2826517?utm_source=tuicool&utm_medium=referral

真诚的程序员 1408

泛型:断言

泛型编程>:断言 Andrei Alexandrescu        本部分“泛型编程>”讨论断言(assertions),一个你兵器库内非常强大的工具。以assert为基础,我们建立一个更强大的工具,帮助你建立更好的程序。我们很快就能看到,断言不仅是简单的工具/宏/函数。这是一种生活方式,一道深深的鸿沟把程序员们分成两类:了解,和不了解断言的力量。   Assert(cool);      

merced1976的专栏 2191

Lock-Free Data Structures with Hazard Pointers笔记

Andrei Alexandrescu神文,地址在这里:http://collaboration.cmc.ec.gc.ca/science/rpn/biblio/ddj/Website/articles/CUJ/2004/0412/0412alexandrescu/0412alexandrescu.html 接上一篇文章,使用引用计数实现WRRM map最后却会变成Write-Rarely-Re

jollyjumper的专栏 715

C++的天才作家Andrie Alexandrescu

图为:C++的天才作家Andrie Alexandrescu(骆磊 摄)点击此处查看全部科技图片  2007年11月29-30日,软件开发2.0大会在北京九华山庄召开。“软件2.0”是正在发生的技术革命,其意义远远大于任何一个单项的新技术和新方法。  图为:C++的天才作家Andrie Alexandrescu(骆磊 摄)  以下为其演讲全文:  Andrie Alexandrescu:大家好。通

nmx253的专栏 667

1.1.3 C++中的杰出人物

Dennis M. Ritchie被称为C语言之父,UNIX之父,生于1941年9月9日,哈佛大学数学博士,现任朗讯科技公司贝尔实验室(原AT&T实验室)下属的计算机科学研究中心系统软件研究部的主任一职。他开发了C语言,并著有《C程序设计语言》(The C Programming Language)一书,还和Ken Thompson一起开发了UNIX操作系统。他因杰出...

weixin_33704591的博客 421

泛型<编程>:可识别联合(Discriminated Unions)(2)

泛型:可识别联合(Discriminated Unions)(2)Andrei Alexandrescu 你知道“语法作料”(译注:synbtactic suger,语言里用来提高可读性的部分,但对语言本身没有作用)吗?它导致了乱用分号的恶习?[1]好吧,玩笑开够了,今天我们有很多事情要做,让我们开始吧。 这个部分接着完善使用C++的可识别联合的实现。今天我们会结束关于对齐的讨论,并写一些Va

merced1976的专栏 1663

C++面试集锦( 面试被问到的问题 ):总结

一、目的 1、 二、参考 1、C++面试集锦( 面试被问到的问题 ) https://www.cnblogs.com/Y1Focus/p/6707121.html 三、操作 1、

qq_40544338的博客 1536

C语言天才!想法奇异?还是逼格满满?一份国外C语言写的传奇简历

C语言天才!想法奇异?还是逼格满满?一份国外C语言写的传奇简历作者用代码更新了自己的简历,是不是很接地气,特符合程序员的逼格。这是一份可读可执行的ç语言源文件,也是作者编码风格的体现。C语言源码(看不懂可以直接跳过)运行效果原效果:(看不懂转下)翻译后点评1.从简历中可以看出,编码者代码规范,具有优良的编码风格和习惯。值得学习。2.从简历中可以看出,编码者对C语言极大部分知识 :字符串,结构体,共

轻松学C语言 1283
上一篇: python的 public 、private成员变量、成员函数总结
下一篇: 最有效率的程序员
乔巴好萌
博客等级 码龄15年 228粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值