• Год npm в цифрах: 2014
    +1
    Это всё Mortal Wombat…
  • Гид по новогодним подаркам 2014: версия блога Microsoft Lumia
    0
    А как так вышло, что наушники с логотипом и прочими отличительными чертами фирмы Coloud выпущен под брендом Nokia? :)
  • Моноширинные шрифты с программистскими лигатурами
    0
    Технически может это и нечто похоже. Похожее в том смысле, что в языках разметки можно вставить табличку или картинку, используя специальный синтаксис. Проблема в том, что если вы захотите встатить картинку в Markdown как-то так
    ![Alt text](/path/to/img.jpg)
    

    но проипёте при этом, например, восклицательный знак, то документ становится невалидным в том смысле, что никакой картинки там уже не будет. А в том же MS Word это сделать (в похожем случае) достаточно сложно, если не невозможно.

    Ну и нельзя не заметить, что Markdown — это просто текст. А с плейн-текстом есть следующая проблема: если вы пишете какой-то код, а потом, допустим, решаете переименовать функцию, вам нужно будет сделать это во всех местах. Да и diff будет выглядеть просто как одна строка, которую заменили другой строкой. Вы можете там точно так же ошибиться в принципе, как в примере выше. Или где-то в месте использования, допустим, можете забыть переименовать функцию. Если же хранить код в древовидном виде, близком к тому, в который код в plain-text преобразует компилятор, а также парсер IDE и прочие тулзы, то ваша функция фактически будет просто узлом в дереве с атрибутом «имя», а места использования этой функции — лишь ссылки на этот узел. Переименовали в одном месте — в остальных ничего менять не надо.

    Выше NeoCode верно заметил, что в некоторых случаях такой подход повлечёт за собой необходимость избавиться от некоторых навыков работы и приобрести новые. Но я считаю, проблема решаема.
  • Моноширинные шрифты с программистскими лигатурами
    0
  • Моноширинные шрифты с программистскими лигатурами
    +1
    Как минимум, неплохо бы приучить создателей шрифтов добавлять такие символы.
  • Умный туалет для кошек (всего за 100 долларов)
    0
    У кошки туалет умнее, чем у меня.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Добавлю, пожалуй, небольшое разъяснение. Вы сейчас рассматривали моё предложение с ортогональной точки зрения. Что-то в духе «зачем нам нужен docx, если он, как и plain text, всего лишь набор байтов? Давайте делать таблички ASCII-символами, а картинки не вставлять вовсе, потому что иметь возможность открыть файлик в любом текстовом редакторе — это весьма полезно».
  • Моноширинные шрифты с программистскими лигатурами
    –1
    Любой шрифт, в котором кириллических букв попросту нет.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Внатуре, забыл про них. В любом случае на С++ в таких делах нужно ориентироваться в последний момент. Выше уже приводили пример с теми же >>
  • Моноширинные шрифты с программистскими лигатурами
    0
    Редактор в JetBrains MPS видели?
  • Моноширинные шрифты с программистскими лигатурами
    0
    Как два пальца: заменяем ^ на , и вуаля.
  • Моноширинные шрифты с программистскими лигатурами
    +3
    Если он будет «по штуке на язык», то какой в этом вообще смысл?
  • Моноширинные шрифты с программистскими лигатурами
    0
    К сожалению, лигатурами невозможно добиться всего, чего хотелось бы, ибо не хватает возможности задавать контекст.
    Например, было бы (возможно не для всех) круто, если бы ! или not в логических выражениях заменялся на ¬. А в хаскеле с ним ещё и другая проблема.
    C конъюнкцией и дизъюнкцией, допустим, тоже сложно. Можно заменять && на ∧, а вот || в некоторых языках используется в list comprehensions, а не как logical or.

    Кстати, почему в Fira Code есть сочетание /> для тегов, но нет </?

    Нет совершенства :(
  • Моноширинные шрифты с программистскими лигатурами
    0
    Не туда ответил. Хотел на уровень выше.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Есть ответное мнение, что хороший программист тяготеет к прекрасному. И прекрасное выражается не только в «красивом» коде, но и красивом UI, который они проектируют или которым пользуются сами.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Хотя бы потому, что программисты занимаются не только программированием. Т.е. либо набирать цифры с шифтом везде, где они могут пригодиться ещё, либо сделать переключение «режимов», что ещё хуже. Хотя Num pad в данном случае может помочь.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Кстати да, как замутить такую фишку на своём шрифте? Какие программы для этого нужны + входной формат исходного шрифта?
  • Моноширинные шрифты с программистскими лигатурами
    –1
    На этом моменте я вставлю свою традиционную фразу о том, что пора бы забить на использование plain text для кода, а перейти на более богатый формат, способный хранить некое подобие AST. Тогда, во-первых, имеем профит с тулзами, которым нужно понимать структуру кода (хотя бы всякие diff/merge), а во-вторых, имеем отдельно модель-представление, т.е. рендерь как хочешь, никаких больше кровавых войн по поводу табов и пробелов или скобок на новой строке. Не говоря, конечно, о возможности вставить диаграмму прямо в коммент.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Сейчас в любой более-менее вменяемой геймерской клавиатуре есть возможность перепрограммировать любую клавишу. Но не хотелось бы жертвовать чем-то одним в угоду другого. А дополнительный ряд решает проблему, да. Только выглядит отстойно на тех примерах, что Вы скинули.
  • Моноширинные шрифты с программистскими лигатурами
    +2
    Логично. Но с другой стороны «направление мысли» с использованием лигатур ещё не обрело популярность, а уже споткнулось о подобную проблему.
  • Моноширинные шрифты с программистскими лигатурами
    +8
    Не стоит недооценивать живучесть «анахронизмов».
  • Моноширинные шрифты с программистскими лигатурами
    +10
    С другой стороны, если взять тот же С++, то запись
    a /= b;    // a = a / b;
    

    будет выглядеть странно.
  • Моноширинные шрифты с программистскими лигатурами
    0
    Теперь вижу )
  • Моноширинные шрифты с программистскими лигатурами
    +5
    Учитывая, что в Haskell операция «не равно» пишется именно как /=, не вижу проблемы.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    0
    Вы повыдёргивали куски фраз из контекста и поотвечали на то, на что хотели отвечать, а не на то, о чём писал я.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –1
    Мне кажется, или вопрос составлен некорректно? Полагаю, Вы имели в виду двадцатикратное повторение одного и того же скрипта, условно состоящего из 45 команд?

    Так или иначе, на этот вопрос не может быть определённого ответа.

    Во-первых, мы меряемся не скоростью, а удобством. И если для достижения скорости нужно нагородить кашу из непонятных ключей и регэкспов, то иногда уж лучше потягать мышкой.

    Во-вторых, 20 раз выполнить одинаковую последовательность действий — это слишком редкий юзкейс для большинства пользователей. Если мы говорим об операционке для рядовых пользователей, а не гиков, то давайте именно в таком ключе вопрос и рассматривать. Не будем учитывать винду, потому что линуксоиды обычно не считают PowerShell нормальной консолью, ибо им непривычно; но возьмём к примеру мак: как часто пользователи операционки от эппл хвалятся, что у них есть нормальный терминал и что им его хватает за глаза, а гуя не нужна? Лично я не слышал такого.

    Допустим, последовательность действий нужно выполнить не 20 раз, а раза три. Отсюда в-третьих: что быстрее, единоразово выполнить трижды эту последовательность действий с вводом данных в гуе, или научиться писать скрипты и, собственно, написать их?

    В-четвёртых, почему если говорят о гуе, то считают, что скриптов там нет? Если взять тот же Microsoft Excel, то легко заметить, что помимо других инструментов для ускорения ввода данных, недоступных в терминале, там есть те же скрипты.

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

    В-шестых, мы уже выяснили выше, что многие ретрограды и консерваторы, пишущие приложения, делают их консольными и не делают для них хороший гуй. А если гуй не был сделан сразу, то на 90% он не будет сделан вообще. Это отбирает право выбора у пользователей. Именно поэтому линукс так рулит в сообществе гиков (им не лень ковыряться в скриптах и конфигах и настраивать всё под себя), в частности на серверах и эмбеддед, но так просасывает на десктопах: какой-то умник посчитал, что в консоли выполнить действие быстрее, а 95% пользователей так почему-то не посчитало. Попробовали и выкинули в мусорный ящик.

    В-седьмых, идеология терминала состоит в следующем: есть входные данные, выполняем над ними команду, получаем выходные данные. Графический интерфейс пользователя напротив даёт возможность выполнять операции над данными и видеть в реалтайме результаты. Да, есть и консольные утилиты, реализованные аналогично, например тот же top, но такие можно перечесть по пальцам одной руки.

    В-восьмых, выше было сказано, что добавление гуя влечёт за собой увеличение количества ошибок. С этим трудно поспорить (закон неубывания энтропии и т.п.), конечно. Поэтому консольные утилиты стараются делать как можно более мелкими и выполняющими одну конкретную задачу. Это позволяет минимизировать количество ошибок в этих утилитах и сделать их более пригодными для композиции и повторного использования. Но тут есть обратная сторона: чем меньше действий выполняет одна утилита, и чем больше утилит нужно скомпоновать для решения одной задачи, тем больше будет ошибок в коде, который как раз связывает все эти утилиты, т.е. в вышеупомянутых скриптах. При этом, если гуй пишут опытные программисты и им под силу минимизировать количество ошибок в приложении, то скрипты могут писать и неопытные пользователи. Именно поэтому идеология UNIX говно :) и подходит лишь для крайне ограниченного круга людей.

    Если вспомню что-то ещё, может допишу )
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –3
    Учитывая, что убунту на десктопе сейчас — это низкосортная смесь скопированного из винды и мака, а для телефонов убунту делает та же контора, рассчитывать на прорыв не приходится.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –1
    Это говорит о плохо спроектированном интерфейсе, а не об удобстве терминала.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    +1
    Убунту на андроиде?
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –1
    Вы говорите ровно так же, как говорили люди, ездившие на повозках с лошадьми, в адрес первых автомобилей.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    0
    Мне кажется, это как раз доказательство того, что не всегда можно прикрутить гуй к консольному приложению. Но никак не доказательство того, что гуй не нужен.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –3
    Попытка использования чего? Вам бы поучиться выражать мысль целиком.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    0
    В коде чего?
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –1
    При этом в N9/N950 был уникальный UX, построенный на управлении жестами. А в убунте, думаю, в лучшем случае криво скопируют андроид.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –1
    гуй к консольному приложению прикрутить — совершенно не проблема

    Во-первых, это не всегда так. Во-вторых, обычно все так думают и гуй в конце концов не прикручивают.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    –2
    Работа такая)
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    +3
    Не больше, чем вся эта затея.
  • Появился RTM-релиз (для производителей) Ubuntu для смартфонов
    +11
    sudo apt-get install libdialer libdialer-shared libqt5 android-emulator android-dialer android-dialer-wrapper dialer
    dialer -c 380 -n 44-555-42-42 > /dev/snd && volume +5
    ^C
    ls -la ~/.contacts | grep "vasya\s+=\s+(\d{10}) | dialer --verbose --force
    
  • Поисковик Спутник запущен
    +4
    Спутник открывается. Я из Украины. Спутник закрывается.
  • Новые возможности лямбд в C++14
    +1
    Писать лямбды, принимающие/возвращающие другие лямбды можно и в C++11.