जावा / .NET वेब डेवलपर के लिए पायथन और Django को चुनना कितना मुश्किल है? [बन्द है]


19

मैंने अभी कुछ महीने पहले एक छोटी सी कंपनी में एक नई नौकरी शुरू की थी, जहाँ मैं वर्तमान समय में सभी विकास के प्रयासों का नेतृत्व कर रहा हूँ। मुझे व्यक्तिगत रूप से ज्यादातर जावा से सॉफ्टवेयर डिजाइन और विकास में वर्षों का अनुभव है, लेकिन एक .NET परिप्रेक्ष्य भी है। मैंने अपने करियर में बाद में बड़ी सहजता से .NET हासिल किया और ग्राउंड रनिंग को हिट करने के लिए शाब्दिक रूप से किसी भी प्रशिक्षण की आवश्यकता नहीं थी, और इसके शीर्ष पर इसने मुझे दो अलग-अलग दृष्टिकोणों को देखकर कई सर्वोत्तम प्रथाओं और सामान्य विषयों की सार्वभौमिकता की सराहना करने में मदद की। उसी समस्या को हल करने के लिए।

मेरे मालिक के पास एक स्टार्टअप कंपनी है, और बहुत अधिक जानकारी के बिना, उन्हें मामूली परिष्कृत वेब एप्लिकेशन की आवश्यकता थी जो मार्गों के निर्माण के लिए Google मैप्स में एकीकृत हो।

उन्होंने उस वेब एप्लिकेशन को अनुबंधित कर लिया जिसमें उन्होंने ओवरप्रोमाइज़ किया, प्रमुखता से कम किया, और समय सीमा से अधिक भाग गए, वह वर्तमान में कम से कम कुछ पैसे निवेश करने की कोशिश करने और पुनर्प्राप्त करने की लड़ाई में है। उसके पास साइट के लिए स्रोत कोड है क्योंकि यह अभी है, लेकिन उसके पास चीजों की एक कपड़े धोने की सूची है जिसे वह तय करना चाहते हैं और इससे पहले कि वह इसके साथ रहते हैं जोड़ा जाएगा।

उसने मुझसे पूछा कि क्या मैं कुछ अतिरिक्त नकदी के लिए पक्ष में ऐसा करना चाहूंगा लेकिन समस्या यह है कि साइट को Django का उपयोग करके पायथन में लिखा गया था, जिसका मुझे कोई अनुभव नहीं है। मैंने उनसे कहा कि मैं वास्तव में इसके लिए सबसे अच्छा व्यक्ति नहीं हूं क्योंकि मैं वास्तव में पायथन या Django के बारे में कुछ नहीं जानता हूं और इसे खरोंच से सीखना होगा। मुझे लगता है कि अगर मैं उस समय का उपयोग किसी भाषा और मंच को सीखने में कर रहा हूं तो मेरे लिए उसे प्रति घंटा बिल देना उचित नहीं होगा।

मेरे अनुभव स्तर के सारांश के आधार पर आप कितना मुश्किल या कितना समय लगा पाएंगे, यह मेरे लिए इसे उठाएगा? अगर आपको लगता है कि समय की बर्बादी के लिए कोई सुझाव दे सकता है कि अनुभवी पायथन वेब डेवलपर्स को कहां खोजा जाए? पैसा अभी उसके लिए चिंता का विषय है इसलिए उसके पास अब सबसे बड़ा बजट नहीं है।


10
क्यों पूछें? क्या आपको लगता है कि यह मुश्किल होने वाला है क्योंकि .Net ने आपको बेवकूफ बना दिया है? यह सिर्फ कोड है। यह कितना सख्त हो सकता है?
S.Lott

1
@ एस.लॉट, यह सक्षम होने या नहीं होने की बात नहीं है, मैं सिर्फ एक नौकरी नहीं लेना चाहता हूं क्योंकि मैं उस व्यक्ति के लिए अयोग्य हूं जब मुझे भुगतान करने वाला व्यक्ति सीमित बजट रखता है और मेरी आय के प्राथमिक स्रोत के लिए मेरा प्रत्यक्ष प्रबंधक है । मैं निश्चित रूप से उससे चिपकना नहीं चाहूंगा।
maple_shaft

1
क्या आप वास्तव में इसके एक टुकड़े को करने की कोशिश नहीं करने जा रहे हैं और देखें कि क्या यह काम करता है? यहां कोई भी आपके समय पर मूल्य नहीं डाल सकता है।
जेएफओ

2
मुझे लगता है कि आप अपने आप को एक असंतुष्ट कर रहे हैं। मुझे संदेह है कि उनके हाल के अनुभव को देखते हुए, आपके प्रबंधक के पास कोई ऐसा व्यक्ति होगा, जो उस पर सच्चाई बताने के लिए भरोसा कर सकता है, भले ही सच्चाई यह है कि "मैं उस ढांचे से परिचित नहीं हूं, लेकिन मैं जाने के लिए तैयार हूं"। आपको कम से कम उसे यह बताने में सक्षम होना चाहिए कि क्या वह जिस स्रोत से बरामद किया गया है वह किसी भी चीज के लायक है।
बेंजोल

2
@ बैंजोल, "आपको कम से कम उसे यह बताने में सक्षम होना चाहिए कि क्या वह जिस स्रोत से बरामद किया गया है वह कुछ भी मूल्य नहीं है" और यही वह है जिससे मुझे डर लगता है। सिर्फ इसलिए कि मैं एक दो घंटे में एक Django हैलो वर्ल्ड ट्यूटोरियल समझ सकता था इसका मतलब यह नहीं है कि मेरे पास सटीक अनुमान लगाने या कोड की गुणवत्ता पर निर्णय लेने के लिए अनुभव और ज्ञान है। सभी के लिए मुझे पता है, स्पैगेटी कोड और 8,000 लाइन फ़ंक्शन वे तरीके हैं, जिन्हें पायथन में किया जाना चाहिए।
maple_shaft

जवाबों:


15

पायथन एक भाषा के रूप में सीखना जितना आसान हो सकता है, जो भाषा के मुख्य विक्रय बिंदुओं में से एक है। जैसे कोई व्यक्ति जो ओओ भाषाओं में बहुत अनुभवी है, आप शुरू करने के लिए एक बढ़िया स्थिति में हैं। केवल पायथन और जावा / सी # के बीच मूलभूत अंतर हैं

  1. बतख-टाइपिंग / प्रकार की सुरक्षा की कमी।
  2. प्रथम श्रेणी के कार्य।

मैं समझता हूं कि आपको क्यों लगता है कि आप नौकरी के लिए सबसे अच्छे आदमी नहीं हैं, और आप अपने पहले सप्ताह में दूसरों की तरह उतनी प्रगति नहीं कर सकते। दूसरी ओर, आपका बॉस आप पर भरोसा करता है, और वह सिर्फ कुछ अयोग्य लोगों द्वारा जलाया गया है जो अजगर को आपसे बेहतर जानते थे।

यदि आप अपने मालिकों के भरोसे को टालने के बारे में चिंतित हैं, तो उसे Nघंटों प्रो-फ्री देने की पेशकश करें । (आप तय करते हैं कि क्या Nहै।) उस समय के अंत में आप तय कर सकते हैं कि क्या आप प्रति घंटा की दर के लायक हैं। सबसे खराब स्थिति में, आपके पास उस समय के अंत में पायथन / Django का बेहतर अर्थ होगा।


Thats एक दिलचस्प विचार उसे हमारे दोनों लाभों के लिए कुछ खाली समय देने के लिए। शायद मैं सिर्फ कमिटमेंट से डरता हूं?
maple_shaft

यदि ये मूलभूत अंतर हैं, तो C # देव को जानना जावास्क्रिप्ट में बहुत कठिनाई होनी चाहिए ... क्या मैं सही हूं?
कोनराड मोरावस्की

3
C # में प्रथम श्रेणी के कार्य होते हैं बस अधिकांश
देवता

@ मोरोस्की हाँ, यदि आप जावा, सी #, या सी ++ और पर्ल, रूबी या जावास्क्रिप्ट में से एक को जानते हैं, तो पायथन सीखना एक हवा है।
एरिक विल्सन

क्या @ sa93 ने कहा। इसके अलावा (लानत है, मुझे और मेरे विषय की टिप्पणियों को ..), मैं वास्तव में Microsoft-प्रशंसक प्रकार नहीं हूं (वास्तव में मैं पायथनस्टास के बहुत अधिक हूं), लेकिन यह बहुत प्रभावशाली है कि वे कितने कार्यात्मक विशेषताएं जोड़ रहे हैं विभिन्न रिलीज के माध्यम से। C # 5.0 काफी प्रयोग करने योग्य भाषा बन गई है (अन्य संबंधित भाषाओं की तुलना में * खांसी * जावा * खांसी * VB * खांसी *)
Nadir Sampaoli

8

