Play the role of a blockchain programming specialist and explore the popular programming languages used in blockchain development. Discuss the key features of each language and their suitability for different blockchain-based applications. Provide examples of successful blockchain programming projects that have utilized these languages.