News for hackers. Stuff that matters.
Re:Announcing the C++ FAQ by pjmlp on Sunday March 23, 2014 @02:11AM (#7452349)
> C++ is mostly an extension of C (there are some subtle differences like changes in the type system), so I also recommend C before C++

Never ever do this in 2014. It is the path of writing unsecure code.

Modern C++ has better, more secure, approaches how to write code.

Leave C like coding to legacy code.

Re:Announcing the C++ FAQ by userbinator on Sunday March 23, 2014 @02:33AM (#7452384)
> It is the path of writing unsecure code.

Why? If anything you will learn more about the types of bugs that lead to security issues, and thus gain a better understanding of how to avoid them.

I feel like "security" is the new "think of the children" phrase these days.

Re:Announcing the C++ FAQ by pjmlp on Sunday March 23, 2014 @02:48AM (#7452413)
- Prefer STL data types (vector, string...) over the native ones

- Use references for modifiable parameters. No need to check for null

- Templates, enum classes, const/constexpr, inline calls instead of preprocessor macros

- Use of RAII and smart pointers over manual memory management

> I feel like "security" is the new "think of the children" phrase these days.

It was nothing new. It was present since the early days in the form of languages like Mesa(1970), Modula-2 (1978), among others.

Just that developers got to forget about them when UNIX got out of the universities into the enterprise. Nowadays we pay for it as we discover how important it is to have secure software.

edit: typo (import => important )

Re:Announcing the C++ FAQ by userbinator on Sunday March 23, 2014 @10:45AM (#7453507)
> Nowadays we pay for it as we discover how important it is to have secure software.

I'm going to give a very controversial perspective here: Things like jailbreaks and homebrew on consoles are possible because of certain "security flaws" that are more common in languages like C and C++. If everyone used "safer" languages, wouldn't these become much rarer? If it weren't for this "insecurity", would our computing devices and software be even more locked-down and restricted against us and more control be put in the hands of large corporate entities or governments? Making software more secure against malicious attackers also makes it more secure against those fighting for freedom and control. The world is not quite so black-and-white...

Re:Announcing the C++ FAQ by mpyne on Sunday March 23, 2014 @07:10PM (#7455676)
> Things like jailbreaks and homebrew on consoles are possible because of certain "security flaws" that are more common in languages like C and C++.

Using C++ as if it were C but s/malloc/new/ and s/free/delete/ is certainly a good way to get security vulns. But as pjmlp mentioned, that isn't how you should be using C++ nowadays.

Re:Announcing the C++ FAQ by pjmlp on Sunday March 23, 2014 @12:53PM (#7453997)
I never did any jailbreak or homebreak in my devices. I rather have memory safe languages.

To put it in perspective, I code since the days C was UNIX only so I had the pleasure to know better designed languages for system programming, that sadly went out of fashion as UNIX spread into the enterprise.

Re:Announcing the C++ FAQ by balls187 on Sunday March 23, 2014 @03:17AM (#7452463)
> If anything you will learn more about the types of bugs that lead to security issues

Usually you will learn this lesson the hard way.