Hacker News new | past | comments | ask | show | jobs | submit login

.net and java aren't unpopular because of their compiled nature. They are certainly much more performant and development lifecycle is quicker. The problem is their licensing fees. Python, Ruby, Node, and PHP have no licensing free and deployment costs are negligible. Most developers would agree that PHP is horrible; despite that it is very popular, because it is free.

Once performance becomes an issue, compiled languages become more advantageous. This is why twitter is now on java/scala, and stackoverflow is on .net.

Dynamic languages are certainly less restricting and may be faster to development at the start, but have a major maintenance and debugging cost. I shutter when I think about trying to modify and huge javascript or php codebase. With .net, no big deal.

As a personal preference, I like objective-c, it has the benefits of dynamic and static languages and it very performant. Too bad it is mostly limited to the apple platform.




FWIW Java doesn't have any licensing fees to use for web apps, there are plenty of OSS frameworks available also.

Compiled languages have never been super popular for web development. Before Python/Ruby it was PHP/Perl that were the driving force outside of "enterprise". I guess enterprise adopts Java and .Net mainly because it is what most college grads come out of school knowing well, also the type safety may be advantageous when building big systems across hundreds of developers with ranging skill levels.

I think the main reason for dynamic languages being popular on the web is that the "Save Text file -> Press F5 in browser" and deployment by copying text files to an FTP server feels intuitive , has a quick feedback loop and a lower learning curve. Adding a compile & linking step just feels like it adds friction.

I worked with developer with a design & some PHP background on a small project that involved Java and he really struggled to understand why I was messing around with tomcat and .jar files rather than just copying .java files to the webroot.




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

Search: