C'est déjà fait...Citation:
Envoyé par lunatix
Version imprimable
C'est déjà fait...Citation:
Envoyé par lunatix
1. Jeux d'ordinateur(err, je ne sais pas un bon terme en fransais, graphics&physics engines)Citation:
Envoyé par phpdev
2. Drivers, OS etc - tous que travaille avec hardware
3. Quelque systeme grand, par example, pour station nucléaire
C'est tout:) Si vous est un spécialiste grand, il n'y a rien à s'inquiéter; si non - c# nous sauvera.
ps Et pardonnez-moi pour mon pauvre francaise:)
Bonjour,
Eh bien je pense que C++ (moi lol), son prédécesseur C pour être précis,
est devenue une norme.
Un de ces trois aura probablement plus de facilité pour
fonctionner sur n'importe quelle plateforme.
Un de ces trois a été créé pour développer un système.
Un de ces trois est propriétaire et est devenu un langage systeme
et permet aussi d'utiliser "n'importe quel langage" sur la même plateforme.
etc ...
Je remercie Microsoft et BCGSoft pour la mise à jour des bibliothèques de Visual C++ et en particulier des MFC (intégrant le ruban d’office 2007, le look and feel d’Office 2007 & 2003, les fenêtres auto-glissantes et auto hide de Visual Studio et les toolbars et rebars customisables d’Internet Explorer 7.0) vers cette nouvelle version 9.0 de Visual Studio 2008.Citation:
• Currently VC++ has no IDE support in Visual Studio for programming these CLR technologies (why???):
• 1) ASP .NET
• 2) WPF
• 3) WCF
• 4) LINQ
while of course C# supports all of them. Clearly you, and Microsoft, could support all of these using C++/CLI in pure/safe mode modules.
If you are not interested in supporting .NET, and just ceding .NET development to C#, just drop C++/CLI and stop pretending that you are creating a level field for all .NET languages.
• What is the real reason of releasing the only Web library ATL Server on CodePlex.com? Is it to hard to ingrate some of sophisticated web components like in ASP. NET to make our only C++ Web library ATL Server web developpement easy to use?
• MFC will support BCG controls bar but it is only for desktop application and not for web application.
• Can we built 3-tiers application entirely in VC++?
You did an excellent job of creating a first class .NET language with C++/CLI and you have done a general good job in interoperating between C++/CLI and standard C++, but you have done a terrible job of bringing .NET technologies to C++/CLI.
• I would want to say that www.hotmail.com still use *.srf web page to open connection in the mail box. And *.srf pages are built using ATL Server technology. It 's the same for .NET passeport web pages. Can you explain this?
• With Silverlight 1.1 we can build interaction web application using C# or VB .NET with the .NEt Framework and C++/CLI is not a .NET language?
• Is ASP .NET only for C# and VB.NET? But it is not all of .NET language?
• Can you explain the real Visual C++ Futures?
Mais j'ai une petite réclamation. Ce nouvel update des MFC en particulier et des libraires de Visual C++ en général ne cible que les applications de bureaux et non les applications Web.
Je ne vois aucune librairie dédiée de Visual C++ 2008 qui ciblerait le Web alors que le développement Web prend une ampleur telle qu’on ne peut s'en passer à l’heure actuelle vu qu’on peut réaliser des applications web à interfaces riches d'internet (RIA, SylverLight, Ajax, etc…).
Je sais que l'équipe de Visual C++ a abandonné la seule et unique bibliothèque ATL Server en la faisant passer en open source sur CodePlex.com.
Cette bibliothèque d’ATL Server était la seule qui soit purement orienté Web qui pouvait faire le bonheur des développeurs C++ qui n'avaient même pas besoin de regarder à ASP .NET ou à une quelconque technologie pour le Web tel que PHP ou les JSP.
Je sais que les MFC permettent également ce genre de développement d’application mais pas aussi autant que faisait cette libraire dédiée d’ATL Server.
Ainsi ma question serait de savoir est-ce qu’il n’y pas de développeurs Web dans l’équipe de Visual C++ qui tout en réfléchissant à son futur pourraient repenser cette bibliothèque d’ATL Server et de la refondre ou de l’améliorer afin d’intégrer tous les gadgets actuels tels qu’on les voit dans ASP .NET par exemple (Web Contrôles ou des Web Forms).
Et si la reprise de ATL Server n’est pas envisageable pourquoi ne pas intégrer suffisamment le développement d’application ASP. NET avec C++/CLI comme code behind. Et founir des outils pour WPF, WCF et LINQ comme en C# directement dans l'IDE Visual Studio.
C'est quel Visual Studio 2008 Microsoft veut il nous pondre pour nous développeur C++? Sans ASP. NET avec C++/CLI code behind, sans outils pour WPF, WCF et LINQ utilisant C++/CLI, sans une réelle bibliothèque dédié au Web (ATL Server).
La dernière réponse que j'ai eu à mes questions n' étaient pas satisfaisantes et non convaincantes. C# et VB .NET permettent le développement d’application aussi Windows et que Web. De même Java le fait également avec ses pages JSP.
Il serait faux de croire que seul le C++ puisse s’intéresser à ce qui est sous le capot car Java tout comme C# entrent également sous le capot.
Et d’ailleurs les classes de .NET sont faites en C# et pas en C++.
Le langage C# ou Java pénètre toutes les couches du développement n-tiers tels que la couche d’accès au donnés, la couche métiers et la couche présentation.
Si les bibliothèques de VC++ sont dédiées aux applications windows ou sont celles qui le sont uniquement pour les applications Web?
WHAT VISUAL C++ 2008 LIBRARY THAT TARGETS THE WEB?
4: J'ajouterais quelques couches protocolaires,
Maintenant sous windows, microsoft pousse clairement vers .net et consors
Sun pousse vers java notament sur solaris
Mais je pense que le C/C++ a encore de beaux jours devant lui.
surtout au vu le nombre techno que l'on m'a dit qu'elles étaient morte (lorsque j'etais étudiant et plus tard) et qui sont encore en vie de nos jours
- cobol / Mainframe, X25, ada83, Oracle version 8 (plus supportée officiellement), Fortran 77...
j'ai même entendu parler dans ma boite de prospect qui voulais savoir si on supportait Vax-VMS pour un de nos produits. :calim2: bref parfois on peux croire que l'on halucine, mais non.....
Heu, j'ai peut être mal compris certains propos mais il y en a qui racontent qu'il vaut mieux utiliser des QString que des std::string ?
Ou alors j'ai rien compris.
Ca reste un domaine très pointu je trouve. Comme le reste en fait.
maintenant la question que je me pose est plutot inverse
les vieux langage sont bien implanté dans des niches technologiques
C/C++: drivers / OS bas niveau
Fortran: calcul mathematiques
Ada: systèmes embarqués critiques ou militaires
...
le java et .net ont ils réussi a trouver leur niche?
Oui, je voulais parler du C !
Le C++ nécessite un runtime supplémentaire, au-dessus du C. Par exemple pour tout ce qui est I/O, il est nécessaire d'avoir des bibliothèques supplémentaires lors de l'édition des liens. Idem pour Fortran.
Un exemple simple, tu prends un fichier C++ ou Fortran avec des affichages. Rien de très complexe. Tu utilises directement l'éditeur de liens ld (ou gcc qui est un simple wrapper). Il ne trouvera pas un certain de nombre de fonctions. Tu passes par g++ ou par gfortran, et bizarrement, ça passe. ils rajoutent à ld les bibliothèques spécifiques du langage.
Et si tu fais du C, tu peux directement utiliser ld.
Bref, si tu veux faire un OS en C++, tu dois non seulement faire tout ce que tu ferais en C, mais tu dois rajouter la partie runtime.
Pour ce qui est de la techno il n'y a aucun soucis à avoir, la maîtrise de C/C++ reste encore et toujours un excellent investissement dans le sens où malgré ses concurrents (D, Delphi) le langage continue de dominer largement sur son domaine (OS, utilitaires desktop, graphisme, calcul, performance, jeux,...).
Le point négatif c'est l'emploi, qui se déplace massivement vers les web-technos tandis que le l'emploi pour le desktop recule devant le freeware et l'open source.
Pas d'accord, il suffit de voir combien Microsoft n'arrête pas de repousser le tout .Net sous Windows, pour réaliser combien les web-technos sont (et seront encore pour un bon moment) trop lourdes pour du desktop confortable et compétitif. Que TrollTech sorte un binding Java ça veut seulement dire que QT veut s'afficher comme une solution multi-langage, ça ne veut pas dire que la suprématie du C est menacée.Citation:
Envoyé par lunatix
Est-ce que C/C++ est devenu (trop) complexe ? Oui. Est-ce que ça va provoquer une migration vers les langages managés ? Peut être pour certains petits utilitaires, mais à mon avis le C/C++ va rester un choix privilégié.
Entre autres pour des applications qui ne sont pas spécialement multi postes ou dont le gain en facilité de déploiement n'est pas significatif, c'est clair que le desktop restera encore une solution privilégiée.
Tiens j'aurai plutôt dit que c'était les petits utilitaires qui resteraient en C++ et le reste qui se dirigerait vers le monde du managé. Les applications de gestion notamment, sur la plupart d'entre elles je trouve qu'il faudrait être fou pour les réaliser en c++. Malgré QT.Citation:
Est-ce que C/C++ est devenu (trop) complexe ? Oui. Est-ce que ça va provoquer une migration vers les langages managés ? Peut être pour certains petits utilitaires, mais à mon avis le C/C++ va rester un choix privilégié.
Concernant l'ecriture d'un OS il est possible de le faire autrement qu'en C, même si actuellement c'est lui qui domine.Citation:
Exact, C++ pour de l'OS, c'est gênant car comme Fortran et contrairement au X, il nécessite une bibliothèque runtime.
Ne pas oublier que fortran a existé avant C et que dans les années 60 des OS étaient écrit en fortran (cf FMS sur IBM 709).
Ne pas oublier aussi Ada, ce langage peux se passer de kernel pour s'exécuter (il était spécifié pour cela, le DOD américains ne voulais pas s'amuser a booter tout un os pour pouvoir lancer ses missiles)
Matra Transport (avant de devenir siemens transportation system) avait d'ailleurs développé un kernel propriétaire MRTK pour 'matra real time kernel' totalement en ada (cf ligne 14 du métro parisien et antérieurs).
Ensuite, pour les versions suivantes, ils ont migrer sous vxWorks (j'ai vécu l'époque de la migration en prestation chez eux, c'était assez douloureux pour eux et mrtk est devenu un lib au dessus de l'OS pour assurer la compatibilité ascendante).
mais bon ce n'est que de l'histoire ancienne ;)....
Pour compléter le sujet sur les OS/Drivers écrit en c, car c'est un sujet duquel j'aime bien discuter et surtout de l'histoire de l'informatique en fait :D
Le C n'est qu'un choix technique fait par les concepteur d'Unix et Ensuite Linux, mais cela ne constitue en rien une obligation.
D'autres OS ont été conçue différemment:
Exemple extrait de la FAQ Open-VMS ou ils ont choisi de laisser libre cours aux personnes qui ont écrit l'OS.
2.7 In what language is OpenVMS written?
Je suis aussi presque certain qu'a une époque Sun étudiait la possibilité de traiter nativement du bytecode (java) dans des processeur, pour accélérer un peu java, et potentiellement d'écrire un os full java par dessus.Citation:
OpenVMS is written in a wide variety of languages.
In no particular order, OpenVMS components are implemented using Bliss, Macro, Ada, PLI, VAX and DEC C, Fortran, UIL, VAX and Alpha SDL, Pascal, MDL, DEC C++, DCL, Message, and Document. And this is certainly not a complete list. However, the rumor is NOT true that an attempt was made to write pieces of OpenVMS in every supported language so that the Run-Time Libraries could not be unbundled. (APL, BASIC, COBOL and RPG are just some of the languages NOT represented!)
There are a large variety of small and not-so-small tools and DCL command procedures that are used as part of the OpenVMS build, and a source code control system capable of maintaining over a hundred thousand source files across multiple parallel development projects, and overlapping releases.
Donc pour moi je considère que C n'est qu'un choix, je pense qu'il ne faut pas l'oublier et se fermer dessus sinon on risque d'avoir des surprises un jour.
La seule chose nécessaire pour écrire un os est d'avoir une chaine de compilation adapté à cet usage afin de pouvoir piloter ton hard correctement.
c'est un truc a vérifier mais je pense aussi qu'il y'en a eu (au moins en lab) car il ne faut pas oublié que sun etaient loin d'etre des manche quand il s'agissait de concevoir des microprocesseurs et des OS.
solaris est quand même le seul OS que je connaisse qui soit capable de d'allumer/éteindre un microprocesseur alors que l'os est en train de tourner ce qui est pratique pour tester la scalabilité cpu des softs :).
pour linux faut rebooter par exemple et c'est un peu plus long.
Autrement en fouillant encore un peu dans ma mémoire des OS et en allant vérifier sur le net je suis tombé sur un OS ecrit en C++ (d'après son constructeur) il s'agit de symbian os que l'on trouve dans certains téléphones nokia.
http://www.forum.nokia.com/main/html...mbian_faq.html
après ce sont des infos marketing y'a peu être quelques morceaux de C dedans :)Citation:
Why choose Symbian OS as a development platform?
Because Symbian OS is written in C++, it is a fully object-oriented operating system. This contributes to its flexibility, efficiency,and ability to re-use segments of the code.
Clearly defined APIs allow the large developer community, including terminal vendors, to create applications that can be easily downloaded, installed, and run natively on the terminal Symbian OS.
Symbian C++ APIs enable extremely efficient multitasking and memory management. Processor-and memory-intensive operations such as context switching are minimized.
Symbian OS is primarily event driven rather than multithreaded, potentially saving several kilobytes of overhead per thread. The event-driven Symbian OS doesn't need any context switching and can have an overhead as low as a few tens of bytes.
A l'inverse d'un point de vue carrière toujours, tu seras plus facile à remplacer en Java qu'en C++... Et demain Python ?
Alors qu'est-ce qui est vraiment le mieux ?