[收藏]C++大师Stan Lippman:我对中国程序员的忠告

2023-12-06 11:08

本文主要是介绍[收藏]C++大师Stan Lippman:我对中国程序员的忠告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

C++语言的创立者,斯坦.利普曼(Stan Lippman) 9月17日参加了在北京召开的微软技术大会Tech.Ed2004并做了"The C++ Binding, Integrating a Static and dynamic "的主题演讲。利普曼和天极网记者畅谈了对“中国程序员的30岁现象”的看法,对C++、NET、面向对象等新技术发表了自己的看法。 
   
    天极网:做为C++大师,你认为一个优秀的程序员应该具备什么素质? 
   
    Lippman:不仅是C++,对所有的语言而言,我认为一个好的程序员应该具备独立性,而且要不惧困难,你必须心甘情愿的面对失败。所谓的独立性就是因为有时你要能独处,你必须相信你能处理你明白的事情。我认为一个好的程序员要具备创造性,而管理人员要确保程序员有独立的空间,成为他们自己。 
   
    天极网:中国的程序员被一些人认为是吃青春饭的,程序员好像转向管理职位才有职业发展空间,你怎么看? 
   
    Lippman:我所认识的一些Unix创立者被提升为部门主管,但他们拒绝了提升,回到了程序员的职位上,因为他们认为这是自己能做得最好的地方。总之,最后辞掉了部门主管的职位,回去做研究去了。 
   
    在美国,我们认为一个好的程序员并不意味着他能成为一个好的管理人员。如果仅仅是为了金钱的原因而强迫程序员们去从事管理工作,这与公司的最佳利益是相违背的。因此我们发明了一个所谓的"多层升迁路径",随着技术经验的增长,微软分别为程序员设置了程序员、高级程序员以及MPS等等不同级别的技术职位。微软能认识到你的能力,如果你愿意成为管理人员,当然是可以的,但你不必做你不开心的事情,只用尽量保持你编程的创造性。 
   
    在上世纪八十年代,美国的公司都被一个相同的问题所困扰,起因就是迫使年龄大的编程人员不再从事编程工作。我猜想在中国,随着程序员年龄的增长,这种问题也会发生! 
   
    天极网:你如何看待C++语言的未来和C++与C##的关系? 
   
    Lippman:如果你想做web service,asp等等,c++将不会很适用,因为这个语言不灵活,它太繁复了,它不是为了网络服务(Web service)而设计的。 
   
    C##就是为了网络需求而设计的,.net的理念就是并不是一种语言能解决所有的问题。它不像Java,迫使你只能用一种语言。如果你在开发的时候发现另一个工具更好,那么你就可以选择另一个工具。 
   
    人们总喜欢让事物对立起来。如果有了微软的产品,你就一定要有SUN或Linux,因为人们喜欢看他们争斗,即使实际上并不会引发任何争斗。c++就像一把没有把手的刮胡刀,它不可能对所有的事物都适用,就像Visual Basic也不可能对所有人都适用一样。有很多人都使用c++,也有很多人使用Visual Basic,我们还需要其他的语言。c++很难,我们必须拥有难的语言,但同时,简单的工作也需要简单的语言来解决。实际上,没有哪种语言能流行10年。对于c++的未来来说,我想它还是会表现的很好。 
   
    记得1991年Java出现的时候,人们预言c++将会消失,可这并没有发生,而是SmallTalk消失了。当Linux出现的时候,人们又说微软有麻烦了,可实际上是Sun有了麻烦。C##并不会威胁到C++,在微软我们在一栋大楼里工作。我相信C++现在表现得很好,在微软起着重要的作用。我们为整个社区做出了很多贡献。 
   
    天极网:你怎么看待面向对象技术的发展前景? 
   
    Lippman:从开始来看,每一种汇编语言的产生都是为了在计算机环境中解决特定问题的。你使用这个语言解决问题,而解决方案将使你面对更复杂的问题,而这个语言可能就解决不了了,这时我们就需要另一种语言了。 
   
    面向对象的编程就是解决数据抽象这类问题而产生的,而面向对象同样面临网络环境下的一些新问题,这就是为什么我们需要一个更具弹性的平台。.NET是一个动态,独立性的语言平台,这也是为什么我希望在.NET上使用C++。我认为.NET很有潜力、是软件进步的方向。 
   
    天极网:在.NET环境下,你认为程序设计有何变化? 
   
    Lippman:我想每一个人都同意这一点,那就是软件是脆弱的。其实我们在软件上不算成功。开发软件所需要的时间太长了,并不是说我们的编程人员不合格,是因为这个工作不符合人类的自然本性,因为你必须像计算机那样进行线性的思索。 
   
    我们目前常用的方法就是将问题分割成更小的部分,然后保证它们连贯。.NET很有潜力,它是一个动态的模型,配套有很多的组件与很好的软件,能自适应的辨识状况、改变或生成代码。程序员是不会改变的,改变的只是工具,我们的职责就是要给程序员配备适用的工具。但目前我们做的还不够。C++、C sharp这些语言都只能算过渡性的语言。我们的程序员现在只能用它们,但并不代表将来应该用它们。 
   
    天极网:为了避免30岁时被炒掉,你对程序员有什么建议吗? 
   
    Lippman:我想如果你不喜欢编程,那么编程的生活将是十分恐怖的!而且如果你仅仅是出于对金钱的考虑而选择程序员这一职业,而并不是真心喜爱这个工作,那么我奉劝你还是早点抽身的好。 
   
    但是,如果你喜欢创造,那么你可以考虑做一名程序员。今天的世界离不开电脑,几乎没有什么事情不是由电脑来运作的。而且你可以想想编程是一件多么奇妙的事情啊。我认为,电脑技术是人类历史上最具创造力的技术,你必须能感受到它的奇妙。很多人也认为电脑技术很奇妙,试图弄清楚究竟是怎么一回事,可是非常困难,因为他们的思维不具备逻辑性。 
   
    如果你不喜欢编程,那么不必强迫自己做一名程序员。当然我们需要好的管理人员,但是我觉得一名好的程序员比一名管理人员更有价值,因为我们有太多的优秀管理人才,但优秀的程序员却并不多。(完)

这篇关于[收藏]C++大师Stan Lippman:我对中国程序员的忠告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/461599

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

跨国公司撤出在华研发中心的启示:中国IT产业的挑战与机遇

近日,IBM中国宣布撤出在华的两大研发中心,这一决定在IT行业引发了广泛的讨论和关注。跨国公司在华研发中心的撤出,不仅对众多IT从业者的职业发展带来了直接的冲击,也引发了人们对全球化背景下中国IT产业竞争力和未来发展方向的深思。面对这一突如其来的变化,我们应如何看待跨国公司的决策?中国IT人才又该如何应对?中国IT产业将何去何从?本文将围绕这些问题展开探讨。 跨国公司撤出的背景与

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现