置顶:你最想问Bjarne的关于C++的什么问题?(为Bjarne答应的访谈征集问题)

50 views
Skip to first unread message

pongba

unread,
Nov 29, 2007, 2:34:37 AM11/29/07
to pon...@googlegroups.com
最近和Bjarne的通信中,他答应接受一次访谈。
为了让访谈能够代表更多人的意见而不是我个人的感觉,在这里邀请大家提出自己最想问的问题。

你最想问什么?

BTW. 由于我会对问题进行筛选,然后再公布给大家投票。所以大家的问题最好是深思熟虑的,重要的,有理有据的:-)
问题后如果能附上问题的背景(即你在什么样的经历中发现这个问题很关键)那是最好不过!:-)

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

刘江

unread,
Nov 29, 2007, 6:36:15 AM11/29/07
to TopLanguage
How to learn and use C++ correctly from a practitioner's perspective
nowadays?

刘江

unread,
Nov 29, 2007, 6:37:14 AM11/29/07
to TopLanguage
是不是有些太generic了?

莫华枫

unread,
Nov 29, 2007, 7:08:17 AM11/29/07
to pon...@googlegroups.com
1、在gp方面,c++0x之后还会有什么样的发展?在这方面,C++0x是否已经到头了?如果还能继续发展,发展的方向是什么?还会有那些相关技术出现?
--
反者道之动,弱者道之用
m...@seaskysh.com
longsh...@gmail.com
http://blog.csdn.net/longshanks/

kamala

unread,
Nov 29, 2007, 8:50:53 AM11/29/07
to TopLanguage
你怎么看待现在的"傻瓜式语言"的风行,傻瓜式语言是不是大事所趋?
在未来的软件开发中,人和开发环境将怎么分工,什么才是人的核心竞争力?

pongba

unread,
Nov 29, 2007, 9:08:30 AM11/29/07
to pon...@googlegroups.com


On Nov 29, 2007 7:36 PM, 刘江 <liuj....@gmail.com> wrote:

How to learn and use C++ correctly from a practitioner's perspective
nowadays?

我问过了,Bjarne回答说他的新书将会解答这个问题。我拿到了书的前言和目录,看起来不赖:-) 暑假完工。

pongba

unread,
Nov 29, 2007, 9:10:28 AM11/29/07
to pon...@googlegroups.com


On Nov 29, 2007 9:50 PM, kamala <yanghu...@gmail.com> wrote:
你怎么看待现在的"傻瓜式语言"的风行,傻瓜式语言是不是大事所趋?
在未来的软件开发中,人和开发环境将怎么分工,什么才是人的核心竞争力?
第二个问题远了:-)

八大

unread,
Nov 29, 2007, 9:47:30 AM11/29/07
to pon...@googlegroups.com
在 07-11-29,pongba<pon...@gmail.com> 写道:

> 我问过了,Bjarne回答说他的新书将会解答这个问题。我拿到了书的前言和目录,看起来不赖:-) 暑假完工。
>
什么新书?TCPL4e?

SevenCat

unread,
Nov 29, 2007, 10:58:26 AM11/29/07
to TopLanguage
我想问他:你现在对C++委员会那帮人有多少影响力。你对他们是怎么样评价的呢?

图灵刘江

unread,
Nov 29, 2007, 12:11:32 PM11/29/07
to TopLanguage
请告知书名和出版社,眼馋中......

On 11月29日, 下午10时08分, pongba <pon...@gmail.com> wrote:

莫华枫

unread,
Nov 29, 2007, 7:35:19 PM11/29/07
to pon...@googlegroups.com
刘兄是不是打算替他同步翻译啊?:)
我真不希望再看到bjarne的书上有某某人的名字了。:P

莫华枫

unread,
Nov 29, 2007, 7:33:04 PM11/29/07
to pon...@googlegroups.com

On Nov 29, 2007 11:58 PM, SevenCat <BastE...@gmail.com> wrote:
我想问他:你现在对C++委员会那帮人有多少影响力。你对他们是怎么样评价的呢?
别问了,只会得到外交辞令

 

