Hacker News new | ask | show | jobs
by ausjke 3594 days ago
It's written in java/tomcat after I read for 15+ minutes and then backed out, as I don't use java.
2 comments

This is a silly statement I see time and time again. Does the tool provide you value and solve a problem you have? Then use it. You are an engineer.

To show how silly it is, imagine if you were talking about another program that was incredibly useful like grep for example:

"It's written in c after I read for 15+ minutes and then backed out, as I don't use c."

grep is simple to use from a simple command. Setting up a Java server and maintaining it is quite a different challenge then running a command with a few parameters. I wouldn't use it because if it goes down, fuck. If I need to extend it or decide to change something in there, fuck. I would want to use something that is easier for me to fix and maintain or my coworkers to fix/maintain, then have a product built from multiple languages that require too many different types of people to keep it running.
I wasn't suggesting you do something that would place a large burden on your coworkers, but there is a point where the usefulness of existing software is greater than any potential churn of learning it's running environment.

Suppose you were a ruby developer and you want to create a fully scalable, highly available JSON document store that you can easily index, store, and backup/rotate, and a solution like this wasn't available in your language. Would you create your own database to store the documents, implement your own consensus algorithms and searching algorithms like TL-DF?

Or would you just learn how to use elasticsearch and incur the cost of running it?

Yup. It goes far beyond the effort taken to run it. Straight out of the preface of Site Reliability Engineering, a book written by Google SREs, "estimates 40-90% of the total costs of a system are incurred after birth".

Edit: This was meant to go under one of your post's child comments, and hopefully isn't too out of context misplaced here.

If a Java web application is packaged properly, then running it as simple as 'java -jar myapp.jar'.
I already use javascript, c, c++, PHP, python, ruby, css, less, sass, jade, sql, etc for my daily work. However I do avoid java/tomcat and .net ecosystem, they're either too heavy, or not my favorite ecosystem. My comments are simply a reminder for those in the same boat so that they can save some time.

Are you going to pick up _all_ kinds of tools from a store? I do have my preferences there.

I had the same experience. People who still use java should try to be more upfront with it, so others don't waste their time...