Начало
От: mrdemon  
Дата: 19.12.05 09:32
Оценка:
Вот появилась необходимость написания программ для Windows. В качестве среды разработки решил выбрать MSVS2005, но вот возник вопрос с чего начинать? Программировать умею на C, недавно прочел несколько книг по C++, более или менее разобрался с ООП, но после этого возник другой вопрос, в какую сторону комать дальше MFC, WTL, CLR или что-то другое?

З.ы. Задача у меня такая, написать клиент-приложение для работы с удаленным сервером. И самое главное, что бы этот клиент без проблем работал в Win9x/WinMe/Win2k/WinXP.
З.ы.ы. Все откликнувшимся заранее огромное спасибо, что вы уделили несколько минут на ответ безнадежному чайнику
Re: Начало
От: BlackHeretic Израиль  
Дата: 19.12.05 10:17
Оценка:
Я бы писал на MFC — проще имхо для начинающего.

ЗЫ А Win9x это типа Win95 тоже?
ICQ 156156278
Re[2]: Начало
От: mrdemon  
Дата: 19.12.05 10:53
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH>Я бы писал на MFC — проще имхо для начинающего.

К сожалению надо не проще, а эффективно.

BH>ЗЫ А Win9x это типа Win95 тоже?

да именно он родимый.
Re: Начало
От: SergH Россия  
Дата: 19.12.05 11:19
Оценка:
Здравствуйте, mrdemon, Вы писали:

M>Вот появилась необходимость написания программ для Windows. В качестве среды разработки решил выбрать MSVS2005, но вот возник вопрос с чего начинать? Программировать умею на C, недавно прочел несколько книг по C++, более или менее разобрался с ООП, но после этого возник другой вопрос, в какую сторону комать дальше MFC, WTL, CLR или что-то другое?


MFC и WTL это оконные библиотеки. WTL, как надстройка над ATL ещё COM умеет. CRT — стандартная библиотека С++, не связана ни с тем, ни с тем, её можно и желательно использовать всегда.

Из оконных библиотек предпочитаю WTL. Но если от GUI ничего особоло не требуется (например, если программа консольная ), то можно не использовать ни то ни другое.

M>З.ы. Задача у меня такая, написать клиент-приложение для работы с удаленным сервером. И самое главное, что бы этот клиент без проблем работал в Win9x/WinMe/Win2k/WinXP.


На чём сервер? COM, RPC, сокеты, что-то иное?
Делай что должно, и будь что будет
Re: Начало
От: Vogul  
Дата: 19.12.05 11:52
Оценка: 1 (1) +1
Здравствуйте, mrdemon, Вы писали:

Начинать надо с WinAPI и никаких MFC, WTL и иже с ними.
Будет трудно и конечно много мусора придеться изучить, но потом будешь понимать, что и как происходит в системе.
Re[3]: Начало
От: Andrew S Россия http://alchemy-lab.com
Дата: 19.12.05 13:44
Оценка:
BH>>Я бы писал на MFC — проще имхо для начинающего.
M>К сожалению надо не проще, а эффективно.

Тогда — WTL.
http://www.rusyaz.ru/pr — стараемся писАть по-русски
Re[2]: Начало
От: mrdemon  
Дата: 19.12.05 15:06
Оценка:
Здравствуйте, Vogul, Вы писали:

V>Начинать надо с WinAPI и никаких MFC, WTL и иже с ними.

V>Будет трудно и конечно много мусора придеться изучить, но потом будешь понимать, что и как происходит в системе.

Спасибо большое за совет, я думаю так и поступлю. Лучше сразу идти по трудному пути, зато после будет намного легче
Re[3]: Начало
От: BlackHeretic Израиль  
Дата: 19.12.05 15:30
Оценка:
Здравствуйте, mrdemon, Вы писали:
M>Спасибо большое за совет, я думаю так и поступлю. Лучше сразу идти по трудному пути, зато после будет намного легче

Вопрос как правило в стоимости, по крайней мере у меня на работе. До сих пор пишу на MFC, хоть и знаю что на WTL программы будут компактнее и гибкости больше. Причина проста. Размер и соответственно сложность моих проектов таковы, что при написании на WTL я буду тратить на их разработку и поддержку на 2-3 месяца в году больше. И получается что фирме это влетит в лишнюю оплату этих месяцев. Учитывая во сколько я обхожусь фирме, намного проще для моих внутрефирменных юзеров купить больше пямяти и мощнее оборудование. Да и это как правило не нужно, так как GUI уже давно перестало быть критичным к мощностям (я не говорю о мастодонтах, сидящих на первых пнях ).
В общем исходите из целесообразности. Знайте все, а пишите на том что наиболее оптимально подходит к конкретной задаче
ICQ 156156278
Re[4]: Начало
От: kero Россия  
Дата: 19.12.05 20:37
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH>В общем исходите из целесообразности. Знайте все, а пишите на том что наиболее оптимально подходит к конкретной задаче


Знаю, знаю, на РСДН неприлично замечать орфографические ошибки. А семантические ?
Добавлять к "оптимально" "наиболее" — значит снижать весомость совета
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[2]: Начало
От: Вертер  
Дата: 19.12.05 23:17
Оценка:
Здравствуйте, SergH, Вы писали:

SH>Здравствуйте, mrdemon, Вы писали:


M>>Вот появилась необходимость написания программ для Windows. В качестве среды разработки решил выбрать MSVS2005, но вот возник вопрос с чего начинать? Программировать умею на C, недавно прочел несколько книг по C++, более или менее разобрался с ООП, но после этого возник другой вопрос, в какую сторону комать дальше MFC, WTL, CLR или что-то другое?


