Langages programmation?

Langages programmation? - Divers - Programmation

Marsh Posté le 08-09-2008 à 11:33:15    

Bonjour à tous,
 
Voila j'ai une petite question.
J'ai fais mes études en programmation ( c/c++, pascal/Delphi, VB, HTML ). Mais, je n'ai jamais eu l'occasion de travailler dans le domaine, je travaille plutôt dans le domaine graphique, PAO, je fais également le site web de l'entreprise ou je travaille et je m'occupe du parque informatique (réseau, dépannage et installation).
 
Je désire recommencer à programmer, mais j'aimerais savoir quels sont les langages les plus utilisés pour le moment en Web et en Application Windows? Dans mon cas j'adore Delphi, mais est-ce qu'on l'utilise encore?
 
Merci pour vos réponses.

Reply

Marsh Posté le 08-09-2008 à 11:33:15   

Reply

Marsh Posté le 08-09-2008 à 11:49:09    

pour le Web :  

  • coté serveur : php / asp.net / java
  • côté client: javascript , flash  

Reply

Marsh Posté le 08-09-2008 à 11:51:13    

En application windows
- c++
- c#
- java (mais plus pour des dev internes ou professionnel)


Message édité par kadreg le 08-09-2008 à 11:51:23

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 08-09-2008 à 14:41:47    

Delphi est un peu carrément sur la fin, mais rien n'empêche de travailler encore avec le temps d'arriver à ses limites.
 
En tout cas, si tu es habitué à Delphi, je recommande fortement de prendre .NET comme successeur, puisque les outils de Borland sont une copie (clône même) de ceux de Microsoft (Delphi est à la base un clône de VB basé sur le Pascal).
Un bon moyen pour faire la transition, c'est peut-être Delphi.NET, le dernier Delphi en date... qui repose sur la techno .NET. Ceci dit, je recommande de passer directement à C#, histoire de ne pas trop se mélanger la tête.

Message cité 1 fois
Message édité par MagicBuzz le 08-09-2008 à 14:44:12
Reply

Marsh Posté le 08-09-2008 à 15:11:03    

MagicBuzz a écrit :

Delphi est à la base un clône de VB basé sur le Pascal


non [:petrus75]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 08-09-2008 à 16:15:03    

c++ pour les applis windows avec fenêtre faut aimer ça :/
C# ou n'importe quel vrai truc fait pr faire des Forms.


Message édité par Joel F le 08-09-2008 à 16:15:37
Reply

Marsh Posté le 08-09-2008 à 16:18:38    