莫华枫

unread,
Nov 29, 2007, 9:25:49 PM11/29/07
to pon...@googlegroups.com
2、我们讨论的抽象惩罚和性能的问题。外加上有没有什么办法减少c++的抽象惩罚。

On Nov 29, 2007 3:34 PM, pongba <pon...@gmail.com> wrote:

pongba

unread,
Nov 29, 2007, 10:13:03 PM11/29/07
to pon...@googlegroups.com


On Nov 30, 2007 8:33 AM, 莫华枫 <longsh...@gmail.com> wrote:

On Nov 29, 2007 11:58 PM, SevenCat <BastE...@gmail.com> wrote:
我想问他:你现在对C++委员会那帮人有多少影响力。你对他们是怎么样评价的呢?
别问了,只会得到外交辞令

是的,如果大家看过Bjarne的所有访谈的话,就会知道了。凡大而化之的问题和政治性问题,得到的答案基本都没有什么价值:-)

还是问问具体的(但不过分细节的)关于编程语言的问题更可能得到答案:-)

图灵刘江

unread,
Nov 30, 2007, 2:59:00 AM11/30/07
to TopLanguage
呵呵,某某人是指谁?
译者当然会精心选择的啦。
> longshank...@gmail.comhttp://blog.csdn.net/longshanks/

pongba

unread,
Nov 30, 2007, 3:09:06 AM11/30/07
to pon...@googlegroups.com


On Nov 30, 2007 1:11 AM, 图灵刘江 <liuj....@gmail.com> wrote:
请告知书名和出版社,眼馋中......
Bjarne不让公布太多信息,因此只公布中文名和页数:-) 上次公布了它给我文章的评注,给他看到了,问起我来,汗~

中文名是《C++编程原则与实践》,自行推导英文名:-)
页数有八百。
内容分为四大部分:
第一部分,基础
第二部分,输入/输出
第三部分,数据与算法
1, 内存管理
2, 数组
3, 异常与模板
4, 容器,迭代器,算法
5, map与算法
第四部分,拓宽视野
1, 理想与历史
2, 文本操纵
3, 数值计算
4, 嵌入式系统编程
5, 测试
6, C语言

我问他所谓的"学习C++的新方式"到底是什么?他说这本书将是最好的答案。拭目以待。

莫华枫

unread,
Nov 30, 2007, 3:21:22 AM11/30/07
to pon...@googlegroups.com
Bjarne不识中文吧。:P
Message has been deleted

stlf

unread,
Nov 30, 2007, 9:27:25 AM11/30/07
to TopLanguage

我想问
1.C++做为一个比较通用的语言目前的应用领域却越来越窄,Bjarne怎么看待目前C++比较尴尬的境地。
2.如刘兄所说,在将来的并发时代,C++的擅长领域或优势到底在哪里。
3.C++会发展成什么样子,Bjarne对C++的前景乐观吗?
4.对目前C++编译器(以及高效开发工具)的发展相对缓慢怎么看, C++是否也需要一个大型公司的支持才能更快的发展?
5.C++现在的库已经很多了,但很多在我们的应用中都显得过于庞大(如ACE), 因此使用起来可能也不很方便。(其实在实际的编程中,一些库够用也
就行了,能使用高效而精简的库是最实在的, 我们有时候自己写库并不是因为没有可替换的现成的库, 但那些库显得太庞大了,而且不易阅读, 和调试,
这时还不如自己写个简单的库来得实在)而且现在的标准库有很多实现版本, 说起来都是标准库,但是其实现、效率还有一些细节却有不小差异,这也对使用者
带来了不便。(如vector的迭代器在一些实现版本是一般指针, 在一些实现版本是一个智能对象)Bjarne怎么看待这些庞大的库以及库之间的差
异。
6.怎么看待其它计算机语言的快速发展, 以及他们对C++原有擅长领域的占领.
...暂时想到这么多:-)

莫华枫

