4 ms·
I find i very hard to believe that someone (even a extremely large group) would be able to build an operating system from the ground up that runs java applicati
by callesgg 13y ago
I find i very hard to believe that someone (even a extremely large group) would be able to build an operating system from the ground up that runs java applications and renders HTML5.
In less than something like 10 years.
Using that as i ground i would put a large bet on that it is not at built from the ground up at all. Probably just a really bad linux distro.
- ahomescu1 13y agoThis looks like a massive project that you can just throw people at. Putting 1000 people on this would get you a 1000x speedup over making it a one-man project. OTOH, you'd need a very good design from experienced people (OS experts, web browser experts, Java/JavaScript compiler people, etc).
- calineczka 13y ago> Putting 1000 people on this would get you a 1000x speedup over making it a one-man project What? Do you seriously believe in that?
- cronin101 13y agoIf you tell 1000 people, collectively at least one person will believe that.
- deleted 13y ago[deleted]
- ahomescu1 13y agoYes, see the parallel comment. There are many independent pieces in an entire OS: kernel, drivers, browser, all the applications, libraries etc. Most of them are weakly connected (except maybe the platform libraries). Are you saying someone couldn't develop a POSIX-compliant kernel and libc in parallel with the apps that run on it?
- eob 13y agoYou might be interested in this book. It's required reading in many CS curricula: http://www.amazon.com/The-Mythical-Man-Month-Engineering-Anniversary/dp/0201835959 http://www.amazon.com/The-Mythical-Man-Month-Engineering-Ann...
- ahomescu1 13y agoSomeone already brought it up in a sibling comment.
- digitalzombie 13y agoyou should read mythical man month...
- ahomescu1 13y agoI know about mythical man month, but this is a good counter-example: a massive project that breaks up into many small independent pieces: an OS kernel, drivers, a browser (with a JavaScript compiler), a Java VM, all the applications (each one developed independently). You can have separate teams working on each of those. EDIT: Ubuntu has about 38k amd64 packages in total [1]. Those are mostly developed by independent teams, so they could be re-developed in parallel. While Android isn't that big, it still is broken up into many sub-components, along with a lot of external dependencies [2]. 1 - http://askubuntu.com/questions/111753/how-many-i386-and-amd64-packages-exist http://askubuntu.com/questions/111753/how-many-i386-and-amd6... 2 - https://android.googlesource.com/ https://android.googlesource.com/
- count 13y agoYou realize the mythical man month is specifically about building a massive project - a computer operating system, with all of those 'independent' parts and 'small pieces'?
- ahomescu1 13y agoYes, but it doesn't say that it can't be done by a large team. If you break down a project the right way, it can be parallelized. I think a good specification helps a lot. For example, integration is much easier if the OS kernel and C library are coded to POSIX standards, than to whatever the project itself chooses. Same thing applies for other standards, like programming languages (Java, JavaScript). You can have a JVM team implement the VM separately, then come in at the end and plug it into the big system. Also, what the MMM says regarding big projects is that "adding manpower to a late software project makes it later", not that it's never useful. As a counter-example, let's look at Android. Are you saying that all of Android was written by a small team of 10 people?
- weland 13y agoI really hope I never work with you.
- ahomescu1 13y agoI really think you misunderstood me, please read my other responses.
- weland 13y agoI didn't. Your logic is built on the fallacy that the following are independent: > An OS kernel, drivers, a browser (with a JavaScript compiler), a Java VM, all the applications (each one developed independently). They aren't. The kernel and the drivers can't be built in parallel. You can only build the browser after you build the kernel and the driver (best-case scenario you can make the OS POSIX-compliant and begin to develop some of the userspace along, on another POSIX-compliant OS, but it's not trivial and there will be additional porting effort no matter what). Ditto for JVM, and you will have additional integration effort between the JVM and the browser.
- kodablah 13y agoTrue. A JVM and a standards compliant browser from scratch are significant achievements and I am very skeptical. The last quote mentions that they won't open source it because it copies those things (which is not bad, but a far cry from "completely independently developed"). I think they won't open source it because non-corporate adoption is less important than the state-secret mentality. But it shouldn't matter, once released surely engineers can disassemble the binaries or check implementation quirks of Oracle/Google tech implementations to know whether they are fresh implementations. Edit: Ok, a JVM alone is not that significant, but re-building the Java standard libs (harmony-style) and making the JVM high performing (dalvik-style) is.
- deleted 13y ago[deleted]
- petermcd 13y agoYou could do this quickly if you just ran Android with a desktop skin.