Why Python can be more productive? Some developers have claimed that Python is more productive than Java. It is dangerous to make such a claim, because it may take several days to prove that thoroughly. From a high level view, Java is statically typed, which means all variable names have to be explicitly declared. In contrast, Python is dynamically typed, which means declaration is not required. There is a huge debate between dynamic typing and static typing in programming languages. This post does not talk about that. ![]() However, one point should be agreed - Python is an interpreted language with elegant syntax and that makes it a very good option for scripting and rapid application development in many areas. In this comparison, I will try to cover some basic language components, such as string, control flow, class, inheritance, file i/o, etc. All of them will be compared by using side- by- side examples. I hope this can provide java programmers a general idea of how Python and Java do the same thing differently. By a glance of the code below, we can easily realize that Python code is much shorter, even though some Java "class shell" (In Java everything starts with a class definition) is not listed. This might be one reason why Python can be more productive.
You may also check out the most popular python libraries and code examples. Hello World Start with the simplest program. Java needs a lot of words for printing just a string. ![]() This is the first example showing Python is more concise. Java. Pythonpublicclass Main {publicstaticvoid main(String[] args){System. Main {. public static void main(String[] args) {. System. out. println("hello world"). Fist of all, whatever we do in Java, we need start with writing a class, and then put our desired method(s) inside. This is sometimes very annoying and it does waste time. 2017: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2016: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2015: Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2014. In Python, you can simply start writing your code, and then run it. String Operationspublicstaticvoid main(String[] args){String test ="compare Java with Python"; for(String a : test. System. out. print(a); }public static void main(String[] args) {. String test = "compare Java with Python". String a : test. split(" ")). System. out. print(a). Python with Java"; print a. Python with Java". There are a lot of string related functions in Python which is as good as or better than Java, for example, lstrip(), rstrip(), etc. Control Flowint condition=1. System. out. println("> 1. System. out. println("< = 1. System. out. println(condition). System. out. println("is 1"); break; case. System. out. println("is 2"); break; }. System. out. println(i); }int condition=1. System. out. println("> 1. System. out. println("< = 1. System. out. println(condition). System. out. println("is 1"). System. out. println("is 2"). System. out. println(i). Class and Inheritanceclass Animal{private. String name; public Animal(String name){this. Something(){System. I am "+ name); }}. Dog extends Animal{public Dog(String name){super(name); }publicvoid say. Something(){System. I can bark"); }}. Main {publicstaticvoid main(String[] args){. Dog dog =new Dog("Chiwawa"). Something(). }}class Animal{. String name. public Animal(String name){. Something(){. System. I am " + name). class Dog extends Animal{. Dog(String name) {. Something(){. System. I can bark"). public class Main {. String[] args) {. Dog dog = new Dog("Chiwawa"). Something(). }class Animal(). Something(self). print"I am " + self. Dog(Animal). def say. Something(self). print"I am "+ self. I can bark". dog = Dog("Chiwawa"). Something()class Animal(). Something(self). print "I am " + self. Dog(Animal). def say. Something(self). print "I am "+ self. I can bark". dog = Dog("Chiwawa"). Something()When you extend a base class, there is no requirement such as defining an explicit constructor for implicit super constructor. File I/OFile dir =new. File("."); // get current directory. File fin =new. File(dir. Canonical. Path()+File. Code. txt"); File. Input. Stream fis =new. File. Input. Stream(fin); // //Construct the Buffered. Reader object. Buffered. Reader in =new. Buffered. Reader(new. Input. Stream. Reader(fis)); String a. Line =null; while((a. Line = in. read. Line())!=null){// //Process each line, here we count empty linesif(a. Line. trim(). length()==0){}}. File dir = new File("."); // get current directory. File fin = new File(dir. Canonical. Path() + File. File. Input. Stream fis = new File. Input. Stream(fin). Construct the Buffered. Reader object. Buffered. Reader in = new Buffered. Reader(new Input. Stream. Reader(fis)). String a. Line = null. Line = in. read. Line()) != null) {. Process each line, here we count empty lines. Line. trim(). length() == 0) {. File =open("/home/xiaoran/Desktop/test. File. read(); my. File = open("/home/xiaoran/Desktop/test. File. read(); As we can see that there are a lot of classes we need to import to simply read a file, and in addition, we have to handle the exception thrown by some methods. In Python, it is two lines. Collectionsimportjava. Array. List. publicclass Main {publicstaticvoid main(String[] args){. Array. List< String> al =new Array. List< String> (). System. out. println(al); }}import java. Array. List. public class Main {. String[] args) {. Array. List< String> al = new Array. List< String> (). System. out. println(al). List. append("a"). List. append("b"). List. append("c"); print a. List; a. List = []. List. append("a"). List. append("b"). List. append("c"). List; These comparisons only stand on the surface of Python, for real programming, the Python doc is still the best place to go for reference. Développons en Java - Présentation de Java. Java est un langage de programmation à usage général, évolué et orienté objet dont la syntaxe est proche du C. Ses caractéristiques ainsi que la richesse de son écosystème et de sa communauté lui ont permis d'être très largement utilisé pour le développement d'applications de types très disparates. Java est notamment largement utilisé pour le développement d'applications d'entreprises et mobiles. Quelques chiffres et faits à propos de Java en 2. JVM installée. Java est téléchargé plus d'un milliards de fois chaque année. Il y a plus de 9 millions de développeurs Java dans le monde. Java est un des langages les plus utilisés dans le monde. Tous les lecteurs de Blue- Ray utilisent Java. Plus de 3 milliards d'appareils mobiles peuvent mettre en oeuvre Java. Plus de 1,4 milliards de cartes à puce utilisant Java sont produites chaque année. Ce chapitre contient plusieurs sections : Java possède un certain nombre de caractéristiques qui ont largement contribué à son énorme succès : Java est interprétéle source est compilé en pseudo code ou bytecode puis exécuté par un interpréteur Java : la Java Virtual Machine (JVM). Ce concept est à la base du slogan de Sun pour Java : WORA (Write Once, Run Anywhere : écrire une fois, exécuter partout). En effet, le bytecode. JVM. Java est portable : il est indépendant de toute plate- formeil n'y a pas de compilation spécifique pour chaque plate forme. Le code reste indépendant de la machine sur laquelle il s'exécute. Il est possible d'exécuter des programmes Java sur tous les environnements qui possèdent une Java Virtual Machine. Cette indépendance est assurée au niveau du. Unicode et au niveau du bytecode. Java est orienté objet. Java est orienté objet. Chaque fichier source contient la définition d'une ou plusieurs classes qui sont utilisées les unes avec les autres pour former une application. Java n'est pas complètement objet car il définit. Java est simplele choix de ses auteurs a été d'abandonner des éléments mal compris ou mal exploités des autres langages tels que la notion de pointeurs (pour éviter les incidents en manipulant directement la mémoire), l'héritage multiple et la surcharge des opérateurs, .. Java est fortement typétoutes les variables sont typées et il n'existe pas de conversion automatique qui risquerait une perte de données. Si une telle conversion doit être réalisée, le développeur doit obligatoirement utiliser un cast ou une méthode statique fournie en standard pour la réaliser. Java assure la gestion de la mémoirel'allocation de la mémoire pour un objet est automatique à sa création et Java récupère automatiquement la mémoire inutilisée grâce au garbage collector qui restitue les zones de mémoire laissées libres suite à la destruction des objets. Java est sûrla sécurité fait partie intégrante du système d'exécution et du compilateur. Un programme Java planté ne menace pas le système d'exploitation. Il ne peut pas y avoir d'accès direct à la mémoire. L'accès au disque dur est réglementé dans une applet. Les applets fonctionnant sur le Web sont soumises aux restrictions suivantes dans la version 1. Java : aucun programme ne peut ouvrir, lire, écrire ou effacer un fichier sur le système de l'utilisateuraucun programme ne peut lancer un autre programme sur le système de l'utilisateurtoute fenêtre créée par le programme est clairement identifiée comme étant une fenêtre Java, ce qui interdit par exemple la création d'une fausse fenêtre demandant un mot de passeles programmes ne peuvent pas se connecter à d'autres sites Web que celui dont ils proviennent. Java est économele pseudo code a une taille relativement petite car les bibliothèques de classes requises ne sont liées qu'à l'exécution. Java est multitâcheil permet l'utilisation de threads qui sont des unités d'exécutions isolées. La JVM, elle même, utilise plusieurs threads. Il existe 2 types de programmes avec la version standard de Java : les applets et les applications. Une application autonome (stand alone program) est une application qui s'exécute sous le contrôle direct du système d'exploitation. Une applet est une application qui est chargée par un navigateur et qui est exécutée sous le contrôle d'un plug in de ce dernier. Les principales différences entre une applet et une application sont : les applets n'ont pas de méthode main() : la méthode main() est appelée par la machine virtuelle pour exécuter une application. Elles doivent être testées avec l'applet viewer ou doivent être intégrées à une page HTML, elle même visualisée avec un navigateur disposant d'un plug in Java, . Depuis sa première diffusion publique le 2. Java ont été marqués par de nombreux événements dont les principaux sont : Année. Evénements. 19. 95mai : premier lancement commercial du JDK 1. JDK 1. 0. 1septembre : lancement du JDC1. Java Card 2. 0février : JDK 1. J2. SE 1. 2 et du JCPPersonal Java 1. J2. EE 1. 2. 20. 00mai : J2. SE 1. 3. 20. 01. J2. EE 1. 3. 20. 02février : J2. SE 1. 4. 20. 03. J2. EE 1. 4. 20. 04septembre : J2. SE 5. 0. 20. 05. Lancement du programme Java Champion. Java EE 5 décembre : Java SE 6. Duke, la mascotte de Java est sous la licence Free BSD2. Java FX 1. 0. 20. Java. FX 1. 1juin : Java. FX 1. 2décembre : Java EE 6. Sun par Oracleavril : Java. FX 1. 3. 20. 11juillet : Java SE 7octobre : Java. FX 2. 0. 20. 12août : Java. FX 2. 2. 20. 13juin : Java EE 7. Java SE 8, Java. FX 8. Sun puis Oracle ont toujours fourni gratuitement un ensemble d'outils et d'API pour permettre le développement de programmes avec Java. Ce kit, nommé JDK, est librement téléchargeable sur le site web d'Oracle : http: //www. Le JRE (Java Runtime Environment) contient uniquement l'environnement d'exécution de programmes Java. Le JDK contient lui- même le JRE. Le JRE seul doit être installé sur les machines où des applications Java doivent être exécutées. Depuis sa version 1. Java a été renommé Java 2. Les numéros de version 1. Le JDK a été renommé J2. SDK (Java 2 Software Development Kit) mais la dénomination JDK reste encore largement utilisée, à tel point que la dénomination JDK est reprise dans la version 5. Le JRE a été renommé J2. RE (Java 2 Runtime Environment). Trois plate- formes d'exécution (ou éditions) Java sont définies pour des cibles distinctes selon les besoins des applications à développer : Java Standard Edition (J2. SE / Java SE) : environnement d'exécution et ensemble complet d'API pour des applications de type desktop. Cette plate- forme sert de base en tout ou partie aux autres plate- formes. Java Enterprise Edition (J2. EE / Java EE) : environnement d'exécution reposant intégralement sur Java SE pour le développement d'applications d'entreprises. Java Micro Edition (J2. ME / Java ME) : environnement d'exécution et API pour le développement d'applications sur appareils mobiles et embarqués dont les capacités ne permettent pas la mise en oeuvre de Java SELa séparation en trois plate- formes permet au développeur de mieux cibler l'environnement d'exécution et de faire évoluer les plate- formes de façon plus indépendante. Avec différentes éditions, les types d'applications qui peuvent être développées en Java sont nombreux et variés : Applications desktop. Applications web : servlets/JSP, portlets, applets. Applications pour appareil mobile (MIDP) : midlets. Applications pour appareil embarqué (CDC) : Xlets. Applications pour carte à puce (Javacard) : applets Javacard. Applications temps réel. Sun fournit le JDK, à partir de la version 1. Windows, Solaris et Linux. La version 1. 3 de Java est désignée sous le nom Java 2 version 1. La version 1. 5 de Java est désignée officiellement sous le nom J2. SE version 5. 0. La version 6 de Java est désignée officiellement sous le nom Java SE version 6. La documentation au format HTML des API de Java est fournie séparément. Malgré sa taille, cette documentation est indispensable pour obtenir des informations complètes sur toutes les classes fournies. Le tableau ci- dessous résume la taille des différents composants selon leur version pour la plate- forme Windows. Version 1. Version 1. 1. Version 1. Version 1. 3. Version 1. Version 5. 0. Version 6. Version 7. Version 8. JDK compressé 8,6 Mo. Mo. 30 Mo. 47 Mo. Mo. 73 Mo 1. 51 Mo. JDK installé 5. Mo. 59 Mo 2. 19 Mo. Mo. JRE compressé 1. Mo. 7 Mo 1. 4 Mo. Mo 4. 6 Mo. JRE installé 3. Mo. 40 Mo 1. 06 Mo. Mo. Documentation compressée 1. Mo. 21 Mo. 30 Mo. Mo. 56 Mo 8. 4 Mo. Documentation décompressée 8. Mo. 10. 6 Mo. 14. Mo. 22. 3 Mo 2. 63 Mo Les technologies Java évoluent au travers du JCP (Java Community Process).
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. Archives
November 2017
Categories |