Java पेक्षा Python का चांगली?

सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/why-python-is-better-than-java/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर मंदार वझे यांनी केले आहे.

धनंजय नेने ह्यांनी नुकतीच Python वापरायला सुरुवात केली, आणि त्यांना असे जाणवले की, Python वापरताना त्यांना जास्त मजा येते. त्यांनी त्यांच्या blog वर त्याबद्दल सविस्तर लिहीले आहे :


गेल्या काही महिन्यात मला असे प्रकर्षाने जाणवले की python मधे programming खूप सोपे आणि मजेशीर आहे. म्हणजे साधी आणि gear ची सायकल चालवण्यात जसा फरक आहे ना, तसाच. म्हणजे gear ची सायकल चालवताना असं वाटतं की, कमी प्रयत्नात जास्त दूर जाता येतं. परंतु विज्ञान सांगतं की खरं तर दोन्ही करता तेवढयाच प्रयत्नांची गरज लागते. जास्त सुविधा असल्यामुळे काम सोपे वाटत असेल. पण मला असं का वाटतं? कदाचीत Python च्या खालील features मुळे असेल (अर्थात, पुढील यादी कुठल्याही प्राधान्यक्रमानुसार नाही.)

* सुटसुटीत : code साधारण पणे जास्त आटोपशीर असतो. कमी फापटपसारा (verbosity)
* Dynamic Typing : Data type declaration आणि inheritance hierarchies, विशेषत:सर्व interfaces and implementations साठी योग्य आहेत की नाही, ह्याची काळजी करण्याची गरज नाही. वेगवेगळे objects एकाच inheritance hierarchy मधे असण्याची सुध्दा गरज नाही. Object मधे method असल्यास आपण त्याचा वापर करू शकता. अर्थात ही दुधारी तलवार आहे, परंतु त्यामुळे dynamic type environment मधे programming सोपे होते, हेही तितकेच खरे.
* सोपे runtime reflection: Java मधे सर्व प्रकार च्या reflection capabilities आहेत. पण Python पेक्षा Java मधे त्या वापरणे खूपच त्रासदायक आहे. Python मधे सगळे constructs (classes, sequences etc.) reflection साठी उपलब्ध आहेत. जर तुम्हाला metaprogramming constructs ची गरज असेल, तर Python ला खरोखरच पर्याय नाही.
* जास्त अंतर्गत सुविधा : list comprehensions किंवा functions ना objects प्रमाणे वापरणे.
* नीट नेटका code असण्याची सक्ती (indentation requirement) : मला ह्याची सवय होण्यासाठी २-३ दिवस लागले, पण त्या मुळे Python चा code वाचायला खूप सोपा होतो, कारण जर code व्यवस्थीत indent केलेला नसेल तर चालतच नाही. (code is rejected)


मी स्वत: Perl programmer आहे, आणि माझे Perl बद्दल असेच मत आहे. अर्थात मला Python ची indentation ची सक्ती आवडली नाही. पण जे programmer, भाषेच्या सुविधांचा गैरवापर करणार नाहीत, Perl त्यांच्याच साठी योग्य आहे. बेशिस्त programmers साठी Python ची indentation ची सक्ती ही चांगलीच गोष्ट आहे.
असो, आपण संपूर्ण लेखच वाचा. तुम्ही, त्यांनी त्यांच्या पुढच्या project साठी python निवडली, तेंव्हा लिहीलेला लेख सुद्धा वाचा. त्यापेक्षा तुम्ही त्यांच्या blog ला subscribe करा ना.
जर तुम्ही techie असाल तर तुम्ही त्यांचे सखोल आणि अभ्यासपूर्ण लेख जरूर वाचले पाहिजेत. जर तुम्हाला programming languages मधे रुची असेल तर मी त्यांचे “Contrasting java and dynamic languages”, आणि “Performance Comparison – C++ / Java / Python / Ruby/ Jython / JRuby / Groovy” हे लेख सुचवीन. ..आणि जर तुम्ही स्वत: blogger असाल तर त्यांच्या software/programming blogging बद्दलच्या सुचना वाचा.

धनंजय पुण्यातील, १७ वर्षाचा अनुभव असलेले software Engineer आहेत. त्यांना software engineering, programming, design आणि architecture ह्याबद्दल विशेष आवड आहे. अधिक माहिती करता त्यांचे PuneTech wiki profile वाचा.

सदर post, नविन काब्रा द्वारा प्रकाशित http://punetech.com/why-python-is-better-than-java/ या लेखाचे भाषांतर असून, http://punetech.com च्या माध्यमातून घेतले आहे. याचे मराठी भाषांतर मंदार वझे यांनी केले आहे.

2 Comments

  • मंदार,

    या लेखात दोन गोष्टी टाकता आल्या तर बोलके उदाहरण होईल :

    १. स्ट्रींगचा गुणाकार, जो इतर भाषामध्ये मला पहायला मिळाला नाही‌ पण पायथन मधे आहे. म्हणजे कन्सोलवर ‘ सोमेश’ * 5 असे लिहिले तर तो पाच वेळा ‘ सोमेश सोमेश सोमेश सोमेश सोमेश’ लिहितो.

    २. फेमस for loop triangle केवळ एका ओळीत, एका लूपमधे लिहिता येतो.

    छान लेख आहे.

  • Rutwick says:

    छान लेख आहे! मला स्वतःला जावा आणि सी वगेरे शिकताना अगदी बंधनकारक असल्या सारखं वाटायचं पण पायथन शिकायला बिलकुल कष्ट पडले नाहीत! सध्या थोडा ऑफ प्रक्टिस आहे तरी सुधा कॉन्फिदंत आहे की अगदी २ दिवसांमध्ये व्यवस्थित उजळणी करून प्रोग्रम्मिंग करू शकतो!

Leave a Reply

Enable Google Transliteration.(To type in English, press Ctrl+g)