- Hack aka PHP с типами (Facebook)
Фреймворков нет, нужно ставить HHVM.
<?hh class MyClass { const int MyConst = 0; private string $x = ''; public function increment(int $x): int { $y = $x + 1; return $y; } } // Generics class Box<T> { protected T $data; public function __construct(T $data) { $this->data = $data; } public function getData(): T { return $this->data; } }
- Golang (изначально - side project нескольких сотрудников Google)
Фреймворков нет. Зато в стандартной библиотеке есть полезные вещи. Хотя, для полноценной разработки их недостаточно.
package name import ( "fmt" ) func Hello(name string) string { return fmt.Sprintf("Hello, %s", name) }
- Rust (Mozilla)
Едва ли это подходит для веба. Тем более, что фреймворков нет.
fn main() { let program = "+ + * - /"; let mut accumulator = 0i; for token in program.chars() { match token { '+' => accumulator += 1, '-' => accumulator -= 1, '*' => accumulator *= 2, '/' => accumulator /= 2, _ => { /* ignore everything else */ } } } println!("The program \"{}\" calculates the value {}", program, accumulator); }
- Java (Oracle)
Получше с готовыми компонентами. Но, Java же для посредственностей (см. авторитетное мнение ЛОРовца Paul Graham'а, который не использовал, но осуждает, потому что «хорошую книгу можно узнать по обложке»). Ну и вы сами всё знаете.
// Мы все с вами знаем, как выглядит Java код.
- Scala
- Haskell
За чем светлое будущее, товарищи?