Scratch is a simplified programming language for kids between 8 and 16 years. Scratch enables them to explore their imagination and creativity by designing interactive animations, stories, games, Art and music. It is also a platform to work collaboratively, reason systematically and share with kids around the globe. Scratch has an online editor that can be accessed from any browser. Scratch has extensive language support too. Kids can search existing projects which are well-categorized and start contributing to one of those or develop one on their own. Right now Scratch hosts around 5 million projects which should give a clear picture of how popular it is. Scratch is an educational initiative for kids from MIT Media Lab. And Scratch is fun!
This is an eternal question dug over and over during engineering graduation days. IMHO, it’s best to start with C. It is a very rich language and is more powerful than any other non-obscure 😉 programming language ever written. Many other programming languages are written based on C. It is not very difficult to learn new programming languages when you already are well-versed in one. In my personal experience, I studied for 15 days and scored 98% in SCJP then conducted by SUN Microsystems. I haven’t worked regularly in JAVA since 5 years but even today it doesn’t block me from looking into a piece of JAVA code or reviewing them. The truth is – learning a language doesn’t matter if you know only the syntax and features of the language, a complete understanding of how to convert any logic into that language in the best possible way is required. It takes minimum 6 years for a good programmer to claim that he knows C (or any other language) well. One more point to remember here is – if you are interested in systems programming it’s better to marry C ;); C++, JAVA etc. are engineered more towards customer requirement oriented rapid application development. I mean business, not elegance.