Live data from Hacker News

About PayPal's Node vs Java “fight”

developer-blog.cloudbees.com

121–130 of 216 posts

Re: About PayPal's Node vs Java “fight”

#121

Earlier quoted context omitted.

Your package system is inspired by Maven, minus a good build system and other functionalities. Try building a large C# projects with running unit-tests, integration-tests, packaging, code-coverage, code style baked into it, and a bunch of other plugins for your build systems without pulling your hair. Your DateTime library ain't there yet sir so you're pretty much at the same situation with Java (although both ecosys…

C# is Java with perhaps 200% syntax improvement. The things I use most often with e.g. Ruby - monadic collection operations like map, select, etc. - is there in the form of Linq, with select, where, etc. A concise, type-inferred lambda expression goes a long, long way. The .net ecosystem isn't as evolved as Java, for sure. But I don't think maven is a good implementation of a dependency management system either, nor…

I still don't see any C# developers that are 200% more productive than Java developers due to limited infrastructure around the C# ecosystems.

Say anything about Maven but the recent discussion about embedding Bundler to Gem is just one step closer to be like Maven (now if they merged Rake+Gem+Bundler then Maven is). Even if Maven is not "good enough", .NET is thousand miles behind Java when it comes to dependency management and build system.

Google-Guava, as ugly as the syntax is, is good enough for most of us. Java 8 is around the corner so meh.

Re: About PayPal's Node vs Java “fight”

#122
post #85

Earlier quoted context omitted.

You've basically described C#: Getters, setters fixed? Check. Functional features? Check. Most crappy OO features fixed? Check. Trendy package system inspired by npm/apt-get/gems? Check. Healthy community with libraries replacing frameworks? Check. I'd recommend checking it out if you haven't already.

And C# "fixes" the deficiencies by heaping features upon features. Already it looks like the MS version of Perl.

Scala with all of its symbolic notation would be more like Perl than C# is. Scala also can run on .net[1].

[1] http://www.scala-lang.org/old/node/10299

Re: About PayPal's Node vs Java “fight”

#123
post #80

Earlier quoted context omitted.

Don't forget the javaagent and the ability to instrument JVM. Event .NET/CLR doesn't have that (They have some low-level COM/Profiler API but boy that takes a lot of effort to work with).

How could I forget? I personally use runtime instrumentation all the time: https://github.com/puniverse/quasar

Sorry I don't mean to hijack thread or anything like that but I work for AppNeta and we're on the APM field instrumenting various platforms. If you ever need an instrumentation tools for your full-stack infrastructure, check us out :).

Re: About PayPal's Node vs Java “fight”

#124

Earlier quoted context omitted.

I take a very cynical view of these things, and from that perspective it doesn't surprise me at all, really. My cynical view is that the "lousy" ones are popular because they are easy even for non-technical people to learn well enough to be useful in the majority of business settings. This sets up a kind of feedback loop: there is an abundant supply of "cheap" labor who can use these languages, which companies love,…

The commoditization of web devs will occur, it's just a matter of when. Consider it the collateral damage from ever-more-powerful frameworks, a de-emphasis on SOLID-type software architecture, and businesses wanting to pay less for developers.

Couldn't agree more. I'd argue it's already well on its way. It seems there has been a resurgence in companies trying to shoehorn every application into a specific development pipeline within the last several years (specifically, the HTML5/JavaScript in-the-browser solution, rather than a more appropriate native solution). It happens every so often in this industry, but lately it seems to have accelerated.

Re: About PayPal's Node vs Java “fight”

#125

Earlier quoted context omitted.

You've basically described C#: Getters, setters fixed? Check. Functional features? Check. Most crappy OO features fixed? Check. Trendy package system inspired by npm/apt-get/gems? Check. Healthy community with libraries replacing frameworks? Check. I'd recommend checking it out if you haven't already.

"You've basically described C#" Unfortunately the CLR doesn't run on any useful platforms.

Like Linux or Mac? http://www.mono-project.com/

Re: About PayPal's Node vs Java “fight”

#126
post #103
post #30

Earlier quoted context omitted.

Java has always been a good language if you ignored the ecosystem. The ecosystem is a large part of what defines a language though. You have to take care in how you define that ecosystem. I sometimes wonder if Node.js is making mistakes in the opposite direction as Java with their ecosystem these days.

Java has always been a good language if you ignored the ecosystem. You mean "no unsigned types (even though the language is essentially machine-level when it comes to integers), no compact memory layouts for aggregate data, no useful function values without jumping through hoops etc." is an approach that leads to good languages?

I think he's alluding to the stuff that comes after the language is released, not the language design/architecture itself. Node is not a language, so his comment probably implies that he's referring to the design choices of build system, development cycle (of tools, libraries and frameworks), and things like dependency management.

That's not my opinion, but just what I understood his comment to be about (personally I prefer the npm approach any day over Maven).

Re: About PayPal's Node vs Java “fight”

#127
post #85

Earlier quoted context omitted.

And C# "fixes" the deficiencies by heaping features upon features. Already it looks like the MS version of Perl.

Scala with all of its symbolic notation would be more like Perl than C# is. Scala also can run on .net[1]. [1] http://www.scala-lang.org/old/node/10299

The Scala .NET backend is being deprecated in 2.11.

Re: About PayPal's Node vs Java “fight”

#128
post #51

Earlier quoted context omitted.

Here's[1] a comparison of the two from an RoR guy who used Play! (with Scala) for 16 months. I found the ensuing discussion pretty informative with minimal FUD / bashing. [1]: https://groups.google.com/forum/#!searchin/play-framework/pl...

Thanks but I've seen a lot of similar comparisons and they seem to focus on trivial things :/ For example the portion about "Asynchronicity" is a brief paraphrase like "Play is good in Rails its awful or doesn't exist". Performance isn't even mentioned really. I find that with Rails apps a lot of development effort is put toward optimizing for scaling rather than complex logic, where Play could potentially be stronge…

> looking at Play as a potential new framework for a CRUD app with a very fancy UI.

Do you know of any frameworks that are good for that (but let you easily reach down for complex logic, e.g. where data processing or AI is needed)?

Every project I do needs some form of CRUD, and making it work AND be pleasing to interact with takes a lot of time. I don't mind the language, just someone, somewhere must have solved this already...

Re: About PayPal's Node vs Java “fight”

#129
post #114

> Spring brings a lot of functionality to the table. Likely far too much functionality. Most people are moving away from the monolithic application and moving towards smaller more lightweight frameworks… It's high time to debunk Spring. In the name of 'Dependency Injection' many Java developers still create complex, monolithic and - first of all - untestable applications with this framework. In fact, Spring adds anot…

"It fosters Anti-Patterns like 'Dependency Injection' that give you the illusion of modularity but instead create dependencies within the application ('Dependency Injection' needs to be taken literally)." What? Any system with separated modules is going to have dependencies. At least with DI, classes are written to a interface and different versions easily be swapped in and out.

> Any system with separated modules is going to have dependencies.

Thank you. I thought I was the only doing my nut in over "I've done DI, now I have all the same dependencies" ... adds DIC ... "Now I have all the same dependencies but higher up, and.. oh I need to add logging to 80% of the objects" [Goes to kill myself]

I have OCD about writing beautiful code. The more I try, it seems to real world prevents it from happening.

Eager to learn so if good demo code, resources, books or I'm missing something (obvious or not) I'm all ears.

Post reply on HN