LINUX.ORG.RU

Руби. Компилируемый, для веба, не java.

crutch_master ★★★★★ ()

Зачем тебе эта оопщина сдалась? На С пиши. С головой хватит!

anonymous ()
Ответ на: комментарий от anonymous

Зачем тебе эта оопщина сдалась? На С пиши. С головой хватит!

Ну его в пень бегать по всему коду и исправлять поведение, если можно в одном месте. И постоянно копипастить

webmak ★★ ()
Ответ на: комментарий от anonymous

Да вот уже и думаю о нем:-) Больше ничего не приходит на ум.

webmak ★★ ()

Попробуйте D. Некоторым нравится.

Правда как там с инфраструктурой (насколько вам хватит vibe.d) не знаю.

eao197 ★★★★★ ()
Ответ на: комментарий от Noob_Linux

Правильно, нужно засрать любую тему. А почему не asm с haskell?

yyk ★★★★★ ()

Твои требования полностью покрывает PHP:
1. Есть ООП.
2. Инфраструктура под веб из коробки.
3. Компилируется через HipHop.
4. Не ява.

anonymous ()
Ответ на: комментарий от anonymous

Твои требования полностью покрывает PHP:

типа golang? - многопоточность, общая память?

pthreads - не работает так как большинство нужных расширений не потоко безопастны.

общая память - если запускать как демон(reactphp) нужно писать свои костыли для обработки запросов и т.д., а на php оно становится требовательным к ресурсам, так как не используется си код

webmak ★★ ()
Последнее исправление: webmak (всего исправлений: 3)

HEXE же. Он может нагенерить код, который потом можно накомпилить.

anonymous ()
Ответ на: комментарий от webmak

Оформи базовую часть как библиотеку или хотя бы сниппеты.

УМВР.

anonymous ()

Посоветуйте язык программирования

Dart

Что есть наподобии golang

Dart, от того же Гугла. Сходств с golang не много, больше с Java

но с нормальным ООП

Поддержка ООП имеется :)

и инфраструктурой для веба?

Dart создан для веба. Есть версия Angular для Dart, есть масса других фреймворков и библиотек.

Именно компилируемый - не java

Комилируется в JavaScript (это такой ассемблер для современного веба). Не Java но синтаксис очень похож. Есть специальная сборка браузера Chromium где внутри есть DartVM, называется Dartium. Т.е. можно писать / тестировать что-то без какой-то компиляции в JS.

Вопреки всему Dart активно развивается, частота коммитов высокая. В Google много проектов на нем. То что они его забросят вероятность есть, но малая. Писать на Dart можно как фронтэнд часть так и бэкэнд. По всем ощущениям это приятнее Javascript.

Других языков, подходящих под ваши условия, не знаю.

abc ()
Ответ на: комментарий от Miguel

проблема java не в синтаксисе - он мне нравится. Проблема в ресурсах. Зарабатывать буду на php, python, java. Ищу язык и инфраструктуру для совего проекта.

Вот https://gitea.io/en-US/ - написано на golang расход ресурсов просто пипец как удивил.

Вот хочу такое же как golang - но зачем они без ООП сделали, не понимаю.

Golang мне напоминает js и его извращения при написании классов.

Вот пример извращений https://github.com/go-gitea/gitea/blob/master/models/action.go

webmak ★★ ()
Последнее исправление: webmak (всего исправлений: 4)
Ответ на: комментарий от webmak

Да нормально там все с ООП. Есть интерфейсы и наследование; в каком-то смысле множественное даже (просто оно называется composition и ведет себя более предсказуемо).

Реактивная компиляция, хорошая производительность, куча веб-библиотек, удобная асинхронность. Я думаю ничего сравнимого в этой нише (компилируемость, веб-фреймворки, асинхронность) нет; есть всякие студенческие проекты, которыми пользуются три с половиной человека.

По ссылке при беглом просмотре ничего криминального не увидел. Или тэги испугали? Так это скорее про отсутствие темплейтов, ну это плата за вменяемую скорость компиляции и возможность понимать сообщения об ошибках компилятора.

Davidov ★★★★ ()

Именно компилируемый - не java

Язык общего назначения Common Lisp для промышленного применения.

Oxdeadbeef ★★★ ()
Последнее исправление: Oxdeadbeef (всего исправлений: 1)
Ответ на: комментарий от Davidov

Да нормально там все с ООП. Есть интерфейсы и наследование

Как реализовать полиморфизм? Костыльное подобие есть, но нужно передавать всегда экземпляр структуры, которая базовый класс, тоесть отслеживать(держать в памяти) всю цепочку наследования, вместо интерфейсов.

webmak ★★ ()
Последнее исправление: webmak (всего исправлений: 1)
Ответ на: комментарий от Davidov

Я думаю ничего сравнимого в этой нише (компилируемость, веб-фреймворки, асинхронность) нет

