The more memory you have, the more the kernel can cache data in memory. So it pretty much is like a ram drive, but not really. And it doesn't matter too much if you have a fast drive.
Yes, you can put any program you want. But, you should really try to put bundled programs on it, like AppImages, snaps, flatpaks, giant binaries, etc., because the more bundled they are, the more data they will use will be along with them on the ram drive. Whereas if you install normal program on it the normal way, it might have many files to access which is scattered all over, on your main drive as well, which will create a bottleneck. But many bundled packages like snaps are compressed and have to be mounted, and so they are slow in their own way.
To actually a create RAM drive, I prefer the brd kernel module way.
sudo modprobe brd rd_nr=1 rd_size=$((1024*1024))
"rd_nr" is the argument to specify how many ram drives we want. You can make multiple ram drives this way. "rd_size" is the size of the ram drive(s). The command above allocates a ram drive of 1 GiB (the argument is taken in KB). You can multiply the expression to create a higher size ram drive. Make sure you hands don't slip, or you will crash the system if you allocate memory than you have!
After creating the RAM drive, you will have /dev/ram<num>, for example /dev/ram0. You can access your RAM drive here.
After creating the RAM drive, you might notice your memory usage hasn't gone up. That is because the space for the RAM drive isn't pre-allocated. I like to pre-allocate the space, but you can skip this if you want the size of the RAM drive to grow as it fills. You can use dd for that.
sudo dd if=/dev/zero of=/dev/ram0 bs=1GiB status=progress
"if" stands for input file. /dev/zero gives an infinite amount of zeroes. "of" stands for output file. Replace /dev/ram0 for whatever your RAM drive is called. "bs" stands for
bullshit block size. Use a smaller block size if your ram drive is smaller than 1 GiB. "status=progress" updates the progress in real time.
To actually use the RAM drive, you have to format it.
This formats /dev/ram0 with ext4. Replace /dev/ram0 with your RAM drive, and you can also use a different format than ext4.
After formatting it, you can use it by mounting your RAM drive.
sudo mount /dev/ram0 /mnt/
You can mount it anywhere you want. Now you can put any data you want on our RAM drive.