unread,
Nov 30, 2007, 10:47:22 PM11/30/07
to pon...@googlegroups.com
3、问问他关于concept二进制化方面的情况。有没有朝这个方向发展,发展的程度如何?

On Nov 29, 2007 3:34 PM, pongba <pon...@gmail.com> wrote:

星染流云

unread,
Dec 1, 2007, 4:38:02 AM12/1/07
to TopLanguage
深思熟虑的,重要的,有理有据的?恩,好好想想..........................................

就问问他老人家为什么跑到德州农机大教书吧,问问他最喜欢那学校的啥地方.

这个问题的背景是我在阅读他的背景介绍时发现的.

On 11月29日, 下午3时34分, pongba <pon...@gmail.com> wrote:
On 11月29日, 下午3时34分, pongba <pon...@gmail.com> wrote:

liang

unread,
Dec 1, 2007, 6:29:47 AM12/1/07
to TopLanguage
C社区已经在反思C语言的设计原则。
1. 请问BJ,C++0x的设计原则较D&E有没有改变?C++1x的设计原则有没有改变的可能?如果有,可能的方向是什么?
2. 如果说C++语言内部,有一种更小、更优雅、更一致的语言正在挣扎着脱颖而出,请问它应该具备什么特征?D语言是这样的语言么?
3. 钱一直是C++委员会的根本问题,而且看不到有解决的希望。请问,委员会打算如何运作,使C++面对新的10年?
4. 请问BJ在C++的未来会承担什么责任?BJ德高望重,但岁月无情,请问他有退休计划么?如果他退休,C++社区将丧失精神领袖,他对这种情况有
什么看法?
5. 怎么看待C++在Visual Studio语言家族里面的地位?.NET的第一流静态语言是C#,动态语言有VB10、IronPython
等,C++作为native code的唯一选择也许显示了C++在现实开发中的地位。正如Visual C++ Team所告白:我们没有忘记C+
+。这是否反应了工业界对C++的态度?




On 11月29日, 下午3时34分, pongba <pon...@gmail.com> wrote:

abware

unread,
Dec 3, 2007, 3:34:35 AM12/3/07
to TopLanguage
C++标准委员会其自身的发展规划是什么?其自身的发展情况会在哪些方面影响到C++的发展?

du yan ning

unread,
Dec 4, 2007, 9:04:24 AM12/4/07
to TopLanguage
资源的所有权问题。

与明确资源的所有权相比,不明确资源所有权对于客户代码来说,优点在于心理负担较小。
心理负担,是指用户在new一个对象出来,并交给一个容器的时候,他必须在心里清楚,这个对象到底是该我们自己delete,还是容器会帮我们
delete。

虽然并非所有的资源都是内存,但内存绝对是程序中最主要的资源。
这也是gc的吸引力所在。
因为内存资源的普遍性,以及gc的简单性,许多人甚至愿意舍弃构造函数+析构函数的完备性,而选择没有析构函数的却有内存gc的语言。

我的问题是;

在C++的现有情况下,即在没有gc的情况下,如何来避免这种心理负担?
我自己想了个原则,叫"谁请神,谁送神"。
即,谁获取的资源,谁就负责释放这资源。
谁写下new,谁就负责delete。

在下面这段代码中(来自于一个building system engine and builder)

class Project {
public:
void add(Source* s)
{
m_sources.push_back(s);
}
private:
list<Source*> m_sources;
};

// 客户代码
Project p;
p.add(new Source("main.cpp"));

为了避免客户代码的这种心理负担(操心谁来为我delete),我决定把它改成如下形式:

class Project {
public:
void addSource(const string& name)
{
m_sources.push_back(new Source(name));
}

~Project()
{
// delete all sources
}
private:
list<Source*> m_sources;
};

// 客户代码
Project p;
p.addSource("main.cpp");

即把本来由客户做的工作交给Project对象去做,这样是正确的选择吗?

du yan ning

