Pull to refresh
61
0
Василий Писарев @Pand5461

User

Send message

Вторая ссылка замечательно показывает, имхо, почему тут многие так не любят ворд:


… стиль полноценно работает только в Word 2010, потому что Word 2007 не соблюдает собственный же стандарт… желающие могут форкнуть проект на гитхабе и доработать стиль напильником.…
Работу под 2013-й ворд исправил github-юзер skkap, за что ему большое спасибо.

"Word" как что-то единое просто не существует! Если на вашей версии что-то работает, оно может сломаться у научрука/соавтора/рецензента/нормоконтролёра. Возможности установить всем одинаковую версию — нет, т.к. программа платная.


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

Защита может подразумевать запрет на внесение изменений в документ, но не копирование его частей, которые могут быть в последствии вставлены в другие документы. Например, при формировании итогового отчета из промежуточных.

С отчётами да, там отдельная головная боль, надо подстраиваться под того, кто готовит итоговый отчёт.


приведите пример таких проблем.

Съезжающие картинки, съезжающие OLE объекты, неверно отображающийся MathType (для химиков, наверное, не особая боль), сложность посмотреть правки (именно правки, а не итоговую версию), форматирование пробелами и переносами строки вместо нормальной разметки, вместо словесных команд — тыкание мышкой или запоминание сотни рандомных сочетаний клавиш. Т.е. в теории в Word можно сделать как в LaTeX, если пользоваться стилями и т.д. На практике — учиться этому не то чтобы сильно быстрее, чем худо-бедно освоить LaTeX, и при этом нужно каждому коллаборатору говорить, чтобы либо правили только через стили, либо присылали список правок, а не занимались самодеятельностью. В TeX человеку со стороны проще понять, что надо либо нормально научиться работать, либо не трогать документ.

Кто вам запрещает использовать защиту документа.

С защитой уже не важно, какой формат документа. Впрочем, подозреваю, что при открытии не той версией могут всё равно поехать рисунки, неверно отобразиться формулы и т.п. В итоге будет ряд замечаний, которых на твоём компьютере и в помине нет. В итоге я сейчас даже при передаче документов в Word прикладываю pdf, чтобы не возникало тупых вопросов типа "а почему номер формулы на другой строке?", когда на моём компьютере всё на одной строке.


Вы что, диплом годами пишите, что вам Git нужен?

Можно подумать, если писать меньше года, то от системы контроля версий прям никакой пользы. Ну а так да, статьи обычно пишутся порядка месяцев. Если писать в несколько авторов, удобно, когда диффы есть.


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


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

при всех его достоинствах LaTeX выдает PDF-файл, в который невозможно вносить исправления

Так это и прекрасно! Ваш диплом не поедет из-за того, что секретарь в деканате открыла и пересохранила его в другой версии Word. Кроме того, .tex файлы более дружественны к системам контроля версий, можно работать с дипломом через git.


моему руководителю приходилось каждый раз присылать список правок в виде файла в Word'e

Увы. Проблема частая, даже, можно сказать, повсеместная. Если руководитель готов учиться, попробуйте над другими текстами поработать в Overleaf, там можно сразу компилировать правки и смотреть, к чему они приводят. Или даже научить работать в LaTeX-редакторе.


Также мне сильно повезло с тем, что в моем ВУЗе отстутствует такое мероприятие как нормоконтроль, и в большинстве вопросов оформления я был ограничен только своим чувством прекрасного и здравым смыслом.

Как раз-таки нередко проще сделать стилевик, удовлетворяющий нормоконтролю, чем править что-то поехавшее после неаккуратно дописанного слова в Word. Но, конечно, нормоконтролёрам всегда требуется редактируемый файл, а в LaTeX они никогда не умеют.


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

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

По поводу чисел с плавающей точкой IEEE 754 описывает, как должны производиться вычисления. Если компилятор реализует этот стандарт, то он не имеет права производить какие-либо оптимизации в принципе (например, перестановку операций для более оптимальной загрузки пайплайна), если не уверен, что результат не изменится. Для целых чисел, насколько мне известно, такого стандарта нет, поэтому компиляторы иногда и творят неочевидные вещи.


Как сказали уже, можно включить флаг fastmath, позволяющий делать "небезопасные" оптимизации. Ряд SIMD оптимизаций, например, попадают в эту категорию.

Нет, экстремум квадратичной функции выводится аналитически через выделение полного квадрата, безо всяких производных. У меня в школе это точно было, и пресловутое "минус бэ на два а" запомнилось как отче наш. Погуглил учебники, это вроде даже 9 класс, хотя техника та же, что в 8 классе для вывода формулы корней уравнения.

Ммм нет, эта задача 7 класса.

