A lot has happened since we announced Hack. We’ve already highlighted our Hack developer day, as well as posting a series of community roundups (one, two, three) highlighting the projects that our amazing Hack community have been building.

However, one thing we haven’t talked about much is the progress and evolution of the language itself. We’ve been busy driving the language forward, improving its PHP base as well as adding new features requested inside and outside Facebook to further increase developers’ productivity. But unless you’re the sort of person that reads every commit going into the HHVM github repository or every change to our docs site, you probably have no idea about any of these changes since we haven’t talked much about them yet.

List of Hack GitHub Commits

Over the next few weeks, we’ll be making a series of posts talking about all that has happened to the language over the previous months to continue driving it forward. Some of the things we’re planning to talk about:

  • Typechecking new static()

  • Interface requirements and trait requirements

  • First-class enums

  • HH_FIXME and other error suppression mechanisms

  • Better understanding the type signatures of the PHP standard library

  • OS X support

  • Covariance

  • The nullsafe operator

In short, a lot has happened to move Hack forward since its launch, and we’re excited to talk about it now – and there’s a lot more on our roadmap, so stay tuned for some of our future plans as well.

Comments


  • Carl G: It would be great to get an update on IDE options for Hack. When will FBIDE be available?
  • Josh Watzman: Really sorry that we don't have any good updates on this. The most that I know is that it is taking longer than we expected, but it's still in progress, and something we want to get out as soon as we can.
  • Ze Ze: It's impossible to find tutorials or even news about Hack lang because the word "hack" is so generic. When will you change the name of the language? And yes, IDE is needed. You should just make it an IntelliJ extension, as that's currently the smartest cross platform IDE out there.
  • Josh Watzman: Yeah, it isn't the greatest name for a language ever, but we also don't have any plans to change it, sorry. The community roundups linked in the post above are good resources for the existing blog posts, tutorials, code examples, etc that I at least am aware of. On the IDE front, we of course have FBIDE on the way. We also have plugins for vim, emacs, and now sublime-text -- there are links to them at https://github.com/facebook/hhvm/tree/master/hphp/hack/editor-plugins. There's also a highly voted issue to add Hack support to PHPStorm, which we'd love to see happen, and have had a couple conversations with JetBrains to hopefully help make it so.
  • RouteXL: Great work! How about a plugin for Eclipse?
  • Josh Watzman: No one is working on one right now as far as I'm aware, but I'd be more than happy to accept a PR on GitHub if you or someone else wanted to write one! https://github.com/facebook/hhvm/tree/master/hphp/hack/editor-plugins is where our existing plugins live.
  • Vincent DM: Thanks for the update; looking forward on the OSX item as it would be a great way to quickly experiment, without spinning up yet another VM. However, reason #1 holding me back to jump into Hack is IDE support (I find the supported editors arcane). Learning a new language is already taxing, and I don't want to combine this with being dragged down by a new and unfamiliar editor. As said before, IntelliJ would be the optimal IDE, since it is so popular among professional PHP developers (which I assume are the target audience for hack). Based on the ticket at Jetbrains' site, they seem to be waiting for more examples of actual hack projects (which seems like a chicken-or-egg approach to me), so it would be great if Facebook could prod them or maybe even contribute it as an externally-developed extension? Anyway, thanks for driving the PHP community forward. I'm glad that hack is fixing so many things that have bothered me for years.
  • Jordan: I hope so. I want to use Hacklang badly, but I refuse without an IDE.
  • Ze Ze: I looked at the intro video about FBIDE, sorry I'm not excited about that. Even editors like Atom are slow as snail, can't imagine a proper IDE built with JS. The UI looked more like a website for tablets rather than a IDE, I guess that is what it's gonna be - more of an editor than IDE? I can't believe nobody in the adience had the stones to tell what a big of a spawn of evil JS is. PHPStorm/InjelliJ support sounds great though.
  • noko: Well the name is not worse than "C" or "Go". Just start adding "hacklang" for search engine friendliness, just like people use "golang".