青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

step by step

 

老外談future of c++

    又去Bartosz的c++ in action論壇上轉了轉,看到一個老外問Bartosz哥哥future of c++的帖子,論壇比較冷清,沒有c++er和javaer們的互相炮轟,Bartosz有意思的是沒忘記向各位推銷他的D語言。。。
 

helmi:

Hi, I just found this very useful site and I have read almost all of tutorial, guide, articles. smile.gif

I just ask everybody opinion on the future of C/C++ because a lot of other programming language out there now days. What do you think since more applications develop as on web base platform? This is just my observation in my country. I really like coding in C++ because I can feel I'm doing low level programming. I do have write game using directX as a hobby but to sustain, I have need to write applications using php, asp .net and jsp.


ps: Sorry for my bad English.

Bartosz:
I see programming tasks as a pyramid. The base of the pyramid is formed by small tasks that don't require sophisticated languages or tools. That's where most of the programming is done. The top of the pyramid are tough tasks that just can't be done using Java or C#. Right now the language at the top is C++. There aren't very many complex tasks, so the top of the pyramid is rather narrow, but then the number of seasoned C++ programmers is also relatively small. In the United States, C++ programmers are in high demand (and are very well paid).

Will C++ keep its top position? I don't know. There are very many aspects of C++ that are very unsatisfactory. I am now involved in the development of the D language (http://digitalmars.com/d/), which has a chance of replacing C++.

helmi:
"the number of seasoned C++ programmers is also relatively small. In the United States, C++ programmers are in high demand (and are very well paid)."

Really? I should go working in the United States smile.gif


I have read of about the D language in a game forum. It's has a lot of features and so powerful but still need improvement, good IDE etc.

Bartosz:
QUOTE (helmi @ Feb 1 2007, 05:30 PM) *
I have read of about the D language in a game forum. It's has a lot of features and so powerful but still need improvement, good IDE etc.

That's right. It needs an IDE, tools, and libraries. But it has a good chance of acqiring them quickly.

peter:
QUOTE (Bartosz @ Feb 2 2007, 04:32 AM) *
That's right. It needs an IDE, tools, and libraries. But it has a good chance of acqiring them quickly.


It would be great if there were a Visual Studio package for D smile.gif.

Unfortunately after trying to figure out how to do that by
browsing the Visual Studio SKD documentation and samples
for the last two days I finally gave up sad.gif.