Программиста сразу видно по тому, что он считает с нуля :)
(тоже думал, что седьмой, но оказался всё же восьмой https://www.yaklass.ru/p/algebra/8-klass/kvadratichnaia-funktciia-funktciia-y-k-x-11012/funktciia-y-ax-bx-c-ee-svoistva-i-grafik-9108/re-92d9d602-f9c6-43f6-8f78-6f80b2c8227a)

Я как раз про это же — оказаться без карты, потому что смартфон разрядился — это не зависимость от гаджетов, это личное ССЗБ. Просто смартфон столько других вещей может заменить (кратковременно), что его постоянное использование само по себе странно называть зависимостью.
Кстати, смарт, используемый под навигатор, я разбивал, было дело. Благо взял и бумажные карты, и запасной девайс :)

Да можно и без навигатора.
Статья просто ни о чём, можно не менее драматично написать о зависимости туриста от рюкзака, женщины от сумочки или горожанина от электричества.

Как выше написали, режим полёта плюс офлайн карты плюс выключать, когда дорога и без карты понятна, — хватает на несколько дней.
С павербанком легко хватает на недельный поход.

Я со смарта карты в походах смотрю :)
Это зависимость или просто лень купить специализированный навигатор для пользования максимум раз в год?

Давайте снижать барьеры

Давайте


в медицине

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


самолётостроении

Лет 10 назад р/у модель летательного аппарата — это был адъ и израиль в плане освоения управления. Сейчас можно купить квадрокоптер и летать, не приходя в сознание.


инвестиционной деятельности

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


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

Да и с гречкой, может, дойдёт до того, чтобы собственную ферму запилить с уникальной технологией выращивания, чтобы вкус был именно тот. Обсуждается же выбор первого языка программирования.


Если говорить про указатели и низкий уровень, то мне кажется, сейчас это вообще лучше осваивать через игры типа Shenzhen I/O, где сложность программируемой системы плавно нарастает, а не сваливается всей массой.

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

а почему нет?

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

Ох уж эти аналогии. Представьте ситуацию, человек выучился водить механику и идёт работать на автозавод сборщиком. Думаете, ему легко будет?! Скорее всего, он будет себя чувствовать инвалидом.
А вот если человек в самом начале пути, в юном возрасте, потратил немногим больше усилий и собрал своими руками хотя бы одну машину, ездить-то на ней уж труда ему не составит.
Но, согласен, не всем это нужно.

Я бы дальше пошёл здесь.


Сделал бы класс Solver, в котором есть член rhp, который отвечает за правую часть. У rhp есть метод call(x, y), который вызывает собственно функцию, и сколько-то полей, отвечающих за параметры. Примерно так:


classdef Circuit
    properties
        ...
    end
    methods
        function dydx = call(self, x, y)
            ...
        end
    end
end

classdef ODESolver
    properties
        rhp
        y_start
        y_prev
        y_next
        x_start
        x_prev
        x_next
    end
    methods
        function solver = ODESolver(rhp, x_start, y_start)
            solver.rhp = rhp
            solver.x_start = x_start
            solver.y_start = y_start
            solver.x_prev = x_start
            solver.y_prev = y_start
        end
        function solution = solve(self, nsteps, dx)
            ...
        end
        ...
    end
end

Использование в стиле


circuit = Circuit
circuit.coeff1 = coeff1
...

solver = ODESolver(circuit, 0.0, y_start)
solution = solver.solve(1000, 0.01)

Профит в том, что ODESolver больше не отвечает за вычисление самой правой части, это забота rhp внутри него.

Задач не помню (но я и не фанат ООП, скорее тяготею к ФП). В "Алгоритмах" Седжвика примеры структур данных, куда ООП хорошо ложится.


Например, написать функцию общего вида для поиска корней на отрезке методом половинного деления.


Если язык не поддерживает first-class functions, то можно сделать интерфейс Callable, который требует наличия метода call, и бисекция пишется в стиле:


float find_root(Callable f, float a, float b) {
    float fa = f.call(a);
    float fb = f.call(b);
    while (abs(b - a) < 1e-5) {
    ...
    }
    return answer;
}

Сами объекты, реализующие интерфейс Callable, могут быть совершенно произвольными.


В коротких задачах ООП обычно не особо нужно, а вот для библиотечного кода упрощает жизнь.

Общего случая скорее нет. Важно то, что семантически появляется понятие "типа времени исполнения", в зависимости от которого выражение x.f() будет приводить к выполнению разных наборов инструкций. Как это реализовано — второстепенный вопрос.


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


В Python объекты — это словари, в них лежат как данные, так и ссылки на методы. Там, вроде бы, для поиска метода тип объекта не требуется, но поиск идёт уже в рантайме.

В CLOS? Насколько мне известно, да, лишние проверки во время выполнения. Теоретически, стандарт не запрещает диспетчеризацию при компиляции, но на практике, кажется, нет таких реализаций. Но есть умельцы, которые не хотят с этим мириться.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity