Кажется, никогда не писал некрологов, но тут особый случай.
Погиб прекрасный человек. Хакер с большой буквы.
Невероятно колоритный персонаж: наверное, первый образ, который приходит на ум при слове хакер“, — это он.
Для меня Крис был одним из учителей, хотя он и не подозревал о моём существовании.
Сейчас у меня на полке до сих пор есть пять его книг, а прочитал я, кажется, все.
Впервые я услышал о нём на первом курсе университета от одногруппника Лёши Никифорова, который увлекался подобной литературой. Лёша настолько захватывающе рассказывал о статьях Криса в журналах, что я решил купить книгу. А потом ещё одну…
Первым делом в книжном я шёл к „его“ полке. Стипендии и подработки в оркестре едва хватало, но когда у меня появлялись более-менее свободные деньги, я покупал его книгу. Потом пошли другие дисциплины и авторы, но память об этих моментах жива до сих пор.
Он умел писать просто о сложных вещах — это очень редкий дар. Благодаря ему казавшиеся непонятными иероглифами все эти mov ax, bx вдруг приобрели смысл. До него я просто зубрил архитектуру компьютера и ассемблер и недоумевал, зачем мне всё это нужно, я же не хочу писать на ассемблере. После него я понял, как все части связаны между собой, и к чему это всё. Он открыл какие-то новые нейронные связи в моём мозгу, сложил картинку воедино, за что я буду всегда ему благодарен.
Именно с подачи Криса я увлёкся криптографией, и по сей день считаю её одной из важнейших дисциплин комьпютерной науки.
Очень жаль, что в последние годы он совсем перестал писать. А мне чисто по-человечески даже немного стыдно перед ним, что я почти перестал его читать после университета, занявшись другой областью.
Его многие ругали за его политическую и общественную позицию, но я никогда в жизни не знал его с этой стороны, да и сейчас это уже не имеет вообще никакого значения.
Спасибо, Крис! Хорошо, что такие люди, как ты, иногда появляются на свет.
А вы тут не плюсуйте, это слишком локальная тусовка; если пишете на PHP, присоединяйтесь к стандарту, который я упомянул, давайте опишем его нормально, сделаем стиль для кодснифера и тому подобное :-)
Глобальная константа там всего одна — это версия скрипта, ну вы серьёзно?!
Первая дока на русском языке преднамеренно, потому что предназначена для русскоязычной аудитории (поэтому и пост на Хабре, а не на чём-то англоязычном, хотя я и говорю по-английски). Если будет время (у меня ещё есть работа) — будет дока и на других языках.
По поводу композер-пакета полностью согласен — можно сделать.
В этом и смысл великолепного продукта, коим несомненно является джетбрейновская Идея.
Сделать логичное поведение полностью прозрачным, чтобы пользователь даже не задумывался о нём.
И таких мелочей в нормальных IDE тысячи.
Ну это, вроде как, настраивается. Проверить поведение бекспейса можно добавив „лишних“ отступов. В конец предыдущей строки курсор попадает, только если он находится на текущем или меньшем уровне вложенности. Если на большем, то редактор просто убирает один уровень вложенности.
Короче, аргумент про „много раз бекспейс“ — не аргумент.
php (Sublime) — как это здорово выделить несколько строк кода нажать tab и он весь сместится…
с пробелами такое не прокатит…
Не понимаю, как можно на полном серьёзе разрабатывать в текстовом редакторе, но вступлюсь тут.
Текстовый редактор обязан при выделении нескольких строк и нажатии [Таба] уметь увеличивать отступ у всех строк независимо от того, табы там выбраны для отступов, или пробелы.
В Идее (если для отступов выбраны стрёмные пробелы, конечно) при одиночном нажатии бекспейса попадаешь на уровень ниже.
В общем, я считаю, что проблема „нажимать много раз пробел или бекспейс“ вообще не стоит. Это всё должно решаться средой, если не решается — среда отстой.
Вы, наверное, не поняли исходный посыл текста. Там так и написано, что эти плюсы — ничто по сравнению с семантичностью (смыслом).
Второй плюс сходит на нет при использовании смарт-табуляции, потому что если будут заменены табы другими размерами, допустим с 4 до 2, то пробелы для выравнивания всё испортят
Смысл смарт-табуляции, как раз в том, что при изменении ширины таба выравнивание не портится.
Вы предлагаете более сложную систему, которая функционально полностью эквивалентна «пробельной» — зачем?
Ну разумеется, что она функционально не эквивалентна, а лучше: каждый разработчик может подстроить себе удобный вид для кода используя конфигурируемую ширину. У меня много коллег, например, сначала любили 4, а потом полюбили 2.
Кажется, никогда не писал некрологов, но тут особый случай.
Погиб прекрасный человек. Хакер с большой буквы.
Невероятно колоритный персонаж: наверное, первый образ, который приходит на ум при слове хакер“, — это он.
Для меня Крис был одним из учителей, хотя он и не подозревал о моём существовании.
Сейчас у меня на полке до сих пор есть пять его книг, а прочитал я, кажется, все.
Впервые я услышал о нём на первом курсе университета от одногруппника Лёши Никифорова, который увлекался подобной литературой. Лёша настолько захватывающе рассказывал о статьях Криса в журналах, что я решил купить книгу. А потом ещё одну…
Первым делом в книжном я шёл к „его“ полке. Стипендии и подработки в оркестре едва хватало, но когда у меня появлялись более-менее свободные деньги, я покупал его книгу. Потом пошли другие дисциплины и авторы, но память об этих моментах жива до сих пор.
Он умел писать просто о сложных вещах — это очень редкий дар. Благодаря ему казавшиеся непонятными иероглифами все эти
mov ax, bxвдруг приобрели смысл. До него я просто зубрил архитектуру компьютера и ассемблер и недоумевал, зачем мне всё это нужно, я же не хочу писать на ассемблере. После него я понял, как все части связаны между собой, и к чему это всё. Он открыл какие-то новые нейронные связи в моём мозгу, сложил картинку воедино, за что я буду всегда ему благодарен.Именно с подачи Криса я увлёкся криптографией, и по сей день считаю её одной из важнейших дисциплин комьпютерной науки.
Очень жаль, что в последние годы он совсем перестал писать. А мне чисто по-человечески даже немного стыдно перед ним, что я почти перестал его читать после университета, занявшись другой областью.
Его многие ругали за его политическую и общественную позицию, но я никогда в жизни не знал его с этой стороны, да и сейчас это уже не имеет вообще никакого значения.
Спасибо, Крис! Хорошо, что такие люди, как ты, иногда появляются на свет.
Часть тебя будет жить в моей памяти.
А потом наступит мой черёд…
Логично, да.
Я бы оценил :-)
Эээээ? Я не ставил, за что?
(Плюсанул, только не расстраивайтесь.)
А вы тут не плюсуйте, это слишком локальная тусовка; если пишете на PHP, присоединяйтесь к стандарту, который я упомянул, давайте опишем его нормально, сделаем стиль для кодснифера и тому подобное :-)
Норм!
О, круто, спасибо!
(А этот пост больше про алгоритм.)
Ну, по пунктам:
Этот код и так был написан за пару часиков.
По поводу PSR. Я использую PSR-2T — PSR-2 со смарт-табуляцией.
Для меня это дело принципа. Моё мнение по этому вопросу вот такое и пока что не менялось:
https://habrahabr.ru/post/308974/#comment_9783180
Глобальная константа там всего одна — это версия скрипта, ну вы серьёзно?!
Первая дока на русском языке преднамеренно, потому что предназначена для русскоязычной аудитории (поэтому и пост на Хабре, а не на чём-то англоязычном, хотя я и говорю по-английски). Если будет время (у меня ещё есть работа) — будет дока и на других языках.
Разумеется, главная идея — это показать алгоритм, а не код, вы правы.
Я не заморачивался с ООП, поэтому преднамеренно использовал слово „скрипт“ с самого начала.
Типизацию я сам люблю, у нас в компании почти запрещено использовать двойные равно.
Вы очень опасный человек.
Владимир Шахиджанян („Соло на клавиатуре“) сейчас негодует. Мизинцем же надо!
Ну, по сути, это идеальное решение, так, как оно должно работать.
Пока что имеем то, что имеем.
В этом и смысл великолепного продукта, коим несомненно является джетбрейновская Идея.
Сделать логичное поведение полностью прозрачным, чтобы пользователь даже не задумывался о нём.
И таких мелочей в нормальных IDE тысячи.
Ну это, вроде как, настраивается. Проверить поведение бекспейса можно добавив „лишних“ отступов. В конец предыдущей строки курсор попадает, только если он находится на текущем или меньшем уровне вложенности. Если на большем, то редактор просто убирает один уровень вложенности.
Короче, аргумент про „много раз бекспейс“ — не аргумент.
Не понимаю, как можно на полном серьёзе разрабатывать в текстовом редакторе, но вступлюсь тут.
Текстовый редактор обязан при выделении нескольких строк и нажатии [Таба] уметь увеличивать отступ у всех строк независимо от того, табы там выбраны для отступов, или пробелы.
В Идее (если для отступов выбраны стрёмные пробелы, конечно) при одиночном нажатии бекспейса попадаешь на уровень ниже.
В общем, я считаю, что проблема „нажимать много раз пробел или бекспейс“ вообще не стоит. Это всё должно решаться средой, если не решается — среда отстой.
Вы, наверное, не поняли исходный посыл текста. Там так и написано, что эти плюсы — ничто по сравнению с семантичностью (смыслом).
Смысл смарт-табуляции, как раз в том, что при изменении ширины таба выравнивание не портится.
Ну разумеется, что она функционально не эквивалентна, а лучше: каждый разработчик может подстроить себе удобный вид для кода используя конфигурируемую ширину. У меня много коллег, например, сначала любили 4, а потом полюбили 2.
Спасибо на добром слове. „Раз и навсегда“ не получится, думаю :-)
По поводу статьи чёрт его знает, репозиторием в Гитхабе, думаю, лучше.