unread,
Dec 4, 2007, 9:10:36 AM12/4/07
to TopLanguage
或有人认为这里该用shared_ptr,但我觉得对于资源仅仅是内存的情况,智能指针确实比不上内存gc来的简单清晰,效率也不行。

du yan ning

unread,
Dec 4, 2007, 9:14:37 AM12/4/07
to TopLanguage
还有private继承的说法问题。

我觉得无论public还是private继承,都可以理解为is-a的关系。
只不过对于public继承来说,这种is-a的关系地球人都知道;
而对于private继承来说,这种继承关系只有对象自己知道。

这样很容易理解,比区分什么is-a和implemented in terms of要好理解的多。

du yan ning

unread,
Dec 4, 2007, 9:19:42 AM12/4/07
to TopLanguage
另外,问个非技术问题。
C++能不能像python、ruby一样,或者像以前CFront那样,弄个C++社群自己的版本?
而不要依赖于某个大公司或者GNU这样有着明显价值观偏好的社群?
Linux Tarball和他的粉丝们普遍仇视C++,所以不要寄希望于他们。

WaterWalk

unread,
Dec 5, 2007, 1:06:31 AM12/5/07
to TopLanguage


On Nov 29, 3:34 pm, pongba <pon...@gmail.com> wrote:
> 最近和Bjarne的通信中,他答应接受一次访谈。
> 为了让访谈能够代表更多人的意见而不是我个人的感觉,在这里邀请大家提出自己最想问的问题。
>
> 你最想问什么?
>
> BTW. 由于我会对问题进行筛选,然后再公布给大家投票。所以大家的问题最好是深思熟虑的,重要的,有理有据的:-)
> 问题后如果能附上问题的背景(即你在什么样的经历中发现这个问题很关键)那是最好不过!:-)
>
> --
> 刘未鹏(pongba)|C++的罗浮宫http://blog.csdn.net/pongba
> TopLanguagehttp://groups.google.com/group/pongba

Q1. Do you think some C++ compiler vendors will be reluctant to
implement those C++0x features? For example, C99 isn't widely adopted,
at least, not fully supported by Microsoft and GCC.

Q2. 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.

pongba

unread,
Dec 5, 2007, 1:14:12 AM12/5/07
to pon...@googlegroups.com

这个政治性问题估计得到的答案也是不温不火的。。
private继承的问题我觉得不是很大的问题吧, 一来用的也极少。二来他只是提供is-a和has-a之间的一个中间状态(能够访问私有成员,但不暴露基类接口)。
最开始的那个关于gc的问题,可以一问。但Bjarne估计还是会建议包装资源的做法,毕竟,还能怎样呢?内存是最常见的资源和C++没有gc都是事实,没办法更改(至少在0x到来之前,不过0x似乎来不及gc了),那么除了shared_ptr和封装资源、或尽量使用值类型之外,还能有啥办法呢?

pongba

unread,
Dec 5, 2007, 1:16:50 AM12/5/07
to pon...@googlegroups.com
On Dec 5, 2007 2:06 PM, WaterWalk <toolm...@163.com> wrote:
Q1. Do you think some C++ compiler vendors will be reluctant to
implement those C++0x features? For example, C99 isn't widely adopted,
at least, not fully supported by Microsoft and GCC.

Actually, I don't think this is the kind of question he can answer. The chance is that he would say "it's the vendors' problem".

Q2. 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.

This's actually a good one, I'll put it on my list, thanks bro :)

stevenmou

unread,
Dec 5, 2007, 8:15:19 AM12/5/07
to TopLanguage
1)Bjarne是否想过从C++中衍生出一门新的语言,摒弃C++某些生来的缺点,融合入适用于多线程,多核情况下编程特征?

2)C还是很有生命力的,许多做通讯系统或者linux底层开发的人都仍旧在使用C,C++是否能应用在上述场景?

3)C++的学习门槛真的很高(是指要成为高手),需要学习不下10本C++巨著,非常希望Bjarne这本新书能重现ROR书籍对JAVA书籍的优
势。

pongba