There are two frameworks that are supposed to help
with the package development. One is written in C#
and the second is in C++ (depends heavily on Microsoft's ATL).
These are pretty heavy beasts and doesn't really
help if the developer doesn't get The Big Picture
(as I failed to get).

So, I tried to implement a package from scratch.

So far I get the IDE to show a new project type
and to call my implementation of the IVsProjectFactory
interface. When the IDE calls the
IVsProjectFactory::CreateProject I copy
the project template files into the new project
directory. Then I create an object implementating
the IVsProject3 and IVsHierarchy interfaces and
return it back to the IDE.
This is where I am stuck. Although the IDE then
calls some methods on the IVsProject3 and
IVsHierarchy interfaces, querying and setting
some properties. The IDE doesn't show the
new project node in the solution explorer.
There is only the topmost solution node
"Solution 'Project1' (1 Project)", nothing more.

And as I said before I was not able to figure out
what am I supposed to do after the project is created... sad.gif

~Peter

Bartosz:
The best resource in this kind of projects are Microsoft forums. Here's a thread about adding language services to VS
adding language services to VS , and here's a more comprehensive list . Without these forums I would have never been able to embed the internet browser control in Code Co-op.

Another-- maybe even more attractive--option is to write an extension to Eclipse. There's been some discussion about it in the D forum, but it doesn't look like there are many volunteers.

peter:
Speaking about the D Programming Language.

How does it handle source file dependencies?

If I have two files File1.d and File2.d
and File2.d imports File1, then when
File1.d changes both files must be
recompiled.

Is my assumption correct?

~Peter

Bartosz:
This is a functionality of "make", not the compiler. But if you mean: Should both files be recompiled?; the answer is, yes.

Note also that you can generate D interface files, .di, which speed up the import process. These too have to be recompiled whenever their correspondig D file changes.

peter:
(Maybe you could add a new forum section about "D Programming" :-)

I wonder how one implements resource ownership transfer semantic in D?

~Peter

Bartosz:
QUOTE (peter @ Feb 15 2007, 07:34 AM) *
(Maybe you could add a new forum section about "D Programming" :-)

I will do exactly that!

helmi:
It is a good idea.

James:
I hope none of you mind me butting in for just a second.

I am currently a student in high school and I am interested in computer science and programming. I am fluent (on an intermediate level) in PHP (HTML, XML, and some minor AJAX/JS included). I would say I have a decent understanding of general coding practice/syntax/what have you, so I am certainly not starting from scratch.

In terms of D, C++, C#, Java, etc., where should I be focusing my efforts? I know there really isn't a straight forward answer, but maybe some of you could offer your opinion. I'm not necessarily looking for something thats going to land me the biggest paycheck (although I would be interested in what you have to say on the subject), but more something that will give me a good background for future endeavors, whether or not it be a new language.

I'm not sure if I can really go wrong, but I am just trying to find something that might suit me the best. I am not setting out to make anything in particular, like games or stuff along those lines. As said, I am just interest in furthering my understanding and setting myself up for down the road. Any tips you can offer me would be great.

Thanks

James

Bartosz:
QUOTE (James @ Feb 20 2007, 02:02 PM) *
In terms of D, C++, C#, Java, etc., where should I be focusing my efforts?
These languages have very similar structure, so my suggestion would be to learn them all. In order of difficulty, from easiest to hardest:
- Java
- C#
- D
- C++
Specializing in one single language not only pidgenholes you as a developer, but also prevents you from learning different programming styles.
James:
Thanks. I appreciate the reply.

Dave:
I've programming in Java, C#, C++ and many other languages over many years.

I've never seen any commercial demand for D so that may well be a stumbling point. I would look very closely at what happened to Borland/CodeGear. Of course alot of unix based open source languages have done well so maybe i'm wrong.

Bjarne is working on his next version of C++ called C++ 0x, I doubt even this will get traction in many places.

Assembler, C and C++ were general purpose system level languages, things have moved on now, sure they are still valid for development of the OS, drivers, performance and memory footprint critical software, but they do not support many of the higher level primitives business software and web developers want.

Most programmers in the world however don't work on the large volume projects where the increased development costs can be amortised. They work on custom in house solutions to business problems, this is why we have Java and C#, they are the modern equivalent of Smalltalk that is now feasible due to vast hardware resources. These projects generally last only a few years before a rewrite making developer cost a large factor, and hardware cost fairly insignificant.

I would therefore strongly advise most people to learn at least one high level language to go with their lower level languages in order to have a successful career. Its unfortunate alot of the old skills are being lost in assembler, compiler design etc. I would still certainly reccomend most new students learning C# or Java over C/C++ or D as their first language.

Eclipse is an excellent open source IDE, It already supports multiple languages, and runs on multiple OS's it might be a better bet for D than Visual Studio.

ivec:
QUOTE (Dave @ Aug 23 2007, 12:25 PM) *
Bjarne is working on his next version of C++ called C++ 0x, I doubt even this will get traction in many places.


This is just so inaccurate that I have to clarify:
This is not about "Bjarne working on his next version of his language".
It is the ISO C++ standard committee working on the next revision of the standard C++ language. This is a collaborative and active process, as can be seen at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/ .

When the standard is adopted (expected in a couple of years), you can be certain that all vendors of C++ compilers will be implementing the features introduced in the new standard. I am very confident that the new standard will have no problem getting traction wherever C++ remains relevant.

--------------------

Bartosz:
Yes, a lot of bright people work on the development of C++, not only in the Standards Committee; and I expect C++ 0x to introduce a lot of great features.

There are however some aspects of language development that are not reachable from the current state of C++, because of backwards compatibility. That's where D will shine. Version 2.0 of D is expected about the same time as C++ 0x-- meaning, before 2010. (The 0x stands for 200x--C++ is cutting it real close!).

As an example, D will unify templates and function templates--In D a function is just a fully specialized template.

hansgostajonsson:
Hello! As a hobby programmer I am hardly qualified to write here but: When I studied programming at university in 1987 I learnt pascal and loved it. It was said to be the future, but "for old times sake" we were also required to learn cobol and fortran - 2 languages then thought to be barely breathing. They seem , however, still to be hanging around, pascal is still in swing as Delphi but it was not so long after I learnt it said to be decrepit and I had to move on to c and then c++ if I wanted to move with the times. Then Java was the swinging language and so on to c#. Now D looms high on the horizon. It may seem a naive question but why can't d be implemented as a development of c++ - to an amateur it seems a look alike. hans jönsson

Bartosz:
If you look at the development of C++ over the years you'll notice that virtually every feature that's been added to the language stays with it, whether it made sense or not. If you imagine C as a fast but flimsy and dangerous ship, C++ grew layers and layers of barnacles over it, in the hope to strengthening it. Instead C++ has kept all the weaknesses of C at its core; plus it made if very difficult not only to master, but even to start learning.

The direction of D that I'm advocating is to make it as easy and safe for beginners as Java or C#. You should be able to use D productively without the need to understand pointers or memory management (D is garbage-collected). D has built in (and very efficient) arrays and strings. Classes are treated pretty much like in Java.

But unlike Java, D also offers all the sophisticated features of C++, except that they were desingned into the language from the start. Instead of layers of barnacles you have some well designed solid language architecture.

peter:
Personally, I don't believe that Yet Another Programming Language Based on C/C++, Java, etc. will make our coding and code maintaining life any easier. Programming languages evolved over 50 years yet I think the most radical step to writing more correct and more maintainable software was that from FORTRAN to ALGOL. From that point on any new language (from the ALGOL family) brings IMHO only very marginal improvements wrt. code maintainability and I don't think this will change in the future. Also after that 50 year of programming evolution and experience our best programming tool is still a simple text editor. I don't think this is right.

Presently, I'm slowly turning my attention to other programming paradigms. From them I see the Data Flow and Multi Agent paradigms most promising partly due to their great potential to exploit the future many-core processors. Also they lend themselves more easily to "diagrammatic" and/or visual programming than present day mainstream programming languages.

Just my €0.02

~Peter

P.S. I sometimes browse through the digitalmars.D newsserver and, frankly, based on most posts there the very LAST thing I'd say about the D programming language is: "well designed solid language architecture".

Also, I looked at the sources for the D compiler and the first immediate thought was: What programming language can design a person with such coding practices... I mean no offense to Walter Bright (I really admire his persistence and devotion to his creation), but those were just my feelings.

hansgostajonsson:
Thanks for replies. A few musings. A new language, like reorganizations, give new hope an generally we learn something in the process. I am a newly retired psychologist with old studies in computer science. Psychology differs from other sciences - it is one in many of it's fields - in that it has been founded a couple of times ( Gestalt psychology, functionalism, behaviourism) - not once like most other sciences. It seems to be the same for language development in computer science and you long for something like the explanation of dna when genetics became molecular biology and never has looked back again. Parhaps a futile dream. It seems that d is based on practical considerations rather than theoretical progress and therefore will be superseeded by the next language but not killed off. I think one problem is that new languages are not good enough to kill once and for all older languages. We will have a lot of not so good but good enough ones hanging around - the same in psychology. Just a few musings. Thanks for a very interesting site. greetings hans jönsson

Bartosz:
QUOTE (peter @ Mar 4 2008, 05:22 AM) *
Personally, I don't believe that Yet Another Programming Language Based on C/C++, Java, etc. will make our coding and code maintaining life any easier. Programming languages evolved over 50 years yet I think the most radical step to writing more correct and more maintainable software was that from FORTRAN to ALGOL. From that point on any new language (from the ALGOL family) brings IMHO only very marginal improvements wrt. code maintainability and I don't think this will change in the future.

A lot happend since ALGOL. Probably the biggest revolution was the introduction of the object oriented paradigm. OO programs are a lot more maintainable. In other areas progress was more quantitative than qualitative, but the accumulation of changes can make a lot of difference. Garbage collection, for instance, has entered the mainstream. So did functional programming techniques. There was also a shift of emphasis towards safe programming. Not to mention the latest revolution--multicore. Java bit the bullet by defining a memory model for parallel programming. C++ is working on it too.
QUOTE
Also after that 50 year of programming evolution and experience our best programming tool is still a simple text editor. I don't think this is right.
No, it's not right. Personally, I use Visual Studio in my C++ development. I also used Eclipse for Java. C++ has some of the worst development tools because it's such a hard language to parse. By the way, there is a D plugin for Eclipse. I didn't use it because it doesn't support D 2.0 yet.
QUOTE
Presently, I'm slowly turning my attention to other programming paradigms. From them I see the Data Flow and Multi Agent paradigms most promising partly due to their great potential to exploit the future many-core processors. Also they lend themselves more easily to "diagrammatic" and/or visual programming than present day mainstream programming languages.
These are all cool paradigms, but they are still far from the mainstream. My current interest is in Software Transactional Memory as the new paradigm for multicore programming.
QUOTE
P.S. I sometimes browse through the digitalmars.D newsserver and, frankly, based on most posts there the very LAST thing I'd say about the D programming language is: "well designed solid language architecture".
Point taken. Version 2.0 is still in flux. It might look like there is a lot of random experimenting, but there is solid theory behind most of it. In fact I'm pushing for updating the D manifesto to better explain the goals of the language. There is also a big difference between version 1.0 and 2.0. Version 1.0 was more of a "better C++". 2.0 is way beyond that.
QUOTE
Also, I looked at the sources for the D compiler and the first immediate thought was: What programming language can design a person with such coding practices... I mean no offense to Walter Bright (I really admire his persistence and devotion to his creation), but those were just my feelings.

Touche! What can I say, I'm not fond of Walter's programming style either wink.gif.

Bartosz:
QUOTE (hansgostajonsson @ Mar 4 2008, 12:51 PM) *
It seems that d is based on practical considerations rather than theoretical progress

Practical considerations make or break a language. There are some theoretically beautiful languages that nobody uses outside of the academia because they are not practical.

But there's also a lot of theoretical progress in computer science that is being incorporated into D.

Hossein:
QUOTE (Bartosz @ Mar 4 2008, 11:10 PM) *
But there's also a lot of theoretical progress in computer science that is being incorporated into D.


Wow! This is what amused me in the first place in fact! biggrin.gif OK, it seems that I can deny my extreme laziness here, and ask for this from you (Bartosz): Could you please give a list of all these nice features of D which attract us -- the snubish [wink.gif] people of Theoretical Computer Science of academia?

(And, BTW, like I mentioned in some other posting: People of academia wouldn't really like it that they don't publish proceedings in their D conferences...)

Cheers,
--Hossein

Bartosz:
We are trying to incorporate the latest PL trends in D, sometimes even before they mature wink.gif.

One major area is safe programming. There's been a lot of research into proving soundness of various languages using operational semantics. It culminated in the soundness proof for Featherweight (Generic) Java. Although it's not a goal of D to be a sound language (we do want pointers after all), we are defining a sound subset of D. In particular, we have a program that can translate Java programs into this subset. We will have one-to-one correspondence between Java semantics and the semantics of a subset of D (which is equivalent to having denotational semantics for the D subset).

We are planning on extending the safe D subset with other sound features, such as discriminated unions and elements of functional programming. D already supports anonymous functions and closures.

The other major area is concurrent programming. Again, Java leads the crowd with its memory model. D's memory model will most likely resemble that of C++ (still in the form of a proposal). The difference between the Java model and the C++ model is that Java gives some guarantees even for programs with race conditions-- C++ doesn't. So a racy program in C++ may exhibit undefined behavior. On the other hand Java has a virtual machine that may enforce a lot more during runtime that can be accomplished in a compiled language.

How can we support safe concurrency in the presence of races--or eliminate the races altogether? The idea is to build software transactional memory into D. Even though STM might not offer the best performance, it is much safer (and easier) than lock-based programming. Especially if we can build support for transactions into the type system, as has been done for Concurrent Haskell.

markm:
IDE for D use CodeBlocks, version 8.02 supports D.

http://www.codeblocks.org/












posted on 2009-11-27 00:23 小羅羅 閱讀(1126) 評論(2)  編輯 收藏 引用

評論

# re: 老外談future of c++ 2010-06-15 02:41 CLAUDETTEMOODY

Some <a href="http://www.master-dissertations.com">dissertation writing</a> services are still searching for the brilliant idea related to this good topic for their legal dissertation composing.   回復  更多評論   

# re: 老外談future of c++ 2010-07-24 04:00 check for plagiarism

Do not realize the way to save your thoughts from thefts? I recommend to use plagiarism check.   回復  更多評論   

# re: 老外談future of c++ 2012-09-09 18:18 loan

Various people all over the world get the credit loans in different banks, just because it's fast and easy.   回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


導航

統計

常用鏈接

留言簿

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            狠狠v欧美v日韩v亚洲ⅴ| 欧美视频在线不卡| 国产精品豆花视频| 欧美国产日韩一区二区三区| 国产精品区一区二区三区| 亚洲第一中文字幕在线观看| 国产精品一二一区| 99精品欧美一区| 一区二区欧美日韩视频| 欧美不卡一区| 亚洲黄色av一区| 欧美视频一区二区在线观看| 亚洲国产导航| 亚洲精品黄网在线观看| 美日韩在线观看| 亚洲二区在线| 日韩视频一区二区三区| 欧美久久久久久| 夜夜狂射影院欧美极品| 亚洲图片在线| 国产欧美一区二区三区沐欲| 香蕉亚洲视频| 女人香蕉久久**毛片精品| 亚洲毛片网站| 国产视频一区在线观看一区免费| 欧美一区二视频在线免费观看| 久久综合久久久久88| 日韩视频在线观看国产| 国产精品欧美激情| 久热精品视频| 久久噜噜亚洲综合| 久久久久久久999精品视频| 午夜激情一区| 欧美在线看片| 久久久国产精品一区二区中文| 久久久精品国产免大香伊| 在线午夜精品| 午夜精品久久久久久久99水蜜桃 | 久久久亚洲精品一区二区三区| 国产麻豆精品视频| 久久久久免费视频| 欧美在线一二三四区| 日韩视频在线一区二区| 亚洲大片av| 美国十次成人| 久久精品国产免费| 欧美一二三视频| 中文精品视频一区二区在线观看| 一区二区在线不卡| 国产一区二区电影在线观看| 欧美日韩一区国产| 欧美日韩免费在线观看| 你懂的国产精品永久在线| 久久这里有精品视频| 亚洲午夜在线视频| 一区二区三区欧美在线观看| 午夜精彩视频在线观看不卡| 亚洲欧美日韩国产一区| 久久综合久久美利坚合众国| 亚洲欧美国产高清va在线播| 亚洲一区二区四区| 亚洲一级片在线观看| 亚洲一区二区三区免费观看| 99国内精品| 亚洲欧美日本日韩| 午夜精品免费| 欧美影院成年免费版| 久久精品日韩欧美| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲国产小视频在线观看| 一本到高清视频免费精品| 亚洲午夜久久久| 久久先锋影音av| 欧美日韩一区二| 狠狠入ady亚洲精品经典电影| 国产性做久久久久久| 亚洲国产精品一区二区三区| 亚洲欧美国产不卡| 亚洲精品欧美极品| 久久久久91| 欧美日韩一区三区| 国产在线播放一区二区三区| 亚洲日本免费| 久久三级福利| 亚洲欧美激情诱惑| 欧美精品一区二区三区在线播放| 韩日欧美一区二区| 韩国在线视频一区| 亚洲精品婷婷| 免费看的黄色欧美网站| 亚洲一二三级电影| 欧美视频亚洲视频| 亚洲精品视频免费| 免费观看成人鲁鲁鲁鲁鲁视频| 午夜视频一区| 国产精品日韩欧美一区| 亚洲欧美美女| 麻豆91精品91久久久的内涵| 欧美极品色图| 欧美日韩国产精品一卡| 国产综合第一页| 国语自产精品视频在线看一大j8 | 亚洲韩国日本中文字幕| 亚洲男人av电影| 欧美国产日本| 午夜精品久久久久久| 亚洲欧洲日本国产| 亚洲黄色免费电影| 欧美区日韩区| 久久婷婷蜜乳一本欲蜜臀| 亚洲天堂av在线免费观看| 香蕉视频成人在线观看 | 欧美日韩影院| 日韩一区二区福利| 91久久中文字幕| 欧美极品在线视频| 亚洲精品网址在线观看| 亚洲人午夜精品| 亚洲黄色影片| 亚洲精选一区| 国产精品视频免费观看www| 欧美一区二区三区另类| 销魂美女一区二区三区视频在线| 一区精品久久| 国产精品九九| 久久这里只有精品视频首页| 午夜精品久久久久久久蜜桃app | 欧美国产日韩视频| 亚洲欧美中文日韩v在线观看| 亚洲精品美女久久久久| 国产视频一区在线观看| 国产精品毛片| 欧美日韩亚洲国产精品| 欧美日本不卡视频| 另类av一区二区| 久久久91精品国产一区二区精品| 一区二区免费在线播放| 亚洲国产美女精品久久久久∴| 午夜视频一区在线观看| av成人免费在线观看| 亚洲精品国产精品国自产观看| 国产一区高清视频| 免费在线观看一区二区| 亚洲国产成人精品女人久久久| 麻豆视频一区二区| 午夜精品久久久久久久99樱桃 | 欧美在线一二三四区| 亚洲欧美日韩综合aⅴ视频| 亚洲视频在线播放| 日韩视频免费观看高清完整版| 亚洲欧洲精品一区二区| 欧美激情第4页| 欧美激情一区二区三级高清视频| 久久婷婷麻豆| 欧美va天堂在线| 麻豆av一区二区三区久久| 快射av在线播放一区| 久久免费视频网站| 美女主播一区| 麻豆成人综合网| 亚洲高清123| 亚洲国产精品久久| 亚洲免费观看视频| 99re6热只有精品免费观看| 99视频超级精品| 亚洲伦理中文字幕| 一本久久青青| 亚洲字幕一区二区| 亚洲欧美国产日韩天堂区| 欧美一区二区在线免费播放| 午夜视频在线观看一区二区三区| 久久久久久久久久久久久女国产乱| 久久精品国产清自在天天线| 免费观看亚洲视频大全| 亚洲电影免费观看高清| 亚洲最快最全在线视频| 亚洲影音一区| 美女视频黄免费的久久| 欧美黑人一区二区三区| 欧美日韩另类综合| 国产精品女人毛片| 黄页网站一区| 亚洲欧洲日本mm| 欧美一区中文字幕| 久久久久久久久久久成人| 91久久香蕉国产日韩欧美9色| 久久精品一本久久99精品| 欧美电影在线观看完整版| 欧美大片在线观看一区二区| 亚洲午夜激情免费视频| 亚洲无吗在线| 欧美福利一区| 欧美日韩一区二区在线| 黄色在线成人| 亚洲欧美视频在线观看| 米奇777在线欧美播放| 亚洲视频一区二区| 久久视频一区二区| 国产精品久久久久久久浪潮网站| 一区免费观看|