It can record your entire screen, one Chrome tab, or a separate window (for my videos a Linux terminal provided by Crostini--a ChromeOS feature that's still in beta for most devices), and it comes with a simple cropping tool plus a slightly more advanced editor. Some of their animations show macOS window features, so it works on multiple platforms. I haven't tried it off of ChromeOS though.
Screencastify can also record your webcam, either as the entire video or as a small box within the main recording.
A nice thing about QuickTime Player is that you can draw an arbitrary box on your screen and record only whatever's in that box. So for example you could normally have a terminal, but then drag a browser into view for a bit.
On Linux I've used ffmpeg alone to record screencasts, but that requires a lot of hand-holding to get started. ffmpeg is a Swiss Army Knife for working with videos even if you don't use it to record videos though. I used it to attach music to the latest video, and I used it to re-encode QuickTime Player's videos into .webm format
# turn .mp4 into .webm
ffmpeg -i somevid.mp4 somevid.webm
# take a short silent video + hours of music and copy as much music as needed onto the video
ffmpeg -i electroswing.mp3 -i screencast-silent.webm -codec copy -shortest screencast.webm
Probably most people use
https://obsproject.com/ - it works on multiple platforms and has a ton of features, and is free. I've never used it :)
For hosting the videos, if you have .webm then you can view it with pretty much any browser after putting it on any server. I have just have a shared hosting account with unmetered disk storage -- for marketing reasons everyone calls it "unlimited", but what's really meant is that your hosting fees don't vary by how large your files are. As a result of the marketing reasons, the practical limit is usually fairly high for the price.
And of course you can upload to a video hosting site. Bitchute requires you validate your email address, and then you can create a channel and upload to it. With Youtube you can freely upload videos below 15min; for longer videos I only needed to verify my phone, but there may be other requirements. The experience in both cases is similar: you give them your video which can be a number of formats, and some extra information, and they process the video before listing it. The other day Bitchute was quite slow to publish a video, but it's been just fine, lately.
Youtube has a lot of advantages:
1. it's big so you'll get the widest audience
2. it encodes your video across many quality settings (bitchute just has one)
3. it doesn't use bittorrent so it won't get firewalled as easily (you can turn that off for bitchute, but it's best to use it if you can)
4. you get a lot of options to change the appearance of your channel
It also has some unique (and severe) disadvantages but they probably won't strike a channel about a programming language.
...If you add music like I did on the latest video, that's probably the only thing that might cause annoyances for you with Youtube.
...in fact I'll go ahead and set up a Youtube copy of my Bitchute channel.
I've tried a built-in mic (too much environmental audio) and a headset mic (too much nonvocal audio) and settled on Blue Microphones' products:
https://www.amazon.com/l/2529047011