unread,
Dec 5, 2007, 8:23:24 AM12/5/07
to pon...@googlegroups.com
On Nov 30, 2007 10:27 PM, stlf <stlflin...@gmail.com> wrote:

我想问
1.C++做为一个比较通用的语言目前的应用领域却越来越窄,Bjarne怎么看待目前C++比较尴尬的境地。
2.如刘兄所说,在将来的并发时代,C++的擅长领域或优势到底在哪里。

我觉得以上两个问题值得一问。
 
3.C++会发展成什么样子,Bjarne对C++的前景乐观吗?

这个太general了。实际上前面两个问题跟这个是一个意思,但问的更具体。
 
4.对目前C++编译器(以及高效开发工具)的发展相对缓慢怎么看, C++是否也需要一个大型公司的支持才能更快的发展?

这个也是一个实际的问题,值得一问。不过估计答案也正如问题一样实际。
 
5.C++现在的库已经很多了,但很多在我们的应用中都显得过于庞大(如ACE), 因此使用起来可能也不很方便。(其实在实际的编程中,一些库够用也
就行了,能使用高效而精简的库是最实在的, 我们有时候自己写库并不是因为没有可替换的现成的库, 但那些库显得太庞大了,而且不易阅读, 和调试,
这时还不如自己写个简单的库来得实在)而且现在的标准库有很多实现版本, 说起来都是标准库,但是其实现、效率还有一些细节却有不小差异,这也对使用者
带来了不便。(如vector的迭代器在一些实现版本是一般指针, 在一些实现版本是一个智能对象)Bjarne怎么看待这些庞大的库以及库之间的差
异。

恩,,值得一问。
 
6.怎么看待其它计算机语言的快速发展, 以及他们对C++原有擅长领域的占领.

Bjarne会说C++跟它们的重点不一样吧。 谈不上什么占领不占领的。C++的真正竞争者目前是D和C才对。HOPL-III 那个paper里面,Bjarne再次强调C++的设计目的之一就是"面向系统编程"的。

pongba

unread,
Dec 5, 2007, 8:26:06 AM12/5/07
to pon...@googlegroups.com
On Dec 5, 2007 9:15 PM, stevenmou <muxu...@gmail.com> wrote:
1)Bjarne是否想过从C++中衍生出一门新的语言,摒弃C++某些生来的缺点,融合入适用于多线程,多核情况下编程特征?

摒弃C++的缺点跟融入多线程并非简单的二分法。实际上C++09将会加入不错的多线程支持(一个内建的多线程内存模型,以及一个基础库)。
至于诞生新语言,暂时估计是不可能的,但Bjarne的确说过:在C++内部,有一个更小巧,更紧凑的语言挣扎着想要出来。
 
2)C还是很有生命力的,许多做通讯系统或者linux底层开发的人都仍旧在使用C,C++是否能应用在上述场景?

3)C++的学习门槛真的很高(是指要成为高手),需要学习不下10本C++巨著,非常希望Bjarne这本新书能重现ROR书籍对JAVA书籍的优
势。

这两个值得一问。尤其是后一个:)

pongba

unread,
Dec 5, 2007, 8:30:14 AM12/5/07
to pon...@googlegroups.com
On Dec 1, 2007 7:29 PM, liang <adam...@gmail.com> wrote:
C社区已经在反思C语言的设计原则。
1. 请问BJ,C++0x的设计原则较D&E有没有改变?C++1x的设计原则有没有改变的可能?如果有,可能的方向是什么?
2. 如果说C++语言内部,有一种更小、更优雅、更一致的语言正在挣扎着脱颖而出,请问它应该具备什么特征?D语言是这样的语言么?
3. 钱一直是C++委员会的根本问题,而且看不到有解决的希望。请问,委员会打算如何运作,使C++面对新的10年?

我觉得这几个问题都不错:)
 
4. 请问BJ在C++的未来会承担什么责任?BJ德高望重,但岁月无情,请问他有退休计划么?如果他退休,C++社区将丧失精神领袖,他对这种情况有
什么看法?