एक एम्बेडेड सी प्रोग्रामर के रूप में, जो एक स्कंक-वर्क्स प्रोजेक्ट के रूप में पायथन / Django वेब ऐप पर काम करना समाप्त कर चुका है, मैं गवाही दे सकता हूं कि मूल बातें आसान हैं।

अजगर आमतौर पर साथ पाने के लिए बहुत सीधा है। मैंने व्यक्तिगत रूप से अजगर के प्रलेखन को बहुत उपयोगी नहीं पाया है - यह हमेशा किसी ऐसे व्यक्ति के लिए एक संस्मरण की तरह लगता है जो पहले से ही अजगर को जानता है - लेकिन वेब उपयोगी उदाहरणों से भरा है। आप एक शाम पाइथन चैलेंज को आजमाना चाहते हैं और देख सकते हैं कि आप कैसे आगे बढ़ते हैं।

मैं पूरी तरह से Django की सिफारिश करेंगे। यह डेटाबेस एक्सेस को अमूर्त करने का एक बहुत अच्छा काम करता है और पर्याप्त उपयोगिता प्रदान करता है कि मैंने बाद में इसे बिना डेटाबेस घटक वाले वेब प्रोजेक्ट्स के लिए भी उपयोग किया है। आम तौर पर यदि आप किसी ऐसी चीज के बारे में सोचते हैं जिसे आप प्राप्त करना चाहते हैं तो एक विधि होगी जिसमें पहले से ही एक स्पष्ट नाम होगा। प्रलेखन भी बहुत अच्छा है।

Django स्थापित करने के लिए बहुत सरल है इसलिए मैं दृढ़ता से सुझाव दूंगा कि आप इसे बस एक बार दें और देखें कि आप कैसे प्राप्त करते हैं। पायथन और Django के साथ खेल रहे शाम के एक जोड़े को आपको यह तय करने के लिए पर्याप्त आत्मविश्वास देना चाहिए कि क्या आप आवश्यक काम को पूरा करने में खुश होंगे।


4

पायथन / Django प्रतिमान निश्चित रूप से .NET या जावा स्टैक के लिए अलग है। यदि आप कई प्रोग्रामिंग प्रतिमानों के साथ सहज हैं (और इसके द्वारा मैं कार्यात्मक बनाम ऊ और स्थिर बनाम गतिशील) का मतलब है, तो आप शायद इसे बंद कर पाएंगे। @EricWilson के अनुसार, पायथन सीखना बहुत मुश्किल नहीं है (बस इंडेंटेशन == गुंजाइश चीज़; पी) के बारे में बैलिस्टिक जाने के लिए तैयार रहें।

यह पुरानी कहावत है कि "स्मार्ट और सामान हो जाता है" धड़कता है "एक भाषा के साथ परिचित की एक्स राशि"।

यदि आपके पास अंतर्निहित वेब स्टैक (HTTP, अनुरोध / प्रतिक्रिया चक्र आदि) और 3 पार्टी एपीआई (Google) की अच्छी समझ है, तो यह थोड़ा आसान भी होगा।

आपको उन डब्ल्यूटीएफ क्षणों के लिए भी मदद की आवश्यकता होगी। सुनिश्चित करें कि आप कूल्हे पर पायथन / Django देवों के एक समुदाय में शामिल हो गए हैं, चाहे वह आपका स्थानीय उपयोगकर्ता समूह हो, एक ऑनलाइन फ़ोरम या एक छोटी साइट जिसे StackExchange कहा जाता है :)

ओह, बस कुछ और सोचा। लिटमस टेस्ट खुद लें। एक शाम या एक सप्ताहांत दोपहर में, पायथन और Django को डाउनलोड और इंस्टॉल करें और देखें कि आप कितनी आसानी से ट्यूटोरियल को ग्रो कर लेते हैं। एक बुनियादी परीक्षा जो मैं स्वयं देता हूं, वह एक डमी डोमेन ऑब्जेक्ट के लिए एक CRUD स्क्रीन का निर्माण कर रही है। अगर मैं ऐसा नहीं कर सकता (और इसमें कोई शर्म नहीं है BTW) तो मैं सही व्यक्ति या स्टैक चूसने वाला नहीं हूं;)

अंत में मैं यहाँ चीजों के $ पक्ष से सावधान रहूँगा। अगर आप हमेशा इस टेक स्टैक को चुनना चाहते हैं, तो शायद आप दोनों एक-दूसरे का पक्ष ले रहे हैं, नहीं तो इसमें थोड़ी बदबू आती है जैसे कि आपका मैनेजर आपके गुडविल पर भरोसा करते हुए आपके मूल्यवान समय की कीमत पर सबसे सस्ता सामान खरीद सकता है। ।


"अन्यथा यह आपके गुडविल पर भरोसा करने वाले आपके प्रबंधक की तरह एक छोटी सी खुशबू आ रही है ताकि आपके मूल्यवान समय की कीमत पर सामान को सस्ता न मिल सके" मैं उस के लिए बधाई नहीं देता, हम सभी के दिल में अपने सर्वश्रेष्ठ हित हैं, खासकर जब से मैं वैसे भी उसकी मदद करने के लिए कोई दायित्व नहीं है। अगर मैं वह चुनाव करता हूं और उसे पछतावा होता है तो मैं केवल खुद को दोषी मानता हूं।
maple_shaft

1

मैं Django के मूल्य पर टिप्पणी नहीं कर सकता, लेकिन मुझे लगता है कि पायथन सीखना आपके समय का अच्छा निवेश हो सकता है। सिर्फ इस प्रोजेक्ट के लिए ही नहीं ...

एक जावा डेवलपर के रूप में, मुझे Jython अमूल्य लगता है , और मुझे लगता है कि मुझे आयरनपाइथन के बारे में पता था जब मैं C # के साथ विकसित हो रहा था (मैं Java # C की बजाय C #> Java गया था)।

यह तथ्य कि आपके पास आपकी ज्योथॉन लिपि के लिए पूरी जावा लाइब्रेरी उपलब्ध है, उत्कृष्ट है, और मैंने मॉक ऑब्जेक्ट्स का उपयोग करके पीओजेओ कक्षाओं का परीक्षण करने के लिए अक्सर जेथॉन यूनिट परीक्षणों का उपयोग किया है।

हम अपने एप्लिकेशन में एक Jython कंसोल भी प्रदान करते हैं ताकि उपयोगकर्ता अपने रूटीन को स्क्रिप्ट कर सकें, जावा लाइब्रेरी और हमारे अपने दोनों के लिए पूर्ण पहुंच के साथ। यह उपयोगकर्ताओं को सरल स्क्रिप्ट लिखने में सक्षम होने के लिए बहुत अच्छा है और उन्हें उन सभी स्वचालन को करने के बिना सभी प्रकार की चीजों को स्वचालित रूप से स्वचालित करना है।

निश्चित रूप से, Jython सही नहीं है - यह CPython (3.2) और यहां तक ​​कि IronPython (2.7) से कुछ पीछे (2.5) है, लेकिन यह सिर्फ Guido की पुस्तक के साथ समकालीन बनाता है । * 8 ')


0

मैंने पायथन और Django की मूल बातें उठाते हुए एक या दो सप्ताह बिताए (मैंने अंततः केवल # काम करने के बाद अन्य कारणों से रेल के साथ जाने का फैसला किया)। पहली बार में ग्रॉस करना थोड़ा मुश्किल था लेकिन Django अपेक्षाकृत सीधा है; सबसे कठिन हिस्सा मुझे पता चला कि पायथन में आवश्यक कोड कैसे लिखना है। Django खुद बहुत सरल है; मैंने इसे एक साल में नहीं छुआ है लेकिन मैं शायद अभी भी कुछ तुच्छ कर सकता हूं। यह सामान्य वस्तुओं और कुछ अधिक शामिल टेम्पलेट्स और विचारों का उपयोग करने के साथ थोड़ा अधिक जटिल हो जाता है, हालांकि।

एक बात जो मुझे पता चली कि मेरे सिर को चारों ओर लपेटना अजीब था, यह विचार है कि आपके सभी Django मॉडल models.pyफ़ाइल में हैं; मुझे यकीन है कि आप अलग-अलग फाइलें बना सकते हैं और उन सभी को आयात कर सकते हैं (हालांकि, मैंने यह कोशिश नहीं की थी), लेकिन अकेले उस "गलत" को C # के लिए इस्तेमाल किया जा रहा था, जहां इसकी बहुत खराब एक ही फाइल में कई कक्षाएं होती हैं जब तक कि कोई एक नहीं है किसी प्रकार का निजी वर्ग केवल दूसरे वर्ग द्वारा उपयोग किया जाता है। यह बाकी सब बहुत मुश्किल नहीं था, हालांकि यदि आप एमवीसी (या Django parlance में MTV) से परिचित नहीं हैं, तो यह अपने आप में एक छोटा सा सीखने की अवस्था है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.