C ++的未来 [英] Future of C++

查看:52
本文介绍了C ++的未来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的预感是我对clc ++的帖子正在消失,所以我在这里发布

代替。


clc ++上的C ++线程的未来


" Abhishek" < no ******************* @ yahoo.comwrote in message

news:g7 ********** @ aioe.org ...

My hunch is my posts to clc++ are disappearing down a hole, so I post here
instead.

Future of C++ thread on clc++

"Abhishek" <no*******************@yahoo.comwrote in message
news:g7**********@aioe.org...


大家好,

这是一篇非技术性的非主题帖子,所以请原谅我。


我想从C ++的大师们那里了解他们的意见



C ++的未来。我在软件行业花了8年多的时间

在C ++ / Windows上进行应用程序编程。我现在的公司现在正在向基于Java / J2EE的技术转移大量时间。编写应用程序软件的大多数其他

公司也正在向J2EE或.Net移动(或者已经移动了b $ b)。那么在

应用软件中,C ++没有未来吗?这个团队的人对此感觉如何?


我明白系统方面和嵌入式仍然是C ++

的区域

使用得很好。但这就是全部吗?那些已经投入了b / b
和C ++能量的人应该做些什么呢?学习Java或C#因为一个重要的b
其他开发人员(显然)b $ b无法释放指针并发现

垃圾收集器是一个好主意。


思想/建议/批评?
Hi All,
This is a non-technical off topic post, so please excuse me for that.

I wanted to understand from the Gurus of C++ out here about their opinion
on
the future of C++. I have spent eight plus years in the software industry
working in applications programming on C++/ Windows. My current company is
now moving big time towards Java/ J2EE based technologies. Most of the
other
companies which are writing application software are also moving (or have
alreadt moved) to J2EE or to .Net. So is there no future for C++ in
application software? What do the people on this group feel about it?

I understand that Systems side and Embedded are still the areas where C++
is
being used well. But is that all? What do the people who have invested
time
and energy in C++ should do? Learn Java or C# because a significant
majority
of other developers (apparently) could not free the pointers and found
garbage collector to be a great idea.

Thoughts/ Suggestions/ Criticism?



AFAICS C ++非常关注工艺软件开发的方法。

一个人需要很长时间才能做到这一点。像任何工匠一样,说一个木匠需要花费。曾几何时如果你想要一扇新门,你会问

木匠,他根据你的规格给你做了一个。这些天门都是标准尺寸,你可以在硬件超市购买它们。

类似的情况适用于C ++和其他语言的

库。现代趋势是抽象出硬件。这个

导致性能下降但生产率提高了很多,而且b / b
批判性的图书馆成为该语言中的非官方标准。

经典示例在C ++中是GUI。通常新手询问C ++ GUI和

他们模糊地指向各种库。在现代语言中,通常有一两个标准的标准。每个人都使用的GUI库。


因为C ++是如此富有表现力,如果你开始一个新的库(甚至是

应用程序)那么你会看到一个巨大的库决定的数量。我是否使用模板或RTTI进行
,我是否使用Dll或静态库,我是否担心交叉平台或目标平台。这一切都需要很长时间,并导致
碎片化。在其他不太复杂的语言中,你不必担心这些事情。它们已被解决或抽象出来。因此,像bb和Python这样的语言有大量的库,因为大概它们在实践中更容易写一次。你在C和C ++中面临的低级别问题被抽象出来了。


那就是说C ++和C将会存在很长时间。对于Windows来说,只要它在我的周围,它们就会大约是
,但是我没有看到对C ++程序员的需求是多少。



问候

Andy Little


AFAICS C++ is very much about a "craft" approach to software development.
For one It takes a long time to get good at it. Like any craftsman, say a
carpenter it costs. Once upon a time if you wanted a new door, you asked the
carpenter and he made you one to your spec. These days doors are all
standard sizes and you buy them off the shelf at a hardware superstore. A
similar situation applies with C++ and other languages in respect to
libraries. The modern trend is towards abstracting away the hardware. This
results in a loss of performance but much greater productivity, and
critically libraries which become unofficial standards within the language.
The classic example in C++ is GUI. Often newbies ask about the C++ GUI and
they are vaguely pointed off towards various libraries. In modern languages
there are usually one or two "standard" GUI libraries that everyone uses.

Because C++ is so expressive, if you start a new library ( or even
application ) then you are presented with a huge number of decisions. Do I
use templates or RTTI, Do I use Dll or static libs, Do I worry about cross
platform or target one. This all takes a long time and results in
fragmentation. In other less complicated languages, you don''t have to worry
about these things. They have been solved or abstracted away. Hence
languages like Java, and Python have huge libraries because presumably they
are easier to write once in practise. The low level problems that confront
you in C and C++ are abstracted away.

That said C++ and C will be around a long time. For windows they will be
around as long as its around I guess, but I don''t see there being as much
demand for C++ programmers.

regards
Andy Little

推荐答案

kwikius写道:
kwikius wrote:

我的预感是我的帖子clc ++正在消失,所以我在这里张贴

代替。


clc ++上的C ++线程的未来


news:g7 ********** @ aioe.org ...
My hunch is my posts to clc++ are disappearing down a hole, so I post here
instead.

Future of C++ thread on clc++

"Abhishek" <no*******************@yahoo.comwrote in message
news:g7**********@aioe.org...

>大家好,
这是一篇非技术性的非主题帖子,所以请原谅我。

我想从C ++的大师们那里了解他们对于C ++未来的看法。我在软件行业工作了8年多,从事C ++ / Windows应用程序编程工作。我现在的公司现在正朝着基于Java / J2EE的技术大踏步前进。大多数正在编写应用程序软件的公司也在向J2EE或.Net移动(或者已经移动了)。那么应用软件中的C ++没有未来吗?这个群体的人对此有什么看法?

我知道系统方面和嵌入式系统仍然是C ++
使用良好的领域。但这就是全部吗?在C ++中投入时间和能量的人应该做些什么?学习Java或C#,因为其他开发人员(显然)无法释放指针,发现垃圾收集器是一个好主意。

思想/建议/批评?
>Hi All,
This is a non-technical off topic post, so please excuse me for that.

I wanted to understand from the Gurus of C++ out here about their opinion
on
the future of C++. I have spent eight plus years in the software industry
working in applications programming on C++/ Windows. My current company is
now moving big time towards Java/ J2EE based technologies. Most of the
other
companies which are writing application software are also moving (or have
alreadt moved) to J2EE or to .Net. So is there no future for C++ in
application software? What do the people on this group feel about it?

I understand that Systems side and Embedded are still the areas where C++
is
being used well. But is that all? What do the people who have invested
time
and energy in C++ should do? Learn Java or C# because a significant
majority
of other developers (apparently) could not free the pointers and found
garbage collector to be a great idea.

Thoughts/ Suggestions/ Criticism?




AFAICS C ++非常关注工艺。软件开发的方法。

一个人需要很长时间才能做到这一点。像任何工匠一样,说一个木匠需要花费。曾几何时如果你想要一扇新门,你会问

木匠,他根据你的规格给你做了一个。这些天门都是标准尺寸,你可以在硬件超市购买它们。

类似的情况适用于C ++和其他语言的

库。现代趋势是抽象出硬件。这个

导致性能下降但生产率提高了很多,而且b / b
批判性的图书馆成为该语言中的非官方标准。

经典示例在C ++中是GUI。通常新手询问C ++ GUI和

他们模糊地指向各种库。在现代语言中,通常有一两个标准的标准。每个人都使用的GUI库。


因为C ++是如此富有表现力,如果你开始一个新的库(甚至是

应用程序)那么你会看到一个巨大的库决定的数量。我是否使用模板或RTTI进行
,我是否使用Dll或静态库,我是否担心交叉平台或目标平台。这一切都需要很长时间,并导致
碎片化。在其他不太复杂的语言中,你不必担心这些事情。它们已被解决或抽象出来。因此,像bb和Python这样的语言有大量的库,因为大概它们在实践中更容易写一次。你在C和C ++中面临的低级别问题被抽象出来了。


那就是说C ++和C将会存在很长时间。对于Windows来说,只要它在我的周围,它们就会大约是
,但是我没有看到对C ++程序员的需求是多少。



问候

Andy Little



AFAICS C++ is very much about a "craft" approach to software development.
For one It takes a long time to get good at it. Like any craftsman, say a
carpenter it costs. Once upon a time if you wanted a new door, you asked the
carpenter and he made you one to your spec. These days doors are all
standard sizes and you buy them off the shelf at a hardware superstore. A
similar situation applies with C++ and other languages in respect to
libraries. The modern trend is towards abstracting away the hardware. This
results in a loss of performance but much greater productivity, and
critically libraries which become unofficial standards within the language.
The classic example in C++ is GUI. Often newbies ask about the C++ GUI and
they are vaguely pointed off towards various libraries. In modern languages
there are usually one or two "standard" GUI libraries that everyone uses.

Because C++ is so expressive, if you start a new library ( or even
application ) then you are presented with a huge number of decisions. Do I
use templates or RTTI, Do I use Dll or static libs, Do I worry about cross
platform or target one. This all takes a long time and results in
fragmentation. In other less complicated languages, you don''t have to worry
about these things. They have been solved or abstracted away. Hence
languages like Java, and Python have huge libraries because presumably they
are easier to write once in practise. The low level problems that confront
you in C and C++ are abstracted away.

That said C++ and C will be around a long time. For windows they will be
around as long as its around I guess, but I don''t see there being as much
demand for C++ programmers.

regards
Andy Little



几个简单的事实/观察,评论极少:


1.我的一名年轻同事上周离开了微软。什么是有趣的,他们让他参与编写他们的下一代

Visual Studio或他们称之为的任何东西 - 它将是

它的第一个版本完全用C#编写(而不是C / C ++,其中所有

最近的早期版本都已编写)。也许第二个下一个Windows

版本也不会在C / C ++中? :-)


2.我收到上一期专业C ++杂志的最后一期我知道

(C / C ++用户期刊)超过一年前(我认为)。然后我检查了

C ++报告,我之前读过很多只是为了了解它已经很久了已经死了。对此并不高兴;这个

新闻组似乎是为数不多的C ++专用资源之一。


我不介意阅读关于C ++在哪里的文明讨论

标题和原因 - 我对此有一些想法 - 但不是

确定这样的讨论是否是一个偏离主题或是否有足够的

利息。这个话题也可能非常易受火灾影响。任何意见?


-Pavel

A couple of bare facts/observations with minimal comments:

1. A younger co-worker of mine left for Microsoft last week. What''s
interesting, they took him to take part in writing their next generation
Visual Studio or whatever they will call it -- and it is going to be the
first version of it written wholly in C# (instead of C/C++, in which all
recent previous versions have been written). Maybe second next Windows
version will not be in C/C++ either? :-)

2. I received the last issues of last professional C++ magazine I knew
(C/C++ User Journal) more than a year ago (I think). I then checked on
C++ Reports that I used to read much earlier just to learn it had been
dead for quite a while already. Was not very happy about it; this
newsgroup seems to be one of very few C++ dedicated resources.

I would not mind to read a civilized discussion about where C++ is
heading and why -- and I have some ideas of my own about it -- but not
sure if such discussion is an off-topic here or whether there is enough
interest. Also the topic may be quite flame-prone. Any opinions?

-Pavel


8月6日,3:27 * am,kwikius < a ... @ servocomm.freeserve.co.ukwrote:
On Aug 6, 3:27*am, "kwikius" <a...@servocomm.freeserve.co.ukwrote:

我的预感是我对clc ++的帖子正在消失,所以我发布在这里代替。


clc ++上C ++线程的未来

" Abhishek" < nospam_abhishekpan ... @ yahoo.com写了留言


新闻:g7 ********** @ aioe.org ...


My hunch is my posts to clc++ are disappearing down a hole, so I post here
instead.

Future of C++ thread on clc++

"Abhishek" <nospam_abhishekpan...@yahoo.comwrote in message

news:g7**********@aioe.org...



大家好,

这是一篇非技术性的非主题帖子,所以请原谅我。
Hi All,
This is a non-technical off topic post, so please excuse me for that.


我想从C ++的大师们那里了解他们的意见

on

C ++的未来。我在软件行业花了8年多的时间

在C ++ / Windows上进行应用程序编程。我现在的公司现在是基于Java / J2EE技术​​的大量时间。编写应用程序软件的大多数其他

公司也正在向J2EE或.Net移动(或者已经移动了b $ b)。那么在

应用软件中,C ++没有未来吗?这个群体的人对此有什么看法?
I wanted to understand from the Gurus of C++ out here about their opinion
on
the future of C++. I have spent eight plus years in the software industry
working in applications programming on C++/ Windows. My current companyis
now moving big time towards Java/ J2EE based technologies. Most of the
other
companies which are writing application software are also moving (or have
alreadt moved) to J2EE or to .Net. So is there no future for C++ in
application software? What do the people on this group feel about it?


我明白系统方面和嵌入式仍然是C ++

的区域

用得好。但这就是全部吗?那些已经投入了b / b
和C ++能量的人应该做些什么呢?学习Java或C#因为一个重要的b
其他开发人员(显然)b $ b无法释放指针并发现

垃圾收集器是一个很好的主意。
I understand that Systems side and Embedded are still the areas where C++
is
being used well. But is that all? What do the people who have invested
time
and energy in C++ should do? Learn Java or C# because a significant
majority
of other developers (apparently) could not free the pointers and found
garbage collector to be a great idea.


