Become a fan of Slashdot on Facebook


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: Re:Nope (Score 1) 230

by alokmenghrajani (#46538965) Attached to: Facebook Introduces Hack: Statically Typed PHP
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

by alokmenghrajani (#46537933) Attached to: Facebook Introduces Hack: Statically Typed PHP
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

by alokmenghrajani (#39469521) Attached to: Javascript Game of Tron In 226 Bytes
Are you referring to hugi ( ? 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.

Have you ever noticed that the people who are always trying to tell you `there's a time for work and a time for play' never find the time for play?