In electronic computing, high-level languages hide much of the details, allowing non-experts and sometimes even children to program and create systems. High level languages for biomolecular systems aim to achieve a similar level of abstraction, so that a system might be designed on the basis of the behaviors that are desired, rather than the particulars of the genetic code that will be used to implement these behaviors. The drawback to this sort of high-level approach is that it generally means giving up control over some aspects of the system and having decreased efficiency relative to hand-tuned designs. Different languages make different tradeoffs in which aspects of design they emphasize and which they automate, so we expect that for biology, there will be no single ‘right language’, just as there is not for electronic computing. Because synthetic biology is a new area, no mature languages have yet emerged. In this chapter, we present an in-depth survey of four representative languages currently in development – GenoCAD, Eugene, GEC, and Proto – as well as a brief overview of other related high-level design tools.