3 ms·
What exactly is wrong with Java and C#? You can do amazing things with both. I'm a Python guy, and I constantly dislike the lack of static typing for back-end t
by antihero 12y ago
What exactly is wrong with Java and C#? You can do amazing things with both. I'm a Python guy, and I constantly dislike the lack of static typing for back-end things in JS/Python.
- calebm 12y agoI don't prefer the verbosity of Java; I do like C# pretty well - it certainly has its place, but Node.js also has its place. My current project is a proxy between a modern web app and a legacy Java system; Node.js was a much better choice than either C# or Java for this use case.
- doorhammer 12y agoI'd be interested in an elaboration on why Node was a better choice than C# or Java. I don't mean that snarkily; I'm really interested. I work mostly in C# and actually feel pretty happy with it as a language (I've used Ruby and Java in other major projects, used to do a lot of my side hacking in Clojure, and I'm learning Haskell now). It's one of the more solid languages I feel that I've used, especially combined with LINQ and some other tools. Also was wondering if you had heard of SignalR in .NET, and if you had, what your thoughts on it are? I don't know a ton about it. I've heard good things from other C# dev friends, but it seems to be aimed squarely at the real-time/near-real-time web arena
- untog 12y agoI work with JS every day but used to work in C#, and I still miss it. But unless you're working on MS platforms it's just a huge pain to get it to work.
- rakoo 12y agoWhich is why Golang has exploded recently: it gives you static typing security of Java with a coding workflow of an interpreted language. What I personally find wrong with Java is the extreme verbosity of the language, the verbosity of maven (it's the only build system I've used for Java), the extreme memory consumption for little benefits and generally the Architect Astronaut mentality that is so easily associated with Java. [0] http://www.joelonsoftware.com/articles/fog0000000018.html http://www.joelonsoftware.com/articles/fog0000000018.html
- dragonwriter 12y ago> Which is why Golang has exploded recently: it gives you static typing security of Java with a coding workflow of an interpreted language. Sure, it has similar static typing to Java, but it also has the same coding workflow as any other compiled environment, not the workflow of an interpreted environment.
- ColinCera 12y agoI believe parent comment was probably alluding to compilation time. My experience with Go is that the compile times are usually close to zero seconds and this indeed makes it feel almost exactly like working with Python or JavaScript. Parent may also have been thinking of Go's concision, which feels more like using a scripting language than using a class-based monstrosity like Java, and certain other features, such as type inference that make variable declaration as painless as weakly typed languages.
- dragonwriter 12y agoAs far as verbose vs. concise (including the impact of type inference), I don't see Go as being much like a dynamically typed language. Sure, it is a bit lighter than Java, but for nontrivial code you still end up with plenty of type system related cruft -- a lot more than in Haskell, which is on of the few static languages which is anywhere close to dynamic languages in terms of being concise and having little of the empty type-related ritual that plagues most other static-typed languages.
- rakoo 12y agoYes and yes, exactly.