Обновить
2
0
Dmitry Soshnikov@dsCode

Пользователь

Отправить сообщение
> старый Scooter + Prodigy
ага =) да и новый Scooter тоже (может, потому что я был раньше фанатом Скутера )))
НЛО прилетело и опубликовало эту надпись здесь
Автору: старайтесь поменьше обращать внимание на провокации троллей (сам знаю, что иной раз поддаёшься и потом, из-за эмоций, ещё же и вас будут считать «агрессивным элементом», поэтому — надо научиться, либо забивать на «профессиАналов», либо строить корректно речь так, чтобы тролли сами почувствовали свою бестактность и бессмысленность их постов). Я что-то похожее писал (правда, не про музыку, а в целом — zeroed.habrahabr.ru/blog/58593/#comment_1580781).

Хороший блог, вполне достойно освещаете темы.
Можете ещё посмотреть www.unison.com/
> Это кстати то самое, что я имел в виду, когда говорил о функторах C++

Суть та же во всех языках, о которых можно говорить, применительно к этому термину. Коллбэк функции можно назвать функтором.
ну, это уже другой вопрос ;)
> а через айдишку, раз и пляшет %)
Не понял, вы хотите сказать, что jQuery'вский $('#some-id') быстрее родного document.getElementById? Это не возможно, поскольку jQuery внутри себя использует тот же document.getElementById.
> Не функтор, а функцию сравнения

en.wikipedia.org/wiki/Function_object
Удобно, просто явно пункт не для выделения достоинств jQuery, поскольку, если нужна короткая функция именно для получения элемента по id, то можно и просто алиас для document.getElementById сделать:

var $ = document.getElementById;
$('some-id');


Но, естественно, основная суть jQuery не в этом.
var data = [
    {id: 1, name: 'a'},
    {id: 3, name: 'c'},
    {id: 2, name: 'b'}
];

// сортировка по "name"
var sorted = data.sort(function (a, b) {
    
    var aName = a.name.toLowerCase();
    var bName = b.name.toLowerCase();
    
    if (aName == bName) {
        return 0;    
    }

    if (aName < bName) {
        return -1;    
    }

    return 1;
});

Соответственно, можно улучшить — сделать универсальный функтор сортировки, который будет принимать имя поля параметром и возвращать соответствующую функцию.
Следовательно, этот массив надо сортировать и для этого и пришлось написать быструю сортировку на Javascript и бинарный поиск.

В качестве тренировки, quick-sort можно написать, но, вообще, в JS у массивов есть метод .sort(sortFunctor), который принимает функтор сортировки. Массив объектов по конкретному полю — вполне нормально сортируется этой функцией. К тому же, Си-шный код будет работать быстрее (и, скорей всего, алгоритм на уровне реализации выбран тоже эффективный, может, и тот же quick-sort).
> setTimeout(function(){ func(); }, 25);

в данном случае эффективней сразу setTimeout(func, 25);
2. удобный поиск нужных элементов по ID

$('#some_id')

ой, не надо вот этот пункт было достоинством приводить =) ладно бы вы написали о «глубоких» CSS-селекторах, но взять элемент по id, и это преимущество jQuery — стыдно…
Ах, да, фотки классные )
> Кто-то из снобов скажет — родители виноваты во всем — ан нет.

Но очень во многом.

У меня (пока) нет детей, но, я думаю, один из главных моментов — это помочь развить (не мешать, не навязывать, не ограничивать) потенциал, который реализуется в сфере, куда ребёнок (в уже сознательном возрасте) начинает тянутся. Естественно, это поколение будет ещё плотнее связано с компьютерами («экранами», как вы назвали), роботами и т.д., но, если подход будет созидательно-творческий, вряд ли в этом будет что-то плохого. Я уверен, что на каждом этапе поколения, родители осознавали, что появляются в прогрессе вещи, большое/не правильное (ещё как-то можно назвать) потребление которых, пагубно скажется на их детях. Но, дети растут, используют эти «экраны», создают новые и т.д. И прогресс движется вперёд. Время диктует «атмосферу». Поэтому, очень многое, всё-таки, зависит именно от родителей.
> а здесь школьники

Ну так про любой раздел/блог Хабра можно придраться. Только разницы нет, где знающий человек пишет.
Творчество — это процесс, мало зависящий от конкретики. Творчески писать программу, музыку, стихи, рисунки и т.д. — это одно и то же. Я знаю много программистов-музыкантов (я — один из них, кстати ;)).

А программирование — наиболее творческая профессия (возможно, в числе первых). И этот синтез — точных наук и созидательного творчества — наинтереснейшее дело.

Другое дело — «кодерский копи-паст», тогда, конечно, можно говорить, «вам тут не это...».
А в Actionscript функции не содержат ссылку на себя, через arguments.callee, как в Javascript?
> Конкретно тут я имею ввиду свойства типа, а не его экземпляра. Тоже мелочь, а приятно :)

ну так и говорю — хранить в конструкторе или так же — в прототипе
> B._super.prototype.test.apply(this, arguments); — некрасиво и неудобно… Гораздо удобнее писать this.__base()

да естественно, я лишь пример привел, можно хоть как подогнать под свои нужды, под синтаксис, который кажется удобным

> конструктор разнесен с методами, это тоже неудобно и некрасиво

да это мелочи всё, дописывается ещё «2-3» строками

> как вы сами заметили, нет статики

А что Вы подразумеваете под статикой?

> Собственно мой код и крутится вокруг того, чтобы обеспечить некий syntax sugar.

А я ничего против и не имею. Каждый создаёт свои обёртки, которые наиболее удобны для него. Наследование же в JS и так изначально есть, поэтому любая обёртка — есть обёртка, и является лишь синтаксическим сахаром, определяющим относительное удобство.

> Что конкретно вы считаете в нем лишним?

Да нет, лишним в подобных обёртках мало, что может быть, поскольку они относительные, и пишутся для удобства, увиденное через призму конкретных людей. Под «лишним» я больше имел в виду привязку к jQuery, но Вы уже ответили, зачем он тут.

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность