• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

You are not logged in or you do not have permission to access this page. This could be due to one of several reasons:

  • You are not logged in. If you are already registered, fill in the form below to log in, or follow the "Sign Up" link to register a new account.
  • You may not have sufficient privileges to access this page. Are you trying to edit someone else's post, access administrative features or some other privileged system?
  • If you are trying to post, the administrator may have disabled your account, or it may be awaiting activation.

Previously on "C++ Renaissance Here Due To WinRT C++/CX ?"

Collapse

  • d000hg
    replied
    Originally posted by VectraMan View Post
    That's fair, but then who doesn't want more battery life from their tablet/smartphone/laptop? Even a desktop PC will suck more electricity because of inefficient software. Yes optimising everything isn't generally worth the cost, but that's not the point. The point is if everything else is 50/50 you may as well choose the efficient option.
    It's interesting that a resurgence of interest in C++ comes from the two ends of the spectrum... data-centres and mobile devices.

    I don't think the savings in power for a desktop or even laptop are really worth bothering about in this context, because the difference in electricity is pennies and also, your laptop is probably sitting idle 90% of the time even if you're typing.

    In data centres, you're utilising (or trying to) your hardware 100% so if you can make the code 10% more efficient, that's a big deal when the same code runs on thousands of servers... in big enough setups even custom-designing your own hardware is cost-effective.

    On mobile, all we've basically done is set the clock back a decade in away. The first generations of smartphones were low-power and it meant suddenly all those old tricks for optimisation became import again. As a games developer, it was/is interesting to read loads of stuff that I learned before 3D accelerators was suddenly current again.
    However, mobile performance is increasing at a stupendous rate. A modern smartphone is more powerful than a desktop PC was a decade ago now.

    I think the return to native code on mobile platforms might be short-lived, because as the hardware improves, we'll have the same situation as we did on PCs where we didn't need to optimise any more. Whereas in the data centre, probably the opposite will happen as the number of servers grows and grows. BUT, the number of people operating on that scale will remain small. FaceBook can decide to rewrite PHP as a static compiler but for 99% of the rest of us, regular PHP on a cheap VM will do just fine

    Leave a comment:


  • woohoo
    replied
    Anyone suggesting the software should be done in .NET or Java would be laughed at.
    From your comments I didn't think you where talking about optimisation with C++ running on .Net.

    Leave a comment:


  • VectraMan
    replied
    Originally posted by woohoo View Post
    I'm not giving an excuse, not sure where you got that from. However, many people including myself appreciate the amount of work we don't have to do because the framework has already done it.
    Now you're talking about a library, not the language. Do .NET in C++ and you get all the things the framework has done for you plus native code speed for when it's important.

    I'm not knocking C++, its been many years since I've done anything with it, however the argument that C# or .Net is redundant because of optimisation possibilities, I think is wrong.
    I'm not saying it's redundant, just that some of the focus has moved back towards efficiency.

    Leave a comment:


  • VectraMan
    replied
    Originally posted by d000hg View Post
    Most applications don't run in the cloud, or even if they do they are not run as big shared data-centre applications. If you are writing a typical application on a local or cloudy server, the difference in cost between C# and C++ might be one extra size of node on EC2, i.e. a few hundred bucks a year.

    Using Big Data as an example is not representative of what most of us actually do.
    That's fair, but then who doesn't want more battery life from their tablet/smartphone/laptop? Even a desktop PC will suck more electricity because of inefficient software. Yes optimising everything isn't generally worth the cost, but that's not the point. The point is if everything else is 50/50 you may as well choose the efficient option.

    Leave a comment:


  • woohoo
    replied
    Originally posted by eek View Post
    Which is why the language that will actually win will be javascript via node. As V8 just takes that javascript and translates it to native machine code before running it....

    Sorry to disappoint you all but node is scarily fast if written badly, scarily, scarily fast if written well.
    I don't know much about V8 but are you saying I could write my domain model or business logic, repositories etc in JavaScript and have them run on the server?

    Leave a comment:


  • doodab
    replied
    Originally posted by d000hg View Post
    Most applications don't run in the cloud, or even if they do they are not run as big shared data-centre applications. If you are writing a typical application on a local or cloudy server, the difference in cost between C# and C++ might be one extra size of node on EC2, i.e. a few hundred bucks a year.

    Using Big Data as an example is not representative of what most of us actually do.
    Servers are often wildly overspecced and doubled or tripled up for "HA" reasons as well. Virtualisation offers some respite but nothing will stop people wasting money if they have a budget and a need to feel important.

    Leave a comment:


  • woohoo
    replied
    Originally posted by VectraMan View Post
    And that leads to applications being inefficient and slow. If it goes in a data centre, then that means more servers than necessary, more electricity than necessary, more air-conditioning than necessary, and that adds significantly to the cost of the business.
    I don't believe that is the case. The difference between the two languages is only plain if you really have to optimize the code, C++ gives you more options. However, most code should never be optimized, optimisation makes it more complicated, open to errors and difficult to maintain. In 20 years of programming most of my optimisation has been made to the database or introducing caching, plus various approaches to making a web page faster.


    That's often the excuse given, but I don't think that's true. Any decent programmer in language A is probably just as productive as a decent programmer in language B. You could argue that a crap programmer can do more damage and cause more problems in language A than language B, but the problem there is that they're a crap programmer.
    I'm not giving an excuse, not sure where you got that from. However, many people including myself appreciate the amount of work we don't have to do because the framework has already done it.

    I'm not knocking C++, its been many years since I've done anything with it, however the argument that C# or .Net is redundant because of optimisation possibilities, I think is wrong.

    Leave a comment:


  • d000hg
    replied
    Most applications don't run in the cloud, or even if they do they are not run as big shared data-centre applications. If you are writing a typical application on a local or cloudy server, the difference in cost between C# and C++ might be one extra size of node on EC2, i.e. a few hundred bucks a year.

    Using Big Data as an example is not representative of what most of us actually do.

    Leave a comment:


  • eek
    replied
    Originally posted by VectraMan View Post
    And that leads to applications being inefficient and slow. If it goes in a data centre, then that means more servers than necessary, more electricity than necessary, more air-conditioning than necessary, and that adds significantly to the cost of the business.



    That's often the excuse given, but I don't think that's true. Any decent programmer in language A is probably just as productive as a decent programmer in language B. You could argue that a crap programmer can do more damage and cause more problems in language A than language B, but the problem there is that they're a crap programmer.
    Which is why the language that will actually win will be javascript via node. As V8 just takes that javascript and translates it to native machine code before running it....

    Sorry to disappoint you all but node is scarily fast if written badly, scarily, scarily fast if written well.

    Leave a comment:


  • VectraMan
    replied
    Originally posted by woohoo View Post
    Yeah but the majority of programmers I know their work doesn't include optimizing applications for power or CPU efficiency.
    And that leads to applications being inefficient and slow. If it goes in a data centre, then that means more servers than necessary, more electricity than necessary, more air-conditioning than necessary, and that adds significantly to the cost of the business.

    You use C# and the .Net framework so you can produce code quicker and more easily, so in effect you are more productive.
    That's often the excuse given, but I don't think that's true. Any decent programmer in language A is probably just as productive as a decent programmer in language B. You could argue that a crap programmer can do more damage and cause more problems in language A than language B, but the problem there is that they're a crap programmer.

    Leave a comment:


  • woohoo
    replied
    Originally posted by VectraMan View Post
    WHS. C++ was always there (you're using a C++ app to view this), but now more people are realising that power and CPU efficiency was important after all. PermieCo make proper electronic devices that go into racks and where power consumption vs throughput is all important. Anyone suggesting the software should be done in .NET or Java would be laughed at.
    Yeah but the majority of programmers I know their work doesn't include optimizing applications for power or CPU efficiency. You use C# and the .Net framework so you can produce code quicker and more easily, so in effect you are more productive.

    Leave a comment:


  • d000hg
    replied
    I think C# is wonderful to work with, but C++ is like coming home.

    Leave a comment:


  • VectraMan
    replied
    Originally posted by AtW View Post
    WinRT is a dead platform.

    C++ Renaissance might happen though because free lunch in terms of easy increase in CPU power (and now cores) is over - Moore's law is effectively dead. This might put people who can code "close to iron" in demand again. VB6 coderz might have to move along...
    WHS. C++ was always there (you're using a C++ app to view this), but now more people are realising that power and CPU efficiency was important after all. PermieCo make proper electronic devices that go into racks and where power consumption vs throughput is all important. Anyone suggesting the software should be done in .NET or Java would be laughed at.

    WinRT is for Windows 8 Metro apps, and we all know how successful that has been. C++/CX is basically C++ with COM support fudged into the language, which is interesting, but if I were doing COM I'd still do it the regular way and not rely on an MS specific language extension.

    Leave a comment:


  • LazyFan
    replied
    Hi,
    As someone from the JAVA FOSS camp we are really happy about this.
    By making C# a second class citizen they are in affect saying that the money in MS now goes on the C++/EXT way. And knowing MS they will force it this way in the long run.

    This means more fragmentation of the MS world, whereby some will adapt and others will get peed off and then go down the FOSS route. Most but not all that go down this route never come back. Once they get the goodness of only paying for great support and not anything else, then they are done with MS for good.

    Yes please keep pushing this on the Windows platform, we love it

    Leave a comment:


  • d000hg
    replied
    Have they finally started adding refactoring tools for C++ or are we still left to use 3rd-party tools for this? It's the one area Eclipse is just amazing even compared to C#.

    Leave a comment:

Working...
X