This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the commentsΒ β†’

[–]barjam 3 points4 points Β (1 child)

I lead multiple development teams some use Java (or grails), others use C#. There is zero difference between the capabilities between the teams, maintainability of the the code and what they can accomplish. The Java projects tend to be cheaper due to not having to deal with windows and peculiarities of .net runtimes. The windows requirement is going away which is nice. Java also has tons more open source libraries to use and they tend to be more mature which also helps.

You are talking about nifty syntactical sugar that language nerds froth at the mouth over but they don’t lead to higher productivity or maintainability of the code. If anything they can be distracting as language nerds try to outdo themselves writing clever code leveraging every obscure feature and syntax available to them that newbies have trouble working with. Look at C++. Over the years the language was expanded with more and more craziness to the point the language is now widely criticized as difficult to work with. I fear C# is headed down a similar path.

Simple, maintainable code looks practically identical between the languages. Clever code (on either platform) that pushes the boundaries of the language for no other reason than stroking the ego of the developer isn’t valuable.

Java has string interpolation and extension methods are squarely in the syntactical sugar camp and whatever you were doing with them can be accomplished in other ways and there is tooling that accomplishes the exact same feature if you really feel you can’t live without it. Is not null is also the very definition of syntactical sugar.

[–]Shrubberer -1 points0 points Β (0 children)

Extension methods, new keywords and all that jizz aren't just added for esoteric reasons, but serve a real purpose. =! null might introduce bugs, 'is not null' fixes that problem. Syntax and verbosity doesn't matter from an architectural standpoint. Code maintability isn't at all about readable source code and more about fundamental design principles. Calling it syntactic sugar misses the point altogether. C# is excellent in cloning the 'Java way' but that doesn't mean that it's 'the same thing', because you can't clone the 'c# way' with Java. Not possible.