Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>>I've been in the situation several times where technology decisions are made based on brand

I've personally seen a scripting language been thrown out and everything rewritten in Java.

After a couple of years they had to go back to scripting languages for a big part, for productivity. So they would ship sometime... (To minimize embarrassment, they used a different scripting language. [Edit: Yes, the second scripting language have almost as much hype as Java...])




We went PHP->Java a couple of years ago, because we'd need thousands of app servers if we didn't. We recently agreed that when we replace the stuff that isn't performance-critical, we don't need to take the productivity or morale hits to do that in Java, but we'll be damned if it's staying in PHP.


Well, I'm not for or against Java or any other language. I agree that there can certainly be "bad" choices for specific problems, but it's absurd to think that Java specifically (or COBOL) is some kind of scalability magic bullet.

<offtopic> It's been a while since I worked with PHP, but when looking at performance or distributing work I can appreciate the desire to migrate to a different language. I've always seen PHP as more of an over-ambitious template language (even though smarty and so on exist to perform this function on top of PHP). Basically I'm not surprised by your story. </offtopic>


Did you happen to write/blog anywhere about the scenario and the reasons for the move from PHP to Java? It would be an interesting case study.


Sadly no, I've chosen not to identify myself so that I can fully speak my mind. But in short, the PHP 5 interpreter (with APC) was a pig even for a scripting language, and few builtin client stacks lent themselves to making parallel requests to different backend services with timeouts in milliseconds. The rewrite was also an opportunity to jettison technical debt like support clutter for long-disused features (many forgotten after turnover in engineering). We only had to tune the GC a little; the gotchas have been minimizing exception volume (they're still extremely expensive, especially when stock Tomcat 6 handles certain bogus requests that way) and learning to avoid certain J2SE features which impose unexpected synchronization (weird stuff like creating fresh java.util.Calendar instances instead of cloning one). Nowadays we're moving from servlets towards Netty and async everything so our cores don't context switch so much.

We don't like Java, but the JVM has met our needs pretty well. I was tempted to argue for Clojure, but I'm not sure we could have taken the performance or maintainability hits for discouraging static typing.


I'm not really a web/php programmer, but my (humble) experience really was like the cliche -- the limiting factor was the db and not the scripting language.

(I'm right now relearning css, javascript, dom etc. The present place is getting to be a bit non-challenging and boring. And I promised myself I'd work hard to do interesting things the rest of my life.)

Edit: I might add my 2c. I have no problem with Java, really. It is like a simplified C++. It is just boring.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: