Learning to program varies based on the language, prior experience, and practice. What are the typical learning curves for these languages, and how long does it take to become proficient in data structures, algorithms, and real-world application development?