Live data from Hacker News

Talking to C Programmers about C++ [video]

youtube.com

21–30 of 128 posts

Re: Talking to C Programmers about C++ [video]

#21
post #20
post #14

Earlier quoted context omitted.

We did the same in 2006, and are mainly a Java/.NET consulting shop nowadays, but I still use C++ on side projects. Given language difficulty, while I hope never to maintain C++ code that makes use of SFINAE, Java's simplicity is misleading. The language might appear simple, but mastering the whole Java eco-system (JSE, JEE, Spring, embedded, Android, features per JDK version), performance monitoring tools, commercia…

There is nothing "simple" about Java once you get past the basics. When you get into the EE world it gets extremely complicated.

Which is exactly my point.

Also the reason I argue that those that think Go will be kept simple, just aren't prepared for the eventual mainstream enterprise adoption.

Imagine when IBM or similar, releases their vision of GoEE.

Re: Talking to C Programmers about C++ [video]

#22
post #19
post #16

Earlier quoted context omitted.

I have been programming in C++ for almost 17 years now and I would say I know maybe 20-25% at most. The reality of C++ is you know what is needed for the problem you need to solve. As people mostly work in the same (broad) areas for their day to day work it is unlikely you need to know outside of that scope regularly. At least not in my personal experience. Also I strongly believe nobody truly understands C++ streams…

What are the components of C++ that add up to 100%? I can count: * language basics (variables, structural statements, functions, error handling, preprocessor, how compilation works) * OOP * functional programming (which is not that complicated at all in C++) * generic programming * advanced generic programming and metaprogramming * the C standard library * the C++ standard library basics (containers, algorithms, smar…

You just proved my point ;)

Re: Talking to C Programmers about C++ [video]

#23

Earlier quoted context omitted.

true, they're all overlapping subsets.... The point being that the way you structure your software in each of those styles is very, very different. They're all idiomatic C++.... just different idioms. In fact, thinking about it, thats what it is... C++ is a multi-idiom language.

Sure, with an execution model that is so complex that it takes scientific experimentation to determine the /best/ (in terms of execution speed) to write code to manipulate a simple memory mapped device. (This, from the lecture). That is so complex, it is the only language that I need the language at hand to read someone else's code. Not a library reference, a /language/ reference. Indeed, I am maintaing one C++ appli…

Platform API differences != language complexity.

These are two different things, platform differences are normally handled by a simple abstraction layer (or ifdefs if you're into masochism).

Re: Talking to C Programmers about C++ [video]

#24
post #21
post #20

Earlier quoted context omitted.

There is nothing "simple" about Java once you get past the basics. When you get into the EE world it gets extremely complicated.

Which is exactly my point. Also the reason I argue that those that think Go will be kept simple, just aren't prepared for the eventual mainstream enterprise adoption. Imagine when IBM or similar, releases their vision of GoEE.

I think Go depends in if Google want to take it from a language that solves their problems well to one that solves generic enterprise problems.

Re: Talking to C Programmers about C++ [video]

#26
post #13

Earlier quoted context omitted.

The same is true of any language with similar history. Do you believe anyone knows Perl, Python, Ruby, Java, C#, Ada, Haskell, OCaml, VB.NET, F#, ... across all language versions, the whole standard library, and most used third party libraries? One always need to focus on a specific domain.

FWIW, this is why I use lua as my primary language: it's the only language I can keep all in my head at once.

I would love to read about your experience with Lua. I always thought lua is for some limited things.

Re: Talking to C Programmers about C++ [video]

#27
post #26

Earlier quoted context omitted.

FWIW, this is why I use lua as my primary language: it's the only language I can keep all in my head at once.

I would love to read about your experience with Lua. I always thought lua is for some limited things.

What sort of thing do you want to read? I have tagged posts on my blog: http://daurnimator.com/tagged/lua but that's probably mostly library release annoucements.

Re: Talking to C Programmers about C++ [video]

#28
post #18

Only a handful of modern C++ features appeal to me. In order to use them, i actually have to use other features(less desirable, like templates or class inheritance) which create bloat, latency and corner cases requiring knowledge of the inner structure of the things(like variadic functions actually being variadic template syntax sugar). Ease of use which C++ brings is 'balanced' by opaque and hard debugging, large ex…

Can you give some concrete examples?

http://pastebin.com/fgPhGaxz

Re: Talking to C Programmers about C++ [video]

#29

C++ is really hard. I have learned enough about it to understand that there's a lot of idiomatic ways of achieving things that I do not understand, especially with the latest standards. When someone claims to know C++, especially in a recruitment context, I tend to challenge that, since it's really hard to actually believe these days. Some people claim to know C++, but basically just write everything as if it was C.

C++ is not one language... there are many styles, for example: - 'C with objects'. - 'Everything is a template'. - 'Embedded C++' (its a real standard, google it). - functional. - 'modern'. (thats not a complete list either). Each one of those is technically the same language, but they're all using a different subset of features and are almost unrecognisable from the rest.

This really starts to hurt when you go around shopping for C++ libraries. You can totally mandate a particular C++ style in an organization and achieve good results but good luck trying to use a library written in another style. Which is one of the reasons why C++ library ecosystem is relatively scarce.

Re: Talking to C Programmers about C++ [video]

#30

Earlier quoted context omitted.

C++ is not one language... there are many styles, for example: - 'C with objects'. - 'Everything is a template'. - 'Embedded C++' (its a real standard, google it). - functional. - 'modern'. (thats not a complete list either). Each one of those is technically the same language, but they're all using a different subset of features and are almost unrecognisable from the rest.

It is one language. Many of those subsets are not mutually exclusive. Regardless of what your preference is, if you claim to know C++ you need to at least know some of its basic features, such as references, streams, templates, STL, etc. (features that have been around for a long time). And if you claim expertise, to at least be familiar with basic features from the new standards.

Your list of common features is a bit too broad. For instance a common sentiment among game programmers is "STL is shit, you better don't touch it at all".
Post reply on HN