[j-nsp] MX104 capabilities question

Gavin Henry ghenry at suretec.co.uk
Thu Jul 7 06:34:41 EDT 2016


On 7 July 2016 at 08:59, Phil Mayers <p.mayers at imperial.ac.uk> wrote:
> On 07/07/16 02:21, Gavin Henry wrote:
>
>> That last sentence is quite a sweeping statement about C.
>
>
> The underlying basis for the statement - C is a hard language to program
> well - is not at this point a controversial one, IMHO.

Agreed.

>> You can make great software in any language. I think this argument is
>> false.
>
>
> I think the argument has a lot going for it.

OK.

> C is a difficult language to use well; even developers with decades of
> experience get caught out by the subtleties of things like pointer aliasing
> and integer behaviour. There's a huge research effort by smart people to
> improve that situation - as an example, things like ubsan in Clang to detect
> and warn on use of undefined behaviour. John Regehr's blog is a good read on
> the topic of how gnarly C can be, for those interested.

Excellent to hear.

> I think it's totally reasonable to argue that other languages can fit a
> problem set better than C, can reduce the cognitive load on the developer,
> and can prove more amenable to things like static analysis and automated
> testing.

Again agreed. I didn't say otherwise.

> Other languages could include, here, a restricted subset of C with
> least-surprise behaviours. But TBH, given the focus on multicore, I think a
> language with better support for concurrency would be a more appropriate
> choice (Erlang was mentioned; it's a shame that never took off, it's really
> ideally suited for the task of network protocol speaker).

Erlang is nice, but again the developers of this language do need C to
get to the first
point of building the language, as do most compilers as you know.

C needs to be taught more as the fundamentals are not hard but everything in our
world today relies on it.

> Developers are people, and recognising the human limits of the process is
> important. Frankly, I would agree with the notion that C is a very poor
> choice for almost anything outside hardware-level work (kernel, driver)
> these days, simply because CPU is cheap, and human cognition expensive, and
> higher level languages trade costs in former for savings in the latter.

I would also agree. But since the thread is ending about Arista, they
are using it in the right
place and as Saku states they are moving to the top of their game. As
some point, not
using the right tool means your technical dept is huge to repay. But
that's what refactoring is for :-)

My fear, like what is happening in the Oil Industry here, not just in
Scotland, but globally, is that because the workforce is ageing,
knowledge is getting lost. The things taught at Uni are not attractive
and are hard for paying students, so they are dropped. This in turn
means those coming into industry are not as good or as many and as the
workforce ages there is a massive gap.

Players like Arista and other commercial bodies need to help improve this.

Thanks.

P.S. My son was up until 02:45 today so some of above may hurt your
eyes and mess with your brain.

-- 
Kind Regards,
Gavin Henry.


More information about the juniper-nsp mailing list