I just had finished an article about facebooks new programming language. I am compiling it right now (thats there is a aur package available for hhvm).
In general, it looks like hack is friendship php with benefits. Can be run as script language, can be used as dynamically typed. Yes you are right, both times a "can be", indicating "can run as compiled code" and "can be statically typed" (or how they called it gradual typing.
So what hack is hack?
Hack is a programming language for HHVM that interoperates seamlessly with PHP. Hack reconciles the fast development cycle of PHP with the discipline provided by static typing, while adding many features commonly found in other modern programming languages.
Hack provides instantaneous type checking via a local server that watches the filesystem. It typically runs in less than 200 milliseconds, making it easy to integrate into your development workflow without introducing a noticeable delay.
Good articles are starting to spreading around, first i found was on sitepoint.com.
I was searching for a support announcement of hack for phpstorm and yes, there is a feature request for hack support as well as a feature request for hvvm debugger out there. Crossing fingers to get it in asap :-D.
Just got the following exception thrown while i updated/installed phpstorm on a fresh installed arch linux.
java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-7-openjdk/jre/lib/amd64/libsplashscreen.so: libgif.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1872)
at java.lang.Runtime.loadLibrary0(Runtime.java:849)
at java.lang.System.loadLibrary(System.java:1088)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:67)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:47)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:121)
at com.intellij.idea.IdeaApplication$IdeStarter.a(IdeaApplication.java:218)
at com.intellij.idea.IdeaApplication$IdeStarter.a(IdeaApplication.java:195)
at com.intellij.idea.IdeaApplication$IdeStarter.access$000(IdeaApplication.java:178)
at com.intellij.idea.IdeaApplication.(IdeaApplication.java:97)
at com.intellij.idea.IdeaUltimateApplication.(IdeaUltimateApplication.java:16)
at com.intellij.idea.MainImpl$1$1.proceed(MainImpl.java:53)
at com.intellij.ide.a.f.ab$3.run(ab$3.java:372)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
First idea, "well something went wrong" (because i simple rsynced my settings from another pc). Later it turned out something else was missing. A simple "pacman -S giflib" and everything was running fine afterwards.
so giflib was missing.
What is "giflib"?
giflib is a library for rendering and generating GIF image files.
PHP 5.5 support: generators, coroutines, finally keyword, list in foreach, using empty() on the result of function calls and other expressions, class name resolution as scalar via class keyword, constant array/string dereferencing
Drupal Plugin: integration for modules, themes and core development. Hooks (completion for hook declaration, quick documentation, navigation to hook invocations), automatic assistance in development environment configuration, command line tool integration for Drush, Search in Drupal API. Please read full tutorial
Smart Step Into (PHP Debug)
Extract Interface refactoring for PHP
Built-in SSH terminal
Automatic alignment of PhpDoc comments at edit time
Zenburn, a colorschema you are adding and thinking "wow, how could i code without".
I used it at home but never wrote any words about them. So here are the first to links to available zenburn application colorschemas :-).
zenburn for vim. You have to add the following lines to your .vimrc.