ah bon ? (détaille, parceque j'étais persuadé du truc. delphi est plus récent que vb quand même..., et rien qu'à l'IDE, pour moi c'est un clone*, tout comme la plupart des produits borland de l'époque étaient des clones de ceux de microsoft -quatro pro par exemple-)
 
*: évidement, je ne parle pas du fonctionnement interne, je parle des possibilités offertes et de l'ergonomie du langage


Message édité par MagicBuzz le 08-09-2008 à 16:23:44
Reply

Marsh Posté le 08-09-2008 à 21:31:44    

Delphi et C#, c'est pas le même chef de projet ?

Reply

Marsh Posté le 08-09-2008 à 23:24:13    

http://fr.wikipedia.org/wiki/Anders_Hejlsberg


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 09-09-2008 à 09:13:51    

Grmpf ! Intéressant :jap:
 
Ca montre bien qu'à défaut d'un clone dans le jargon de Masklinn, il s'agit bien de deux IDE partidulièrement proches :jap:

Reply

Marsh Posté le 09-09-2008 à 09:13:51   

Reply

Marsh Posté le 09-09-2008 à 09:52:27    

MagicBuzz a écrit :

Ca montre bien qu'à défaut d'un clone dans le jargon de Masklinn, il s'agit bien de deux IDE partidulièrement proches :jap:


J'ai pas dit le contraire, et c'est même flagrant dans les dernières versions de Delphi qui ressemble vraiment à Visual Studio :jap:


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 09-09-2008 à 14:55:46    

Merci pour vos réponses.
Encore un truc, j'ai développer une grosse application en Delphi 6, celle-ci gère une base de données MySql qui tourne sur une machine Linux. Plusieurs client via l'application peuvent travaller sur cette base de données. Ma question est la suivante, je désire l'améliorer en récupérant le code, mais quelle langage utiliser, puisque delphi arrive a la fin?
 
D'après se que j'ai pu voir les plus utilisés sont:
C#, C++, ASP.net, Delphi.net, Vb.net, Java, (perl, php)??
 
Merci

Reply

Marsh Posté le 09-09-2008 à 15:17:17    

Si tu veux l'améliorer en récupérant le code, tu pourras clairement pas passer de Delphi 6 à C# comme ça...
 
Tu peux éventuellement tenter de convertir ton projet en Delphi.NET.
Une fois sur la techno .NET, tu peux sans difficulté mélanger les langages, et donc effectuer les évolutions en C# par exemple, ceci dit ça me semble très porc.
 
Donc tu peux tenter de passer à Delphi.NET sâchant qu'une partie non négligeable de ton code sera tout de même à réécrire.
 
Ou repartir from scratch vers C# (ou autre langage). Un peu plus long mais plus propre. Notamment parceque l'approche du développement avec un langage de la génération du Delphi est très différente de celle d'un langage comme le C#, du coup y'a pas mal de choses à revoir au niveau conception.
 
Attention cependant : ça peut parfaitement se faire en étapes. C# peut s'interfacer avec COM, donc si tu fais des DLL avec Delphi, tu peux réutiliser des parties entières du projet actuel sans devoir tout réécrire.

Reply

Marsh Posté le 09-09-2008 à 16:44:22    

Je t'avoue qu'en 4 ans que je n'ai plus suivi je me sens un peu dépassé :(  
Je viens de voir sur le net Code Gear permet de télécharger gratuitement :
Turbo Delphi , Turbo C++, Turbo Delphi for .NET, Turbo C#
 
Et Microsoft permet de télécharger Visual Studio Express gratuitement.
 
C'est vraiment dommage que delphi va finir aux oubliettes...  
 
Effet C# c'est pour .net ou win32? Et C++ il y a aussi pour .net? Si je comprend bien Win32 c'est .net maintenant?
 
Donc il vaut mieux que je commence avec Visual Studio Express?
 

Citation :

MagicBuzz : Attention cependant : ça peut parfaitement se faire en étapes. C# peut s'interfacer avec COM, donc si tu fais des DLL avec Delphi, tu peux réutiliser des parties entières du projet actuel sans devoir tout réécrire.


Merci bcp pour ton info "MagicBuzz" c'est intéressant.
 
Désolé pour toutes ces questions, mais je veux voir clair ;)
 
Merci bcp  
a+

Reply

Marsh Posté le 10-09-2008 à 09:38:09    

Il vaut mieux utilise l'IDE de Microsoft à mon sens, oui, donc Visual Studio Express. Il y a plusieurs versions :
- Visual C# Express : Pour faire des projets .NET en C#
- Visual J# Express : Pour faire des projets .NET en J# (je ne le recommande pas du tout)
- Visual Basic Express : Pour faire des projets .NET en VB.NET
- Visual Web Developper Express : Pour faire des sites webs .NET en C#, VB.NET ou J#
- Visual C++ Express : Pour faire des projets Win32 ou .NET en C++*
 
Je recommande grandement le C# plutôt que J# ou VB.NET. En effet, c'est le plus répendu, et à mon sens le plus propre au niveau syntaxe. Ceci dit, les deux autres sont équivalents niveau possibilités (à quelques détails près) puisqu'ils reposent sur le même framework. C'est principalement la syntaxe qui change.
 
