CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

C#, une bonne idée ?

voxelcloud
voxelcloud
Niveau 7
01 décembre 2012 à 18:14:17

Bonjour à tous, internautes de jvcom.

Si j'en appelle à vous, c'est pour une raison très simple.
Etant fortement attiré par l'informatique depuis un moment, et en particulier par la programmation, j'ai décidé de me lancer.

Mais là, "ce fut le drame". Non pas que la programmation m'effraie, ou que je ne comprenne aucun cours que je lise, mais le problème, c'est le choix du langage. Ayant lu de tout et n'importe quoi sur le net, je ne savais vraiment pas quoi choisir. Au fil de mes recherches intensives, un langage m'a paru vraiment plaisant, le C#. Mais je ne suis toujours pas sur, car il y a quelques points qui me font un peu peur sur ce langage :

- La portabilité > Mon objectif ultime étant un jeu (je suis conscient que c'est long et difficile), je compte évidemment en faire profiter un maximum de personnes. C# étant un langage Microsoft, le portage sur linux/mac est-il vraiment un problème ?

- L'utilisation pro > Cela parait un peu bizarre de se poser la question à ce stade, mais bon : je compte travailler dans l'informatique plus tard (et cela depuis 1 ou 2 ans), et je me demandais si le C# était utilisé dans le milieu pro.

"Encore un qui devrait tester avant de demander".
C'est vrai, cependant, je souhaiterais avoir des avis sur ce langage avant de débuter, car je ne souhaite pas arriver au bout de plusieurs mois d'apprentissage en me disant "Ah ben finalement c'est pas ce que je cherches", alors que j'aurais pu consacrer ce temps sur un langage qui me servira d'avance.

En espérant que vous pourrez m'éclaircir, cordialement, VoxelCloud. :)

Poneymovez
Poneymovez
Niveau 9
01 décembre 2012 à 18:25:48

Ha ! Le choix du langage :sarcastic:
T'es un des seuls qui commencent pas par : "le c++ c bi1 ? g lu ke c t utilizé" :hap:

Je vais te donner mon avis sur ce langage :d)
La portabilité :d) C# est un langage Microsoft, la portabilité peut poser des soucis, mais je me suis jamais penché là dessus, je peux pas te répondre.

L'utilisation :d) De nombreuses entreprises passent du Java / C au C# (Vu que le C# a la vitesse du C++ mais aussi la syntaxe du Java).

Je trouve ce langage beau, puissant, et aussi très plaisant à apprendre. Tu pourras faire de nombreuses choses, et surtout des jeux grâce à XNA (Lib que j'ai juste adoré).

Simple à apprendre mais aussi complèxe quand on souhaite mettre la main à la pâte, c'est un très bon langage.

Cependant le manque de portabilité lui fait défaut, bien que des solutions existent pour lancer du C/C++ sur les autres plateformes, il doit exister le même en C#, mais encore une fois je m'avance pas car je ne connais pas.

Sur ce, je trouve que c'est un très bon langage à apprendre, aussi plaisant que le Java à mon goût.

Sur ce, bonne journée et bon courage :-)

Pepitoast
Pepitoast
Niveau 10
01 décembre 2012 à 18:26:44

"C# étant un langage Microsoft, le portage sur linux/mac est-il vraiment un problème ?"

Absolument pas, linux et mac utiliseront MonoFramework pour lancer ton programme au lieu du .NET Framework.

"et je me demandais si le C# était utilisé dans le milieu pro."

Les entreprises qui travaillent sur du C#, utilisent le C#.

lokilok
lokilok
Niveau 17
01 décembre 2012 à 18:30:46

"(Vu que le C# a la vitesse du C++ mais aussi la syntaxe du Java)"

C'est faux, le C# à a peu près la même vitesse que le java, enfin j'ai regardé des benchmark, certain disent que C# est plus rapide que le java, d'autre disent que le java est plus rapide que le C#, donc à mon avis ça doit être équivalent.

Parce que bon, pour les deux c'est le même principe, une machine virtuelle qui interprète du code.

voxelcloud
voxelcloud
Niveau 7
01 décembre 2012 à 18:32:33

D'accord. Il me semble avoir déjà lu le nom Mono quelque part, en tous cas cela me rassure. :)

Je viens également de découvrir Unity3d, qui m'a l'air d'être un excellent soft, gratuit qui plus est.

En tous cas, mon choix va surement se poser sur le C#.

J'en profite donc également (histoire de ne pas refaire un autre sujet inutilement), si vous aviez des bons tutoriels sur le C#.
J'ai dejà trouvé la documentation de Microsoft, sur laquelle je vais me pencher dès demain, mais si vous avez d'autres bons tutoriels, n'hésitez pas.

Pepitoast
Pepitoast
Niveau 10
01 décembre 2012 à 19:10:01

Voxelcloud, tu voudrais porter ton application sur un max de plateformes. Si tu souhaites avoir le controle total sur ce que tu fais, evite Unity3D a tout prix.

A l'epoque ou je voulais faire un serveur dedie pour tester les capacites du reseau, il n'etait meme pas possible d'exporter une version "headless" (sans rendu 3d, juste une fenetre "MS-DOS") du jeu. Certes ils l'ont peut etre mis en place a l'heure actuelle, mais j'aurais attendu une annee pour avoir cette possibilite.

Jette donc un oeil sur Axiom, un port d'Ogre3D en C#.
http://axiom3d.net/wiki/index.php/Main_Page

Pepitoast
Pepitoast
Niveau 10
01 décembre 2012 à 19:33:33

"Tu voulais programmer le serveur avec Unity, aussi? :( Là c'est toi qui t'es planté. [...] ce genre de logiciel n'est pas du tout le meilleur pour faire un serveur."

Quand on veut faire un FPS aussi bien synchronise qu'un Quake, oui. Je voulais que les joueurs envoient l'etat de leur touches au serveur, puis que le serveur renvoie la position des joueurs.

Un serveur dedie est necessaire quand on veut le laisser pendant plusieurs heures, sinon on fini avec un multijoueur quasiment instable car tout le monde n'a pas la fibre optique et une machine assez puissante pour faire une bonne simulation en temps reel.

Suis-je le seul a trouver cela absurde de devoir installer une GTX sur un serveur pour etre sur qu'il tourne bien ?

Sinon fallait faire comment ? Utiliser les fonctions magiques qui synchronisent les objets ? Desole, je refuse de programmer comme un assiste.

voxelcloud
voxelcloud
Niveau 7
01 décembre 2012 à 20:10:36

Merci pour tous les tutoriels Dachion :)

Et un petit truc, je me suis enregistré sur le site de microsoft, et je télécharge visual studio 2012 express, mais je le trouve excessivement lourd. De plus, c'est un fichier .iso. Il n'y a pas moyen de télécharger Visual C# Express en zip ou en exe, comme n'importe quel logiciel ? :(

voxelcloud
voxelcloud
Niveau 7
01 décembre 2012 à 20:14:31

EDIT: Problème réglé (j'ai simplement téléchargé la version 2010 express, qui elle est en .exe :))

caelacanthe
caelacanthe
Niveau 10
01 décembre 2012 à 20:15:00

"Il n'y a pas moyen de télécharger Visual C# Express en zip ou en exe, comme n'importe quel logiciel ? :( "

:d) non, et pour ne rien arranger, il va quand même télécharger des tonnes de trucs à l'installation, pour peser au moins cinq go :hap:

Paulop
Paulop
Niveau 12
01 décembre 2012 à 20:19:55

Pour faire des jeux, tu peux utiliser MonoGame, qui est la version open source de XNA (qui ne sera plus mis à jour par Microsoft) et qui marche sur plusieurs plateformes.

Aldebran
Aldebran
Niveau 10
01 décembre 2012 à 20:46:08

"Quand on veut faire un FPS aussi bien synchronise qu'un Quake, oui. Je voulais que les joueurs envoient l'etat de leur touches au serveur, puis que le serveur renvoie la position des joueurs. "

Ce que je ne comprends pas c'est pourquoi développer le serveur avec Unity3d ? C'est juste pas fait pour ça. Si tu veux faire autre chose que du rendu 3D, il faut coder un exécutable classique dans le langage de ton choix, mais surtout ne pas utiliser Unity3d pour ça.

Pepitoast
Pepitoast
Niveau 10
01 décembre 2012 à 20:55:49

"Ce que je ne comprends pas c'est pourquoi développer le serveur avec Unity3d ?"

Unity3D a un moteur physique en soi, donc ce serait plus simple et plus logique d'exporter une version "headless" du jeu qui simule la physique en temps reel pour renvoyer la position et l'orientation des objets aux joueurs.

Le fait de developper un serveur avec Unity3D permet au logiciel serveur d'etre lance sur une machine qui ne s'occupe que de la partie physique, reseau, simulation et synchronisation. Aucun ecran n'est branche sur la machine, alors la 3D sert strictement a rien et on pourrait simplement la desactiver. (cf : le serveur dedie dans NeverWinter Nights, Quake 3, Counter Strike, et j'en passe...)

De toute facon, il y a desormais la possibilite d'exporter une version headless, mais c'est trop tard pour que j'y jette un oeil, je voulais utiliser Unity3D vers 2009, a l'epoque ou la 3D etait extrement rare dans les navigateurs web. :)

Pinsa
Pinsa
Niveau 4
02 décembre 2012 à 23:45:18

La portabilité de .NET n'est pas un problème catastrophique non plus, voyez Terraria qui a sa réputation ;)

cdewez
cdewez
Niveau 2
04 décembre 2012 à 22:47:14

Si tu doit choisir un langage de programmation pour commencer, il faut prendre le "C". Ce n'est pas le plus simple a apprendre, cependant il est une très bonne base pour a peu près tous les langages dits de "plus haut niveaux". De plus, le C est portable. Il suffit d'utiliser différents compilateur en fonction de la plateforme visée. Il y a un bon tutoriel sur le site du zéro. Et il y a des IDE (environnements de développement) gratuits, notamment CodeBlocks

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment