Inspired by Why Metapost discrimination?, I'd like to come to know Metapost far better than I do now. All I really know is that Metapost is a language for describing graphics, and Metafont is used specifically for describing fonts.
So what is Metapost/Metafont?
do Metafont/Metapost have similar syntax, as the names would suggest?
are the tools to work with and compile them included in the popular TeX distributions?
is there anything like a 'Hello World' for these systems? (Various examples with Metapost can be found throughout the site, but not so much Metafont, it seems.)
can pdfTeX use fonts created with Metafont without too much hassle?
(same for Metapost, but it would seem that the multiple examples on this site speak for themselves)
METAFONT was designed by Knuth to be a companion of TeX. Its job is to produce fonts from "mathematically described" shapes. The output of METAFONT is a collection of bitmapped glyphs; by setting suitable parameters, if the description of the characters is careful, the output can be adjusted to suit any particular printing device (for instance resolution is very important, but it's not the unique aspect to take care of).
Metapost is a program directly derived from METAFONT; it was originally written by John Hobby, who made valuable contributions to METAFONT. So, yes, their syntax is similar: the language is actually the same, but Metapost adds several primitives and also data types (RGB and CMYK colors are respectively triples and quadruples that aren't used in METAFONT). Conversely, some of the features of METAFONT are meaningless in Metapost
Metapost's output is a simple form of Postscript, and this is the main difference between the two programs: Metapost's output is vector graphics, while METAFONT only outputs rasters.
Metapost can interface with TeX to get character metrics and include type in its output. This is not possible in METAFONT (well, there are some TUGboat papers describing clever usage of METAFONT).
Fonts created by METAFONT are usable with pdftex: all that's possible in Knuth TeX is possible also with pdftex. However, the fonts are bitmap, so high resolution versions of them have to be generated if one wants good output; pdftex has a couple of primitives for this: \pdfpkresolution and \pdfpkmode that are used for generating on demand bitmaps from the sources.
The output of Metapost, being (Encapsulated) Postscript, can be directly included with latex; but, since it uses a restricted set of Postscript functions, it can also be included in pdflatex via a set of TeX macros originally written for ConTeXt.
A "Hello world" for METAFONT can be found in the METAFONTbook, but it's not really as simple as a similar test document for (La)TeX.
A "Hello world" for Metapost can be written "easily". Write the following hello.mp document:
prologues:=3; % include all fonts
outputtemplate:="%j-%c.mps"; % output file will be hello-1.mps
label(btex Hello world! etex, (1.5cm,1.5cm));
Run mpost hello and then epstopdf hello-1.mps to get hello-1.pdf for previewing
The complete documentation of Metapost is available in the TeX distributions (for TeX Live do texdoc metapost).
To expand upon Herbert's comment and as an adjunct to egreg's, here's a code snippet which will allow one to directly process MetaPost code within LuaLaTeX, no need for external tools, Thanks in part to luamplib, a package/support interface for the mplib Lua library, an embedded version of MetaPost:
texdoc metafont. For more fun with
metapost, I find this and this really helpful.
No documentation for metafontunder MikTeX---that doesn't bode well for point #2 :(
pdftexcan use MF created fonts, but they are bitmap.