* Pour le C++ ".NET" (ou "managé" ), je laisse les experts comme JoelF ou Masklinn en parler. En gros, c'est du C++ qui repose en partie sur le framework .NET et du coup tu bénéficies des espaces mémoire protégés et du garbage collector si je ne m'abuse. Mise à part si tu veux te prendre la tête avec la syntaxe que je qualifie de barbare du C++ pour des raisons de performance, je te déconseille de te lancer là dedans, c'est se compliquer la vie pour rien à mon avis, puisque tu ne semble pas familier avec ce langage.
 
Pour en revenir à .NET, c'est juste une couche indépendante de l'OS, un peu comme la JVM de Java. Il existe par exemple un framework .NET pour Linux, qui s'appelle Mono. Dans un sens, un développement .NET est donc plus ou moins multi-plateforme. J'ai déjà fait quelques tests, et mise à part la couverture syntaxique de Mono qui n'est pas complète, ça marche très bien : le même programme EXE compilé sous Windows tourne aussi bien sur Win32 que sous Linux et vice-versa, y compris en ce qui concerne les forms, à condition de se cantonner à la partie du framework qui a été portée sur Mono.
 
A noter que niveau cross-platform, .NET permet aussi de fonctionner sur des appareils mobiles à base de Windows CE, Windows for Smartphone, Windows Mobile, etc. sans nécessiter de grosses adaptation. La version gratuite de l'IDE ne permet cependant pas de faire du dev pour ces plateformes directement, et il faut télécharger des outils en plus.
 
Sinon, .NET est une couche d'abstraction de Win32. Notamment, le même code permet indifférement de compiler pour Win32 ou Win64, mais surtout, avec le JITC (Just In Time Compilation) ton programme va s'adapter à la machine sur laquelle il tourne.
 
En tout cas, .NET est une valeur sûre, et la pérénité est assurée, surtout depuis que les framework.NET sont devenus des téléchargement "prioritaires" sur Windows Update (donc tout le monde peut faire tourner un programme .NET dès la fin de l'installation de Windows, ce qui n'est pas le cas de Java par exemple)

Message cité 1 fois
Message édité par MagicBuzz le 10-09-2008 à 09:40:00
Reply

Marsh Posté le 10-09-2008 à 10:53:50    

MagicBuzz a écrit :


A noter que niveau cross-platform, .NET permet aussi de fonctionner sur des appareils mobiles à base de Windows CE, Windows for Smartphone, Windows Mobile, etc. sans nécessiter de grosses adaptation. La version gratuite de l'IDE ne permet cependant pas de faire du dev pour ces plateformes directement, et il faut télécharger des outils en plus.


 
Belle notion du cross-platform  :sweat:

Reply

Marsh Posté le 10-09-2008 à 11:16:40    

Joel F a écrit :


 
Belle notion du cross-platform  :sweat:


C'est du cross platform microsoft, par un moment ils avaient une brochure expliquant que .Net était cross platform: il fonctionnait sur 2000, XP et Vista [:jar jar]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-09-2008 à 11:39:09    

Ha donc les programmes linux sont tous crossplarform si on prend la définition de microsoft :  
- linux pour PPC, linux pour win32, linux pour PS3, ...

Reply

Marsh Posté le 10-09-2008 à 11:44:44    

Joel F a écrit :


 
Belle notion du cross-platform  :sweat:


Ben en Java non plus, si tu fais une GUI, tu seras clairement obligé d'en faire une spécifique pour appareils mobiles :spamafote:
 
Ensuite, Microsoft a fait le choix de ne pas porter eux-même leur framework sur les OS concurrents*. Cependant, à l'instar de sa coopération avec Mono, l'ensemble de la définition du framework est consultable librement, et pour le cas de Mono, une équipe projet est dédiée au support de Novel qui est le principal acteur de Mono... Si personne ne veut porter le framework sur d'autres plateforme, c'est pas un problème du framework, mais des éditeurs qui refusent de s'investir dans un portage de .NET vers leurs plateformes.
 
* : En plus, je ne suis même pas certain qu'il s'agisse réellement d'un choix de Microsoft, à l'instar de Internet Explorer pour Unix, ou des extensions Frontpage pour Unix, que Microsoft a été obligé d'arrêter pour causes de lois anti-trust.

Message cité 1 fois
Message édité par MagicBuzz le 10-09-2008 à 11:50:14
Reply

Marsh Posté le 10-09-2008 à 12:27:45    

MagicBuzz a écrit :


Ben en Java non plus, si tu fais une GUI, tu seras clairement obligé d'en faire une spécifique pour appareils mobiles :spamafote:


Sauf qu'en java, tu fais une GUI et elle fonctionnouillera sur Windows, OSX, Linux, Solaris ou FreeBSD, et sur nombre d'architectures.

Message cité 1 fois
Message édité par masklinn le 10-09-2008 à 12:28:16

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-09-2008 à 13:48:42    

masklinn a écrit :


Sauf qu'en java, tu fais une GUI et elle fonctionnouillera sur Windows, OSX, Linux, Solaris ou FreeBSD, et sur nombre d'architectures.


Ce qui est le cas avec .NET, désolé, y'a Mono :spamafote:
 
Et j'ai testé, ça marche parfaitement avec n'importe quel serveur X.
Le seul truc, c'est que Mono ne couvre pas l'intégralité du Framework, et il est assez chiant de porter une application écrite pour Win32 vers Mono puisqu'il faut souvent chercher des moyens alternatifs pour faire la même chose. L'inverse par contre marche parfaitement. L'intérêt d'ailleurs par rapport à Java, c'est que tu utilises alors les objets Forms natifs de ton serveur X, que ce soit sous Windows ou X-like, ce qui évite de se traîner les contrôles merdeux de Java.
 
http://www.mono-project.com/Main_Page
 
Mono d'ailleurs pousse plus loin, puisqu'il élargit .NET à d'autres langages tels que PHP, Java, Phyton, etc. ce qui permet donc d'avoir des assembly CIL écrites avec n'importe quel langage.

Message cité 1 fois
Message édité par MagicBuzz le 10-09-2008 à 13:59:14
Reply

Marsh Posté le 10-09-2008 à 13:56:35    

MagicBuzz a écrit :


Ce qui est le cas avec .NET, désolé, y'a Mono :spamafote:
 
et j'ai testé, ça marche parfaitement avec n'importe quel serveur X
 
http://www.mono-project.com/Main_Page


Apparement t'as raté un bout de la conversation, qui portait sur ta qualification de .net de "multiplateforme" parce qu'il tourne sur windows, windows et windows.

MagicBuzz a écrit :

Mono d'ailleurs pousse plus loin, puisqu'il élargit .NET à d'autres langages tels que PHP, Java, Phyton, etc. ce qui permet donc d'avoir des méthodes d'un même objet .NET écrites avec n'importe quel langage.


Not impressed: http://en.wikipedia.org/wiki/JVM_languages


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-09-2008 à 14:10:55    

masklinn a écrit :

Apparement t'as raté un bout de la conversation, qui portait sur ta qualification de .net de "multiplateforme" parce qu'il tourne sur windows, windows et windows.


http://www.mono-project.com/Supported_Platforms
 
Excuse-moi du peu :
 
Supported Platforms
From Mono
Mono has support for both 32 and 64 bit systems on a number of architectures as well as a number of operating systems.  
 
Supported Operating Systems  
Operating Systems  
 
Linux  
Mac OS X  
Sun Solaris  
BSD - OpenBSD, FreeBSD, NetBSD  
Microsoft Windows  
Supported Architectures  
Mono has both an optimizing just-in-time (JIT) runtime and a interpreter runtime. The interpreter runtime is far less complex and is primarily used in the early stages before a JIT version for that architecture is constructed. The interpreter is not supported on architectures where the JIT has been ported.  
 
