![queuing file for download by news rover hangs queuing file for download by news rover hangs](https://img.yumpu.com/10687181/1/500x640/download-14mb-open-research-online-the-open-university.jpg)
And when we need to break things out, we head into C++, the queen mother of castles on broken foundations.
![queuing file for download by news rover hangs queuing file for download by news rover hangs](https://content.spiceworksstatic.com/service.community/p/post_images/0000303426/5accd743/attached_image/PDF_paper_size_options.jpg)
> I am baffled as to why you'd build your castle atop a crumbling foundation.īecause perfect is not the enemy of the good? Because "build atop a crumbling foundation" has demonstrated time and again to be, by far, the most successful way to accomplish anything in computing? Unless you have some example of perfect, now dominant, technologies that have been created ex nihilo that I'm missing? I mean we (facebook) are still using PHP and MySql, improving both. I don't see how the same guarantee can be made with something that is just cobbled together.
#QUEUING FILE FOR DOWNLOAD BY NEWS ROVER HANGS CODE#
That way, the compiler is now almost an engine to prove your code is correct. Standard ML's standard is perhaps the most infamous it's a collection of mathematical statements about the language. Type checking and inference is an area ripe with theory and attached formal, mathematical semantics. That approach led to many bugs in many cases that just simply aren't thought of when one is trying to build inference engines by hand, as opposed according to theory. They seemed to take the approach of just building onto it incrementally until it just seems to work. Writing correct type checkers and inference engines is kind of difficult. The prevalent attitude toward it is that "PHP, as it's coded here, is mostly like C++, and that's OK.") And in the end, it's still PHP, which is duly disliked. Now they've written (1) a compiler to C++, (2) a compiler to VM byte code, (3) a corresponding runtime for each, (4) extensions to PHP, (5) a type checker, and (6) an inference engine. OCaml was my favorite thing to write there, though it didn't afford some of the same niceties and interactivity as the PHP code they had, only because the support was down by several orders of magnitude.)īut at the same time, layering FP with a home rolled static type checking server (?) is bug prone and is certainly yak shaving (which they have time and money to do). (They do have some OCaml people, but they are outliers. I mean, I "understand" logistically: they already had a giant codebase in PHP, migrating a codebase is expensive, and it's difficult to hire and train 1000s of hackers in e.g., OCaml.
![queuing file for download by news rover hangs queuing file for download by news rover hangs](https://c8.alamy.com/comp/2CHAAE3/passengers-queue-for-public-transport-on-a-bridge-as-cars-are-stuck-in-traffic-in-bangkok-thailand-september-12-2018-reutersathit-perawongmetha-2CHAAE3.jpg)
I have wondered why FB didn't use a proper language with proper typing to begin with. I am baffled as to why you'd build your castle atop a crumbling foundation.