采访稿英文版DRAFT

128 views
Skip to first unread message

pongba

unread,
Dec 26, 2007, 12:45:44 AM12/26/07
to TopLanguage

Part1: On learning and using of C++

1. Why do you go to TAMU to teach programming? What's your favorite thing about the university? -- xingranliuyun

 

2. Undeniably, the biggest problem of C++ is learning. Language-lawyer is a phenomenon that appears almost solely in C++. Many C++ programmers wasted so much time fighting against the language details, of which some are essential and some are unnecessary. C++ has many traps which we have to bear in mind before we can safely use it; C++ has so many pitfalls which leads to a tremendous amount of language tricks (some might call them "idioms" or "techniques"); they, together, lead to a very steep learning curve. Confronted with so many complexities, how can one learn and use C++ effectively from a practitioner's perspective? -- pongba&liujiang

 

3. Of all the complexities in C++, some are essential, some are unnecessary (technical embarrassments, like you said). What're those, exactly? What's the right attitude towards them when learning or using the language? -- pongba

 

4. What's the first principle of learning C++? -- pongba

 

5. What's the first principle of using C++? -- pongba

 

6. C++ is really hard to learn; normally one will have to read no less than 10 books to be adequately good at C++ programming. I really hope your new book is going to change the situation. -- stevenmou

 

7. Nowadays, few systems are built with a single language. We tend to combine the power of different languages. In this case, C++ is often used to build parts of a system. How can we identify whether C++ is suitable for a specific module? Are there any fingerprints that could help us make decision on whether or not to use C++? -- Mike Meng

 

8. I read your talk with Bill Venners in which you complained about the pervasive of Object Oriented Programming. Does that mean that you decide not to support this specific style of programming? Generally, what kind of style in your opinion can be labeled as "good"? -- Mike Meng

 

Part2: On future of C++

1. What do you think of the prevalence of the "easy-learning" languages, do you think their population indicates the future trend? -- kamala

 

2. What's the future direction of Generic Programming in C++ (especially after C++09)? Are there any new exciting things (besides those already in C++09) on the horizon? -- longshanksmo

3. C++, as a general-purpose programming language, is having its field squeezed by the more modern languages, where would C++ be in the foreseeable future, particularly in the concurrency age; would what used to be the unique advantage of C++ still be the unique advantage? -- stlf

4. C++ was and still is designed to be efficient; in order to achieve that, there're some non-trivial design trade-offs made to keep the abstraction penalty as low as possible (e.g. templates). However, they're not trade-offs without costs. For example, the static nature of templates makes it inflexible when it comes to runtime needs. In that case, Ruby's duck-typing seems to be a more natural implementation of generic-programming, although much less efficient. However, concurrent programming will definitely bring us a much heavier optimization means, in which case, would the compromise made in the design of C++ to keep the abstraction low still make sense, when people can resort to concurrency to gain efficiency? -- pongba

 

5. Are there any differences between the design principles of C++09 and that of C++98 (the ones in D&E)? Is there going to be a change in the design principles of C++1x? -- liang

 

6. You once said that there's a smaller, better language inside C++ dying to get out, what's that language like, specifically? Is D it? -- liang

 

7. Money has always been C++ committee's biggest problem, how would the committee operate in the coming 10 years? -- liang

 

8. What responsibilities will you take in the future development of C++? -- liang

 

9. What do you think of the place C++ is currently at in the Visual Studio language family? They have C# as the main static language, VB10&IronPython as dynamic languages, whereas C++ is the only choice when it comes to native code; Do you think that indicates C++'s place in the real-world development? Like Visual C++ Team said themselves: "We haven't forgotten C++"; does this represent the attitude to C++ in the industry? -- liang

 

10. C++ is a language "designed by committee"; in which way does the nature of the C++ standard committee affect the evolution of C++, for good and for bad. -- abware

 

11. How do you choose between adding new features to an existing language and inventing a new language? Sometimes, new features added to an existing language may look unnatural or difficult to use, but those features may be made more elegant if using a different syntax. -- WalterWalk

 

12. What should be done in next generation of programming language from a researcher's view? -- bipengace

 

13. Is there any chance that, by proper "tailoring" (i.e. cutting out the obscure or normally uselessly complex features), we can provide a "smaller" C++, which is a subset of C++ and whose code can be compiled by any standard C++ compiler, and standardize this one, providing consistent ABIs and standard libraries. -- cloudwu

 



On Dec 25, 2007 3:20 PM, pongba <pon...@gmail.com> wrote:
整理了一下,提问人的名字附在问题后面。(少数我认为Bjarne以前访谈中答过的,paper中解释过的,或者没有必要问的被我去掉了)
大家看看有什么问题可以添加的,有什么问题没必要问的。
算是一轮投票吧:)

此帖置顶一周,然后Finalize。发给Bjarne:)

1. How to learn and use C++ correctly from a practitioner's perspective nowadays。——刘江
2. 在gp方面,c++0x之后还会有什么样的发展?在这方面,C++0x是否已经到头了?如果还能继续发展,发展的方向是什么?还会有那些相关技术出现?——莫华枫
3. 你怎么看待现在的"傻瓜式语言"的风行,傻瓜式语言是不是大事所趋?——kamala
4. C++做为一个比较通用的语言目前的应用领域却越来越窄,Bjarne怎么看待目前C++比较尴尬的境地。——stlf
5. 在将来的并发时代,C++的擅长领域或优势到底在哪里。——stlf
6. 怎么看待其它计算机语言的快速发展, 以及他们对C++原有擅长领域的占领。——stlf
7. 就问问他老人家为什么跑到德州农机大教书吧,问问他最喜欢那学校的啥地方。——xingranliuyun
8. C++0x的设计原则较D&E有没有改变?C++1x的设计原则有没有改变的可能?如果有,可能的方向是什么?——史亮
9. 如果说C++语言内部,有一种更小、更优雅、更一致的语言正在挣扎着脱颖而出,请问它应该具备什么特征?D语言是这样的语言么?——史亮
10. 钱一直是C++委员会的根本问题,而且看不到有解决的希望。请问,委员会打算如何运作,使C++面对新的10年?——史亮
11. 请问BJ在C++的未来会承担什么责任?BJ德高望重,但岁月无情,请问他有退休计划么?如果他退休,C++社区将丧失精神领袖,他对这种情况有什么看法?——史亮
12. 怎么看待C++在Visual Studio语言家族里面的地位?.NET的第一流静态语言是C#,动态语言有VB10、IronPython等,C++作为native code的唯一选择也许显示了C++在现实开发中的地位。正如Visual C++ Team所告白:我们没有忘记C++。这是否反应了工业界对C++的态度?——史亮
13. C++标准委员会其自身的发展规划是什么?其自身的发展情况会在哪些方面影响到C++的发展?——abware
14. How do you choose between adding new features to an existing language and inventing a new language? Sometimes, new features added to an existing language may look unnatural or difficult to use, but those features may be made more elegant if using a different syntax. ——WalterWalk
15. C++的学习门槛真的很高(是指要成为高手),需要学习不下10本C++巨著,非常希望Bjarne这本新书能重现ROR书籍对JAVA书籍的优势。——stevenmou
16. What should be done in next generation of programming language from a researcher's view? ——bipengace
17. 有没有可能通过对 C++ 的裁减,提供一个更小的语言特性集合,做为以后 C++ 的一个分支版本呢?我的意思是,作为一个 C++的子集,代码可以在已经有的标准 C++ 编译器中编译,但禁止掉一些含糊不清的语法。让这样一个版本成为标准,并在此基础上统一标准库和 ABI。——云风
18. 无可否认的是,C++中最大的问题之一一直是学习问题,无数学习者在语言细节上浪费了无数时间。无可否认的是,C++中有许多的陷阱需要避免;C++中有许多语言技术缺陷,需要大量的技巧来克服。这些都带来了大量的学习负担。那么1)C++中的哪些陷阱是因为语言设计考虑到效率等因素而无法避免的?哪些是可以通过语言进化去掉的?2)我们如何最有效地学习C++?——pongba
19. C++设计之初的理念是用零抽象惩罚来换取效率(零抽象惩罚的语言抽象机制的典范是template),然而,这种折衷并非没有代价,代价就是,比如说template,只能是静态的。进而C++0x的concept也只能是静态的;带来了灵活性上的损失,后者又需要通过一系列的技巧来克服(我注意到您和Jarvi等人写的关于runtime concept的paper介绍了这一技巧)。那么,我的问题是,并发时代的到来似乎必然使得大量原本只能通过零抽象惩罚的语言(如C++)来获得最大效率的应用能够换成用并发机制来攫取效率,这样的情况下,C++的语言抽象机制为了减少抽象惩罚而作出的设计折衷便成了纯粹的弱点。您怎么看待这个问题?并发手段在效率优化上的强大能力会导致C++在效率攸关领域的应用缩水吗?——pongba

--
刘未鹏(pongba)|C++的罗浮宫
http://blog.csdn.net/pongba
TopLanguage
http://groups.google.com/group/pongba



--
刘未鹏(pongba)|C++的罗浮宫
http://blog.csdn.net/pongba
TopLanguage
http://groups.google.com/group/pongba

pongba

unread,
Dec 26, 2007, 12:48:19 AM12/26/07
to TopLanguage
对了,孟岩老大答应这个采访将发表在《程序员》上。我会在问题后面署上提问者的名字。

WaterWalk

unread,
Dec 29, 2007, 9:11:17 AM12/29/07
to TopLanguage
辛苦辛苦。不过英文版怎么只有13条了?

On Dec 26, 1:45 pm, pongba <pon...@gmail.com> wrote:
> *Part1: On learning and using of C++*
> *Part2: On future of C++*
> > nowadays。----刘江
> > 2.
> > 在gp方面,c++0x之后还会有什么样的发展?在这方面,C++0x是否已经到头了?如果还能继续发展,发展的方向是什么?还会有那些相关技术出现?----莫华枫
> > 3. 你怎么看待现在的"傻瓜式语言"的风行,傻瓜式语言是不是大事所趋?----kamala
> > 4. C++做为一个比较通用的语言目前的应用领域却越来越窄,Bjarne怎么看待目前C++比较尴尬的境地。----stlf
> > 5. 在将来的并发时代,C++的擅长领域或优势到底在哪里。----stlf
> > 6. 怎么看待其它计算机语言的快速发展, 以及他们对C++原有擅长领域的占领。----stlf
> > 7. 就问问他老人家为什么跑到德州农机大教书吧,问问他最喜欢那学校的啥地方。----xingranliuyun
> > 8. C++0x的设计原则较D&E有没有改变?C++1x的设计原则有没有改变的可能?如果有,可能的方向是什么?----史亮
> > 9. 如果说C++语言内部,有一种更小、更优雅、更一致的语言正在挣扎着脱颖而出,请问它应该具备什么特征?D语言是这样的语言么?----史亮
> > 10. 钱一直是C++委员会的根本问题,而且看不到有解决的希望。请问,委员会打算如何运作,使C++面对新的10年?----史亮
> > 11.
> > 请问BJ在C++的未来会承担什么责任?BJ德高望重,但岁月无情,请问他有退休计划么?如果他退休,C++社区将丧失精神领袖,他对这种情况有什么看法?----史亮
> > 12. 怎么看待C++在Visual
> > Studio语言家族里面的地位?.NET的第一流静态语言是C#,动态语言有VB10、IronPython等,C++作为native
> > code的唯一选择也许显示了C++在现实开发中的地位。正如Visual C++
> > Team所告白:我们没有忘记C++。这是否反应了工业界对C++的态度?----史亮
> > 13. C++标准委员会其自身的发展规划是什么?其自身的发展情况会在哪些方面影响到C++的发展?----abware
> > 14. How do you choose between adding new features to an existing language
> > and inventing a new language? Sometimes, new features added to an existing
> > language may look unnatural or difficult to use, but those features may be
> > made more elegant if using a different syntax. ----WalterWalk
> > 15.
> > C++的学习门槛真的很高(是指要成为高手),需要学习不下10本C++巨著,非常希望Bjarne这本新书能重现ROR书籍对JAVA书籍的优势。----stevenmou
> > 16. What should be done in next generation of programming language from a
> > researcher's view? ----bipengace
> > 17. 有没有可能通过对 C++ 的裁减,提供一个更小的语言特性集合,做为以后 C++ 的一个分支版本呢?我的意思是,作为一个
> > C++的子集,代码可以在已经有的标准 C++ 编译器中编译,但禁止掉一些含糊不清的语法。让这样一个版本成为标准,并在此基础上统一标准库和
> > ABI。----云风
> > 18.
> > 无可否认的是,C++中最大的问题之一一直是学习问题,无数学习者在语言细节上浪费了无数时间。无可否认的是,C++中有许多的陷阱需要避免;C++中有许多语言技术缺陷,需要大量的技巧来克服。这些都带来了大量的学习负担。那么1)C++中的哪些陷阱是因为语言设计考虑到效率等因素而无法避免的?哪些是可以通过语言进化去掉的?2)我们如何最有效地学习C++?----pongba
> > 19.
> > C++设计之初的理念是用零抽象惩罚来换取效率(零抽象惩罚的语言抽象机制的典范是template),然而,这种折衷并非没有代价,代价就是,比如说template,只能是静态的。进而C++0x的concept也只能是静态的;带来了灵活性上的损失,后者又需要通过一系列的技巧来克服(我注意到您和Jarvi等人写的关于runtime
>
> ...
>
> read more >>

pongba

unread,
Dec 29, 2007, 10:07:39 AM12/29/07
to pon...@googlegroups.com
是两部分,8 + 13 = 21条。

> 13. Is there any chance that, by proper "tailoring" ( i.e. cutting out the

pongba

unread,
Jan 2, 2008, 10:31:25 PM1/2/08
to pon...@googlegroups.com
B老大已经回信,说问题收到,都是很不错的问题:P 并祝大家新年快乐!:)

八大

unread,
Jan 3, 2008, 8:20:33 AM1/3/08
to pon...@googlegroups.com
期待,放在程序员上还在网上公布不??

在08-1-3,pongba <pon...@gmail.com> 写道:

pongba

unread,
Jan 3, 2008, 9:25:19 AM1/3/08
to pon...@googlegroups.com
当然是公开的!:)

jackyhp

unread,
Jan 4, 2008, 7:27:46 AM1/4/08
to TopLanguage
啥时候可以在网上看到结果?

On 1月3日, 下午10时25分, pongba <pon...@gmail.com> wrote:
> 当然是公开的!:)
>
> On Jan 3, 2008 9:20 PM, 八大 <sean4y...@gmail.com> wrote:
>
>
>
> > 期待,放在程序员上还在网上公布不??
>
> > 在08-1-3,pongba <pon...@gmail.com> 写道:
>
> > > B老大已经回信,说问题收到,都是很不错的问题:P 并祝大家新年快乐!:)
>
> > > On Dec 29, 2007 11:07 PM, pongba < pon...@gmail.com> wrote:
>
> > > > 是两部分,8 + 13 = 21条。
>
> > > > > 在gp方面,c++0x之后还会有什么样的发展?在这方面,C++0x是否已经到头了?如果还能继续发展,发展的方向是什么?还会有那些相关技术出现?-----莫华枫
> > > > > > > 3. 你怎么看待现在的"傻瓜式语言"的风行,傻瓜式语言是不是大事所趋?----kamala
> > > > > > > 4. C++做为一个比较通用的语言目前的应用领域却越来越窄,Bjarne怎么看待目前C++比较尴尬的境地。----stlf
> > > > > > > 5. 在将来的并发时代,C++的擅长领域或优势到底在哪里。----stlf
> > > > > > > 6. 怎么看待其它计算机语言的快速发展, 以及他们对C++原有擅长领域的占领。----stlf
> > > > > > > 7. 就问问他老人家为什么跑到德州农机大教书吧,问问他最喜欢那学校的啥地方。----xingranliuyun
> > > > > > > 8. C++0x的设计原则较D&E有没有改变?C++1x的设计原则有没有改变的可能?如果有,可能的方向是什么?----史亮
> > > > > > > 9.
> > > > > 如果说C++语言内部,有一种更小、更优雅、更一致的语言正在挣扎着脱颖而出,请问它应该具备什么特征?D语言是这样的语言么?----史亮
> > > > > > > 10. 钱一直是C++委员会的根本问题,而且看不到有解决的希望。请问,委员会打算如何运作,使C++面对新的10年?----史亮
> > > > > > > 11.
>
> > > > > 请问BJ在C++的未来会承担什么责任?BJ德高望重,但岁月无情,请问他有退休计划么?如果他退休,C++社区将丧失精神领袖,他对这种情况有什么看法?-----史亮
>
> > > > > > > 12. 怎么看待C++在Visual
>
> > > > > Studio语言家族里面的地位?.NET的第一流静态语言是C#,动态语言有VB10、IronPython等,C++作为native
> > > > > > > code的唯一选择也许显示了C++在现实开发中的地位。正如Visual C++
> > > > > > > Team所告白:我们没有忘记C++。这是否反应了工业界对C++的态度?----史亮
> > > > > > > 13.
>
> ...
>
> 阅读更多 >>- 隐藏被引用文字 -
>
> - 显示引用的文字 -
Reply all
Reply to author
Forward
0 new messages