Любители D с вами сильно не согласятся :) Там и со скоростью компиляции все нормально, и со скоростью работы, и даже с шаблонами. Ну и нормальный ООП «из каропки». Плюс настоящая иммутабельность прямо в языке поддерживается.

eao197 ★★★★★ ()
Ответ на: комментарий от eao197

Только с либами там полный провал. В DUB 958 пакетов, в то время, как у Rust 8317. И это учитывая возраст D.

RazrFalcon ★★★★★ ()

Имхо, для веба из компилируемых ничего кроме go и нету.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Возраст D сложно оценивать. D2, по словам очевидцев, стабилизировался года два назад. Как раз во времена Rust 1.0 :)

Ну и много ли ТС-у нужно этих самых либ, учитывая, что D спокойно может брать C-шные либы.

eao197 ★★★★★ ()
Ответ на: комментарий от eao197

Ага, а потом будет D3 и тд.

Как будто в расте есть проблемы с биндингами.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от RazrFalcon

Ага, а потом будет D3 и тд.

Как-то непохоже. Если и будет D3, то это уже точно будет крест на языке.

Как будто в расте есть проблемы с биндингами.

Речь не об этом. А о том, что небольшое количество родных D-шных библиотек может совсем не помешать ТС-у.

А вот с Go на D перейти будет легче, чем на Rust.

eao197 ★★★★★ ()
Ответ на: комментарий от eao197

А вот с Go на D перейти будет легче, чем на Rust.

С чего бы это? Из-за GC?

RazrFalcon ★★★★★ ()
Ответ на: комментарий от webmak

Проблема в ресурсах

И... где проблема-то?

Golang мне напоминает js и его извращения при написании классов.

Там всё гораздо хуже.

Miguel ★★★★★ ()
Ответ на: комментарий от Davidov

Есть интерфейсы и наследование

Нет основной части ООП — виртуальных функций.

ООП, само по себе, конечно, суксь и мастдай, но даже этого там нет.

Miguel ★★★★★ ()
Ответ на: комментарий от webmak

Как реализовать полиморфизм?

Ну интерфейсом же. Тогда никакого наследования не нужно в данной ситуации.

Davidov ★★★★ ()
Ответ на: комментарий от Miguel

Нет основной части ООП — виртуальных функций.

Формально нету. На практике, вроде, всегда можно обойтись интерфейсом и dependency injection. Либо наследоваться в другую сторону, если возможно.

Davidov ★★★★ ()
Ответ на: комментарий от crutch_master

Срочно!!! «Скорую» этому мистеру... :-)

anonymous ()
Ответ на: комментарий от anonymous

c++ же :-)

Не хотелось бы спорить с вами, но BASIC - однозначно... :-)

anonymous ()
Ответ на: комментарий от RazrFalcon

проблемы с биндингами.

Лишь бы не было проблем с «бандюками»... :-)

anonymous ()
Ответ на: комментарий от eao197

Любители D с вами сильно не согласятся :) Там и со скоростью компиляции все нормально, и со скоростью работы

Почему D нету на The Computer Language Benchmarks Game, кстати?

Собственно проблема в том, что если язык не слишком популярен, то будут проблемы с библиотеками, сообществом и т.п. Количество библиотек для Go и D несравнимо, конечно.

Ну и мне кажется, D уже не взлетит. Они слишком долго тянули с открытием исходников компилятора, сейчас хайп уже прошел, у мозиллы Rust подрастает, у гугла — Go уже вовсю используется в продашкн.

Davidov ★★★★ ()
Ответ на: комментарий от Davidov

Почему D нету на The Computer Language Benchmarks Game, кстати?

Ибо некому писать код.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от Noob_Linux

Я тоже очень люблю раст, но давайте не будем засирать каждую тему иррелевантными сообщениями, а?
Нет в расте ООП в том понимании, которого хочет ОП. То есть наследования реализации.
Да, оно не так уж и нужно, да, композиция лучше, но до этого он должен дойти сам и вопрос не об этом. Не надо создавать образ спаммеров, это нихрена не положительно сказывается на популярности языка.
Накипело.

mersinvald ★★★★ ()
Ответ на: комментарий от Davidov

Формально нету.

Фактически нету.

На практике, вроде, всегда можно обойтись интерфейсом и dependency injection.

Это не то же самое.

Хотя я соглашусь, что интерфейс — обычно более правильный выбор; Гослинг (который не танцует) как-то раз сказал, что, если бы делал жабу сейчас, то выкинул бы наследование, но оставил бы интерфейсы и дженерики. На такую жабу я бы посмотрел.

Miguel ★★★★★ ()
Ответ на: комментарий от crutch_master

Руби. Компилируемый, для веба, не java.

Когда скомпилируете - позовите посмотреть, я джва года жду.

Alve ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.