Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
for (var i=0; i<tasks.length; i++) setInterval(closureTask(tasks[i]), duration(tasks[i].interval));
operations[key](s, conditions[key]);).angular.module('hi', [])
.value('someVar', 'hello')
inject( function( someVar ){
console.log(someVar); // 'hello'
}
expect(something).to.be.ok
#define MIN(a, b) ((a) < (b) ? (a) : (b))template <typename T> T min(T lhs, T rhs) {return lhs < rhs ? lhs : rhs; }$db->query("select * from users where name='" . $user . "'")Не использование хешей и замыканий делает из программирования метапрограммирование, а переход от модели к метамодели и от данных к метаданным.Вот здесь и зарыта логическая ошибка в Ваших рассуждениях. Из перехода от приготовления еды для себя самого к приготовлению еды для всей семьи не следует что Вы из обычного человека стали профессиональным поваром.
#define MIN(a,b).The classic definition for a metaprogram is “a computer program that writes new computer programs.” [...] Another common definition for metaprogramming is “a computer program that manipulates other programs at runtime.”
Скорость разработки: разрабатывать дольше, а поддерживать значительно проще, экономится уйма времени
Любая достаточно сложная программа на Си или Фортране содержит заново написанную, неспецифицированную, глючную и медленную реализацию половины языка Common Lisp.
Метапрограммирование с примерами на JavaScript