Не так давно на Хабре публиковалась новость о раскрытии кода Калькулятора Windows, одной из наиболее известных программ в мире. Исходный код этого ПО выложен на GitHub.
Тогда же говорилось о том, что разработчики программы предлагают всем желающим вносить свои пожелания и идеи относительно функциональности программы. Из большого числа на данный момент выбрана пока одна. Автор ее предлагает добавить в калькулятор графический режим.
Собственно, здесь все понятно — графический режим даст возможность визуализировать уравнения и функции, примерно то же, что делает Plotting Mode в Matlab. Функция была предложена инженером корпорации Microsoft Дейвом Грочоски (Dave Grochocki). По его словам, графический режим не будет слишком уж продвинутым. Он позволит учащимся строить графики по алгебраическим уравнениям.
«Алгебра — путь в высокие сферы математики и связанные с ней дисциплины. Тем не менее, это один из наиболее сложных для учащихся предметов, очень многие получают по алгебре плохие оценки», — говорит Грочоски. Разработчик считает, что если в калькулятор добавить графический режим, то ученикам и учителям станет проще понимать друг друга на занятиях.
«Графические калькуляторы могут быть весьма дорогими, программные решения требуют лицензирования, онлайн-сервисы не всегда являются оптимальным решением», — продолжает свою мысль Грочоски.
По словам представителей Microsoft, именно графический режим является одним из наиболее часто запрашиваемых возможностей в приложении Feedback Hub, куда пользователи программных продуктов корпорации сбрасывают свои предложения.
Цели, которые ставят перед собой разработчики:
- Обеспечение базовой визуализации в Калькуляторе Windows;
- Поддержка основных учебных программ по математике в США (к сожалению, пока функциональность Калькулятора будет планироваться, исходя из нужд учащихся этой страны), включая умение строить и интерпретировать функции, понимать линейные, квадратичные и экспоненциальные модели, изучение при помощи калькулятора тригонометрических функций и понимание концепции уравнений.
Что еще получит пользователь:
- Возможность ввести уравнение для построения соответствующего графика.
- Возможность добавить несколько уравнений и визуализировать их, чтобы сравнить между собой графики.
- Режим редактирования уравнений, чтобы можно было видеть, что изменяется при внесении определенных модификаций в исходное уравнение.
- Изменение режима просмотра графиков — разные участки можно будет просмотреть в разной степени детализации (т.е. речь идет о масштабировании).
- Возможность изучения различных типов графиков.
- Возможность экспортировать полученный результат — теперь визуализациями функций можно будет делиться в Office / Teams.
- Пользователи могут легко манипулировать вторичными переменными в уравнениях, что даст возможность понять, как изменения в уравнениях влияют на график.
Насколько можно судить, графики можно будет строить для не очень сложных функций.
Сейчас разработчики Калькулятора пытаются показать, что с течением времени программа совершенствуется. Она появилась на свет в качестве элементарного помощника для выполнения арифметических действий. Сейчас же это надежный научный калькулятор, который может использоваться широким кругом пользователей для решения весьма серьезных задач. В дальнейшем ПО будут улучшать и дальше.
Что касается открытия исходного кода, то это сделано для того, чтобы любой желающий мог ознакомиться с такими технологиями Microsoft как Fluent, Universal Windows Platform, Azure Pipelines и другими. Благодаря этому проекту разработчики могут больше узнать о том, как выполняется работа по созданию тех либо иных проектов в Microsoft. С подробным анализом исходного кода Калькулятора Windows можно ознакомиться здесь, прямо на Хабре.
Программа написана на С++ и содержит более 35000 строк кода. Для компиляции проекта пользователям необходима Windows 10 1803 (или более новая) и последняя версия Visual Studio. Со всеми требованиями можно ознакомиться на GitHub.
Комментарии (40)
Diordna
23.03.2019 23:47+1Еще бы функции конвертора физ величин добавить.
Butt--Head
24.03.2019 02:05+2Так ить давно уже есть, как минимум со времён Windows XP:
Или что — эту функциональность Microsoft умудрилась по пути благополучно по
херитьтерять?Andy_U
24.03.2019 02:36Нет, сохранилась, но только систему СГС/CGS эта софтина не знает. Про вязкость тоже понятия не имеет. И много про что еще. Я обычно Maple для этого использую.
qark
23.03.2019 23:48+2С подробным анализом исходного кода Калькулятора Windows можно ознакомиться здесь, прямо на Хабре.
Сложно назвать поиск «пахнущего» кода подробным анализом.
saboteur_kiev
24.03.2019 00:54+6Лучше бы сделали адекватный режим для конвертации hex-dec-oct-bin, а то при переходе из режима в режим теряются данные, для выбора системы счета нет хоткеев, отображение числа идет только в текущем и двоичном виде, почему бы сразу все четыре не показывать?
Настолько мелкие доработки, что есть впечатление, что проектировал «режим программист» тот, кто им никогда не пользовался.
Добавить графику в принципе было бы неплохо. Лишь бы не на электроне реализацию делали.Andy_Big
24.03.2019 03:20+1для выбора системы счета нет хоткеев
hex — F5, dec — F6, oct — F7, bin — F8. Или Вы не про это?saboteur_kiev
24.03.2019 03:53+2Ок хоткеи есть, хотя и вообще не интуитивные. Но почему бы сразу не выводить число
Andy_Big
24.03.2019 14:20+1С этим я не спорю, было бы очень удобно :) Как и со многими другими претензиями, высказанными тут — например, работа с дробными числами в счислениях, отличных от десятичного :)
Inanity
24.03.2019 04:21+2Тоже добавлю (жутко бесит лично меня).
1. Будет круто, если калькулятор, наконец таки научится из буфера обмена вынимать число, несмотря на префиксы/постфиксы, т.е. пора бы уже нормально считывать «0x1234», «h1234», «1234h», «b1010», «1001b». Я уже не говорю о том, чтобы по префиксам догадаться о системе счисления. И даже из «ijoefjw1234fojwef» неплохо бы уже считать подстроку с числом.
2. Куда и зачем убрали ROR и ROL из режима программиста? Если кнопочек не жалко, то можно добавить ещё NOR с NAND.M_AJ
24.03.2019 12:33И даже из «ijoefjw1234fojwef» неплохо бы уже считать подстроку с числом.
Много вариантов: 1234(8), 1234(10), 1234(16), 1234f(16).
HandleX
24.03.2019 15:01И десятичный разделитель понимает из буфера обмена только запятую (для русской венды) — вот тоже бесит.
yulai-b
24.03.2019 07:30По-моему, шикарная идея. С такой наглядной визуализацией калькулятору даже считать необязательно:)
orion76
24.03.2019 09:00Как в том анекдоте про АК-47:
За что бы не брался Microsoft, все равно получается Windows-)
kovserg
24.03.2019 10:30Следующий шаг это ненавязчивая реклама в калькуляторе и интеграция со skype-ом?
ps: Берём обычный скриптовый языка типа Lua,Python и т.п. и получаем калькулятор на порядок лучше, удобнее с возможность автоматизировать действия.
Alex_ME
24.03.2019 12:24Калькулятор Windows 10 какой-то отстой. Раньше у нас был просто гребаный калькулятор, а теперь это калькулятор с кучей графических свистоперделок. Который хоть и потребляет памяти сущие копейки в масштабе системы, все равно как-то дофига для такого примитивного инструмента. Ну, и как выяснилось, содержит просто дофига кода.
Например, в убунтовском калькуляторе есть очень удобный клавиатурный режим. Зачем кнопочки на экране, если можно набрать на клавиатуре?
VJean
24.03.2019 17:35Кнопочки для устройств с сенсорным экраном.
geher
24.03.2019 22:08На устройствах с сенсорным экраном обычно есть виртуальная клавиатура.
VJean
24.03.2019 22:13На мелкоэкранных устройствах ею не очень удобно пользоваться, т.к. отжирает большую часть экрана. У самого asus t91mt и долгое время пользовался t101mt.
geher
25.03.2019 10:36Калькулятору выражений хватит двух строк на экране — ввод и результат.
Опционально можно добавить несколько стрьк истории.
Пользовал на мобильном разные калькуляторы (в том числн вообще без кнопок). Бвло нормально.
advan20092
25.03.2019 16:17А винда в поиске не считает? В макоси и на айпаде можно так считать. На худой конец у гугле.
MOPOH
24.03.2019 12:26А мне в стандартном калькуляторе не хватает запоминания предыдущих настроек. Например, в конвертере величин по дефолту открывается «вес/масса (гектограмм)» и каждый раз приходится выставлять требуемые параметры преобразования.
kovserg
25.03.2019 13:34
Кстати, где названия осей, где единицы измерения, где сетка и названия кривых?
Справа три прямые, а слева какая-то кривая типа логарифма. Это дизайнерский прототип или так и будет?
fedor2612
Пусть стандартный калькулятор останется калькулятором, а если, например, нужны графики — берите GeoGebr'у, решать уравнения — Maxim'у или SageMath, и. т. д. У каждого инструмента должна быть своя область, потребностям которой он удовлетворяет. Область определения стандартного калькуятора — простые вычисления, для большего есть свои инструменты, которые будут лучше, разработчики которых уже поняли, «методом проб и ошибок», каким именно должен быть инструмент, и тратили все время на движение в этом направлении.
GeMir
Упомянутая вами GeoGebra из одного приложения (GeoGebra Classic) как раз постепенно превращается в семейство приложений, состоящее из приложения для динамической геометрии, графического, а так же CAS-«калькулятора».
Exchan-ge
Как я мог заметить, люди, профессионально использующие компьютер — уже давно не заморачиваются на Калькулятор: делают все вычисления в Excel. Так как и быстрее и проще. (И повторяемость процесса лучше )
И да, Калькулятор должен быть простым — он для тех, кому Excel сложен.
GeMir
Valle
я вот сейчас попробовал на него зайти. 25 секунд он открывался. 2+2 он считал более двух минут и так и не посчитал. После полной перезагрузки это заняло секунд 30. Впрочем и в лучшие времена выдать что-то быстрее двух секунд он никогда не мог. Создать табличку в гуглдрайве существенно быстрее.
vyo
Странно. Открылся за пару секунд,
2+2
посчитал секунд за 5 (но при обилии итоговой инфы это даже простительно).Да и Exel оффлайновый, кто мешает wolfram alpha тоже поставить и не напрягаться?
Valle
Да, сейчас очухался и открывается/считает быстро. Наверное авария была.
Exchan-ge
Одно из преимуществ экселя — работа офлайн.
Бывают случаи, когда это принципиально.
Mykola_Von_Raybokobylko
Самое быстрое подтверждение аксиомы " о полноте Excel"
Alex_ME
Если мне надо посчитать что-то совершенно простое — обычный калькулятор, а более сложное — Python repl.
Error1024
Боюсь в Excel и других электронных таблицах можно получить весьма «странные» для калькулятора результаты, ввиду двоичной, а не двоично-десятичной арифметики.
saboteur_kiev
Галочка «точность как на экране» не включена =)
p_fox
А что, в таком простом вычислении бывает какая-то альтернативная точность, кроме очевидного результата "0,1"?
Exchan-ge
Мне так и не удалось воспроизвести показанный на вашей иллюстрации результат.
saboteur_kiev
Да ладно. Сделайте все как на картинке и кнопочкой «увеличить разрядность» добейте до 15-20 знаков после запятой.
p_fox
Но это не моя иллюстрация. :)