www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - John Carmack on Eclipse performance

reply Bruno Medeiros <brunodomedeiros+dng gmail.com> writes:
"Hardware does get faster more rapidly than software gets slower -- I'm 
finding Eclipse perfectly usable on modern hardware."

https://twitter.com/ID_AA_Carmack/status/383334141078429697

I would have liked some more details on what he is using Eclipse for 
though. Is it Android development? And even so, is it just Java or C/C++ 
too? Especially significant given Manu's recent comments that:
"I've never met a C++ developer that likes Eclipse ;)"
:p

-- 
Bruno Medeiros - Software Engineer
Sep 27 2013
next sibling parent Manu <turkeyman gmail.com> writes:
--089e01633baa1922f604e75c026e
Content-Type: text/plain; charset=UTF-8

On 27 September 2013 21:35, Bruno Medeiros <brunodomedeiros+dng gmail.com>wrote:

 "Hardware does get faster more rapidly than software gets slower -- I'm
 finding Eclipse perfectly usable on modern hardware."

 https://twitter.com/ID_AA_**Carmack/status/**383334141078429697<https://twitter.com/ID_AA_Carmack/status/383334141078429697>

 I would have liked some more details on what he is using Eclipse for
 though. Is it Android development? And even so, is it just Java or C/C++
 too? Especially significant given Manu's recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

Carmack is perhaps the games industry's most renowned anti-C++ user. He rejected C++ for decades, I'm not sure what his current stance is ;) And I haven't met John Carmack... --089e01633baa1922f604e75c026e Content-Type: text/html; charset=UTF-8 <div dir="ltr">On 27 September 2013 21:35, Bruno Medeiros <span dir="ltr">&lt;<a href="mailto:brunodomedeiros+dng gmail.com" target="_blank">brunodomedeiros+dng gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"> <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">&quot;Hardware does get faster more rapidly than software gets slower -- I&#39;m finding Eclipse perfectly usable on modern hardware.&quot;<br> <br> <a href="https://twitter.com/ID_AA_Carmack/status/383334141078429697" target="_blank">https://twitter.com/ID_AA_<u></u>Carmack/status/<u></u>383334141078429697</a><br> <br> I would have liked some more details on what he is using Eclipse for though. Is it Android development? And even so, is it just Java or C/C++ too? Especially significant given Manu&#39;s recent comments that:<br> &quot;I&#39;ve never met a C++ developer that likes Eclipse ;)&quot;<br> :p</blockquote><div><br></div><div>Carmack is perhaps the games industry&#39;s most renowned anti-C++ user. He rejected C++ for decades, I&#39;m not sure what his current stance is ;)</div><div>And I haven&#39;t met John Carmack...</div> </div></div></div> --089e01633baa1922f604e75c026e--
Sep 27 2013
prev sibling next sibling parent reply "Dicebot" <public dicebot.lv> writes:
On Friday, 27 September 2013 at 11:35:29 UTC, Bruno Medeiros 
wrote:
 "Hardware does get faster more rapidly than software gets 
 slower -- I'm finding Eclipse perfectly usable on modern 
 hardware."

 https://twitter.com/ID_AA_Carmack/status/383334141078429697

 I would have liked some more details on what he is using 
 Eclipse for though. Is it Android development? And even so, is 
 it just Java or C/C++ too? Especially significant given Manu's 
 recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

This guy has been trying to re-write on of his old games in Haskell (can't remember which one). Are you seriously considering him a typical C++ game developer? :D
Sep 27 2013
parent reply Paulo Pinto <pjmlp progtools.org> writes:
Am 27.09.2013 19:26, schrieb H. S. Teoh:
 On Fri, Sep 27, 2013 at 07:12:27PM +0200, qznc wrote:
 [...]
 Carmack is a very humble C++ programmer, though. In one of the last
 QuakeCon keynotes he said something like "I think I have nearly
 figured out how to use C++."

No, he's just a very honest programmer. I doubt if *anyone* has figured out how to use C++. (That is, in a way that is actually correct and bug-free. There are, of course, many ways of writing C++ code, and most of them are wrong. I don't know if we have found a way to write C++ code that isn't wrong by definition or 99% buggy.) T

By writing D instead. :) I do like C++, but every time I look what is happening post C++11, tend to be glad to spend most of my time in JVM/.NET land, specially because I deal a lot with teams full of developers with an average skill set. -- Paulo
Sep 27 2013
next sibling parent reply Paulo Pinto <pjmlp progtools.org> writes:
Am 28.09.2013 12:40, schrieb Froglegs:
 I do like C++, but every time I look what is happening post C++11,
 tend to be glad to spend most of my time in JVM/.NET land, specially
 because I deal a lot with teams full of developers with an average
 skill set.



 --
 Paulo

Eh? C++11 makes things easier/better IMO, C++14 also has a few good things in it. Really I'd say the main issue with C++ is how slow they are at adding some of the really important things(no modules until C++17(if then) --)

