Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Что дают программисту новые фреймворки? |
Автор: asdfg6 12.11.2013, 10:19 |
Для чего люди переходят на новые фреймворки? По вашему мнению, новые фреймворки всегда лучше старых? Основная задача фреймворков - разработка форм графического интерфейса, который состоит из давно ставших стандартом компонентов. Для пользователя они выглядят одинаково. Никакого значимого сокращения объема работы по разработке форм фреймворки не принесли. Разработка формы "одной мышкой" так и не появилась. |
Автор: Earnest 12.11.2013, 10:46 |
Обычно новые фреймворки сопровождаются и обновлением компилятора, линкера, etc Для меня это основная причина. Новая версия компилятора - лучшее соответствие стандартам, новые возможности и т.д. А к оболочке привыкаешь быстро, хотя поначалу и раздражает. Программирование не сводится к разработке форм, хоть одной мышкой, хоть двумя, так что это вообще не задача для разработчиков фреймворков, |
Автор: asdfg6 12.11.2013, 12:15 | ||
Сложно найти программиста, которому это важно. Мало кто знает и умеет использовать ключи компилятора и линкера. Скорее всего это какой-то бородатый линуксоид, а не программист, работающий в фреймворках. |
Автор: asdfg6 12.11.2013, 13:26 |
Ключи как и версии компилятора и линкера скрыты от программиста, работающего в фреймворке. Средний программист вообще не разделяет компилятор и линкер. Для него есть одна кнопка "собрать проект". |
Автор: baldina 12.11.2013, 13:34 | ||
это только для того, кто Добавлено через 32 секунды и пожалуй даже средний таки в курсе |
Автор: xvr 12.11.2013, 13:37 | ||||
Тут имеем 2 утверждения, оба из них не соотвествуют действительности Есть в законах Мерфи (если не ошибаюсь) замечательное утверждение -
У программистов никогда не стояла цель 'разрабатывать формы одной мышкой'. Если у вас стоит такая цель - вы не программист ![]() |
Автор: asdfg6 12.11.2013, 14:16 | ||
Даже в Linux программисту обычно пофиг что делает линкер (make запускает всё что надо), не говоря о Windows где всё глубоко скрыто в среде разработки. |
Автор: xvr 12.11.2013, 14:23 | ||
Ни в Linux, ни в Windows ни одна среда разработки не скрывает от разработчика то, что у компилятора и линкера есть настройки, а наоборот - дает весьма богатый выбор для их изменения. Называется это все 'свойствами проекта', и только те, кто 'програмирует исключительно мышкой' об этом не знают ![]() Это не 'средний программист', это 'мышкоблудец' ![]() |
Автор: asdfg6 12.11.2013, 14:24 | ||||
В фреймворках от MS похоже стоит цель написать побольше кода, размазать код по как можно большему числу файлов, и использовать побольше разных языков в одной программе. Добавлено через 3 минуты и 9 секунд
Обычно стараются менять эти свойства как можно реже. Свойства проекта по-умолчанию подходят для большинства ситуаций. |
Автор: baldina 12.11.2013, 15:15 |
а именно устанавливают один раз. но это не значит, что не в курсе |
Автор: asdfg6 12.11.2013, 15:30 |
Устанавливают при создании проекта. Определяют какой будет проект - графическое, консольное приложение, библиотека, и т.д, остальное делает среда. Я не видел, чтобы программист под Windows руками выставлял ключи. |
Автор: Amp 12.11.2013, 15:33 |
Оффтоп - твой старый аккаунт здесь забанили что ли? |
Автор: asdfg6 12.11.2013, 15:37 | ||||
В последнее время часто делают нестандартные компоненты GUI. Мне не нравятся такие программы, считаю что это вводит в заблуждение. А какая еще цель у фреймворков? Другая задача фреймворков - работа с БД. Но GUI и БД взаимосвязаны, т.к. чаще всего GUI пишется чтобы отображать и вносить данные в/из БД. |
Автор: Guinness 12.11.2013, 15:43 | ||
В смысле? Ручками писать ключики? В студии большинство ключей есть в виде свойств проекта. В qtcreator пишешь ключики в .pro файле или для moc в настройках проекта. И да, если программист с этим не сталкивался, то он скорее всего в начале пути и рано или поздно до этого дойдет. Другой вопрос, IDE позволяют существенно упростить геморрой со сборкой проекта. И да, я писал с точки зрения програмирования на плюсах, на других языках скорее всего может быть по другому. |
Автор: asdfg6 12.11.2013, 16:50 | ||
Такое впечатление, что вы давно не открывали свойства проекта в студии. В свойствах проекта в студии многие свойства пишутся тупо руками в виде строки (которая на самом деле представляет набор свойств). Вы понимаете все эти свойства? Фреймворк по идее нужен чтобы писать программы с меньшими затратами времени, и чтобы снизить порог вхождения в программирование. Грубо говоря писать программы под хороший фреймворк может и идиот. А наблюдается обратная ситуация, программировать под современные фреймворки сложнее чем без них. |
Автор: xvr 12.11.2013, 17:03 | ||
О да, давненько я не брал в руки шашек ... ![]() Открыл VS2010 (какая под руками была), проект на С++. В Project->Properties->Configuration Properties нашлось 11 пунктов, из них 8 имеют подпункты (от 1 до 10 штук), на каждый из них открывается страница с настройками (от 3 до 20 шт на страницу). При этом все настройки имеют вполне вменяемое короткое имя (оно видно сразу на странице) и более подробное - развернутое (оно показывается при выборе настройки). Кроме того, последним подпунктом для компилятора и линкера идет страница с сгенерированной командной строкой их запуска, где перечисленны все опции, и их там можно подредактировать. Если человек не в состоянии понять что есть что после 3го раза (короткое название/развернутое название/развернутый help в виде WEB страницы), то видимо к компьютеру его вообще подпускать нельзя (про программирование я умолчу) |
Автор: asdfg6 13.11.2013, 08:14 | ||||
Вот навскидку такая опция (на странице Common Properties, Framework and References)
Это вся доступная справка
У меня стоит false. Что будет, если поставить true? Для начала надо бы выяснить что такое Local Satellite Assemblies, но в MSDN этого нет. Что куда и зачем будет копироваться? |
Автор: baldina 13.11.2013, 10:42 | ||
http://lmgtfy.com/?q=Local+Satellite+Assemblies&l=1 |
Автор: asdfg6 13.11.2013, 12:32 |
Найти в гугле не значит уметь использовать. |
Автор: baldina 13.11.2013, 13:02 |
по ссылке описано и что это такое, и как его использовать. вкупе с комментарием в студии получается исчерпывающая картина. если вы этого не понимаете, значит надо читать сначала. справка по опциям компилятора обычно тоже немногословна, т.к. предполагает определенный уровень знаний пользователя. |
Автор: bsa 13.11.2013, 15:57 |
Есть простое правило, если ты не понимаешь что это и зачем, то оно тебе не нужно. |
Автор: asdfg6 13.11.2013, 19:10 |
Если показать пальцем на случайно выбранную опцию из свойств проекта в студии, и спросить случайно выбранного программиста зачем эта опция, то скорее всего он не даст внятный ответ. Разумеется, поиск в интернете и чтение МСДН для ответа на вопросэтому программисту не разрешается. В свойствах проекта в студии сотни опций, и почему-то мне кажется, что на этом форуме мало кто знает их все. |
Автор: bsa 13.11.2013, 21:19 |
Причину я указал выше. В большинстве случаев достаточно знать лишь базовые понятия, типа release и debug. Все остальное - это тонкий тюнинг, который делают только те, кому это действительно нужно или из праздного любопытства. |
Автор: baldina 13.11.2013, 22:16 |
все никто не знает. это не нужно. голова инженера это не хранилище для кучи фактов. факты зубрить не надо, для этого есть книги и интернет. нужно знать концепции и принципы, тогда будет ясно какие факты и где искать. любой из отвечающих в этой теме за 5 минут разберется в любой опции так, чтобы полностью понять и объяснить, даже если задумался о ней впервые. |
Автор: EgoBrain 14.11.2013, 07:55 | ||||
Да? И что тогда будет делать человек назнающий ничего о работе линкера и компилятора когда сталкнется с ошибкой компоновки исполняемого файла из объектных? Напишит на форуме много глупых умозаключений и вопросов. asdfg6, ты уже отклонился от темы перейдя на обсуждения настроек комплиятора и прочая. И вообще с первого поста непонятно сразу что ты речь ведешь о .NET Framework, а не об общном понятии. Версии .NET отличаются привнося новые пространства имен с новыми классами и кучей возможностей, GUI лишь малая доля. Что касается настроек, в них часто приходится залазить, требования к проекту могут менятся, начиная от банального дебага и релиза, заканчивая подключением новых библиотек к проекту и настроек оптимизации. Еще зачастую приходится менять режим подключения внешних библиотек, либо включать их в исполняемый файл либо динамечки подгружать. Все это делается через свойства проекта. Бывает пишешь ты пишешь оконое приложение, например под DirectX что-то, понадобился тебе вывод текста на экран, но тебя обламывает тратить время на изучение возможностей набора текста средсвами DirectX, и ты решил выводить в консоль, полез в ствойста сменил тип на консольный. И всякие другие случаи. На стадии создания и дебагинга одни и теже свойста могут менятся несколько раз подряд. |
Автор: asdfg6 14.11.2013, 08:19 | ||
А на этом форуме нет ни одного вопроса натему "почему выдается ошибка Unresolved external symbol"? Значит плохо понимают пацаны как работает линкер. |
Автор: asdfg6 14.11.2013, 08:46 | ||
Задача классов .NET Framework - считать и отобразить данные (в окне приложения или браузера), а это чистый GUI + запросы к БД. WEB-программирование по указанной причине я тоже отношу к GUI. Всю бизнес-логику программист пишет руками, и фреймворк никак в этом ему не помогает. Какая ещё есть "большая доля"? |
Автор: baldina 14.11.2013, 10:44 | ||
помогает, вы просто не умеете. ![]() все это напоминает очередной троллинг |
Автор: bsa 14.11.2013, 15:59 |
Которые? Которые задают или которые отвечают? |
Автор: akizelokro 15.11.2013, 01:25 | ||||||||
Неверно. Рассмотрим хотя бы Visual Studio 2010, для примера, MFC. Кроме давно уже стандартных классов СButton и проч., я нашёл новые (возможно, для себя) классы СMFCButton и прочие, которые также, как я понял, уже стали стандартом. Также учтеные кой-где новые возможности, хотя бы на начальном уровне, такие как прозрачность. Отсюда - учесть изменения.
Есть и тип проектов на основе make-файлов. Так же порой приходится и портировать библиотеки. Кстати, работал на первом чтоли фреймворке (графической среде разработки под Винду) и не задавался вопросом, почему я на него перехожу. Потому что встроенный дебаггер (окно вывода). И всё достаточно удобненько и видно. Причина - упростить себе жизнь, в фреймворках добавляют новые сервисы.
Я видел. И не только давно.
Скорее всего, что надо уточнить, что все ключи и опции. Мало того, что они могут отличаться от компилятора к компилятору, так их действительно много. Но если знать, что они могут быть, их можно найти. |