思考/建议/批评?
Thoughts/ Suggestions/ Criticism?



AFAICS C ++非常关注工艺软件开发的方法。

一个人需要很长时间才能做到这一点。像任何工匠一样,说一个木匠需要花费。曾几何时如果你想要一扇新门,你会问

木匠,他根据你的规格给你做了一个。这些天门都是标准尺寸,你可以在硬件超市购买它们。

类似的情况适用于C ++和其他语言的

库。现代趋势是抽象出硬件。这个

导致性能下降但生产率提高了很多,而且b / b
批判性的图书馆成为该语言中的非官方标准。

经典示例在C ++中是GUI。通常新手询问C ++ GUI和

他们模糊地指向各种库。在现代语言中,通常有一两个标准的标准。每个人都使用的GUI库。


因为C ++是如此富有表现力,如果你开始一个新的库(甚至是

应用程序)那么你会看到一个巨大的库决定的数量。我是否使用模板或RTTI进行
,我是否使用Dll或静态库,我是否担心交叉平台或目标平台。这一切都需要很长时间,并导致
碎片化。在其他不太复杂的语言中,你不必担心这些事情。它们已被解决或抽象出来。因此,像bb和Python这样的语言有大量的库,因为大概它们在实践中更容易写一次。你在C和C ++中面临的低级别问题被抽象出来了。


那就是说C ++和C将会存在很长时间。对于Windows来说,只要它在我周围就可以看到它们是b $ b,但是*我没有看到对C ++程序员的需求有多少。


问候

Andy Little-隐藏引用文字 -


- 显示引用文字 -


AFAICS C++ is very much about a "craft" approach to software development.
For one It takes a long time to get good at it. Like any craftsman, say a
carpenter it costs. Once upon a time if you wanted a new door, you asked the
carpenter and he made you one to your spec. These days doors are all
standard sizes and you buy them off the shelf at a hardware superstore. A
similar situation applies with C++ and other languages in respect to
libraries. The modern trend is towards abstracting away the hardware. This
results in a loss of performance but much greater productivity, and
critically libraries which become unofficial standards within the language.
The classic example in C++ is GUI. Often newbies ask about the C++ GUI and
they are vaguely pointed off towards various libraries. In modern languages
there are usually one or two "standard" GUI libraries that everyone uses.

Because C++ is so expressive, if you start a new library ( or even
application ) then you are presented with a huge number of decisions. Do I
use templates or RTTI, Do I use Dll or static libs, Do I worry about cross
platform or target one. This all takes a long time and results in
fragmentation. In other less complicated languages, you don''t have to worry
about these things. They have been solved or abstracted away. Hence
languages like Java, and Python have huge libraries because presumably they
are easier to write once in practise. The low level problems that confront
you in C and C++ are abstracted away.

That said C++ and C will be around a long time. For windows they will be
around as long as its around I guess, but *I don''t see there being as much
demand for C++ programmers.

regards
Andy Little- Hide quoted text -

- Show quoted text -



亲爱的Kwikius / Andy

你好


我不会盲目地捍卫C ++。我试着提出我的意见

点亮一些混乱,

当然可能是我误解了我。

1.有一点是我们应该考虑的是:C ++是一个通用的目的。
编程语言不是一个完整的系统。

J2EE和Visual Studio .NET是系统。所以在C ++Programming

Language中,你不能拥有ODBC,DAO,GUI组件......

但是使用C ++(核心语言+标准库) )并且在完整的C ++

编程环境中,

您可以实现用于数据库编程,GUI等的库/

。 C ++不是/不会是一种语言来绑定到

关系数据库,GUI技术,操作系统......它是开放的并且将是开放的。

通用PL。

我认为C ++ PL与Java系统的比较在某种程度上是不公平的。

当然,我的公司使用的是Java而不是C ++,因为我们使用的是

使用Java技术实施的交易系统

我的公司购买了该软件。它不是与C / C ++相关的
。编程语言选择不仅仅是一个技术问题。

2.如您所知,C ++的下一版本即将推出。它被称为C

++ 0x。它将为我们带来两个领域的各种功能:编程

语言

和标准库:在语言区域我们有概念,初始化器

列表, lambda,enum类,nullptr,程序员控制的GC,...

和库区域中我们将看到线程,元组,巨大的统计数据和

数学函数,正则表达式,hash_map容器,...

但是没有与供应商相关的组件和库。

3. Stroustrup说:唯一一直持续增长的东西

比硬件是人类的期望。我认为这绝对是正确的。

您的评论是关于效率(性能)与生产率的关系。在

所有软件工程书籍和大学课程中,

提到硬件速度发生如此剧烈的变化

和能力,重要性效率降低了。

我认为正确的句子是Kernighan和Plauger在他们的书中所说的:

编程风格的元素:

Don'为了效率低,牺牲了可读性。请注意小

形容词。到目前为止,没有C ++

的功能,它增加了语言并在其余功能上增加了不寻常的开销。

这是一项非常困难的任务。比较C ++与Smalltalk的面向对象特性的性能。它适用于C +

+与Java,C ++与Python,C ++与Ruby,


4.您使用了门和木匠的例子。这是关于可重用性

和你写的抽象不必要的细节。

C ++尝试有效地做到:使用字符串而不是char *,vector

而不是数组,bitset而不是位操作和巨大的

泛型算法是一些见证人。

5.恕我直言,这样的表现力并不是坏事;确实很好,而且需要b $ b。 C ++继续

增加对静态可验证类型安全的重视。如果你想要类型安全,你应该表现得很好。我相信更少

表达引导我们编写脚本。事实上,C ++

为主题编程提供了2-3种方式。这是PL的多范式性质的自然结果。


问候,

Saeed Amrollahi

Dear Kwikius/Andy
Hello

I am not going to defend C++ blindly. I try to offer my opinions to
light up some confusions,
Of course may be I am me mistaken.
1. One thing that we should think about is: C++ is a general purpose
programming language not a complete system.
J2EE and Visual Studio .NET are systems. So in C++ "Programming
Language", you can''t have ODBC, DAO, GUI components, ...
but using C++ (core language + standard library) and in a complete C++
programming environment,
you can implement libraries for database programming, GUI and so on/
forth. C++ is not/will not a language to bind to
relational database, GUI technology, OS ... It is and will be open and
general-purpose PL.
I think the comparison of C++ PL vs. Java system is somehow unfair.
Of course, my company uses Java rather than C++, because we use a
Trade system that was implemented
using Java technology and my company bought the software. It is not
relevant to C/C++. Programming language selection is not just a
technical issue.
2. As you know, the next revision of C++ is coming soon. It is called C
++0x. It will bring us various features in two area: programming
language
and standard library: in language area we have concepts, initializer
lists, lambda, enum classes, nullptr, programmer-controled GC, ...
and in library area we will see threads, tuples, huge statistics and
math functions, regular expressions, hash_map containers, ...
but again there are no vendor-related components and libraries.
3. Stroustrup say: The only thing that has consistently grown faster
than hardware is human expectations. I think this is absolutely
correct.
Your comment is about efficiency (performance) vs. productivity. In
all software engineering books and university classes,
it is mentioned that with such a drastic changes in hardware speeds
and abilities, the importance of efficiency was decreased.
I think the right sentence is by Kernighan and Plauger in their book:
Elements of Programming Style:
Don''t sacrifice readability for small efficiency. Please note to small
adjective. Up until now, there is no feature of C++
which added to language and put unusual overhead on rest of features.
It is very difficult task. Compare the performance of
object-oriented features of C++ vs. Smalltalk. It is applicable for C+
+ vs. Java, C++ vs. Python, C++ vs. Ruby,

4. You used the door and carpenter example. It is about reusability
and as you wrote abstracting away unnecessary details.
C++ tries to do it efficiently: using string rather than char*, vector
rather than arrays, bitset rather than bit manipulations and huge
generic algorithms are some witnesses.
5. IMHO, such expressiveness is not bad thing; indeed it is good and
necessary. C++ continue
To increase in emphasis on statically verifiable type safety. If you
want type safety, you should be expressive. I believe being less
expressive lead us to script programming. As a matter of fact, C++
offer 2-3 ways for a subject to program. It is natural result of
multi-paradigm nature of the PL.

Regards,
Saeed Amrollahi


eb********@gmail.com 写道:
eb********@gmail.com wrote:

增加对静态可验证类型安全的重视。如果你想要类型安全,你应该表现得很好。我相信更少

表达引导我们编写脚本。
To increase in emphasis on statically verifiable type safety. If you
want type safety, you should be expressive. I believe being less
expressive lead us to script programming.



我不太明白这个说法。你什么意思?静态打字

和语言中的表现力是两个截然不同的概念。 C ++在某些方面比C更具表现力但不像Lisp那样富有表现力(这是动态类型语言的b
)。与另一个人有什么关系?

I don''t quite understand that statement. What do you mean? Static typing
and expressiveness in a language are two distinct concepts. C++ is in
some ways more expressive than C but not as expressive as Lisp (which is
a dynamically typed language). What''s got one to do with the other?


这篇关于C ++的未来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