Est-il toujours judicieux d'apprendre la programmation WinAPI de bas niveau ?

Est-il logique d'avoir tous les C

请先 登录 后评论

9 réponses

Ed.

Absolument. Quand personne ne connaît le bas niveau, qui mettra à jour et écrira les langages de haut niveau ? De plus, lorsque vous comprenez les éléments de bas niveau, vous pouvez écrire du code plus efficace dans un langage de niveau supérieur, et également déboguer plus efficacement.

请先 登录 后评论
Greg

Apprendre le C ou un langage de niveau inférieur peut certainement être utile. Cependant, je ne vois aucun avantage évident à utiliser la WinAPI non gérée.

请先 登录 后评论
Mike Stone

J'ai vu du code API Windows de bas niveau... ce n'est pas joli... J'aimerais pouvoir le désapprendre. Je pense qu'il est avantageux d'apprendre le bas niveau comme en C, car vous comprenez mieux l'architecture matérielle et comment tout cela fonctionne. Apprendre l'ancienne API Windows... Je pense que ces choses peuvent être laissées aux gens de Microsoft qui peuvent avoir besoin de l'apprendre pour créer des langages et des API de niveau supérieur... ils l'ont construit, laissez-les en souffrir ;-)

Cependant, si vous vous trouvez dans une situation où vous sentez que vous ne pouvez tout simplement pas faire ce que vous devez faire dans un langage de niveau supérieur (rare et espacé), alors commencez peut-être la plongée dangereuse dans ce monde.

请先 登录 后评论
OJ.

Cette question est à la limite de la religion :) Mais je vais quand même donner mon avis.

Je vois de l'intérêt à apprendre l'API Win32. La plupart, sinon la totalité, des bibliothèques GUI (gérées ou non) entraînent des appels à l'API Win32. Même les bibliothèques les plus complètes ne couvrent pas 100% de l'API, et il y a donc toujours des lacunes qui doivent être comblées par des appels API directs ou P/invoking. Certains des noms des wrappers autour des appels d'API ont des noms similaires aux appels d'API sous-jacents, mais ces noms ne sont pas exactement auto-documentés. Ainsi, comprendre l'API sous-jacente et la terminologie qui y est utilisée aidera à comprendre les API wrapper et ce qu'elles font réellement.

De plus, si vous comprenez la nature des API sous-jacentes utilisées par les frameworks, vous ferez de meilleurs choix en ce qui concerne la fonctionnalité de bibliothèque à utiliser dans un scénario donné.

Bravo !

请先 登录 后评论
Joel Lucsy

Analogie : si vous construisez des voitures pour gagner votre vie (programmation), alors il est très pertinent de savoir comment fonctionne le moteur (Win32).

请先 登录 后评论
Stephen Cox

Réponse simple, OUI.

请先 登录 后评论
Amr

L'apprentissage d'un nouveau langage de programmation ou d'une nouvelle technologie se fait pour l'une des trois raisons suivantes :
1. Besoin : vous démarrez un projet de création d'application Web et vous ne connaissez rien à ASP.NET
2. Enthousiasme : vous êtes très enthousiasmé par ASP.NET MVC. pourquoi ne pas essayer ?
3. Du temps libre : mais qui en a de toute façon.

La meilleure raison d'apprendre quelque chose de nouveau est le besoin. Si vous avez besoin de faire quelque chose que le framework .NET ne peut pas faire (comme les performances par exemple), alors WinAPI est votre solution. Jusque-là, nous nous occupons de l'apprentissage de .NET

请先 登录 后评论
Chris Miller

Il est important de savoir ce qui est disponible avec l'API Windows. Je ne pense pas que vous ayez besoin de créer du code avec, mais vous devez savoir comment cela fonctionne. Le .NET Framework contient de nombreuses fonctionnalités, mais il ne fournit pas d'équivalents en code managé pour l'intégralité de l'API Windows. Parfois, vous devez vous rapprocher un peu plus du métal, et savoir ce qui s'y trouve et comment il se comporte vous permettra de mieux comprendre comment l'utiliser.

请先 登录 后评论
Brian Leahy

Pour la plupart des besoins sur le bureau, vous n'aurez pas besoin de connaître le Win32, cependant il y a BEAUCOUP de Win32 pas dans .NET, mais c'est dans les dépenses qui peuvent finir par représenter moins de 1 % de votre application.< /p>

Prise en charge USB, prise en charge HID, Windows Media Foundation juste à côté de moi. Il existe de nombreuses API Vista intéressantes uniquement disponibles à partir de Win32.

Vous vous rendrez un grand service en apprenant à faire de l'interopérabilité avec une API Win32, si vous faites de la programmation de bureau, car lorsque vous aurez besoin d'appeler Win32, et vous le ferez, vous ne passerez pas des semaines à vous gratter la tête.

请先 登录 后评论