这个嘛... 估计很难回答,谦虚客套一下就差不多了。。
 
5. 怎么看待C++在Visual Studio语言家族里面的地位?.NET的第一流静态语言是C#,动态语言有VB10、IronPython
等,C++作为native code的唯一选择也许显示了C++在现实开发中的地位。正如Visual C++ Team所告白:我们没有忘记C+
+。这是否反应了工业界对C++的态度?

pongba

unread,
Dec 5, 2007, 8:31:18 AM12/5/07
to pon...@googlegroups.com


On Dec 3, 2007 4:34 PM, abware <abw...@gmail.com> wrote:
C++标准委员会其自身的发展规划是什么?其自身的发展情况会在哪些方面影响到C++的发展?
恩,值得一问。

xbz

unread,
Dec 5, 2007, 11:58:53 AM12/5/07
to pon...@googlegroups.com
On Nov 29, 2007 3:34 PM, pongba <pon...@gmail.com> wrote:
> 最近和Bjarne的通信中,他答应接受一次访谈。
> 为了让访谈能够代表更多人的意见而不是我个人的感觉,在这里邀请大家提出自己最想问的问题。
>
> 你最想问什么?
>
> BTW. 由于我会对问题进行筛选,然后再公布给大家投票。所以大家的问题最好是深思熟虑的,重要的,有理有据的:-)
> 问题后如果能附上问题的背景(即你在什么样的经历中发现这个问题很关键)那是最好不过!:-)
>
> --
> 刘未鹏(pongba)|C++的罗浮宫
> http://blog.csdn.net/pongba
> TopLanguage
> http://groups.google.com/group/pongba
> >
>

我想问:在Bjarne眼中,一名合格的C++程序员应该是什么样子的。

bipe...@gmail.com

unread,
Dec 5, 2007, 9:04:49 PM12/5/07
to TopLanguage
What's should be done in next generation of programming language from
a researcher's view?

清风雨

unread,
Dec 6, 2007, 5:11:42 AM12/6/07
to TopLanguage
问几个具体而简单,但是发生了却很难排查的问题。

1. 关于c++标准库

假设有两个项目,项目A要用到项目B,项目A要用到项目B做为基础。
假设B用了STLport做为标准库,但是编写设计时,因为经验不足,B的编写者使用了std::vector等std的容器做为返回值,和参数传
递。
而刚好A项目的成员用的是MS的STL实现,这时并会发生错误了。
这种问题,再通常情况下,两边都会觉得太自然不过了。但是问题一旦发生,通常并不容易意识到,而且排查困难。

2. 关于连接冲突

同样假设A和B两个项目,项目A静态连接项目B。
项目B里面有个仿函数funa(),结果项目A里也有funa()(不知道会和项目B同名),这时根据c++标准和编译连接器的实现,项目A本来要使用
自己的funa()的,结构错误的连接到项目B的了funa()。
这时如果项目B是不可调试的,那么查找错误就相当麻烦了。


关于c++的这些非显示问题,除了经验丰富的对c++很熟悉的人员以外,对于新手怎么办?而实际上,估计有很多小公司的人员都会在这个问题上发生问
题。
c++语言会考虑解决这些隐性陷阱吗?(这样的问题其实还有很多)

sean...@gmail.com

unread,
Dec 6, 2007, 7:01:36 AM12/6/07
to pon...@googlegroups.com
看了module 的提案,里面提到module 文件由编译器生成,这就要求统一abi,您认为通过这个提案有没有可能统一abi?
这个问题好像太遥远了点。。。

在 07-12-6,清风雨<zhang...@gmail.com> 写道:

stevenmou

unread,
Dec 7, 2007, 8:58:05 AM12/7/07
to TopLanguage
感觉C++在STL合入之后,后续的新特性离我们渐行渐远,作为一个普通的开发者,可能是由于本身水平的限制,真的是看不出C++新增的特性能成为开发
中的利器,也是我最想问Bjarne的一点:C++到底所向何方?
Reply all
Reply to author
Forward
0 new messages