Hacker News new | past | comments | ask | show | jobs | submit login

Indeed. Java and C# are some of the least flexible programming languages around. The problem, though, is that people like being told what to do. They don't want to wonder if they are implementing something correctly, they want to know that they are "following best practice". They don't want to invent their own features, they want to read a cool blog post about something "the experts" came up with and then try using that in their application.

This produces horrible code, of course, but since it sort of works and nobody knows any better, it's the norm. (Most programmers don't know programming. Why they want to be a programmer is beyond me, but it happens.)

The people that have a deep understanding of programming and know what they want to do and how to do it are not using Java or C#.




C#'s got lambdas, closures, generics, reflection, extension methods (weak form of monkey-patching), and anonymous types (I can't speak to Java, but it's got a lot of these as well). Can you please describe the flexible features C# is missing?

As for the programmers in those languages, I guess I'm one counterexample. My colleauges and I talk quite a bit about the "right way" to do things. We gripe a great deal about shortcomings in the .NET universe. I hate "best practices" (aside from trivialities like naming conventions), and prefer to evaluate practices on their merits. I've written frameworks of various sizes. I read cool blog posts to see what others are doing. Occasionally I'll try things to see if they'll work, not because some "expert" thought of it.

So, I'm at least one counter-example, and I know of numerous intelligent and erudite friends and bloggers who also fit this description. I wonder if you can perhaps provide some examples to support your claim that Java and C# programmers have no depth of understanding?


> They don't want to invent their own features

Maybe they don't want their coworkers to go nuts inventing new features and then be the ones that need to maintain them.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: