I started programming in 1996 exactly when the Java boom began. My first two languages at University were actually Scheme and SML. Java was my third and was easily my favorite. Now I have come full circle and am working on a project in C with Scheme as the scripting language. But back then: it was Java all the way, simply because as a new programmer Java's standard library was so coherent and simply laid out. There was no confusion. I could get a hint at what I could do with the language just by navigating the Javadocs.
OOP is much easier to document than functional languages, and that was huge for a newbie like me. Scheme? At the time I had no idea what was going on under the hood, and its standard library was a complete mystery to me. Scheme is great for illustrating advanced CS topics like recursion and macros, but it is not that great for teaching a new programmer how to build something.
Java and OOP were almost like legos for me. You only learn the downside of OOP through experience. When you have no experience, it seems like the most obvious and intuitive way to go.
For me it was the Javadocs (Score:5, Interesting)
OOP is much easier to document than functional languages, and that was huge for a newbie like me. Scheme? At the time I had no idea what was going on under the hood, and its standard library was a complete mystery to me. Scheme is great for illustrating advanced CS topics like recursion and macros, but it is not that great for teaching a new programmer how to build something.
Java and OOP were almost like legos for me. You only learn the downside of OOP through experience. When you have no experience, it seems like the most obvious and intuitive way to go.