Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le Pascal Objet peut booster votre carrière.
C'est le constat d'un analyste : c'est le langage dont la demande a le plus augmenté en 2013-2014

Le , par Alcatîz

14PARTAGES

6  0 
Le rapport Dice du 22/05/2015 place le Pascal en 9e place des compétences qui ont connu la plus forte croissance de demandes dans les emplois IT en 2013 et 2014. C'est d'ailleurs le seul langage classé dans le top 10. Plus précisément, il s'agit du Pascal Objet (Object Pascal), évolution du langage Pascal principalement utilisée par l'environnement de développement Delphi.
L'indice TIOBE d'avril 2015 semble confirmer cette tendance en plaçant le Pascal Objet en 11e place - alors qu'il occupait la 19e place en avril 2014.



Phil Johnson, chroniqueur sur ITWorld, conseille donc de ne pas négliger le Pascal comme corde supplémentaire à son arc de compétences IT.

Sources :



Et vous ?

Que pensez-vous de l'analyse de Phil Johnson ?

Pensez-vous que cette évolution soit juste un feu de paille ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de gvasseur58
Responsable Lazarus & Pascal https://www.developpez.com
Le 28/05/2015 à 23:13
C'est plutôt une bonne nouvelle Il ne s'agit pas de défendre une paroisse, mais de constater que le Pascal est trop souvent renvoyé d'un haussement d'épaules dans les poubelles de l'histoire de l'informatique : il serait dépassé, sans intérêt aujourd'hui, condamné à court terme. Or, le Pascal Objet a beaucoup évolué tout en gardant la qualité essentielle de son vénérable ancêtre, à savoir la lisibilité. D'autres langages plus en vogues offrent sans doute plus de souplesse, mais l'expérience ne nous a-t-elle pas appris que le truc, l'astuce, le coup d'éclat d'un moment se payaient bien cher à terme ?

Bien sûr, on peut aussi arguer que cette embellie tient en grande partie à la quantité de code Pascal encore en service un peu partout dans le monde. Ce n'est sans doute pas faux, mais les années à venir pourraient alors au pire ressembler à celles d'un langage comme COBOL toujours annoncé mort et toujours vivant . Quels autres langages pourront en dire autant dans cinq ans ?
10  0 
Avatar de Paul TOTH
Expert éminent sénior https://www.developpez.com
Le 01/06/2015 à 12:20
J'ai lu un peu en diagonale ce fil, voici ce qu'il m'inspire.

DonQuiche, entre autre, ne connais pas Delphi et critique le langage Pascal sur des critères non énoncés en le reléguant à un passé dépassé.

C'est une démarche que l'on trouve souvent chez les adaptes d'autres langages, pas toujours nouveaux d'ailleurs, mais qui ont généralement - je ne sais pas si c'est le cas de DonQuiche en particulier - le particularité d'avoir une expérience limitée. Et je précise de suite que cette "limite" n'est pas d'un point de vue compétence, de complexité ou d'importance des projets, mais c'est un point de vue à travers une lorgnette qui focalise sur leur domaine de compétence pour lequel ils sont convaincu que Delphi c'est de la merde.

La question n'est pas de savoir si Delphi est un bon produit, mais de savoir s'il répond à votre besoin.

Si mon besoin c'est, par exemple, de faire un petit site web facile à maintenir, que je puisse installer sans peine chez OVH et qui puisse être modifié sous Notepad++ via mon notebook quand je suis en vacances à la mer...je dirais qu'il est préférable d'utiliser PHP ou tout autre langage de script orienté Web. Et là je peux dire que Delphi est une usine à gaz immonde pour créer mon petit site web.

Maintenant, si j'ai un projet lourd, qui implique des traitements un peu plus complexe qu'un formulaire web, qui doit tourner sur Windows, Mac, iPhone, Android, avec des mises à jour en temps réel et des contraintes d'IU qui rend la chose complexe sous HTML5, qu'il me faut des WebServices ou de la WebAPI REST...Delphi est tout à fait capable de le gérer alors que PHP sera considéré comme une merde inutilisable.

Il y a aussi la notion de culture informatique, les développeurs formés sous Java qui ont un cerveau qui ne sait plus ce que c'est que la programmation en dehors de l'objet ou la gestion mémoire vont trouver le langage Delphi complètement absurde et en contradiction avec tous les principes élémentaires de la programmation qu'ils connaissent depuis tout petit.

Les accros du C en ligne de commande vont vomir sur un IDE WYSIWYG haut en couleur qui permet de ne jamais mettre les mains dans les "DFM" qui ont l’outrecuidance de ne pas utiliser le format XML pour sérialiser les fiches de l'application.

