comp.lang.ada
 help / color / mirror / Atom feed
From: Hadrien Grasland <hadrien.grasland@gmail.com>
Subject: Re: C# new features (v.7)
Date: Sat, 17 Dec 2016 02:51:41 -0800 (PST)
Date: 2016-12-17T02:51:41-08:00	[thread overview]
Message-ID: <85710560-c177-4979-b508-241927593dbe@googlegroups.com> (raw)
In-Reply-To: <877f6y3lzo.fsf@nightsong.com>

Le samedi 17 décembre 2016 11:09:49 UTC+1, Paul Rubin a écrit :
> Luke A. Guest writes:
> > Yup. Need to get younger people excited but seems only a few of us
> > actually see this.
> 
> Younger programmers (those who didn't grow up dealing with old slow
> machines with little memory) generally use lower performance but more
> convenient languages rather than C, Ada, etc.  They're protected from
> integer overflow by bignums, memory errors by bounds checking,
> alloc/free errors by garbage collection, etc.  Lots of very good
> developers shipping successful products have never programmed in
> anything but Javascript or Python or Ruby.  Ada and C are niche
> languages for embedded control and C++ is for when performance requires
> it (except now Go and Rust are cutting in on that niche too).
> 
> As others have said, C++ has also improved a lot lately, with more
> improvements coming.

I wouldn't put Go in the high-performance niche for the same reason that I don't consider Java as a competitor to C++. Although the CPU performance of these languages has improved so much over the years that it is rarely a blocker anymore, the memory consumption of their implementations is still way too high for applications that push the hardware to its limits.

This is especially true as hardware parallelism starts to grow faster than RAM size, leading to a fast decrease of memory per compute core. While big Java applications are usually designed for 4-8 GB of RAM per CPU core, Intel's Xeon Phi has 1.4 GB of "slow" DDR4 and ~50 MB of "fast" MCDRAM per hyperthread, and the typical GPU scratchpad is ~48 KB large and shared by hundreds of threads...

Rust's memory management model is more interesting, and seems less wasteful than Java's garbage collector. It might be better suited to the highly parallel architectures that are becoming the norms for high-performance compute. But will it be good enough to displace C, C++ and Fortran? Only time will tell...

  reply	other threads:[~2016-12-17 10:51 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-12-14 13:29 C# new features (v.7) gautier_niouzes
2016-12-14 16:59 ` Nasser M. Abbasi
2016-12-14 19:28   ` Shark8
2016-12-14 19:52   ` Wesley Pan
2016-12-14 23:01     ` Randy Brukardt
2016-12-16 10:03       ` Luke A. Guest
2016-12-16 20:19         ` Randy Brukardt
2016-12-15 14:19     ` Alejandro R. Mosteo
2016-12-16  8:34     ` Luke A. Guest
2016-12-17 10:09       ` Paul Rubin
2016-12-17 10:51         ` Hadrien Grasland [this message]
2016-12-17 11:36         ` Hadrien Grasland
2016-12-17 17:13         ` Nasser M. Abbasi
2016-12-17 17:52           ` Björn Lundin
2016-12-17 20:45           ` Dennis Lee Bieber
2016-12-17 21:56           ` Robert A Duff
2016-12-17 22:56             ` Simon Clubley
2017-02-05  0:37       ` Scott Loyd
2017-02-05  1:07         ` Luke A. Guest
2017-02-05 10:41         ` Lucretia
2017-02-05 16:12           ` Scott Loyd
2017-02-05 17:25             ` Lucretia
2016-12-16  7:49   ` Hadrien Grasland
2016-12-14 19:28 ` Shark8
2016-12-15  0:13   ` gautier_niouzes
2016-12-16  7:52     ` Hadrien Grasland
2016-12-16 10:08     ` Luke A. Guest
2016-12-16 13:04       ` Dennis Lee Bieber
2016-12-15 12:49   ` Alejandro R. Mosteo
2016-12-16  7:55     ` Hadrien Grasland
2016-12-16 12:43       ` Alejandro R. Mosteo
2016-12-16 20:14         ` Hadrien Grasland
2016-12-17  0:01           ` Alejandro R. Mosteo
2016-12-16  7:47 ` Hadrien Grasland
2017-01-31  1:29 ` brian catlin
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox