Erlang позволяет легко писать гибкие распределенные системы. Это объективная реальность.
Я понимаю синтаксис Eralng, и он мне нравится. Это субъективная реальность, которая применима ко мне, но не применима к Васе из Челябинска.
%Elixir
In Elixir, this would be written as:
person = Person.find('john)
modified = person.set('name, 'john_doe)
true = modified.save
Изменение свойств объекта возвращает новую структуру, как и в Erlang:
object Person
def constructor(name, age)
{ 'name: name, 'age: age }
end
def name
@name
end
def age
@age
end
def name(value)
self.set_ivar('name, value)
end
end
person = Person.new('john, 24)
another_person = person.name('john_doe)
person.name % => 'john
person.age % => 24
another_person.name % => 'johh_doe
another_person.age % => 24
Под «Классы не предназначены для группировки функциональности» понимается следующее. Очень часто программисты чистых ООП языков по привычки пишут код полностью классами. Хотя очень часто в этом нет необходимости. Например в Java вся математика собрана в классе Math, т.к. по другому реализовать язык не позволяет. В python же не нужно делать подобные классы, когда можно просто реализовать набор функций в модуле.
По поводу ухода от «существует много способов сделать это». Это больше касается разработки языка, к этому стремятся разработчики Python. К этому стоит стремится и когда пишешь собственную функциональность.
LOLWUT?
Калькулятор мой, калькулятор… ;(
atom + 1gb
v 11.01
Что насчет вашего примера, то вот такой вариант будет работать:
Насколько это красиво, другой вопрос.
Erlang позволяет легко писать гибкие распределенные системы. Это объективная реальность.
Я понимаю синтаксис Eralng, и он мне нравится. Это субъективная реальность, которая применима ко мне, но не применима к Васе из Челябинска.
Изменение свойств объекта возвращает новую структуру, как и в Erlang:
os.path.join("/a/b/", «c») -> "/a/b/c"
os.path.join("/a/b/", "/c") -> "/c"
По поводу ухода от «существует много способов сделать это». Это больше касается разработки языка, к этому стремятся разработчики Python. К этому стоит стремится и когда пишешь собственную функциональность.
Теперь вы знаете еще одно различие 2.# и 3.#.
По сути своей реализация процессов erlang является уникальной. Я не знаю других, достигнувших продакшен уровня.
Вы _действительно_ считаете Java неподходящим языком для веба? Или это обычный троллинг ..?
В данном случае (как пишет Гвидо), TCO отсутствует по причине «unpythonic», а не наоборот.
Выше, я написал про императивный и функциональный стили, хотя правильнее императивный и декларативный. Что и уточнил ниже.