Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
Здравствуйте, Крокотук, Вы писали:
К>Всем привет.
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
Здравствуйте, Крокотук, Вы писали:
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
я подобным кандидатам сразу рассказываю как им проще выбраться из здания. дверь лифт улица.
обертки обертками но нужно понимать что за ними стоит. когда понимаешь сложностей по Win API не возникает
Здравствуйте, dukdin, Вы писали:
D>я подобным кандидатам сразу рассказываю как им проще выбраться из здания. дверь лифт улица. D>обертки обертками но нужно понимать что за ними стоит. когда понимаешь сложностей по Win API не возникает
Да дело не в сложности в понимании, не тот возраст. Просто, зачем? Зачем большую часть времени тратить на то, чтобы думать, КАК сделать, а не ЧТО?
Здравствуйте, Крокотук, Вы писали: D>>я подобным кандидатам сразу рассказываю как им проще выбраться из здания. дверь лифт улица. К>Да дело не в сложности в понимании, не тот возраст. Просто, зачем? Зачем большую часть времени тратить на то, чтобы думать, КАК сделать, а не ЧТО?
Здравствуйте, dukdin, Вы писали:
D>Здравствуйте, Крокотук, Вы писали: D>>>я подобным кандидатам сразу рассказываю как им проще выбраться из здания. дверь лифт улица.
Не стоит забывать, что Вы тоже можете быть посланы далеко и надолго. Не велика потеря.
Здравствуйте, Крокотук, Вы писали:
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
И какие же это всем известные крупные компании? Microsoft?
Очевидно, что если просят WinAPI, то есть куча старого, но успешно работающего кода на смеси WinAPI/MFC/WTL/прочиеобертки, которую нужно поддерживать. И попробуй потом объясни начальству, что во всей конторе есть только 1.5 разработчика, способных поправить очередной критичный баг в старой линейке продуктов. Остальные же, по их же словам, ковыряться в "г... мамонта" не будут.
Здравствуйте, Крокотук, Вы писали:
К>Всем привет.
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
Разработку системных вещей можно назвать мазохизмом
В WDK относительно не давно появилась возможность писать использую COM интерфейсы, но не уверен что это можно делать за пределами user — mode. Так же некоторым нужно разрабатывать приложения так, чтобы они были "легкими" и не тащили за собой 50 мегабайтов чужих длл.
Здравствуйте, Крокотук, Вы писали:
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
А что кроме WinAPI?
Когда я купил свою первую книжку по программированию под Windows (был такой автор -- Финогенов если кто помнит), там в первой половине книги описывалась WinAPI а во второй половине приводились те же рассуждения -- да кто будет на этом окаменевшем... и описывалась новаторская объектно ориентированная библиотека OWL (об MFC в те годы речи не шло, да). Стоит ли говорит, что реально полезной была лишь первая часть?
Шли годы. Я устроился на свою вторую работу (на первой я писал ПО для высокоточного оружия под микроконтроллеры и о Windows только книжки читал, а вот вторая была более высокоуровневой) и там пришлось осваивать прекрасную новаторскую объектно-ориентированную библиотеку VCL для Borland C++ Builder. Я плевался и вставлял где мог код на чистом WinAPI. Работало от этого неколько лучше.
Шли годы. VCL уходило в прошлое и я освоил прекрасную новаторскую объектно-ориентированную библиотеку MFC. Заодно кстати неплохо выучил COM к которому прилагалась не менее прекрасная но уже с примесбю метапрограммирования билиотека ATL. К ней же паровозиком пошла WTL.
Кто не знает какая дрянь эта WTL тем сильно повезло в жизни.
Да, писал я разумеется всё на том же WinAPI, если вы понимаете о чём я
Шли годы. Я плюнул на разработку по винду(поэтому WinForms, WPF и прочее прошло уже без меня) и сейчас уже довольно долго программирую под Linux, занимаюсь разработкой и портированием оптимизирующих компиляторов. На рабочей машине у меня OpenSUSE, дома Mint, винду я не видел уже года два.
Но если меня попросят что-нибудь написать под винду, я без проблем напишу. На WinAPI. Я не знаю какая новаторская библиотека сейчас в тренде, но я не вижу больше смысла учить все эти дешёвые понторезные оболочки. Чтобы действительно думать о том что ты делаешь а не как ты это делаешь, нужно выбирать нормальные, стабильные средства. Не меняющиеся десятилетиями. CreateWindowExW это всегда CreateWindowExW, и запомнить список её параметров не так сложно на самом деле. Я за два года забыть не успел. А вот как создать окно в вашей очередной очень новаторской билиотеке -- это в справку лезть надо.
Поэтому я пишу код на C, мой редактор -- vim и мне плевать на изменения в индустрии, которые её штормят раз в пять лет и на все прекрасные новаторские билиотеки. Меня ничего не штормит и не качает. Я знаю как педалить рабочий код и я знаю свои инструменты так, что могу пользоваться ими не просыпаясь, пьяным или под наркозом.
А ваши выскоуровневые фигни оставьте крысам и тараканам. OWL они уже доели, я надеюсь.
Здравствуйте, ned, Вы писали:
ned>Очевидно, что если просят WinAPI, то есть куча старого, но успешно работающего кода на смеси WinAPI/MFC/WTL/прочиеобертки, которую нужно поддерживать. И попробуй потом объясни начальству, что во всей конторе есть только 1.5 разработчика, способных поправить очередной критичный баг в старой линейке продуктов. Остальные же, по их же словам, ковыряться в "г... мамонта" не будут.
Объясняется легко. Эти "1.5 землекопаразработчика" выкатывают рейт 3X за свои услуги. И начальство начинает думать, как можно сэкономить и обезопасить себя в дальнейшем от 4X.
Здравствуйте, Tilir, Вы писали:
T>CreateWindowExW это всегда CreateWindowExW, и запомнить список её параметров не так сложно на самом деле. Я за два года забыть не успел. А вот как создать окно в вашей очередной очень новаторской билиотеке -- это в справку лезть надо.
Здравствуйте, Крокотук, Вы писали:
К>Всем известно, какие крупные компании требуют знание Win API. Ну вот за 10 лет я редко сталкивался с необходимостью писать на чистом Win API. Это либо кросс-платформенная библиотека, либо какая-то обертка. Даже сложно представить, как можно использовать эти сишные ф-ии с десятью параметрами каждый день. Это такая изощренная форма мазохизма?
Если язык C++ и проект больше чем "hello world" то практически всегда используются обертки или самописные или типа
например WTL или скажем Win32++.
Здравствуйте, MTD, Вы писали:
MTD>Здравствуйте, Tilir, Вы писали:
T>>CreateWindowExW это всегда CreateWindowExW, и запомнить список её параметров не так сложно на самом деле. Я за два года забыть не успел. А вот как создать окно в вашей очередной очень новаторской билиотеке -- это в справку лезть надо.
MTD>
MTD>Теперь, чисто академический интерес, как это будет на WinAPI?
Частично присоеденюсь к Tilir. Ваш код конечно короткий для программы которая ничего не делает. Но на практике получаеться, что объем и сложность подобного кода возрастает с большей скоростью чем для кода написаного на API + возможно пара простых библиотек под частные задачи. Т.Е. чем больше и сложней по тем более удачна мысль писать его воздерживаясь от в данном случае Qt. Или сокращая использование внешних библиотек до минимума.
Здравствуйте, MTD, Вы писали:
MTD>Теперь, чисто академический интерес, как это будет на WinAPI?
Выигрыш на helloworld это то, с чего как раз и начинается большинство евангелистских книг по новым прекрасным библиотекам (вот кстати Qt как-то прошла мимо меня, что удивительно). Да, helloworld на WinAPI сложен. Но часто ли вы пишете helloworld? Если да -- возьмите готовый шаблон
Здравствуйте, MikePetrichenko, Вы писали:
MP>Соглашусь, но отчасти. Инструмент нужно выбирать по задаче, а то так и гвозди микроскопом забивать можно. Но удобно ли?
Это обратный пример. Забивать микроскопом гвозди означает использовать неоправданно сложный инструмент для неоправданно простых целей. Лучше подошла бы аналогия с небоскрёбом который сложно строить из кирпичей. Да кто бы возражал, собственно. Если того требуют реалии бизнес-процесса, новая прекрасная библиотека осваивается. Всё равно внутри там -- всё то же WinAPI. "Есть вода которую пьют чтобы жить..."