SH>MFC и WTL это оконные библиотеки. WTL, как надстройка над ATL ещё COM умеет. CRT — стандартная библиотека С++, не связана ни с тем, ни с тем, её можно и желательно использовать всегда.


CLR != CRT
Re[5]: Начало
От: BlackHeretic Израиль  
Дата: 20.12.05 07:20
Оценка:
Здравствуйте, kero, Вы писали:

K>Знаю, знаю, на РСДН неприлично замечать орфографические ошибки. А семантические ?

K>Добавлять к "оптимально" "наиболее" — значит снижать весомость совета

Спасибо
Но орфография и семантика могут проистекать как из того что человек малограмотен, так и из того, что он мало общается по русски, читай забывает его

ЗЫ Я и так по три раза проферяю текст на предмет ляпов перед тем как отправить
ICQ 156156278
Re[6]: Начало
От: kero Россия  
Дата: 20.12.05 12:10
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH> Спасибо

BH> Но орфография и семантика могут проистекать как из того что человек малограмотен, так и из того, что он мало общается по русски, читай забывает его
BH> ЗЫ Я и так по три раза проферяю текст на предмет ляпов перед тем как отправить

Тьфу, не посмотрел, откуда сообщение, так что прошу пардону, искренне, черт меня дернул.
Наверное, домозолило-таки глаза который день висящее вверху РСДН: "Самый оптимальный тариф для любого сайта"...
По всему, пашиным хозяевам позарез нужна война в Европе
(уверены — к ним не залетит, в предыдущих двух не залетало жеж)
Автор: kero
Дата: 21.07.14
Re[3]: Начало
От: Аноним  
Дата: 20.12.05 12:18
Оценка:
Здравствуйте, Вертер, Вы писали:

В>CLR != CRT


CLR == .NET == managed code

Хотя Visual C++ и позволяет писать managed (и mixed) code, IMHO — это изврат, один тошнотворный синтаксис чего стоит — годится разве что для написания врапперов чего-нибудь нативного, но не для разработки приложений. Если уж связываться с .NET (IMHO, .NET == глючный, тормозной, тяжеловесный код + гарантированный геморрой с runtime и его версиями) — брать C#.
Re[4]: Начало
От: Вертер  
Дата: 20.12.05 12:28
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Вертер, Вы писали:


В>>CLR != CRT


А>CLR == .NET == managed code


А>Хотя Visual C++ и позволяет писать managed (и mixed) code, IMHO — это изврат,


для защиты (функций и модулей, для выполнения критический вещей)...

А>один тошнотворный синтаксис чего стоит —


это дело привычки, а не религии...

А>годится разве что для написания врапперов чего-нибудь нативного, но не для разработки приложений.


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

А>Если уж связываться с .NET (IMHO, .NET == глючный, тормозной, тяжеловесный код + гарантированный геморрой с runtime и его версиями) — брать C#.


религия?!
Re[4]: Начало
От: Аноним  
Дата: 20.12.05 12:33
Оценка:
Здравствуйте, Andrew S, Вы писали:

BH>>>Я бы писал на MFC — проще имхо для начинающего.

M>>К сожалению надо не проще, а эффективно.

AS>Тогда — WTL.


Что означает слово"эффективно" в данном контексте? Скорость разработки или же скорость выполнения программы?

Я рекомендовал бы MFC. В ATL/WTL вы сейчас вряд ли разберётесь (исхожу из вашего писания имеющихся skills). С точки зрения производительности/размера программы MFC действительно несколько проигрывает ATL/WTL, но это умозрительно — для современного компьютера пара лишних тактов или лишние 200 КБ размера модуля не принципиальны. Но писать UI с MFC заметно быстрее (и проще для новичка). Надо заметить, что MFC, IMHO, бесполезен вне задач связанных с написанием UI.
Re[5]: Начало
От: Аноним  
Дата: 20.12.05 12:40
Оценка:
Здравствуйте, Вертер, Вы писали:

А>>Если уж связываться с .NET (IMHO, .NET == глючный, тормозной, тяжеловесный код + гарантированный геморрой с runtime и его версиями) — брать C#.


В>религия?!


Критика .NET — это "IMHO". По делу — совет писать под .NET на C#, а не на С++, кроме исключительных случаев.
Что касается .NET — он бы мне лично очень нравился, если бы действительно всё было так хорошо, как Майкрософт рассказывает.
Re[4]: Начало
От: Аноним  
Дата: 20.12.05 12:47
Оценка:
Здравствуйте, BlackHeretic, Вы писали:

BH>Здравствуйте, mrdemon, Вы писали:

M>>Спасибо большое за совет, я думаю так и поступлю. Лучше сразу идти по трудному пути, зато после будет намного легче

BH>Вопрос как правило в стоимости, по крайней мере у меня на работе. До сих пор пишу на MFC, хоть и знаю что на WTL программы будут компактнее и гибкости больше. Причина проста. Размер и соответственно сложность моих проектов таковы, что при написании на WTL я буду тратить на их разработку и поддержку на 2-3 месяца в году больше.


Аналогично. UI пишу на MFC + MFC-based third party libraries, остальное — ATL + STL + всё что угодно.
Re[6]: Начало
От: Вертер  
Дата: 20.12.05 12:57
Оценка:
А>Критика .NET — это "IMHO".

ок...

А>По делу — совет писать под .NET на C#, а не на С++, кроме исключительных случаев.


А>Что касается .NET — он бы мне лично очень нравился, если бы действительно всё было так хорошо, как Майкрософт рассказывает.


Аналогично (с) Колобки
Re[3]: Начало
От: SergH Россия  
Дата: 20.12.05 14:56
Оценка:
Здравствуйте, Вертер, Вы писали:

В>CLR != CRT


Я в курсе.
Делай что должно, и будь что будет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.