Bref, Delphi, ce n'est pas Rubby, ce n'est pas .Net, ce n'est pas Java et c'est pour cela qu'il est intéressant, car il a son caractère propre et qui sait l'utiliser va très loin. Il n'est pas pour autant la réponse ultime et l'outil incontournable vu que cela n'existe tout simplement pas.
10  0 
Avatar de skywaukers
Membre chevronné https://www.developpez.com
Le 30/05/2015 à 0:49
Citation Envoyé par DonQuiche Voir le message
Le fait qu'on aura encore besoin de maintenir des applis Cobol pendant les cinquante prochaines années n'empêche pas pour autant ce langage d'être mort au sens où il est sans intérêt pour les nouveaux développements. Il en va de même pour le Pascal qui n'a rien à offrir aujourd'hui (à la rigueur pour l'enseignement et encore) : il a été vaincu il y a vingt ans par des langages qui vont désormais eux-mêmes céder leurs places dans les dix à vingt ans à venir.
Il y a tout de même une grosse différence : le Pascal a évolué et suivit les nouvelles technos et les nouveaux concepts actuels, pas le cobol. Avec le Pascal tu peux développer pour Windows, MacOs, Linux ( Lazarus+Free pascal), Ios, Android, Google glass, Apple Watch, le web. Tu peux t'amuser avec les e-beacons, le cloud, etc. Avec le cobol, on doit s'arrêter à peu prêt à la première proposition non ?

Citation Envoyé par DonQuiche Voir le message
Cette manie de certains développeurs à vouloir nous faire rester dans le passé et à nier les bénéfices des innovations est vraiment lassante. Et pas exclusive au Pascal, loin de là. J'ai commencé avec le Pascal, puis je l'ai délaissé pour un langage que j'ai délaissé à son tour, que j'ai lui-même délaissé pour un autre langage, que je cherche à remplacer lui aussi. Ainsi va l'IT.
cette manie de vouloir toujours faire croire que tout ce qui est vieux est dépassé et mauvais... Peut être parce que suivre le troupeau nous laisse l'illusion d'être plus intelligent.

Citation Envoyé par DonQuiche Voir le message
Non, être capable d'écrire une ligne de code au lieu de vingt ne se paie jamais cher.
sauf que généralement quand tu écris juste cette ligne tu oubli ce qui se passe derrière, et ça un jour tu le payes.

Citation Envoyé par DonQuiche Voir le message
Des dizaines de milliers de personnes, souvent parmi les plus brillantes, travaillent chaque jour à faire évoluer nos langages pour nous faire écrire moins de code et relever les défis que sont la parallélisation de masse, le déplacement vers le nuage, l'explosion du volume des données, le renforcement de la sécurité et la complexification croissante. Négliger ces avancées est une grave erreur.
Et les moins brillantes font évoluer les vieux langages (encore une illustration de ce que je disais plus haut).

Citation Envoyé par DonQuiche Voir le message
Mais bon... Si ça vous amuse d'écrire toujours les mêmes bouts de code qu'un compilateur pourrait écrire à votre place...
oui c'est sûr que pour les petits programmes tout simples on aura bientôt même plus besoin de coder donc le problème sera résolut. Par contre on aura toujours besoin de bons développeurs, qui connaissent autre chose que la grosse macro qui fait plein de choses dont ils ignorent tout des tenants et aboutissants.

@++
Dany
11  2 
Avatar de free07
Membre expérimenté https://www.developpez.com
Le 30/05/2015 à 7:28
Citation Envoyé par DonQuiche Voir le message

Des dizaines de milliers de personnes, souvent parmi les plus brillantes, travaillent chaque jour à faire évoluer nos langages pour nous faire écrire moins de code et relever les défis que sont la parallélisation de masse, le déplacement vers le nuage, l'explosion du volume des données, le renforcement de la sécurité et la complexification croissante. Négliger ces avancées est une grave erreur.
Je ne vois pas en quoi utiliser le pascal ferait que l'on néglige toutes ces avancées, cela n'a aucun rapport.

A te lire on dirait qu'utiliser le pascal c'est se priver des nouvelles technos, mais ce n'est absolument pas vrai.
7  0 
Avatar de gbegreg
Membre émérite https://www.developpez.com
Le 30/05/2015 à 10:14
C'est effectivement une bonne nouvelle.

Visiblement DonQuiche n'a pas du tout suivi les évolutions du Pascal et c'est malheureusement le cas de beaucoup de personnes qui le pensent dépassé. Je développe en ce moment une petite application mobile pour les astronomes. Je la fait avec Delphi pour adresser nativement IOS et Android (avec utilisation par exemple de la géolocalisation et du capteur "boussole" pour aider l'utilisateur à mettre en station sa monture...). C'est exactement le même code et j'adresse les deux OS. Le responsive design est de la partie et mon application fonctionne sur toutes tailles d'écran et de résolutions. L'application est loin d'être terminée mais c'est aussi pour moi l'occasion de me mettre au framework Firemonkey.

Lazarus est gratuit mais je pense que si Embarcadero proposait une version de Delphi community (gratuite) ça serait un plus.

Enfin, juste en complément, pour finir, le Cobol aussi évolue (objet, web service...), il est aussi multiplateforme (Windows, Linux, Unix...) mais c'est un autre sujet
7  0 
Avatar de gbegreg
Membre émérite https://www.developpez.com
Le 30/05/2015 à 12:33
DonQuiche, tu indiques : "langages très riches en fonctionnalité sont tournés vers des domaines pointus : programmation système,...". Pour info, en Pascal aussi tu peux faire de la programmation système. Ensuite ta première question est "Où est votre gestion automatisée ou semi-automatisée de la mémoire ? " : ce n'est pas super pointu de faire confiance à un mécanisme qu'on ne maitrise pas (toi tu le métrises peut être mais combien de développeurs Java se reposent dessus sans savoir ce qu'il en retourne exactement?). Saches que pour le développement mobile avec Delphi il y a l'ARC (Automatic Reference Counting) qui est l'équivalent du garbage collector.

La programmation orientée aspect est également possible (http://laurent-dardenne.developpez.com/articles/Delphi/Framework/Aspect/) ainsi que les lambdas :
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
var
  Lambda: TFunc<Integer, Integer>;
begin
  Lambda:= function(ANumber: Integer) : Integer
           begin
             Result:= ANumber * ANumber;
           end;
   ShowMessage(Lambda(2).ToString());
   ShowMessage(Lambda(4).ToString());
end;
Enfin bon, chaque langage a ses adeptes et ses domaines de prédilection. Je pratique d'autres langages (PHP, Python, Java, Groovy, C/C++, Pascal et même Cobol) et Pascal reste mon préféré.
7  0 
Avatar de gvasseur58
Responsable Lazarus & Pascal https://www.developpez.com
Le 02/06/2015 à 8:18
Personnellement, si je devais retenir une contribution de cette discussion (d'autres étaient très intéressantes, mais celle-ci a le mérite de la synthèse), je choisirais celle de Paul Toth :

Citation Envoyé par Paul TOTH Voir le message
J'ai lu un peu en diagonale ce fil, voici ce qu'il m'inspire.

DonQuiche, entre autre, ne connaît pas Delphi et critique le langage Pascal sur des critères non énoncés en le reléguant à un passé dépassé.

C'est une démarche que l'on trouve souvent chez les adeptes d'autres langages, pas toujours nouveaux d'ailleurs, mais qui ont généralement - je ne sais pas si c'est le cas de DonQuiche en particulier - le particularité d'avoir une expérience limitée. Et je précise de suite que cette "limite" n'est pas d'un point de vue compétence, de complexité ou d'importance des projets, mais c'est un point de vue à travers une lorgnette qui focalise sur leur domaine de compétence pour lequel ils sont convaincus que Delphi c'est de la merde.

La question n'est pas de savoir si Delphi est un bon produit, mais de savoir s'il répond à votre besoin.

Si mon besoin c'est, par exemple, de faire un petit site web facile à maintenir, que je puisse installer sans peine chez OVH et qui puisse être modifié sous Notepad++ via mon notebook quand je suis en vacances à la mer...je dirais qu'il est préférable d'utiliser PHP ou tout autre langage de script orienté Web. Et là je peux dire que Delphi est une usine à gaz immonde pour créer mon petit site web.

Maintenant, si j'ai un projet lourd, qui implique des traitements un peu plus complexe qu'un formulaire web, qui doit tourner sur Windows, Mac, iPhone, Android, avec des mises à jour en temps réel et des contraintes d'IU qui rend la chose complexe sous HTML5, qu'il me faut des WebServices ou de la WebAPI REST...Delphi est tout à fait capable de le gérer alors que PHP sera considéré comme une merde inutilisable.

Il y a aussi la notion de culture informatique, les développeurs formés sous Java qui ont un cerveau qui ne sait plus ce que c'est que la programmation en dehors de l'objet ou la gestion mémoire vont trouver le langage Delphi complètement absurde et en contradiction avec tous les principes élémentaires de la programmation qu'ils connaissent depuis tout petit.

Les accros du C en ligne de commande vont vomir sur un IDE WYSIWYG haut en couleur qui permet de ne jamais mettre les mains dans les "DFM" qui ont l’outrecuidance de ne pas utiliser le format XML pour sérialiser les fiches de l'application.

Bref, Delphi, ce n'est pas Rubby, ce n'est pas .Net, ce n'est pas Java et c'est pour cela qu'il est intéressant, car il a son caractère propre et qui sait l'utiliser va très loin. Il n'est pas pour autant la réponse ultime et l'outil incontournable vu que cela n'existe tout simplement pas.
Quitte à me répéter, je ne crois pas qu'il y ait une querelle des anciens contre les modernes, mais plutôt une propension bien humaine à défendre ce qu'on connaît, voire à combattre tout ce qui sort du champ de ce qu'on pense être le VRAI. Sinon, on s'explique mal que DonQuiche renvoie la programmation parallèle aux années 90 (voir le livre de Hodges) et soit persuadé que les programmeurs à la page (ceux qui pratiquent le C#, entre autres) sont constamment sur la brèche quand il s'agit d'intégrer de nouveaux concepts ou de nouvelles techniques (voir son affirmation dans un post précédent).
Tout cela est très excessif : un langage qui aurait su exploiter les processeurs multi-cœurs en 1990 serait venu de Mars et, comme tous les programmeurs, ceux qui pratiquent des langages apparus récemment commettent des bourdes... archaïques
Rien que ce matin, je me promène sur CodeProject et y lis un article intitulé Sometimes, we overlook the simplest things. C'est un article concernant le C# sur un site sérieux qui filtre ses publications. L'auteur nous montre qu'il est très pénalisant en termes de vitesse d'exécution du code d'employer un contrôle des exceptions. Un problème pour DonQuiche, c'est que la méthode la plus rapide (sauf en programmation linéaire pour 1000 itérations) n'est pas celle qui a raccourci le code au maximum en employant des outils du C#, mais la méthode "ancienne" qui consiste à tester par un if avant d'exécuter une/des instruction(s) Second problème pour DonQuiche : la démonstration fournie par l'auteur est un exemple d'utilisation des exceptions à proscrire . Une fois l'erreur capturée, l'auteur donne une valeur arbitraire à une variable en masquant l'exception, sans d'ailleurs se préoccuper d'une éventuelle exception dans son bloc, ce qui conduirait à une autre variable à la valeur indéterminée. Je ne suis pas en train de dire que le C# est mauvais (d'autant plus que c'est la même personne qui a conçu le Pascal Objet et le C# ), mais qu'il sera toujours ce que le programmeur en fera. Celui qui programme un langage n'est pas plus infaillible et croit parfois résoudre un problème réel en en créant une ribambelle en aval (j'en reviens aux compteurs de références bien présents dans Pascal Objet via les interfaces depuis une bonne décennie). [Je précise que si le C# est cité, on peut le remplacer par n'importe quel langage, y compris le Pascal, bien sûr.]
7  0 
Avatar de gbegreg
Membre émérite https://www.developpez.com
Le 31/05/2015 à 0:55
Pour répondre à la remarque de DonQuiche :
Et accessoirement je parie que ta sous-fonction ne peut pas capturer les variables locales, à commencer par l'instance appelante. Ce qui place encore plus de travail sur tes épaules et réduit encore davantage la lisibilité.
Le code qui suit fonctionne parfaitement (bon au niveau intérêt c'est zéro mais c'est juste pour illustrer ) : les variables locales sont accessibles, l'instance appelante aussi, les attributs privés ou publiques de la classe sont également accessibles. Tu as perdu ton pari

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Déclarations privées }
    iPrive : integer;
  public
    { Déclarations publiques }
    iPublic : integer;
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormCreate(Sender: TObject);
var
  Lambda: TFunc<Integer, Integer>;
  i : integer;
begin
  Lambda:= function(ANumber: Integer) : Integer
           begin
             ShowMessage(sender.ToString);
             Result:= ANumber + i+iPublic + iPrive;
           end;

   i:= 1;
   iPublic := 2;
   iPrive := 3;
   ShowMessage(Lambda(2).ToString);
   ShowMessage(Lambda(4).ToString);
end;

end.
Pour info, et comme ça intéresse certains : sur les 45 lignes de codes, j'en ai réellement écrit 15 (et encore pas entièrement grâce à l'auto-completion). Ce petit bout de code compilé (en mode debug pour être précis) en moins d'une seconde par plateforme cible (Windows, OSX, Android et IOS) et les binaires générés ont le même comportement quelque soit la plateforme (encore heureux me direz vous ). Pour être complet : la compilation est rapide, par contre, le déploiement des binaires prend un peu de temps et dépend évidemment des périphériques :
- les binaires Windows 32 et 64 bits sont disponibles instantanément car le PC tourne sous Windows
- le binaire MACOS doit passer par le réseau entre le PC et le MAC : ça prend quelques secondes
- le binaire vers le périphérique Android passe par le câble USB : ça prend là aussi le temps du transfert
- le binaire vers le périphérique IOS passe par le réseau sur le MAC, puis du MAC vers le périphérique IOS en USB... (et oui, car il faut que l'appli soit signée par un MAC)

Pour les binaires mobiles, il est possible de les générer au format pour les stores (Play Store ou Apple Store). Je n'ai pas encore tester cette fonctionnalité. De plus pour l'Apple Store, il faut acquérir une licence supplémentaire auprès d'Apple...
6  0 
Avatar de SergioMaster
Rédacteur/Modérateur https://www.developpez.com
Le 31/05/2015 à 8:36
Bonjour,

Les interventions de DonQuiche n'ont qu'un seul avantage : alimenter la discussion, on ne converti pas des païens (selon lui) à coup d'eau bénite (la nouveauté)

que dire de :
Code : Sélectionner tout
1
2
3
a=a+1
  inc(a)
  a++
où se trouve le meilleur choix ? quelle vraie évolution à été apportée , AMHA, après compilation (si toutefois il s'agit d'un bon compilateur) : aucune

à la question :
Delphi est un langage mort ? je répondrai que tout ce qui bouge (lire évolue) encore n'est pas mort
un 'vieux' langage est inutile ? la polémique reste vivace pour le latin et le grec alors pour des langages de moins de 50 ans

moi je choisi le langage en fonction
1 - du besoin (OS visés, types de programmes [calculs importants, manipulation de données, Web ...])
2- des compétences et matériels disponibles
3- de la maintenance (donc lisibilité) future
de ces trois points en découle : la productivité et la viabilité d'une application

pour l'enseignement je choisirai non pas un langage à la mode mais plutôt un solide (j'ai pu voir les dégâts que peux faire un enseignement trop "riche" au détriment d'une bonne logique de base)

mais bon, ce n'est que l'avis d'un vieux barbon arthrosique qui a déclaré que JAVA était une régression vers COBOL lorsque ce dernier est sorti
6  0 
Avatar de gagaches
Membre confirmé https://www.developpez.com
Le 30/05/2015 à 8:48
Citation Envoyé par DonQuiche Voir le message
Cette manie de certains développeurs à vouloir nous faire rester dans le passé et à nier les bénéfices des innovations est vraiment lassante. Et pas exclusive au Pascal, loin de là. J'ai commencé avec le Pascal, puis je l'ai délaissé pour un langage que j'ai délaissé à son tour, que j'ai lui-même délaissé pour un autre langage, que je cherche à remplacer lui aussi. Ainsi va l'IT.
[...]
Non, être capable d'écrire une ligne de code au lieu de vingt ne se paie jamais cher.
C'est un troll ce post ou de la provocation gratuite ?

Le paradigme numéro 1 du développement est qu'à chaque situation/besoin existe son langage, que tout évolue et qu'il faut rester le plus SOTA possible.

Tu connais le pascal d'il y a 10 ans et tu juges le pascal .... d'il y a 10 ans, à travers ta petite ornière.

Moi, je pensais aussi que Delphi était en perte de demande et plutôt oublié maintenant. Visiblement, c'est loin d'être le cas.

Pendant ce temps, "Le rapport Dice du 22/05/2015 place le Pascal en 9e place des compétences qui ont connu la plus forte croissance de demandes dans les emplois IT en 2013 et 2014. C'est d'ailleurs le seul langage classé dans le top 10. Plus précisément, il s'agit du Pascal Objet (Object Pascal), évolution du langage Pascal principalement utilisée par l'environnement de développement Delphi.
L'indice TIOBE d'avril 2015 semble confirmer cette tendance en plaçant le Pascal Objet en 11e place - alors qu'il occupait la 19e place en avril 2014."

ça n'est pas "certains développeurs" mais une demande qui croit suffisamment pour arriver dans le top 10, confirmé par Dice et Tiobe.

<provocation gratuite>Tu râles peut-être parce que tes nouveaux langages ne sont pas dans ce classement ?</provocation gratuite>
6  1