Except: - You still need to know C and C++98 to deal with old codebases and compiler errors; - Not everyone can use C++11 and C++14, either due to company policy or set of available compilers - It is 4 years time until 2017, plus the time compilers will need to adopt it, how relevant in the industry would that standard still be?
    personally I don't give a fig about developers with average skill
 sets, but even they are better off with newer features like auto,
 lambda, shared_ptr/unique_ptr

Good luck working in code bases of big companies. -- Paulo
Sep 28 2013
parent Paulo Pinto <pjmlp progtools.org> writes:
Am 28.09.2013 15:26, schrieb Klaim - Joël Lamotte:
 On Sat, Sep 28, 2013 at 1:23 PM, Paulo Pinto <pjmlp progtools.org
 <mailto:pjmlp progtools.org>> wrote:

     - It is 4 years time until 2017, plus the time compilers will need
     to adopt it, how relevant in the industry would that standard still be?


 This argument is not much valid anymore.
 Most language or library features are implemented for testing before a
 proposal is voted in (because of previous fisaco)
 C++14 draft is fully supported in Clang at this time, and is even
 modified real time from votes happening this week.

 I mean, except if you work with Visual Studio, compiler adoption is not
 really that long now.
 The only real barrier is company policy. Now I don't want to work on a
 company that impose artificial limitations on improvements
 (other than time obviously).

Except the world of C and C++ is not just clang, gcc and visual studio, there are lots of compilers out there besides those. Secondly, on the enterprise world of Fortune 500 consulting, where I work, most of the time one is required to use whatever toolchain the customer's IT allows for. Working with latest standards is a startup thing, or small team projects. There are lots of realities out there. -- Paulo
Sep 28 2013
prev sibling next sibling parent reply Paulo Pinto <pjmlp progtools.org> writes:
Am 30.09.2013 14:48, schrieb bearophile:
 Paulo Pinto:

 By writing D instead. :)

D helps avoids several C++ traps, but it's far from being not-bug-prone. Bye, bearophile

True, but changing system programming languages takes ages as it depends on the whims of OS vendors. As such, it seems we can only hope for incremental changes. -- Paulo
Sep 30 2013
parent Paulo Pinto <pjmlp progtools.org> writes:
Am 01.10.2013 14:02, schrieb w0rp:
 I'm waiting for Carmack to adopt D already. Barring some implementation
 details (GC issues, shared libraries, bla bla) it's pretty much the
 perfect language for what he wants to do. (Fast and functional in
 parts.) Plus, if anyone could work around issues or figure out how to do
 really cool things with D, it would be Carmack.

There are a few QuakeCon talks, already mentioned here, where we goes along describing his endeavours with Haskell, OCaml, Lisp and Scheme. But he also mentions that he has some issues to expose normal game developers to such languages, and is exploring how to bring some of those ideas into their C++ codebase. Will he ever try D? Who knows. One thing that I got to learn from the game development culture, is that tooling does not matter the way other software development industries think about it. What really matters about software stacks, is using the official devkits, and the right tooling that allows to transform an idea into a game that sells. If the languages, IDE, and so on, are good or bad, it does not matter that much. In comparison to have prototypes running fast enough and achieving publisher deals. -- Paulo
Oct 01 2013
prev sibling next sibling parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 01/10/13 14:14, Dicebot wrote:
 On Tuesday, 1 October 2013 at 12:02:29 UTC, w0rp wrote:
 I'm waiting for Carmack to adopt D already. Barring some implementation
 details (GC issues, shared libraries, bla bla) it's pretty much the perfect
 language for what he wants to do. (Fast and functional in parts.) Plus, if
 anyone could work around issues or figure out how to do really cool things
 with D, it would be Carmack.

He is familiar with D and has shown appreciation for D `pure` functions in his twitter posts.

One thing that I noted in his QuakeCon talk was his remarks about multiparadigm languages versus strictly functional languages, and how the former while they seem superior have the problem that, because you _can_ break the paradigm, you _do_. I rather suspected he might have had D partially in mind with that remark, although he was gracious enough to not single out any languages. That said, although I don't feel experienced enough in functional programming to comment with any authority, my impression is that D lets you be as strictly functional as you want to be, and has enough to let software architects impose strict purity etc. on a codebase. But it is arguably less nice to have to keep marking "pure const nothrow ..." everywhere, plus const/immutable parameters, compared to something like Haskell where everything is that way by default. I don't suppose it's possible to do that either by scope or even by module? module my.module const nothrow pure safe or const nothrow pure safe { // my code here ... }
Oct 04 2013
prev sibling parent Joseph Rushton Wakeling <joseph.wakeling webdrake.net> writes:
On 05/10/13 01:55, deadalnix wrote:
 D has some really serious flaw when it come to functionnal style.

