Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment Re:Nope (Score 1) 230

We knew about the tradeoff between backwards compatibility vs adoption since day 1. The end result is not as bad as you make it sound: Each file in your codebase can be in one of many modes: php code, hack will ignore it Requires you to write your code in a subset we consider sane. You can start writing type annotations and they will be checked when present. Requires you to annotate your function parameters, return types & class properties. There are a few other modes, like decl, which lets the type checker "import" types.

Comment Re:English? (Score 5, Interesting) 230

Hack is more than turning PHP into Java or C. Java's type system is way different than C's (there are no objects in C). Hack's is different than Java's because it uses a type inference system. It also type checks incrementally, which allows the quick edit/save/reload cycles web developers are used to.

Comment Re:Same thing in x86 asm (Score 1) 115

Are you referring to hugi (http://www.hugi.scene.org/compo/compoold.htm) ? I believe the x86 size optimization people were doing in the 80s and 90s required a different mindset. You needed to really understand the OS environment & memory layout (e.g. putting DOS in graphics mode using a single byte). When optimizing javascript you focus on the javascript language (e.g. what happens when you do things like undefined xor 1). But overall you can't really compare assembly to javascript. Some things in javascript (e.g. regexp) are almost free, while defining a function requires you to write "function(){}" when it's only 2 instructions in assembly.

Porsche: there simply is no substitute. -- Risky Business