а вот к примеру представьте абстрактную ситуацию: пНекто поступил в такой ВУЗ и перед ним лежит список тех дисциплин, которые он может изучать. Находясь под воздействием текущей моды на Web-программирование и всеобщее упрощение разработки при помощи фреймворков, он выбирает соответствующие своим интересам предметы, например: БД, РНР, CSS, (X)HTML, Zend Framework, Ruby, RoR, Python, Django /утрированно конечно, но для обрисовки общего случая поможет/, а про такие дисциплины как Алгоримы и теория их сложностей, структуры данных он подумал, что вещь не нужная… зачем на эту ерунду зря время тратить??
Итак, какого специалиста мы получим в итоге: такого, который умеет пользоваться только готовыми решениями, абсолютно не имея при этом представления о сложности алгоритмов, да он может замерить время выполнения своих программ и заменить одну функцию на другую… немного это повысит скорость, но проблема в действительности может оказаться в алгоримах. Этот некто будет винить язык или что-либо ещё даже в ситуации когда не сможет написать какую-то вещь, которой нет в его любимом фреймворке. А почему не сможет?? Да потому, что в своё время выбрал «модные» дисциплины, решив «забить» на старые, никому не нужные, скучные предметы, которые являются основой программирования.
но и злоупотреблять этим нельзя. Я однажды так погонял недельку свой мозг на повышенных оборотах. Всё было замечательно, но потом, некоторое время (дней 5) я никак не мог сконцентрироваться на поставленной работе. Совершенно ничего не получалось. Меру надо знать во всём.
P.S. А чем Вам PHP и Zend не угодили?
Итак, какого специалиста мы получим в итоге: такого, который умеет пользоваться только готовыми решениями, абсолютно не имея при этом представления о сложности алгоритмов, да он может замерить время выполнения своих программ и заменить одну функцию на другую… немного это повысит скорость, но проблема в действительности может оказаться в алгоримах. Этот некто будет винить язык или что-либо ещё даже в ситуации когда не сможет написать какую-то вещь, которой нет в его любимом фреймворке. А почему не сможет?? Да потому, что в своё время выбрал «модные» дисциплины, решив «забить» на старые, никому не нужные, скучные предметы, которые являются основой программирования.
<?php
interface ITest {
function test();
};
class testImp implements ITest {
function test() {
echo("ITest::test() was called!");
}
};
class T {
function testing(ITest $t) {
$t->test();
}
};
$test_class = new T();
$test_class->testing(new TestImp); // Здесь всё нормально
$test_class->testing("123"); // Fatal error. ITest needs, string given.
я дизайнер - сказал админ
я не дизайнер сказал дизайнер