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

based on the given criteria, wondering why Java wasn't considered.


Probably because of memory usage and garbage collection and the fact that java needs to be installed on most systems whereas C++ needs no dependencies and python comes preinstalled on the usual linux server (probably not python3 but i assume it will be some years before bind10 sees adoption for such critical infrastructure). Also he mentions specialized data structures and memory management.

Atleast i wouldn't sleep well if i know that the heart of the internet was running Java :P


Probably because of memory usage and garbage collection and the fact that java needs to be installed on most systems whereas C++ needs no dependencies

Well, GCC (as in the compiler collection) has had a ahead-of-time compiler for ages:

http://gcc.gnu.org/java/

There is also work in the LLVM camp on AOT Java compilation:

http://vmkit.llvm.org/

Atleast i wouldn't sleep well if i know that the heart of the internet was running Java :P

Well lucky you, only many other vital body parts are running on the JVM via Java, JRuby, and increasingly Scala ;).


Those implementations have quite weak garbage collection implementations (boehm conservative, but I'm not sure), which would just kill the performance. Hotspot JVM has a very sofisticated Incremental Generational garbage collector, which does have a _very_ good performance. I'm pretty sure they had their reasons for not using Java (I actually do have mine too), but, garbage collection is not one of those.


Indeed. I was arguing against the 'you need the JVM as a dependency'. But then Go is all the hype these days, and people also use Go for network applications, which also has a weak GC ;).


Go does generate a _LOT_ less garbage then Java, you can control the layout of your structures. That why its gc has less impact on performance then the JVM´s one.


There are many more commercial AOT solutions for Java

- IBM J9

- Aonix PERC

- Oracle Squawk VM

- Oracle Embedded Java

- Excelsior JET

- Avian

- RoboVM

- ...


What parts are running on the JVM that are as vital as BIND?


Which ones? I'd say DNS is probably the most important parts. I also don't believe that core routing equipment is running in the JVM.

Apparently you are talking about the "Web", i was talking about the internet or networks in general.. I'm aware that tomcat may have a very large installation base. There is no use for your tomcat if the DNS is down, though :P



Very cool, but not really related to core internet functionality.

The truth is, Java is viewed as "not Unix friendly" by many people, whether deserved or not. I suspect the ISC folks fall squarely into this camp. My personal and thus purely anecdotal experience is near-universal hostility from network admins.

Despite this, there is a fair amount of network management software written in Java. OpenNMS and Cisco Prime Networks (an absolute beast) both spring to mind.


Yeah, cultural issues are very hard to fight and usually require a generation change.

I convinced unless a big OS vendor forces changes for their default system programming language, nothing will change.

This is why I like Microsoft's decision to drop C on Windows.

What I would like is to have a proper systems programming language in the lines of Modula-3/Active Oberon/C#/D/Rust or similar, being used.

Time will tell when this happens, but it will require a few generations of developers for the mentality change to take place.


Neither is a particularly viable option: GCJ is nearly a decade behind mainline Java in terms of feature support. VMKit seems cool but I'm not sure about the maturity of the project.


> wondering why Java wasn't considered and 70% of the internet's backbone not risked to vulnerabilities...


Okay. Maybe Ada is a better choice.




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

Search: