Maison développement back-end Problème PHP Avez-vous appris PHP avant d'apprendre Java ou Python ?

Avez-vous appris PHP avant d'apprendre Java ou Python ?

Sep 07, 2019 pm 02:44 PM
java python

Avez-vous appris PHP avant d'apprendre Java ou Python ?

Avant d’envisager d’apprendre Java ou Python, parlons des domaines d’application des deux.

Les principales directions d'application de Python :

1.Calcul scientifique

Avec NumPy, SciPy, Matplotlib, Enthoughtlibrarys, etc. Avec le développement de nombreuses bibliothèques de programmes, Python est de plus en plus adapté aux calculs scientifiques et au dessin d'images 2D et 3D de haute qualité. Comparé à Matlab, le logiciel commercial le plus populaire dans le domaine du calcul scientifique, Python est un langage de programmation général. Il possède une gamme d'applications plus large que le langage de script utilisé par Matlab et est pris en charge par davantage de bibliothèques de programmes. Bien que de nombreuses fonctions avancées et boîtes à outils de Matlab soient encore irremplaçables, de nombreuses tâches de recherche et de développement scientifique quotidiennes peuvent encore être réalisées avec Python.

2. Les robots d'exploration Web

, également connus sous le nom d'araignées Web, sont les outils de base pour obtenir des données dans l'industrie du Big Data. Sans les robots d'exploration automatiques du Web, jour et nuit, et sans l'exploration hautement intelligente des données gratuites sur Internet, il y aurait probablement trois quarts de moins d'entreprises liées au Big Data. Il existe de nombreux langages de programmation qui peuvent être utilisés pour écrire des robots d'exploration Web, mais Python est certainement l'un des langages les plus répandus et son framework de robots d'exploration Scripy est largement utilisé.

3. Analyse des données

Basée sur une grande quantité de données, combinée au calcul scientifique, à l'apprentissage automatique et à d'autres technologies, les données sont nettoyées, dédupliquées, standardisées et L’analyse pertinente ciblée est la pierre angulaire de l’industrie du Big Data. Python est l'un des langages courants pour l'analyse de données.

4. Intelligence artificielle

Python est un langage de programmation courant dans l'apprentissage automatique, les réseaux de neurones, l'apprentissage profond, etc. dans le vaste domaine de l'intelligence artificielle et est largement support et applications utilisés.

Les principales directions d'application de Java :

1. Applications au niveau de l'entreprise

C'est actuellement la plus utilisée. Application Java Dans le domaine, elle est quasiment unique. Y compris diverses applications industrielles, l'informatisation d'entreprise et l'e-gouvernement, etc., les domaines comprennent : la bureautique OA, la gestion de la relation client CRM, les ressources humaines RH, la planification des ressources de l'entreprise (ERP), la gestion des connaissances KM, la gestion de la chaîne d'approvisionnement SCM, la gestion des équipements d'entreprise. système EAM, gestion du cycle de vie des produits PLM, architecture orientée services SOA, business intelligence BI, gestion de projet PM, gestion marketing, gestion des processus WorkFlow, gestion financière... et ainsi de suite, presque toutes les applications auxquelles vous pouvez penser.

2. Appareils intégrés et produits électroniques grand public

Y compris les appareils portables sans fil, les cartes à puce, les terminaux de communication, les équipements médicaux, les appareils d'information (tels que les téléviseurs numériques, les téléviseurs top cases, réfrigérateurs), équipements électroniques automobiles, etc. sont tous des domaines d'application Java populaires ces dernières années, en particulier les applications Java et les jeux Java sur téléphones mobiles, qui sont encore plus populaires.

Ensuite, comparons brièvement python et java :

Langage statique et langage dynamique :

Langage statique  :
java, c, c++, go, etc.
Un langage fortement typé (langage typé statiquement) fait référence à un langage qui nécessite une déclaration de type variable/objet et nécessite généralement une compilation et une exécution. Un langage fortement typé est un langage dans lequel une fois le type d’une variable déterminé, celle-ci ne peut plus être convertie.

Langages dynamiques :
python, javascript, php, ruby, etc.
Langage faiblement typé (langage typé dynamiquement) fait référence à un langage qui ne nécessite pas de variable /Déclaration de type d'objet, Généralement, la compilation n'est pas requise (mais il existe également des versions compilées). Les langages typés dynamiquement sont des langages dans lesquels les types de données sont déterminés au moment de l'exécution. Il n'est pas nécessaire d'effectuer une déclaration de type avant d'utiliser une variable. Généralement, le type de la variable est le type de la valeur à laquelle elle est affectée.
Au contraire, dans les langages faiblement typés, le type d'une variable est déterminé par son contexte d'application.

Avantages du langage statique :

En raison de la déclaration obligatoire des types, l'EDI a une forte connaissance du code. Par conséquent, lors de la mise en œuvre d'une logique métier complexe, In. le développement de systèmes et d'applications commerciaux à grande échelle avec de longs cycles de vie, s'appuyant sur des IDE peut assurer le développement du système
Les langages statiques étant relativement fermés, l'intrusion de kits de développement tiers dans le code peut être minimisée ;

Avantages du langage dynamique :

Certains concepts avancés en langage statique, tels que la réflexion en java et l'AOP basé sur la réflexion, ces concepts sont utiles pour les débutants en Java et pour Pour les personnes n'ayant qu'un ou deux ans d'expérience professionnelle, il est difficile de comprendre ces concepts, et encore moins de savoir comment les mettre en œuvre eux-mêmes. Si vous avez utilisé AOP, vous comprendrez qu'il est difficile de comprendre et d'utiliser ces concepts avec compétence, et que l'efficacité du développement sera relativement faible. Bien que les étudiants puissent dire « c'est en fait très simple à utiliser », c'est peut-être parce que vous le faites. Je n'ai jamais utilisé de décorateurs dans des langages dynamiques.

Dans les langages dynamiques, le concept d'AOP en Java peut être complété directement à l'aide de décorateurs et fait partie du langage python lui-même. Ce n'est pas comme Java qui nécessite l'introduction d'un tiers pour terminer.

Python peut accomplir cela facilement précisément parce que python est un langage dynamique. Les caractéristiques des langages dynamiques permettent à chacun de contrôler extrêmement simplement l'initialisation de la classe entière et de modifier dynamiquement les objets. facile pour les langages dynamiques La flexibilité dépasse de loin les langages statiques.

Langages interprétés et compilés

L'exécution de l'interprétation ici est relative à l'exécution de la compilation. Nous savons tous que les programmes écrits dans des langages compilés tels que C/C++ doivent être convertis des fichiers sources en langage machine utilisé par l'ordinateur, puis liés par un éditeur de liens pour former un fichier exécutable binaire. Lorsque vous exécutez ce programme, vous pouvez charger le programme binaire du disque dur en mémoire et l'exécuter.

Le processus d'exécution de python est similaire à Java :
L'interpréteur python convertit le code source en bytecode, puis l'interpréteur python exécute ces bytecodes.

Un processus d'exécution de programme python spécifique :

- Après avoir exécuté le programme python, l'interpréteur Python sera démarré, puis le programme python sera compilé en un bytecode objetPyCodeObject.

- Pendant l'exécution, le résultat de la compilation, qui est l'objet PyCodeObject, n'existera qu'en mémoire. Lorsque le code Python de ce module sera exécuté, le résultat de la compilation sera enregistré dans le fichier pyc afin que la prochaine fois. Il n’y a pas besoin de compiler, il est chargé directement en mémoire. Un fichier pyc est simplement une représentation d'un objet PyCodeObject sur le disque.

- Cet objet PyCodeObject contient des chaînes, des valeurs constantes​​dans le code source Python et des instructions de bytecode compilées et générées via l'analyse syntaxique. L'objet PyCodeObject stocke également la correspondance entre ces instructions de bytecode et le numéro de ligne de code d'origine, de sorte que lorsqu'une exception se produit, il puisse indiquer quelle ligne de code se trouve.

Java est également d'abord compilé en bytecode, puis exécuté par l'interpréteur
. Java est très spécial, mais il n'est pas directement compilé en langage machine, mais compilé en bytecode. Le bytecode est ensuite exécuté de manière interprétée sur la machine virtuelle Java. Python utilise également une méthode similaire. Python est d'abord compilé en bytecode python, puis un interpréteur de bytecode python spécialisé est responsable de l'interprétation et de l'exécution du bytecode.

GIL en Python

Le nom complet de GIL est Global Interpreter Lock (verrouillage global de l'interprète). La source est la considération au début de la conception de Python, et elle est prise en compte. est fait pour la sécurité des données.

Sous Python multi-threading, la méthode d'exécution de chaque thread :
1. Obtenir GIL
2 Exécuter le code jusqu'à ce qu'il soit mis en veille ou que la machine virtuelle python le suspende.
3. Libérer le GIL

On voit que si un thread veut s'exécuter, il doit d'abord récupérer le GIL On peut considérer le GIL comme un "pass", et dans un processus python. , il n'y a qu'un seul GIL. Les threads qui ne peuvent pas obtenir de passe ne sont pas autorisés à entrer dans le CPU pour exécution.
Chaque fois que le verrou GIL est libéré, les threads se disputent les verrous et changent de thread, ce qui consomme des ressources. Et à cause du verrou GIL, un processus en Python ne peut exécuter qu'un seul thread à la fois (le thread qui a obtenu le GIL peut s'exécuter). C'est pourquoi l'efficacité multithread de Python n'est pas élevée sur les processeurs multicœurs.
Chaque processus a son propre GIL indépendant et n'interfère pas les uns avec les autres, de sorte qu'il peut être exécuté en parallèle dans un vrai sens du terme. Par conséquent, en python, l'efficacité d'exécution du multi-processus est meilleure que celle du multi-processus. threading (uniquement pour les processeurs multicœurs).

En raison de l'existence de GIL, les performances multithread de Python sont très faibles et ne peuvent pas tirer parti des processeurs multicœurs, et les performances sont encore pires que celles du monothreading. Donc, si vous souhaitez utiliser un processeur multicœur, une suggestion consiste à utiliser multi-processus ou coroutine.

Python Garbage Collection

Quand on parle de garbage collection, le modèle de comptage de références est généralement utilisé, qui est la technologie de garbage collection la plus intuitive et la plus simple. Python utilise également le comptage de références, mais le comptage de références présente les inconvénients suivants :

1. La mise à jour fréquente du décompte de références réduira l'efficacité opérationnelle

2.

Basé sur le mécanisme de comptage de références, Python utilise deux technologies majeures de garbage collection : le mark-clearance et la collecte générationnelle.

Le contenu ci-dessus est à titre de référence uniquement !

Tutoriel vidéo Python recommandé :

Tutoriel vidéo Python

Tutoriel vidéo Java recommandé :

Tutoriel vidéo JAVA

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

MySQL doit-il payer MySQL doit-il payer Apr 08, 2025 pm 05:36 PM

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

HaDIDB: une base de données légère et évolutive horizontalement dans Python HaDIDB: une base de données légère et évolutive horizontalement dans Python Apr 08, 2025 pm 06:12 PM

HaDIDB: Une base de données Python évolutive de haut niveau légère HaDIDB (HaDIDB) est une base de données légère écrite en Python, avec un niveau élevé d'évolutivité. Installez HaDIDB à l'aide de l'installation PIP: PiPinStallHaDIDB User Management Créer un utilisateur: CreateUser () pour créer un nouvel utilisateur. La méthode Authentication () authentifie l'identité de l'utilisateur. FromHadidb.OperationMportUserUser_OBJ = User ("Admin", "Admin") User_OBJ.

Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Méthode de Navicat pour afficher le mot de passe de la base de données MongoDB Apr 08, 2025 pm 09:39 PM

Il est impossible de visualiser le mot de passe MongoDB directement via NAVICAT car il est stocké sous forme de valeurs de hachage. Comment récupérer les mots de passe perdus: 1. Réinitialiser les mots de passe; 2. Vérifiez les fichiers de configuration (peut contenir des valeurs de hachage); 3. Vérifiez les codes (May Code Hardcode).

MySQL a-t-il besoin d'Internet MySQL a-t-il besoin d'Internet Apr 08, 2025 pm 02:18 PM

MySQL peut s'exécuter sans connexions réseau pour le stockage et la gestion des données de base. Cependant, la connexion réseau est requise pour l'interaction avec d'autres systèmes, l'accès à distance ou l'utilisation de fonctionnalités avancées telles que la réplication et le clustering. De plus, les mesures de sécurité (telles que les pare-feu), l'optimisation des performances (choisissez la bonne connexion réseau) et la sauvegarde des données sont essentielles pour se connecter à Internet.

MySQL Workbench peut-il se connecter à MariaDB MySQL Workbench peut-il se connecter à MariaDB Apr 08, 2025 pm 02:33 PM

MySQL Workbench peut se connecter à MARIADB, à condition que la configuration soit correcte. Sélectionnez d'abord "MariADB" comme type de connecteur. Dans la configuration de la connexion, définissez correctement l'hôte, le port, l'utilisateur, le mot de passe et la base de données. Lorsque vous testez la connexion, vérifiez que le service MARIADB est démarré, si le nom d'utilisateur et le mot de passe sont corrects, si le numéro de port est correct, si le pare-feu autorise les connexions et si la base de données existe. Dans une utilisation avancée, utilisez la technologie de mise en commun des connexions pour optimiser les performances. Les erreurs courantes incluent des autorisations insuffisantes, des problèmes de connexion réseau, etc. Lors des erreurs de débogage, analysez soigneusement les informations d'erreur et utilisez des outils de débogage. L'optimisation de la configuration du réseau peut améliorer les performances

MySQL a-t-il besoin d'un serveur MySQL a-t-il besoin d'un serveur Apr 08, 2025 pm 02:12 PM

Pour les environnements de production, un serveur est généralement nécessaire pour exécuter MySQL, pour des raisons, notamment les performances, la fiabilité, la sécurité et l'évolutivité. Les serveurs ont généralement un matériel plus puissant, des configurations redondantes et des mesures de sécurité plus strictes. Pour les petites applications à faible charge, MySQL peut être exécutée sur des machines locales, mais la consommation de ressources, les risques de sécurité et les coûts de maintenance doivent être soigneusement pris en considération. Pour une plus grande fiabilité et sécurité, MySQL doit être déployé sur le cloud ou d'autres serveurs. Le choix de la configuration du serveur approprié nécessite une évaluation en fonction de la charge d'application et du volume de données.

MySQL peut-il se connecter au serveur SQL MySQL peut-il se connecter au serveur SQL Apr 08, 2025 pm 05:54 PM

Non, MySQL ne peut pas se connecter directement à SQL Server. Mais vous pouvez utiliser les méthodes suivantes pour implémenter l'interaction des données: utilisez Middleware: Exporter les données de MySQL au format intermédiaire, puis importez-les sur SQL Server via Middleware. Utilisation de Database Linker: Business Tools fournit une interface plus conviviale et des fonctionnalités avancées, essentiellement encore implémentées via Middleware.

See all articles