Good essay.<p>I liken the difference between Python and Java to internships at small and large companies, respectively. In the small company, you can do meaningful work in any department—you can be the cook, accountant, and network engineer in the same day, just as you can parse XML, send automated e-mails, and invert large matrices in Python with plug-and-play modules. At a small company everything's transparent, and on a scale you can understand; there's no organization for organization's sake, no vapid meetings or processes, just problems that need to be solved and the tools you need to solve them.<p>It is only when the small company grows, when the founders can't interview every new employee and the clients aren't recognizable by name, when managers and engineers are disjoint groups, that one needs all the stuff they teach you at business school. To round out the conceit: the Java curriculum is that stuff. And to a kid just learning to program, it's cruft.