Live data from Hacker News

Modern C++ Programming Course

github.com

41–50 of 221 posts

Re: Modern C++ Programming Course

#42
post #34

I picked C++ back after a long break and I have to say in reasonably recent iterations (like C++17) it's good enough, although OOTB Unicode is a PAIN. They should have solved it in C++11 and moved on. It's a disgrace.

Does Carbon or c++next fix the ootb handling?

This is just an idea at this point. Ask again in 30 years.

Re: Modern C++ Programming Course

#43
post #5

[flagged]

There is no modern C++ without the old C++. C++ is the success that it is exactly because it has been able to evolve with no shameful past to cancel.

This is still the language that supports setjmp and longjmp and just documents that if you mix them with exceptions the behavior is undefined, right?

You can't have a shameful past when you started shameful. ;) This language's roots are in "I wrote some extensions to simplify C, but I don't want to make it incompatible with C so the extensions don't work coherently in all contexts and you only get sound code if you hold your mouth right" and it never actually got better because nothing ever got removed to make the language more sound.

Well, it did. When it happened, it created other languages.

Re: Modern C++ Programming Course

#44
post #5

[flagged]

There is no modern C++ without the old C++. C++ is the success that it is exactly because it has been able to evolve with no shameful past to cancel.

I've had the misfortune of needing to fix the C++ from someone who neither knew nor cared what STL and smart pointers are.

Re: Modern C++ Programming Course

#45
post #13

Any ideas where to start learning C++ as an embedded developer? I wrote many lines of bare metal C code and want to transit to higher level jobs. I see many expensive or completely free courses, but I am not sure which one is usable in my complicated situation.

Well, you seem to be precisely the target audience for the course linked in this very post: > This open-access course is directed at those who are already familiar with C > and object-oriented programming towards a proficiency level of C++ > programming.

Maybe, in this context it makes lots of sense, if you know C well there are things which "just work how you expect" in C++ and so they need at most a brief refresher.

I agree with Kate Gregory that this is a bad way to teach C++ from scratch. That is, if you know only say, Python or Java (or nothing) and want to learn C++, you should not begin by learning C. Kate's approach skips many of the things you can do in C++ but you shouldn't, whereas if we try to start with C you're going to see that a lot, because "they were legal in C" is why they're allowed in C++ even though they're a bad idea and then you have to unlearn things. You're maybe expecting some of that if you've years of C programming experience, but there's no need to introduce an idea on Monday only to tell students on Tuesday that it's a bad idea and they must never do that.

The most insidious cases are where something is legal and correct in C but it's wrong in C++ yet it will compile and you maybe have broken software. There are some nasty type punning examples, where the pun was an idiomatic C expression which does exactly what you wanted, but in C++ that's Undefined Behaviour and all bets are off. You'd just never teach those type puns in a pure C++ course, they're never the Right Thing™.

Re: Modern C++ Programming Course

#46

"A Little History of C 3/3" says that C was used in the special effects for Star Wars. I do not know what relevance this has, honestly, but independent of that is the strange choice of photo: an image from the Empire Strikes Back which shows stop-motion models with optically-composited, rotoscoped lasers. Excepting that this may be from the digitally recomposited Special Editions, no C code was used in the making of…

Watch Lights & Magic on Disney+ and you will understand why the reference is in there. ILM, Pixar, WETA had huge influx on graphical swe... hell even photoshop was a sideproject of ILM at the time.

Re: Modern C++ Programming Course

#47
post #46

"A Little History of C 3/3" says that C was used in the special effects for Star Wars. I do not know what relevance this has, honestly, but independent of that is the strange choice of photo: an image from the Empire Strikes Back which shows stop-motion models with optically-composited, rotoscoped lasers. Excepting that this may be from the digitally recomposited Special Editions, no C code was used in the making of…

Watch Lights & Magic on Disney+ and you will understand why the reference is in there. ILM, Pixar, WETA had huge influx on graphical swe... hell even photoshop was a sideproject of ILM at the time.

Care to enlighten those of us who don’t already know the explanation?

Re: Modern C++ Programming Course

#48
post #13

Any ideas where to start learning C++ as an embedded developer? I wrote many lines of bare metal C code and want to transit to higher level jobs. I see many expensive or completely free courses, but I am not sure which one is usable in my complicated situation.

Well, you seem to be precisely the target audience for the course linked in this very post: > This open-access course is directed at those who are already familiar with C > and object-oriented programming towards a proficiency level of C++ > programming.

I will go through the course before Xmas. The thing is that in bare metal development even C standard library is not always being used. Recently I wrote some string processing functions for very specific parsing task. Nobody would need such crap while working with operating system.

Re: Modern C++ Programming Course

#49
post #13

Any ideas where to start learning C++ as an embedded developer? I wrote many lines of bare metal C code and want to transit to higher level jobs. I see many expensive or completely free courses, but I am not sure which one is usable in my complicated situation.

If you want to transit to higher level jobs you may get better mileage out of broadening to other languages (e.g., python) or skills (e.g., project management) than from a C to C++ transition. My 2c.

Re: Modern C++ Programming Course

#50
post #47
post #46

Earlier quoted context omitted.

Watch Lights & Magic on Disney+ and you will understand why the reference is in there. ILM, Pixar, WETA had huge influx on graphical swe... hell even photoshop was a sideproject of ILM at the time.

Care to enlighten those of us who don’t already know the explanation?

ILM was and is an absolute software engineering power house and they started with motion controlled cameras for star wars at the time all their in house software was c++. A lot of software which is still used today. Pixars Renderman, Photoshop, Maya... was initially engineered at ILM or Lucasarts which were subsidiaries of Lucasfilm.
Post reply on HN