pthreads - не работает так как большинство нужных расширений не потоко безопастны.
общая память - если запускать как демон(reactphp) нужно писать свои костыли для обработки запросов и т.д., а на php оно становится требовательным к ресурсам, так как не используется си код
Dart, от того же Гугла. Сходств с golang не много, больше с Java
но с нормальным ООП
Поддержка ООП имеется :)
и инфраструктурой для веба?
Dart создан для веба. Есть версия Angular для Dart, есть масса других фреймворков и библиотек.
Именно компилируемый - не java
Комилируется в JavaScript (это такой ассемблер для современного веба). Не Java но синтаксис очень похож. Есть специальная сборка браузера Chromium где внутри есть DartVM, называется Dartium. Т.е. можно писать / тестировать что-то без какой-то компиляции в JS.
Вопреки всему Dart активно развивается, частота коммитов высокая. В Google много проектов на нем. То что они его забросят вероятность есть, но малая. Писать на Dart можно как фронтэнд часть так и бэкэнд. По всем ощущениям это приятнее Javascript.
Других языков, подходящих под ваши условия, не знаю.
проблема java не в синтаксисе - он мне нравится. Проблема в ресурсах.
Зарабатывать буду на php, python, java. Ищу язык и инфраструктуру для совего проекта.
Да нормально там все с ООП. Есть интерфейсы и наследование; в каком-то смысле множественное даже (просто оно называется composition и ведет себя более предсказуемо).
Реактивная компиляция, хорошая производительность, куча веб-библиотек, удобная асинхронность. Я думаю ничего сравнимого в этой нише (компилируемость, веб-фреймворки, асинхронность) нет; есть всякие студенческие проекты, которыми пользуются три с половиной человека.
По ссылке при беглом просмотре ничего криминального не увидел. Или тэги испугали? Так это скорее про отсутствие темплейтов, ну это плата за вменяемую скорость компиляции и возможность понимать сообщения об ошибках компилятора.
Да нормально там все с ООП. Есть интерфейсы и наследование
Как реализовать полиморфизм? Костыльное подобие есть, но нужно передавать всегда экземпляр структуры, которая базовый класс, тоесть отслеживать(держать в памяти) всю цепочку наследования, вместо интерфейсов.
Я думаю ничего сравнимого в этой нише (компилируемость, веб-фреймворки, асинхронность) нет
Любители D с вами сильно не согласятся :) Там и со скоростью компиляции все нормально, и со скоростью работы, и даже с шаблонами. Ну и нормальный ООП «из каропки». Плюс настоящая иммутабельность прямо в языке поддерживается.
Любители D с вами сильно не согласятся :) Там и со скоростью компиляции все нормально, и со скоростью работы
Почему D нету на The Computer Language Benchmarks Game, кстати?
Собственно проблема в том, что если язык не слишком популярен, то будут проблемы с библиотеками, сообществом и т.п. Количество библиотек для Go и D несравнимо, конечно.
Ну и мне кажется, D уже не взлетит. Они слишком долго тянули с открытием исходников компилятора, сейчас хайп уже прошел, у мозиллы Rust подрастает, у гугла — Go уже вовсю используется в продашкн.
Я тоже очень люблю раст, но давайте не будем засирать каждую тему иррелевантными сообщениями, а?
Нет в расте ООП в том понимании, которого хочет ОП. То есть наследования реализации.
Да, оно не так уж и нужно, да, композиция лучше, но до этого он должен дойти сам и вопрос не об этом. Не надо создавать образ спаммеров, это нихрена не положительно сказывается на популярности языка.
Накипело.
На практике, вроде, всегда можно обойтись интерфейсом и dependency injection.
Это не то же самое.
Хотя я соглашусь, что интерфейс — обычно более правильный выбор; Гослинг (который не танцует) как-то раз сказал, что, если бы делал жабу сейчас, то выкинул бы наследование, но оставил бы интерфейсы и дженерики. На такую жабу я бы посмотрел.