Really? That's a shame. :-(
   - Function aren't first class.
   - Delegates break type system.
   - Immutable object have identity issue that wouldn't show up in a functional
 language. It is unsure what the semantic around them is (and if identity must
be
 preserved, then functional style is badly impaired).
   - Many qualifier do start to not make any sense when using functions as
 arguments (inout for instance).
   - Expect for type qualifier, it is impossible to express return qualification
 depending on the input(s qualification (and see point above, that do not work
 when using first class functions/delegates).

 On implementation side, heap allocated values aren't optimized to go on the
 stack, ever. And the GC is unable to take advantage of immutability. Note that
 because everything is immutable in functional programming, both are mandatory
if
 you don't want to trash your performances.

How much of this is actually a language problem (I imagine the first-class functions and delegate issues are) and how much is to do with implementation?
Oct 06 2013
prev sibling next sibling parent "PauloPinto" <pjmlp progtools.org> writes:
On Friday, 27 September 2013 at 11:49:54 UTC, Dicebot wrote:
 On Friday, 27 September 2013 at 11:35:29 UTC, Bruno Medeiros 
 wrote:
 "Hardware does get faster more rapidly than software gets 
 slower -- I'm finding Eclipse perfectly usable on modern 
 hardware."

 https://twitter.com/ID_AA_Carmack/status/383334141078429697

 I would have liked some more details on what he is using 
 Eclipse for though. Is it Android development? And even so, is 
 it just Java or C/C++ too? Especially significant given Manu's 
 recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

This guy has been trying to re-write on of his old games in Haskell (can't remember which one). Are you seriously considering him a typical C++ game developer? :D

Doom, http://www.youtube.com/watch?v=1PhArSujR_A As for C++, he is one of the guys in the industry pushing forward for using static analysis in C++. http://www.altdevblogaday.com/2011/12/24/static-code-analysis/ And actually uses C++ since Doom 3 (2004), http://kotaku.com/454293019. As for his aversion to C++, I remember the performance discussions about C and Pascal versus Assembly. Hey back then, even with my Pascal background, I was convinced that Assembly was more than enough! Then came the discussions of C vs C++, with personalities like Carmack and Abrash taking the C side. And nowadays, like C has taken most Assembly use cases, just to be followed by C++. Now we can even watch a few OS being coded in C++, which was unthinkable back in the C vs C++ war days. So I always smile when I see discussions about performance of language implementations. -- Paulo
Sep 27 2013
prev sibling next sibling parent "qznc" <qznc web.de> writes:
On Friday, 27 September 2013 at 12:50:02 UTC, PauloPinto wrote:
 On Friday, 27 September 2013 at 11:49:54 UTC, Dicebot wrote:
 On Friday, 27 September 2013 at 11:35:29 UTC, Bruno Medeiros 
 wrote:
 "Hardware does get faster more rapidly than software gets 
 slower -- I'm finding Eclipse perfectly usable on modern 
 hardware."

 https://twitter.com/ID_AA_Carmack/status/383334141078429697

 I would have liked some more details on what he is using 
 Eclipse for though. Is it Android development? And even so, 
 is it just Java or C/C++ too? Especially significant given 
 Manu's recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

This guy has been trying to re-write on of his old games in Haskell (can't remember which one). Are you seriously considering him a typical C++ game developer? :D

Doom, http://www.youtube.com/watch?v=1PhArSujR_A As for C++, he is one of the guys in the industry pushing forward for using static analysis in C++. http://www.altdevblogaday.com/2011/12/24/static-code-analysis/ And actually uses C++ since Doom 3 (2004), http://kotaku.com/454293019. As for his aversion to C++, I remember the performance discussions about C and Pascal versus Assembly. Hey back then, even with my Pascal background, I was convinced that Assembly was more than enough! Then came the discussions of C vs C++, with personalities like Carmack and Abrash taking the C side. And nowadays, like C has taken most Assembly use cases, just to be followed by C++. Now we can even watch a few OS being coded in C++, which was unthinkable back in the C vs C++ war days. So I always smile when I see discussions about performance of language implementations.

Carmack is a very humble C++ programmer, though. In one of the last QuakeCon keynotes he said something like "I think I have nearly figured out how to use C++."
Sep 27 2013
prev sibling next sibling parent "H. S. Teoh" <hsteoh quickfur.ath.cx> writes:
On Fri, Sep 27, 2013 at 07:12:27PM +0200, qznc wrote:
[...]
 Carmack is a very humble C++ programmer, though. In one of the last
 QuakeCon keynotes he said something like "I think I have nearly
 figured out how to use C++."

No, he's just a very honest programmer. I doubt if *anyone* has figured out how to use C++. (That is, in a way that is actually correct and bug-free. There are, of course, many ways of writing C++ code, and most of them are wrong. I don't know if we have found a way to write C++ code that isn't wrong by definition or 99% buggy.) T -- The two rules of success: 1. Don't tell everything you know. -- YHL
Sep 27 2013
prev sibling next sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Friday, 27 September 2013 at 11:44:33 UTC, Manu wrote:
 On 27 September 2013 21:35, Bruno Medeiros 
 <brunodomedeiros+dng gmail.com>wrote:

 "Hardware does get faster more rapidly than software gets 
 slower -- I'm
 finding Eclipse perfectly usable on modern hardware."

 https://twitter.com/ID_AA_**Carmack/status/**383334141078429697<https://twitter.com/ID_AA_Carmack/status/383334141078429697>

 I would have liked some more details on what he is using 
 Eclipse for
 though. Is it Android development? And even so, is it just 
 Java or C/C++
 too? Especially significant given Manu's recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

Carmack is perhaps the games industry's most renowned anti-C++ user. He rejected C++ for decades, I'm not sure what his current stance is ;) And I haven't met John Carmack...

He switched to C++ for id Tech 4 (Doom 3). They started work on Doom 3 in 2000 from what I can gather so he's been on the C++ trolley for 13 years. Here's some comments of his about the C++ use in id Tech 4: http://www.phoronix.com/scan.php?page=news_item&px=MTI3NDQ
Sep 27 2013
prev sibling next sibling parent "Brad Anderson" <eco gnuk.net> writes:
On Friday, 27 September 2013 at 17:12:29 UTC, qznc wrote:
 On Friday, 27 September 2013 at 12:50:02 UTC, PauloPinto wrote:
 On Friday, 27 September 2013 at 11:49:54 UTC, Dicebot wrote:
 On Friday, 27 September 2013 at 11:35:29 UTC, Bruno Medeiros 
 wrote:
 "Hardware does get faster more rapidly than software gets 
 slower -- I'm finding Eclipse perfectly usable on modern 
 hardware."

 https://twitter.com/ID_AA_Carmack/status/383334141078429697

 I would have liked some more details on what he is using 
 Eclipse for though. Is it Android development? And even so, 
 is it just Java or C/C++ too? Especially significant given 
 Manu's recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

This guy has been trying to re-write on of his old games in Haskell (can't remember which one). Are you seriously considering him a typical C++ game developer? :D

Doom, http://www.youtube.com/watch?v=1PhArSujR_A As for C++, he is one of the guys in the industry pushing forward for using static analysis in C++. http://www.altdevblogaday.com/2011/12/24/static-code-analysis/ And actually uses C++ since Doom 3 (2004), http://kotaku.com/454293019. As for his aversion to C++, I remember the performance discussions about C and Pascal versus Assembly. Hey back then, even with my Pascal background, I was convinced that Assembly was more than enough! Then came the discussions of C vs C++, with personalities like Carmack and Abrash taking the C side. And nowadays, like C has taken most Assembly use cases, just to be followed by C++. Now we can even watch a few OS being coded in C++, which was unthinkable back in the C vs C++ war days. So I always smile when I see discussions about performance of language implementations.

Carmack is a very humble C++ programmer, though. In one of the last QuakeCon keynotes he said something like "I think I have nearly figured out how to use C++."

It's more that unskilled programmers unknowingly exaggerate their proficiency, I think. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
Sep 27 2013
prev sibling next sibling parent reply Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Fri, 27 Sep 2013 12:35:29 +0100
Bruno Medeiros <brunodomedeiros+dng gmail.com> wrote:

 "Hardware does get faster more rapidly than software gets slower --
 

Well, when you're in an industry that's constantly upgrading to the latest top-of-the-line hardware, perhaps; for everyone else, certainly not.
Sep 27 2013
next sibling parent reply "Froglegs" <barf barf.com> writes:
   You can look at the source for Doom 3, it is written in C with
classes more than C++. But that was years ago, and Carmack has
taken an interest to functional programming so perhaps they are
more up to date nowadays.. although I'm guessing they have a ton
of legacy code written in C style and C with classes style..

   Perhaps he is using a haskell IDE for eclipse?
Sep 27 2013
parent Paulo Pinto <pjmlp progtools.org> writes:
Am 28.09.2013 04:37, schrieb Froglegs:
    You can look at the source for Doom 3, it is written in C with
 classes more than C++. But that was years ago, and Carmack has
 taken an interest to functional programming so perhaps they are
 more up to date nowadays.. although I'm guessing they have a ton
 of legacy code written in C style and C with classes style..

It is still C++. It is a multi-paradigm language.
    Perhaps he is using a haskell IDE for eclipse?

EclipseFP is a very nice one, http://eclipsefp.github.io/. Or we is doing Android or embedded development. -- Paulo
Sep 27 2013
prev sibling next sibling parent reply Bruno Medeiros <brunodomedeiros+dng gmail.com> writes:
On 27/09/2013 23:10, Nick Sabalausky wrote:
 On Fri, 27 Sep 2013 12:35:29 +0100
 Bruno Medeiros <brunodomedeiros+dng gmail.com> wrote:

 "Hardware does get faster more rapidly than software gets slower --

Well, when you're in an industry that's constantly upgrading to the latest top-of-the-line hardware, perhaps; for everyone else, certainly not.

New hardware is cheap, for a developer's salary. But even so desktop specs haven't even improved much in the last 3 years or so (apart from GPUs). My desktop is 4 years old and I don't think I would tell a difference in performance if I upgraded it (again, apart from the GPU). -- Bruno Medeiros - Software Engineer
Oct 04 2013
parent reply Jacob Carlborg <doob me.com> writes:
On 2013-10-04 21:15, Nick Sabalausky wrote:

 Yea, exactly.

 I'm amazed that even "low-end" budget machines are so
 ridiculously powerful these days. Pretty damn cool.

But applications are still just as slow as they have always been. -- /Jacob Carlborg
Oct 05 2013
next sibling parent Paulo Pinto <pjmlp progtools.org> writes:
On 05.10.2013 12:58, Jacob Carlborg wrote:
 On 2013-10-04 21:15, Nick Sabalausky wrote:

 Yea, exactly.

 I'm amazed that even "low-end" budget machines are so
 ridiculously powerful these days. Pretty damn cool.

But applications are still just as slow as they have always been.

That is a consequence of putting VM upon VM layer in current systems, coupled with the fact that most current developers code without any regard for performance, be it in memory usage or execution speed. -- Paulo
Oct 05 2013
prev sibling parent reply Bruno Medeiros <brunodomedeiros+dng gmail.com> writes:
On 05/10/2013 11:58, Jacob Carlborg wrote:
 On 2013-10-04 21:15, Nick Sabalausky wrote:

 Yea, exactly.

 I'm amazed that even "low-end" budget machines are so
 ridiculously powerful these days. Pretty damn cool.

But applications are still just as slow as they have always been.

Yes, unfortunately that much is still true, for a lot of applications. It's not that my desktop runs every application super fast, there is still a lot of slowness and slugishness, but they are caused by badly designed code or other problems. Some of them might not even be affect by a hardware spec change at all (like code that does long-running or IO-blocking operations in UI-thread, etc.) (Firefox + Flash/Youtube... arghh) -- Bruno Medeiros - Software Engineer
Oct 08 2013
parent Jacob Carlborg <doob me.com> writes:
On 2013-10-08 12:34, Bruno Medeiros wrote:

 Yes, unfortunately that much is still true, for a lot of applications.

 It's not that my desktop runs every application super fast, there is
 still a lot of slowness and slugishness, but they are caused by badly
 designed code or other problems. Some of them might not even be affect
 by a hardware spec change at all (like code that does long-running or
 IO-blocking operations in UI-thread, etc.)

 (Firefox + Flash/Youtube... arghh)

Yeah, Flash on Mac OS X is even worse then on other platform. Just disable Flash and rely on HTML5. -- /Jacob Carlborg
Oct 08 2013
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Saturday, 5 October 2013 at 10:58:54 UTC, Jacob Carlborg wrote:
 On 2013-10-04 21:15, Nick Sabalausky wrote:

 Yea, exactly.

 I'm amazed that even "low-end" budget machines are so
 ridiculously powerful these days. Pretty damn cool.

But applications are still just as slow as they have always been.

They are not the same applications.
Oct 05 2013
prev sibling next sibling parent "Jakob Bornecrantz" <wallbraker gmail.com> writes:
On Friday, 27 September 2013 at 11:35:29 UTC, Bruno Medeiros
wrote:
 "Hardware does get faster more rapidly than software gets 
 slower -- I'm finding Eclipse perfectly usable on modern 
 hardware."

 https://twitter.com/ID_AA_Carmack/status/383334141078429697

 I would have liked some more details on what he is using 
 Eclipse for though. Is it Android development? And even so, is 
 it just Java or C/C++ too? Especially significant given Manu's 
 recent comments that:
 "I've never met a C++ developer that likes Eclipse ;)"
 :p

Its probably for Android, Carmack essentially jumped ship to OculusVR and joined as CTO, who are not looking into doing support for it on mobile platforms. Don't let the CTO role fool you, he is there to code at least that is what the tone of his tweets have been. I think he is having the time of his life working in a more upstarty environment.
Sep 28 2013
prev sibling next sibling parent "Froglegs" <barf barf.com> writes:
 I do like C++, but every time I look what is happening post 
 C++11, tend to be glad to spend most of my time in JVM/.NET 
 land, specially because I deal a lot with teams full of 
 developers with an average skill set.



 --
 Paulo

Eh? C++11 makes things easier/better IMO, C++14 also has a few good things in it. Really I'd say the main issue with C++ is how slow they are at adding some of the really important things(no modules until C++17(if then) --) personally I don't give a fig about developers with average skill sets, but even they are better off with newer features like auto, lambda, shared_ptr/unique_ptr
Sep 28 2013
prev sibling next sibling parent =?UTF-8?Q?Klaim_=2D_Jo=C3=ABl_Lamotte?= <mjklaim gmail.com> writes:
--089e0160b4545763d604e7718d46
Content-Type: text/plain; charset=UTF-8

On Sat, Sep 28, 2013 at 1:23 PM, Paulo Pinto <pjmlp progtools.org> wrote:

 - It is 4 years time until 2017, plus the time compilers will need to
 adopt it, how relevant in the industry would that standard still be?

This argument is not much valid anymore. Most language or library features are implemented for testing before a proposal is voted in (because of previous fisaco) C++14 draft is fully supported in Clang at this time, and is even modified real time from votes happening this week. I mean, except if you work with Visual Studio, compiler adoption is not really that long now. The only real barrier is company policy. Now I don't want to work on a company that impose artificial limitations on improvements (other than time obviously). --089e0160b4545763d604e7718d46 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">= On Sat, Sep 28, 2013 at 1:23 PM, Paulo Pinto <span dir=3D"ltr">&lt;<a href= =3D"mailto:pjmlp progtools.org" target=3D"_blank">pjmlp progtools.org</a>&g= t;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex">- It is 4 years time until 2017, plus the ti= me compilers will need to adopt it, how relevant in the industry would that= standard still be?</blockquote> </div><br>This argument is not much valid anymore.<br>Most language or libr= ary features are implemented for testing before a proposal is voted in (bec= ause of previous fisaco)<br>C++14 draft is fully supported in Clang at this= time, and is even modified real time from votes happening this week.</div> <div class=3D"gmail_extra"><br></div><div class=3D"gmail_extra">I mean, exc= ept if you work with Visual Studio, compiler adoption is not really that lo= ng now.</div><div class=3D"gmail_extra">The only real barrier is company po= licy. Now I don&#39;t want to work on a company that impose artificial limi= tations on improvements<br> (other than time obviously).</div></div> --089e0160b4545763d604e7718d46--
Sep 28 2013
prev sibling next sibling parent =?UTF-8?Q?Klaim_=2D_Jo=C3=ABl_Lamotte?= <mjklaim gmail.com> writes:
--001a1133f726c043bf04e77687ea
Content-Type: text/plain; charset=UTF-8

On Sat, Sep 28, 2013 at 3:59 PM, Paulo Pinto <pjmlp progtools.org> wrote:

 Except the world of C and C++ is not just clang, gcc and visual studio,
 there are lots of compilers out there besides those.

the most used (I'm thinking also about the Metrowerks, Borland and Intel compilers).
 Secondly, on the enterprise world of Fortune 500 consulting, where I work,
 most of the time one is required to use whatever toolchain the customer's
 IT allows for.

that and don't want to anymore because it just kills improvements for everybody to not being able to at least try see what's the cost of upgrading a compiler.
 Working with latest standards is a startup thing, or small team projects.

Ok I guess it's a recent company, but it's not small. The point is that the real problem is more the availability of C++ programmers that knows enough to improve the situation constantly, and the willing of managers to empower them to do so. It have nothing to do with team size. I've seen startup go exactly the other way just because keeping the tools at old stable versions is what the technical director is used to. It don't mean it's bad or not. It just mean time of implementation in most compilers is not a argument "in general" if you prefer.
 There are lots of realities out there.

More than you might think :D --001a1133f726c043bf04e77687ea Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">= On Sat, Sep 28, 2013 at 3:59 PM, Paulo Pinto <span dir=3D"ltr">&lt;<a href= =3D"mailto:pjmlp progtools.org" target=3D"_blank">pjmlp progtools.org</a>&g= t;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div id=3D":2ea" style=3D"overflow:hidden">E= xcept the world of C and C++ is not just clang, gcc and visual studio, ther= e are lots of compilers out there besides those.<br> <br></div></blockquote><div><br></div><div>That is discutable, but it&#39;s= hard to find evidence on which compilers are the most used (I&#39;m thinki= ng also about the Metrowerks, Borland and Intel compilers).</div><div> =C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo= rder-left:1px #ccc solid;padding-left:1ex"><div id=3D":2ea" style=3D"overfl= ow:hidden"> Secondly, on the enterprise world of Fortune 500 consulting, where I work, = most of the time one is required to use whatever toolchain the customer&#39= ;s IT allows for.<br> <br></div></blockquote><div><br></div><div>Yes but what I meant is that you= chose to work with that constraint, I did that and don&#39;t want to anymo= re because it just kills improvements for everybody to not being able<br> to at least try see what&#39;s the cost of upgrading a compiler.=C2=A0</div=
<div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .=

overflow:hidden"> Working with latest standards is a startup thing, or small team projects.<b= r> <br></div></blockquote><div><br></div><div>Tell that to Facebook.</div><div=
Ok I guess it&#39;s a recent company, but it&#39;s not small. The point is=

ws enough to=C2=A0<br> improve the situation constantly, and the willing of managers to empower th= em to do so.<br>It have nothing to do with team size.<br>I&#39;ve seen star= tup go exactly the other way just because keeping the tools at old stable v= ersions is what the technical director is used to.<br> It don&#39;t mean it&#39;s bad or not.=C2=A0</div><div><br></div><div>It ju= st mean time of implementation in most compilers is not a argument &quot;in= general&quot; if you prefer.</div><div>=C2=A0</div><blockquote class=3D"gm= ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le= ft:1ex"> <div id=3D":2ea" style=3D"overflow:hidden"> There are lots of realities out there.<br></div></blockquote></div><br>More= than you might think :D</div><div class=3D"gmail_extra"><br></div><div cla= ss=3D"gmail_extra"><br></div></div> --001a1133f726c043bf04e77687ea--
Sep 28 2013
prev sibling next sibling parent Ziad Hatahet <hatahet gmail.com> writes:
--089e01681f42865dae04e790dca1
Content-Type: text/plain; charset=ISO-8859-1

On Fri, Sep 27, 2013 at 5:50 AM, PauloPinto <pjmlp progtools.org> wrote:

 Doom, http://www.youtube.com/watch?**v=1PhArSujR_A<http://www.youtube.com/watch?v=1PhArSujR_A>

--089e01681f42865dae04e790dca1 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">On Fri, Sep 27, 2013 at 5:50 AM, PauloPinto <span dir=3D"l= tr">&lt;<a href=3D"mailto:pjmlp progtools.org" target=3D"_blank">pjmlp prog= tools.org</a>&gt;</span> wrote:<br><div class=3D"gmail_extra"><div class=3D= "gmail_quote"> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div class=3D"HOEnZb"><div class=3D"h5"><spa= n style=3D"color:rgb(34,34,34)">Doom, </span><a href=3D"http://www.youtube.= com/watch?v=3D1PhArSujR_A" target=3D"_blank">http://www.youtube.com/watch?<= u></u>v=3D1PhArSujR_A</a><br> </div></div> <br></blockquote><div><br></div><div>I thought it was Wolfenstein 3D=A0</di= v><div>=A0</div></div><br></div></div> --089e01681f42865dae04e790dca1--
Sep 29 2013
prev sibling next sibling parent "bearophile" <bearophileHUGS lycos.com> writes:
Paulo Pinto:

 By writing D instead. :)

D helps avoids several C++ traps, but it's far from being not-bug-prone. Bye, bearophile
Sep 30 2013
prev sibling next sibling parent "w0rp" <devw0rp gmail.com> writes:
I'm waiting for Carmack to adopt D already. Barring some 
implementation details (GC issues, shared libraries, bla bla) 
it's pretty much the perfect language for what he wants to do. 
(Fast and functional in parts.) Plus, if anyone could work around 
issues or figure out how to do really cool things with D, it 
would be Carmack.
Oct 01 2013
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 1 October 2013 at 12:02:29 UTC, w0rp wrote:
 I'm waiting for Carmack to adopt D already. Barring some 
 implementation details (GC issues, shared libraries, bla bla) 
 it's pretty much the perfect language for what he wants to do. 
 (Fast and functional in parts.) Plus, if anyone could work 
 around issues or figure out how to do really cool things with 
 D, it would be Carmack.

He is familiar with D and has shown appreciation for D `pure` functions in his twitter posts.
Oct 01 2013
prev sibling next sibling parent "Suliman" <bubnenkoff gmail.com> writes:
On Tuesday, 1 October 2013 at 12:14:31 UTC, Dicebot wrote:
 On Tuesday, 1 October 2013 at 12:02:29 UTC, w0rp wrote:
 I'm waiting for Carmack to adopt D already. Barring some 
 implementation details (GC issues, shared libraries, bla bla) 
 it's pretty much the perfect language for what he wants to do. 
 (Fast and functional in parts.) Plus, if anyone could work 
 around issues or figure out how to do really cool things with 
 D, it would be Carmack.

He is familiar with D and has shown appreciation for D `pure` functions in his twitter posts.

Link to post? Sorry, but what does 'pure' mean in this content? Does it's mean good or bad?
Oct 01 2013
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Tuesday, 1 October 2013 at 12:27:56 UTC, Suliman wrote:
 On Tuesday, 1 October 2013 at 12:14:31 UTC, Dicebot wrote:
 On Tuesday, 1 October 2013 at 12:02:29 UTC, w0rp wrote:
 I'm waiting for Carmack to adopt D already. Barring some 
 implementation details (GC issues, shared libraries, bla bla) 
 it's pretty much the perfect language for what he wants to 
 do. (Fast and functional in parts.) Plus, if anyone could 
 work around issues or figure out how to do really cool things 
 with D, it would be Carmack.

He is familiar with D and has shown appreciation for D `pure` functions in his twitter posts.

Link to post? Sorry, but what does 'pure' mean in this content? Does it's mean good or bad?

https://twitter.com/ID_AA_Carmack/status/173111220092682240 http://dlang.org/function.html#pure-functions
Oct 01 2013
prev sibling next sibling parent Nick Sabalausky <SeeWebsiteToContactMe semitwist.com> writes:
On Fri, 04 Oct 2013 16:36:12 +0100
Bruno Medeiros <brunodomedeiros+dng gmail.com> wrote:

 On 27/09/2013 23:10, Nick Sabalausky wrote:
 On Fri, 27 Sep 2013 12:35:29 +0100
 Bruno Medeiros <brunodomedeiros+dng gmail.com> wrote:

 "Hardware does get faster more rapidly than software gets slower --

Well, when you're in an industry that's constantly upgrading to the latest top-of-the-line hardware, perhaps; for everyone else, certainly not.

New hardware is cheap, for a developer's salary.

But not always necessary, depending on the exact field and industry.
 But even so desktop 
 specs haven't even improved much in the last 3 years or so (apart
 from GPUs). My desktop is 4 years old and I don't think I would tell
 a difference in performance if I upgraded it (again, apart from the
 GPU).
 

Yea, exactly. I'm amazed that even "low-end" budget machines are so ridiculously powerful these days. Pretty damn cool.
Oct 04 2013
prev sibling next sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Friday, 4 October 2013 at 23:38:17 UTC, Joseph Rushton 
Wakeling wrote:
 On 01/10/13 14:14, Dicebot wrote:
 On Tuesday, 1 October 2013 at 12:02:29 UTC, w0rp wrote:
 I'm waiting for Carmack to adopt D already. Barring some 
 implementation
 details (GC issues, shared libraries, bla bla) it's pretty 
 much the perfect
 language for what he wants to do. (Fast and functional in 
 parts.) Plus, if
 anyone could work around issues or figure out how to do 
 really cool things
 with D, it would be Carmack.

He is familiar with D and has shown appreciation for D `pure` functions in his twitter posts.

One thing that I noted in his QuakeCon talk was his remarks about multiparadigm languages versus strictly functional languages, and how the former while they seem superior have the problem that, because you _can_ break the paradigm, you _do_. I rather suspected he might have had D partially in mind with that remark, although he was gracious enough to not single out any languages. That said, although I don't feel experienced enough in functional programming to comment with any authority, my impression is that D lets you be as strictly functional as you want to be, and has enough to let software architects impose strict purity etc. on a codebase. But it is arguably less nice to have to keep marking "pure const nothrow ..." everywhere, plus const/immutable parameters, compared to something like Haskell where everything is that way by default. I don't suppose it's possible to do that either by scope or even by module? module my.module const nothrow pure safe or const nothrow pure safe { // my code here ... }

D has some really serious flaw when it come to functionnal style. - Function aren't first class. - Delegates break type system. - Immutable object have identity issue that wouldn't show up in a functional language. It is unsure what the semantic around them is (and if identity must be preserved, then functional style is badly impaired). - Many qualifier do start to not make any sense when using functions as arguments (inout for instance). - Expect for type qualifier, it is impossible to express return qualification depending on the input(s qualification (and see point above, that do not work when using first class functions/delegates). On implementation side, heap allocated values aren't optimized to go on the stack, ever. And the GC is unable to take advantage of immutability. Note that because everything is immutable in functional programming, both are mandatory if you don't want to trash your performances.
Oct 04 2013
prev sibling parent "deadalnix" <deadalnix gmail.com> writes:
On Sunday, 6 October 2013 at 16:02:24 UTC, Joseph Rushton 
Wakeling wrote:
 On 05/10/13 01:55, deadalnix wrote:
 D has some really serious flaw when it come to functionnal 
 style.

Really? That's a shame. :-(
  - Function aren't first class.
  - Delegates break type system.
  - Immutable object have identity issue that wouldn't show up 
 in a functional
 language. It is unsure what the semantic around them is (and 
 if identity must be
 preserved, then functional style is badly impaired).
  - Many qualifier do start to not make any sense when using 
 functions as
 arguments (inout for instance).
  - Expect for type qualifier, it is impossible to express 
 return qualification
 depending on the input(s qualification (and see point above, 
 that do not work
 when using first class functions/delegates).

 On implementation side, heap allocated values aren't optimized 
 to go on the
 stack, ever. And the GC is unable to take advantage of 
 immutability. Note that
 because everything is immutable in functional programming, 
 both are mandatory if
 you don't want to trash your performances.

How much of this is actually a language problem (I imagine the first-class functions and delegate issues are) and how much is to do with implementation?

What comes before "On implementation side" is language problem. What comes after is implementation problem.
Oct 06 2013