Supported Architectures  Runtime  Operating system  
s390, s390x (32 and 64 bits)  JIT  Linux  
SPARC (32)  JIT  Solaris, Linux  
PowerPC  JIT  Linux, Mac OSX  
x86  JIT  Linux, FreeBSD, OpenBSD, NetBSD,  
Microsoft Windows, Solaris, OS X  
x86-64: AMD64 and EM64T (64 bit)  JIT  Linux, Solaris  
IA64 Itanium2 (64 bit)  JIT  Linux  
ARM: little and big endian  JIT  Linux (both the old and the new ABI)  
Alpha  JIT  Linux  
MIPS  JIT  Linux  
HPPA  JIT  Linux  
 
Note that the Alpha, MIPS, ARM big-endian and HPPA architectures are community-supported and may not be as complete as the other architectures.
 
Toutes ces architectures peuvent donc faire tourner un programme écrit en .NET, via simplement installation de Mono. Vois simplement Mono comme étant une JVM pour les OS autres que Windows (ceci dit, il fonctionne aussi sous Windows, permettant ainsi de se passer complètement de .NET histoire d'avoir un environnement multiplateforme homogène).
 


Il n'est pas question de savoir qui a la plus grosse.
(d'ailleurs si tu suis le lien "CLI languages", tu verras que la liste est bien plus longue mais bon)
 
Je dis juste que Mono est un projet sérieux, qui garanti le support multiplateforme de .NET :spamafote:
 
Le framework a été pensé pour être multiplateforme, les specs font l'objets de standards ECMA, n'importe qui peut écrire son propre framework .NET librement. Après j'y peut rien si seul Mono joue le jeu.
C# http://www.ecma-international.org/ [...] ma-334.htm
CLI http://www.ecma-international.org/ [...] ma-335.htm
 
 
 
PS : De toute façon, pour en revenir au débat, il s'agit de prendre la relève d'un programme actuellement écrit en Delphi, donc Win32 uniquement. Déjà être Win64 compliant c'est du nice to have, donc la question du multiplateforme est loin d'être essencielle.

Message cité 1 fois
Message édité par MagicBuzz le 10-09-2008 à 14:15:49
Reply

Marsh Posté le 10-09-2008 à 14:30:08    

MagicBuzz a écrit :

Excuse-moi du peu :


Apparement tu sais toujours pas lire.


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 10-09-2008 à 14:50:29    

Et à part la citation de JoelF, t'as lu le bloc que j'avais écrit juste avant ?
J'ai parlé de Mono avant d'indiquer de ce que faisait le framework "de base, celui de Microsoft".
Puis j'ai expliqué pourquoi c'était comme ça.
 
Du coup, je vois pas en quoi "belle notion du cross-plateform". Désolé.
 
Oui, Microsoft a écrit son Framework pour Windows, windows et windows comme tu dis. Mais le framework a été conçu dans une optique multiplatefirme, et il existe pour d'autres plateformes. Je vois pas en quoi c'est choquant. Microsoft n'assure le support que pour ses plateformes à lui, je vois pas ce qui est dérangeant.
 
C'est comme si demain y'a un gars qui décide d'écrire une JVM pour AmigaOS. C'est pas Sun qui aura écrit le truc, mais ça n'empêchera pas d'ajouter AmigaOS à la liste des plateformes supportant Java (bon, je suis certain qu'il y a une JVM pour AmigaOS, c'était juste histoire d'avoir un exemple)


Message édité par MagicBuzz le 10-09-2008 à 14:52:07
Reply

Marsh Posté le 10-09-2008 à 15:34:34    

Pause ! On pourrait pas arrêter le HS? C'était intéressant au début mais là ça fait bataille de clocher.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed