TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Modern C++ Programming Course

493 pointsby asicspover 1 year ago

29 comments

yamrzouover 1 year ago
FWIW, the creator of this course is a team lead at NVIDIA, and principal software engineer of CUDA cuSPARSE.
评论 #38445650 未加载
the__alchemistover 1 year ago
With the context of learning Modern C++, and the author&#x27;s association with nVidia and CUDA, I share this anecdote: Partially if it helps anyone directly, and partially as an opportunity for someone experienced with C++ to poke holes at it.<p>I&#x27;ve had great success using ChatGPTv4 to help me write modern C++ that works with CUDA, using prompts like these. (I have not attempted to get it to write parallelized code given loops&#x2F;serial code as an input):<p>&gt; Please convert this Rust code to modern C++, compatible with the latest version of the nvcc CUDA compiler: ```rust ```<p>It will output a compilable&#x2F;working result, and explain each of the language differences in question. It will make sure to use `std::*` instead of the more rigid C-derived equivalents when able, and take advantage of looping over array pointers etc, vice i++ loops. `auto` var types etc.
lnsruover 1 year ago
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.
评论 #38447311 未加载
评论 #38445509 未加载
评论 #38445391 未加载
评论 #38446175 未加载
评论 #38457108 未加载
评论 #38450379 未加载
评论 #38445942 未加载
评论 #38445791 未加载
评论 #38448936 未加载
w4rh4wk5over 1 year ago
Anyone went through this and can compare it to <a href="https:&#x2F;&#x2F;www.learncpp.com&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.learncpp.com&#x2F;</a>?
评论 #38445505 未加载
RicoElectricoover 1 year ago
I picked C++ back after a long break and I have to say in reasonably recent iterations (like C++17) it&#x27;s good enough, although OOTB Unicode is a PAIN. They should have solved it in C++11 and moved on. It&#x27;s a disgrace.
评论 #38445560 未加载
评论 #38446299 未加载
varagosover 1 year ago
Just what I needed to brush up my long forgotten from University C skills, but I would prefer practical coding tasks for each part.
评论 #38448124 未加载
laweijfmvoover 1 year ago
&gt; Heap Memory - new, delete Keywords<p>Should &quot;modern&quot; C++ even use new&#x2F;delete? I&#x27;m a C++ n00b, but I thought these can be avoided entirely now.
评论 #38448193 未加载
评论 #38448131 未加载
评论 #38448196 未加载
评论 #38448026 未加载
评论 #38447479 未加载
lackerover 1 year ago
I think nowadays smart pointers should not be considered an &quot;advanced topic&quot; in C++. Smart pointers are usually the best way to handle memory management.<p>It&#x27;s definitely useful to learn about &quot;new&quot; and &quot;delete&quot;, because those are the primitives that memory management is built on top of. But it should be followed up with good advice like, rarely use these in practice. You should almost always be using unique_ptr or shared_ptr instead of new&#x27;ing up pointers that you intend to explicitly delete later.
评论 #38449186 未加载
评论 #38448983 未加载
alexeizover 1 year ago
This course is a bunch of presentation slides. The idea that you can learn anything from slides is rather silly. Learning from slides is almost as bad as learning from random youtube videos.
评论 #38449427 未加载
评论 #38449139 未加载
评论 #38449096 未加载
timdiggermover 1 year ago
&quot;A Little History of C 3&#x2F;3&quot; 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 this shot.
评论 #38445727 未加载
hecanjogover 1 year ago
Can someone explain how to read the Conversion Rules section in the second chapter? I haven&#x27;t seen this style of notation before. For example:<p><pre><code> Implicit type conversion rules, applied in order, before any operation: ⊗: any operation (*, +, &#x2F;, -, %, etc.) (A) Floating point promotion floating type ⊗ integer type → floating type (B) Implicit integer promotion small integral type := any signed&#x2F;unsigned integral type smaller than int small integral type ⊗ small integral type → int (C) Size promotion small type ⊗ large type → large type (D) Sign promotion signed type ⊗ unsigned type → unsigned type </code></pre> Edit: oops, I missed the explainer. The ⊗ stands in for any operator in case that was confusing to anyone else who missed it. :-)
yreadover 1 year ago
Is there a good guide on the toolchain? What do people use today to keep sane? Something like meson, ninja or cmake? I have inherited some project in scons that was generating msvc 14.1 project and I can heartily recommend against that
评论 #38448664 未加载
评论 #38449179 未加载
Keyframeover 1 year ago
I&#x27;ve been setting up my little docker image that has both llvm&#x2F;clang&#x2F;tidy&#x2F;clangd and gcc inside with boost with an idea I&#x27;d run it and from outside use it to code with live checking and compiling without littering my OS. Now, I feel like I&#x27;m doing something that already exists but couldn&#x27;t really find what everyone use, ought of those that would prefer such a setup. Debugger within is probably a pipe dream, but who knows.<p>Basically I&#x27;d prefer to have a docker image with tooling that I can hook into.
评论 #38448037 未加载
评论 #38448444 未加载
评论 #38448473 未加载
评论 #38448472 未加载
kwant_kiddoover 1 year ago
One thing that would have helped me when I started learning C++ was learning the C++ compilation model i.e. translation units.<p>It is surprising how many people look surprised (that also claim they know the language) when you tell them that code in .cpp does not get inlined into other .cpp files no matter what doing compilation. (yes the linker can (and should) do that with LTO doing linking)
评论 #38447807 未加载
评论 #38447726 未加载
collywover 1 year ago
What is the C++ job market like? I do mostly Python &#x2F; web app developmnt, but I don&#x27;t like the churn.
评论 #38448627 未加载
评论 #38448599 未加载
enahs-sfover 1 year ago
C++ was my weapon of choice in college mostly because writing graphics stuff in C required re-inventing the wheel a lot of the time for basic data structures and the STL was pretty slick.<p>Having spent the better part of the last decade writing go though, I think C++&#x27;s syntax is a bit too cluttered.
dzogchenover 1 year ago
If you prefer to read a book rather than read slides: <a href="http:&#x2F;&#x2F;www.icce.rug.nl&#x2F;documents&#x2F;cplusplus&#x2F;" rel="nofollow noreferrer">http:&#x2F;&#x2F;www.icce.rug.nl&#x2F;documents&#x2F;cplusplus&#x2F;</a>
评论 #38445998 未加载
charlieyu1over 1 year ago
Just read the first pdf. This is an interesting quote.<p>&quot;Every second spent trying to understand the language is one not spent understanding the problem&quot;<p>Did a lot of work in LaTeX the last few years and they make C++ looks like something made in heaven
LispSporks22over 1 year ago
I did not enjoy the compile-edit-debug cycle when I was using C++. Have there been any advances in the area off a C++ REPL?
mbix77over 1 year ago
This brings back horrible memories at uni.
fnord77over 1 year ago
How many interesting SE jobs use C++ anymore?<p>Is anyone using it for new projects?
评论 #38448601 未加载
评论 #38449166 未加载
评论 #38448337 未加载
philmitchell47over 1 year ago
When they say modern, which standard to they mean?
评论 #38446564 未加载
评论 #38449034 未加载
redkoalaover 1 year ago
Do we have a curated list of similar programming courses for other programming languages?
synergy20over 1 year ago
looks good,is there one pdf for all chapters?
评论 #38445960 未加载
Koshkinover 1 year ago
&gt; <i>Table of Context</i><p>Table of Contents?
评论 #38448329 未加载
javier_e06over 1 year ago
I like to watch Formula 1 and NASCAR races. As interesting as seeing the cars pushing the limit of materials and mechanics is just as interesting seeing them crash. It shows the flip side of design. I wish this sunny-side tutorials had at the end of their books some black pages with the hall of horrors. Weird compilation messages and pointers getting demoted and random segfaults in real scenarios. We all remember the inverted wings in the F1 cars and vehicles literally taking off when the body loose close contact to the ground. Now in NASCAR the roof flaps come off when the car gets slight bump and the front wheels loose traction. C++ Is not a risk averse language.
评论 #38446345 未加载
评论 #38447792 未加载
manicennuiover 1 year ago
There are at least a dozen C++ intros that go through every little detail like this and I don&#x27;t get it. I have a pretty good ability to retain a lot of information presented this way, and I&#x27;ve been programming in various C-like languages for long enough that much of this isn&#x27;t new to me, but this doesn&#x27;t seem like a good way to learn the material. I&#x27;d much rather work through actual programs and iterate on them. I imagine that a lot of people who would be looking for something this basic aren&#x27;t even going to retain most of this nor understand why they would need most of these things they are memorizing.
评论 #38447355 未加载
评论 #38448113 未加载
评论 #38447805 未加载
dinklebergover 1 year ago
I’m curious, if you were going to learn a general purpose lower level language today what would you go with?
评论 #38456274 未加载
评论 #38448464 未加载
bigcheezrover 1 year ago
Looks comprehensive. I’ll take a look.