0 обнаружился ещё один недостаток. При программировании примеров 2/3 усилий уходят на ввод данных и на вывод результата. На реализацию примера - только 1/3.
Для того, чтобы вывести результат, надо:
создать переменную в объекте документа и записать туда результат вычислений;
в объекте вида получить ссылку на объект документа;
по ссылке получить результат, записанный в объекте;
сформировать строку, содержащую результат вычисления;
определить, куда эту строку вывести в окне приложения.
Теперь сравните: для ввода данных в MS-DOS требуется один вызов scanf (), для вывода данных - один вызов printf ().
А в книжке этих мелких примеров - десятки и сотни. И из-за такой ерунды - которую я и так давно знаю - проводить всю эту длинную цепочку манипуляций?
Архитектура приложения "документ-вид" буквально вынуждает переходить к консольным приложениям в рамках того же Visual C. Иначе как учить язык C? Без оператора "cout" весь интерес пропадает.
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Комментарии 17
Все дело в том, что вы используете старые версии. Не только вам надоела эта рутина. В новых версиях/языках есть такая штука как Data Binding. Это связывание данных. Очень упрощенно это как раз связывание данных с их визуальным отображением. При этом вам не требуется программирования (или минимум). Например вы можете связать Edit с какой то переменной (обычно это поле класса). Тогда при вводе данных в поле, они автоматически будут обновлять переменную и наоборот. Ни каких действий от вас не требуется.В "продвинутых" языках это сделано на очень высоком уровне. Например в C#, при использовании WPF (UPF),все окна делаются на языке XAML. Это такой специальный диалект XML. Сама программа при этом должна быть ...ЕщёВы стреляете из пушки по воробъям
Все дело в том, что вы используете старые версии. Не только вам надоела эта рутина. В новых версиях/языках есть такая штука как Data Binding. Это связывание данных. Очень упрощенно это как раз связывание данных с их визуальным отображением. При этом вам не требуется программирования (или минимум). Например вы можете связать Edit с какой то переменной (обычно это поле класса). Тогда при вводе данных в поле, они автоматически будут обновлять переменную и наоборот. Ни каких действий от вас не требуется.В "продвинутых" языках это сделано на очень высоком уровне. Например в C#, при использовании WPF (UPF),все окна делаются на языке XAML. Это такой специальный диалект XML. Сама программа при этом должна быть построена на шаблоне MVVM. Если вы сделает все правильно, то о вводе/выводе данных практически не нужно беспокоится. Просто нужно писать согласно шаблона.Есть и другие штуки. Например в том же C#, есть такая штука LINQ. Она бывает для разных целей. Например LINQ to SQL - это связь объектов с полями в базе данных. Это значит что вы можете связать таблицы данных с их отображением/редактированием без программирования. Или LINQ to Object - эта штука позволяет манипулировать набором данных без БД. Например у вас есть список однотипных объектов, допустим список покупателей. С помощью LINQ, можно выполнять запросы в стили SQL. Например вы можете из списка выбрать всех покупателей женского пола у которых есть скидка в этом месяце. Это будет - 1 строка. В более простых случаях, можно использовать сериализацию объектов. Лучше всего использовать JSON, т.к. он более дружелюбный и простой. Обычно требуется 1-2 строки кода, что бы превратить текстовый файл в формате json в объект данных и обратно.
Теперь я вспоминаю, что в Visual C тоже есть формы... Но как с ними работать? Не хочется углубляться в этот вопрос.
Вы хотите сказать что имея под рукой учебники и 18 лет времени вы научились только азам программирования? Вам даже больше повезло чем мне, в свое время. Когда я начинал - не было даже учебников. Был только один, распечатанный на матричном принтере небольшой по С++. А учился в основном по хелпу, переводя написанное там по бумажной книге
Из личного опыта: приходил к нам однажды на собеседование гражданин. Показывал диплом о высшем образовании, магистратуру, кучу еще каких то свидетельств и корочек об образовании. Но нас это мало интересовало. Начали задавать вопросы - человек внятно ответить не может. Ну мы думаем - волнуется. Начали что называется "наводить" на правильный ответ. Но тут один один из наших парней задает неожиданный для всех вопрос: "чем отличается int от byte?" И этот гражданин, имеющий кучу корочек не смог ответить на этот вопрос!
В последствии мы спросили у парня задавшего вопрос, как он вообще додумался спросить такое? Он ответил: а вы разве не заметили...ЕщёА зачем с ними бодаться? Учебник учит думать, а не слепо выполнять задания. И как вы научились думать, показывает как раз собеседование и тестовое задание. Потому что слепое заучивание заданий из учебника - не учит думать. И собеседование это сразу покажет. Задет собеседующий вопрос не из учебника - и человек "поплыл"...
Из личного опыта: приходил к нам однажды на собеседование гражданин. Показывал диплом о высшем образовании, магистратуру, кучу еще каких то свидетельств и корочек об образовании. Но нас это мало интересовало. Начали задавать вопросы - человек внятно ответить не может. Ну мы думаем - волнуется. Начали что называется "наводить" на правильный ответ. Но тут один один из наших парней задает неожиданный для всех вопрос: "чем отличается int от byte?" И этот гражданин, имеющий кучу корочек не смог ответить на этот вопрос!
В последствии мы спросили у парня задавшего вопрос, как он вообще додумался спросить такое? Он ответил: а вы разве не заметили? Я тоже читал эту книгу. Он отвечал абзацми из нее, но совершенно не понимал о чем говорит.
Ответ в самом вопросе: byte = 8 bit.
а вот с другие типы могут сильно зависеть от ОС. Например в DOS, int = 2byte = 16bit. А в 32x разрядной win, int = 4byte = 32bit. К тому же, существует например тип word = 2byte = 8bit. Но это беззнаковое целое.
Так что не всегда размер имеет значение
Именно потому существуют разные сообщества программистов, где люди обмениваются опытом. А еще есть например github, где вы можете посмотреть как пишут другие. И даже можете принять участие в развитии какого то проекта. А может просто писать что то свое и все желающие могут это скачать