В моей команде ORM не используется, у нас есть аналитики – эксперты в областе SQL и различных СУБД, которые проектируют БД и строят запросы. Эти запросы переносятся в код практически без изменений, и они могут его отлаживать, изменять в случае необходимости. С ORM это было бы затруднительно.
Решил попробовать сделать фрактальную снежинку за пять минут. Вот что получилось:
Картинка
Код
void MainWindow::draw(int x, int y, int angle, int length)
{
if (length < 2)
return;
for (int i = 0; i < 5; i++)
{
int X = x + length * cos(i * 2 / 5.0f * PI);
int Y = y + length * sin(i * 2 / 5.0f * PI);
if (length < 10)
p->drawLine(x, y, X, Y);
if (angle != i)
draw(X, Y, i, length / 2);
}
}
Мысль в целом возможно и правильная, но доказывать ее на выдуманных примерах — крайне неправильно. Я могу придумать примеры, где 100 раз из 100 были правы те, кто делали как попало.
Более того, все в вашим примере ориентировались на результат, первые на локальный, вторые на глобальный.
Что касается самой темы, с точки зрения программирования, хочу добавить несколько слов:
Основной критерий качества программного продукта — его работоспособность, но далеко не единственный. И тем, кто в ответ на критику кода говорит, что он же работает, следует напоминать, что модернизация этого кода будет дорогой, исправление ошибок — дорогим, период адаптации к коду — долгим.
Хороший автор умеет высказываться лаконично, грамотно и доступно. У вас это не получилось. Книги — для более фундаментальных и обширных понятий, для того, чтобы поделится опытом, рассказать идею — их писать не нужно.
Да что угодно. Сейчас все типы софта уходят в веб. И 3д редакторы, и редакторы музыки, и программы для решения мат. задач. Все что есть в десктопе, вскоре может быть и в вебе. А без математики — ололо будет.
Тут прям напрашивается какой-то reinterpret_cast, чтобы сразу 4 байта записывать.
Там линукс какой-то? Как пиксели выводили?
Более того, все в вашим примере ориентировались на результат, первые на локальный, вторые на глобальный.
Что касается самой темы, с точки зрения программирования, хочу добавить несколько слов:
Основной критерий качества программного продукта — его работоспособность, но далеко не единственный. И тем, кто в ответ на критику кода говорит, что он же работает, следует напоминать, что модернизация этого кода будет дорогой, исправление ошибок — дорогим, период адаптации к коду — долгим.
Если автора не понимают, это отчасти его вина.
Да, это было бы полезней того, что вы написали.
Если сложные задачи делать на сервере — он может лопнуть.