Un bon langage?

Est-ce que le C# est un bon langage pour ZdS

a marqué ce sujet comme résolu.

Bonjour à tous, je poste mon premier sujet sur ZdS en partant d'une question simple. Est-ce que, pour les utilisateurs de ZdS, le C# est un bon langage pour créer des jeux vidéos amateurs (vraiment basique) ou des applications? Je pose cette question sur ce forum car j'aimerai avoir l'avis de la communauté plutôt que l'avis de Google :)

Ses points forts? Points faibles? Dans quels circonstances l'utiliser?

Je vous remercie d'avance pour vos réponses,

+1 -0

Pour les jeux vidéos, Unity est clairement le meilleur dans le genre en C# (c'est avec lui qu'ont été faits Firewatch, Kerbal Space Program, Cities: Skylines, Broforce, Monument Valley et j'en passe…).
Il y a aussi le framework XNA, je ne le qualifierais pas de game engine puisqu'il est beauuucoup moins complet qu'Unreal, et Unity par exemple. C'est avec lui qu'ont été faits Terraria, FEZ, Bastion…

En fait le C# peut être utilisé pour tout, des applications (console ou GUI), des jeux (PC, mobile, console), des sites web (ASP.NET)… L'inconvénient majeur est qu'il se base sur le framework .NET de Microsoft, qui n'est disponible que pour Windows. Sauf en utilisant une lib externe (Mono), tu ne pourras faire que des logiciels Windows.

Ah je ne savais pas que un aussi beau jeu que Firewatch avait été réalisé en C# sous Unity! Pourrais-tu me donner plus d'informations sur la lib externe Mono? Est-ce facile de l'intégrer? ( je débute dans le C#). Je vais m'informer sur XNA aussi!

Merci de ta réponse rapide !

+0 -0

La doc Unity : http://docs.unity3d.com/Manual/index.html

Je vais m'informer sur XNA aussi!

XNA n'est plus maintenu il me semble. Si tu veux développer des jeux, je t'invite à te tourner vers Unity. Tu as plus de tutos en anglais/français, une plus grande communauté, et tu auras plus facile à trouver d'autres développeurs pour t'aider au besoin.

+2 -0

Il y a aussi le framework XNA, je ne le qualifierais pas de game engine puisqu'il est beauuucoup moins complet qu'Unreal, et Unity par exemple. C'est avec lui qu'ont été faits Terraria, FEZ, Bastion…

XNA n'est plus, monogame est son digne successeur :) et il est vraiment sympa. Je conseil à tout le monde de l'utiliser un peu avant de sauter dans unity. Comprendre comment fonctionne la 3D sans utilisation d'un game engine est très enrichissant.

D'accord je vais donc commencer par suivre MonoGame pour ensuite me diriger sur Unity 3D étant donné que XNA n'est plus parmis nous (RIP)! Pour MonoGame je suppose qu'il faut avoir des connaissances solides en C# tout comme sur Unity. Des tutoriels pour apprendre le C# pour les débutants?

Merci de vos réponses :)

+0 -0

Vu que dans ton sujet initial tu parlais aussi d'applications je vais essayer de te répondre là dessus. C# c'est le bien et c'est aussi le mal. Je m'explique : En gros c'est un langage puissant, basé sur le C++ qui est un super langage (à mon sens) et ressemble un peu à Java par rapport aux améliorations qu'il implémente (Un fichier = une classe, …). Il permet donc de développer plus vite des applications. Aussi, les bibliothèques sont puissantes, bien documentées et simples à utilisée. Mais c'est aussi ça le soucis, ces fameuse bibliothèques sont écrites par Microsoft et on a pas accès au code source donc parfois ça peut être frustrant et ça te rend dépendant des API Windows. Ce qui peut poser problème lors d'un déploiement dans un parc avec beaucoup de version de Windows différentes.

Donc développer en C# c'est un choix à faire. C'est plus flexible que le C++, c'est aussi pratique que le Java mais sans la machine virtuelle et tout le bazar sur la mauvaise gestion des I/O. Par contre c'est Microsoft avec les avantages et les inconvénient que ça pas comporter.

Après si tu veut bosser dans le développement un jour saches que le C# est très en vogue en ce moment.

Hésites pas à demander des précisions, je sais pas si j'ai été bien clair ! :)

+0 -3

à Java par rapport aux améliorations qu'il implémente (Un fichier = une classe, …).

il ressemble clairement à java, notamment sur le fait qu'il a un GC, qu'il utilise une VM etc. Mais en C# c'est pas 1 fichier = 1 classe, loin s'en faut.

Mais c'est aussi ça le soucis, ces fameuse bibliothèques sont écrites par Microsoft et on a pas accès au code source donc parfois ça peut être frustrant et ça te rend dépendant des API Window

ça dépend de quoi on cause. Une partie non négligeable de .NET est open source. ASP.NET est totalement open-source, SignalR est totalement open source…

+0 -0

Bon, j'ai du mal m'exprimer dans mon premier post, pour la machine virtuelle C# utilise CLR qui est (à mon sens) plus puissante sur la gestion des I/O (j'entendais par là sans la JVM qui est daubée) Pour les espaces de nom par contre je suis quasi certain qu'ils se résolvent tout seul, à moins que je me trompe ?

+-1 -1

Entre se faire tout seul et se résoudre tout seul, il y a une différence. Oui, les espaces de noms se résolvent tous seuls dans Intellisense et je ne vois pas où est le problème. (à moins que j'ai mal compris ta phrase)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte