"Its often-cited advantages include the variety of applications available and the (diminished but still substantial) ???community of practice??? that new users can draw on; its disadvantages include a very steep learning curve, particularly for developers." . . . .