In addition to the normal range of features in an IDE, these often offer development tools to support learning such as the learning languages in DrRacket (formerly DrScheme), or the direct manipulation object creator/inspector in BlueJ. There is usually a range of supporting materials including textbooks.