Архив 2 августа 2011

Про хаброидов

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

Первая – “как правильно писать на Javascript”. Первый же совет звучал примерно так:

Никогда-никогда не используйте eval()! Даже если очень надо – все равно не используйте! eval() позволяет порождать код, а это очень-очень нехорошо! Так делать нельзя, потому что так делать нельзя никогда!

В общем, аргументация была примерно на таком уровне – я только чуть-чуть преувеличиваю, “дабы дурость каждого видна была”. Вопрос: почему порождать код нехорошо? Ответ: это нарушает привычную тем, кто всю жизнь писал на Паскале, “логику работы программы”.

Доводя это до абсурда, скажу, что самые true-программисты никогда не используют операторы цикла, а обходятся только goto и if в виде

if(condition) goto somewhere;

Всякие бесполезные циклы нарушают логику работы программы, привычную тем, кто всю жизнь писал на FORTRAN-77.

Вторая – чувак для понтов реализовал в C++ вычисления, как он сам сказал, “с плавающей точкой” на этапе компиляции (с использованием шаблонов, разумеется). Я не буду придираться к тому, что на постсоветском пространстве вместо точки “плавает” запятая, потому как заголовок неправильный с самого начала. Число с плавающей запятой – это представление числа в виде мантиссы с фиксированным количеством знаков и порядка. У автора реализовано представление в виде отношения двух целых чисел, это несколько другое “решение”. Обычно в программировании это называют “рациональными числами”, не заботясь, правда, о полной корректности этой формулировки. Подходы эти принципиально разные и путать одно с другим не надо.

В общем, как кто-то заметил, “Русская Википедия – это деревенский кружок любителей истории”. Хабр в таком случае – деревенский кружок любителей так называемых “информационных технологий”.