क्या प्रोग्रामिंग / सॉफ्टवेयर उप-संस्कृतियों मौजूद हैं? उन्हें क्या परिभाषित करता है? आप किसके हैं? [बन्द है]


13

बाहर की दुनिया के लिए, प्रोग्रामर, कंप्यूटर वैज्ञानिक, सॉफ्टवेयर इंजीनियर, और डेवलपर्स सभी एक जैसे लग सकते हैं, लेकिन यह उन लोगों के लिए मामले से बहुत दूर है, जो जीवन जीने के लिए सॉफ्टवेयर बनाते हैं। किसी भी प्रोग्रामर की क्षमता और ज्ञान बहुत व्यापक रूप से, साथ ही साथ उनके टूल (ओएस, भाषा, और हां, पसंदीदा संपादक), और विविधता विविधता सॉफ्टवेयर में कई उप-संस्कृतियों को जन्म दे सकती है - जैसे प्रोग्रामर जो सक्रिय रूप से स्टैक ओवरफ्लो और इस साइट का उपयोग करते हैं। बनाम कई और कौन नहीं।

मैं दूसरों से सुनने के लिए उत्सुक हूं कि वे कौन-से सॉफ़्टवेयर उप-संस्कृतियों का सामना कर चुके हैं, जो कि प्रशंसा, नापसंद, या यहां तक ​​कि बनाए गए हैं। शुरुआत के लिए, मैंने सामना किया है:

  • Microsoft द्वारा संचालित कंपनियां और डेवलपर : उनका पूरा स्टैक Redmond, WA से है। ई-मेल आउटलुक ई-मेल है। वेब IE और IIS है। उनके पास वीबी, .नेट, विज़ुअल स्टूडियो, आदि के कई संस्करणों से भरे उनके एमएस डेवलपर नेटवर्क सदस्यता के बड़े बाइंडर हैं, जो शेल / कमांड-लाइन के साथ काम करने से बचते हैं। खुले स्रोत के साथ उपद्रव और इस तरह के बारे में सब कुछ नहीं है। एमएस-केंद्रित कंपनियां 9-5 और काफी कॉर्पोरेट (व्यापार प्रबंधकों द्वारा संचालित होती हैं, न कि सॉफ्टवेयर लोग)। आजकल (गैर-एमएस उपकरणों की व्यापक उपलब्धता को देखते हुए), यह हैकर संस्कृति का विरोध है।
  • पुराने स्कूल के सीएस लोग : वे अक्सर लिस्प और यूनिक्स को अच्छी तरह से जानते हैं; कभी-कभी, उन्होंने खुद को एक अर्ध-लोकप्रिय लिस्प लिखा होगा, या एक सिस्टम उपयोगिता। कुछ, यदि कोई हो, "सॉफ्टवेयर इंजीनियरिंग" चीजें उनके लिए नई हैं, और न ही वे इस तरह से प्रभावित हैं। लिस्प, सी, प्रोलॉग और स्मॉलटाक जैसी प्रोग्रामिंग भाषाओं के संदर्भ, इतिहास और उच्च-स्तरीय निहितार्थों को जानें। 80 और 90 के दशक के AI परिणामों के बारे में कड़वा हो सकता है। Emacs उपयोगकर्ता बनें। बिना पलक झपकाए मल्टी-लाइन शेल कमांड टाइप कर सकते हैं। उनकी सलाह क्रिप्टिक द्वारा की जा सकती है, लेकिन एक बार समझे जाने वाले सोने में शामिल है।
  • नए-स्कूल वेब डेवलपर्स : कंप्यूटर और वीडियो गेम के साथ बड़े हो रहे हैं, लेकिन अक्सर वास्तव में केवल 90 के दशक के उत्तरार्ध या 00 के दशक की शुरुआत में प्रोग्रामिंग शुरू हुई। 1 से 1.5 स्क्रिप्टिंग / गतिशील भाषाओं के साथ सहज; लगता है कि C और रूबी / पर्ल / पायथन के बाहर की भाषाएँ अनावश्यक / जादुई हैं। शुरू में HTML को प्रोग्रामिंग माना जा सकता है। एक मैक प्राप्त करने के लिए और इसके बारे में कट्टर / तर्कहीन हो। उनके निर्माण से अधिक चौखटों का उपयोग करें। अक्सर NoSQL और / या रूबी ऑन रेल्स के बारे में अत्यधिक उत्साही।
  • न्यू-स्कूल सीएस : सांख्यिकी, बेयसियन मॉडल और अनुमान में बहुत सारे प्रशिक्षण; "ऐ," मत कहो "मशीन लर्निंग।" लिस्प की तुलना में अधिक जावा, लेकिन विशेषज्ञ हास्केल प्रोग्रामर भी हो सकते हैं। अपने क्षेत्र के विशेषज्ञों (Google, वित्त / क्वेंट) द्वारा वास्तविक वास्तविक दुनिया की सफलताओं को देखकर अक्सर उन्हें (अति विश्वास) कर दिया जाता है। लेकिन बड़ा डेटा, और इस तरह के वितरित प्रसंस्करण, वास्तव में दुनिया बदल रहे हैं।

ऊपर दिए गए उदाहरण किसी भी तरह से पूर्ण, सही, ऑर्थोगोनल या उद्देश्य से नहीं हैं। :) बस जो मैंने व्यक्तिगत रूप से देखा है, और व्यापक चर्चा के कुछ चर्चा और रूपरेखा प्रदान करने के लिए प्रदान किया है। असहमति महसूस करें!


1
'लील' अस्पष्ट, लेकिन दिलचस्प लगता है।
रुके

6
मुझे लगता है कि उत्तर एक बात दिखाते हैं: सवाल स्पष्ट विभाजन रेखाओं को खींचने की कोशिश कर रहा है जहां वास्तव में कोई नहीं है। हम लगभग 5 ऑर्थोगोनल अवधारणाओं, प्रत्येक एक निरंतरता, और उस हाइपरप्लेन को आसानी से पहचानने योग्य असतत समूहों में विभाजित करने की कोशिश कर रहे हैं। IMO, यह एक निराशाजनक प्रयास है।
जेरी कॉफिन

3
@ जेरी कॉफ़िन - हाँ, सहमत हूँ। ऐसा नहीं है कि कुछ जवाब कुछ "संस्कृतियों", IMHO के प्रति आक्रामक हैं। हालांकि, ये जवाब एक तरह से अच्छा है कि वे दिखाते हैं कि आज के (प्रोग्रामर? या कम से कम इस समुदाय) अन्य समुदायों के बारे में क्या सोचते हैं, जो इस एक का एक हिस्सा भी बनाते हैं (एक छोटे प्रतिशत में)।
रेक

@ जेरीकॉफिन ठीक है सर, ऐसे लोग हैं जो "ओर्थोगोनल" शब्द का उपयोग करना चाहते हैं और जो सिर्फ इसलिए नहीं करते हैं क्योंकि यह हाल के दशकों में स्टैक पर लोकप्रिय रहा है ...
एरिक रेपेन

जवाबों:


12

मैं खुद को रियल-टाइम सिस्टम समूह का हिस्सा मानता हूं । कुछ 'ओल्ड स्कूल' विशेषताएँ हैं लेकिन सीएस पर कम ध्यान देने के साथ, हार्डवेयर पर अधिक।

श्लोक:

  • 'C' का विशेषज्ञ ज्ञान है
    • केएंडआर की एक मूल प्रति है
    • अन्य भाषाओं में लिखते हैं जैसे कि वे 'C' के लिए केवल एक वैकल्पिक वाक्यविन्यास थे।
  • कोड से उनके कोडांतरक आउटपुट का अनुमान लगा सकते हैं।
  • एक सर्किट आरेख पढ़ सकते हैं
  • 'समय से पहले अनुकूलन' किए बिना कोड लिखना नहीं जानता।
  • कमांड लाइन के साथ काफी सहज है।

आकर्षक, धन्यवाद। मैं कुछ रियल-टाइम सिस्टम लोगों से मिला हूं, लेकिन इस तरह की जगह पर काम नहीं किया है, इसलिए संस्कृति को चित्रित करने का प्रयास नहीं किया। मुझे लगता है कि हम में से कई प्रोग्रामर आप लोगों को "हार्ड-कोर" कहेंगे। :)
सीमित

1
मुझे लगता है कि यह किसी भी अन्य अनुशासन की तरह है - हार्ड-कोर "रॉक स्टार" हैं, और सादे पुराने चट्टान हैं। (मुझे आशा है कि मैं कहीं न कहीं inbetween हूं)
AShelly

2
मैं इस समूह में भी हूँ। मेरे अधिकांश सहकर्मी इलेक्ट्रॉनिक्स इंजीनियरिंग पृष्ठभूमि से इस स्थान पर "ऊपर" आए हैं, लेकिन मैं डेटाबेस या ऐप्स डेवलपर होने से "नीचे" आया। मैं अब इस समूह में बहुत सहज हूं, हालांकि, और कभी-कभी मेरी अलग पृष्ठभूमि एक अलग उपयोगी दृष्टिकोण ला सकती है।
विक्की

1
इसके अलावा, यह मेरी धारणा हो सकती है, लेकिन ऐसा लगता है कि महिलाएं इस समूह में कुछ अन्य समूहों की तुलना में भी दुर्लभ हैं।
विक्की

1
वाह - यह मुझे लगभग पूरी तरह से वर्णन करता है, सिवाय इसके कि मैं न केवल सर्किट आरेख पढ़ता हूं, मैं सर्किट भी डिजाइन करता हूं। 1970 के अंत में मेरे पहले एम्बेडेड सिस्टम (PL / M-86 में) पर काम किया।
tcrosley

6

मेनफ्रेम प्रोग्रामर को न भूलें। वे एक उप संस्कृति भी हैं।


1
मुझे मेनफ्रेम कोडर संस्कृति के बारे में सुनने में अधिक मजा आएगा; मैं बहुत कम लोगों से मिला हूं, जो मेनफ्रेम के साथ ज्यादा समय बिताते हैं, अकेले उन्हें नियमित रूप से कोड करते हैं।
बजे

1
ये सम्मानजनक बाल कटाने वाले लोग हैं और व्यवसाय सूट पहनने वाले अन्य लोगों से अप्रभेद्य हैं। उन्हें COBOL पसंद है। उनके लिए, सिस्टम / 360 के अलावा कोई सिस्टम नहीं है।
23

5

मैं 30 साल से कम उम्र के डेल्फी देवों की अकेली टुकड़ी का प्रतिनिधित्व करता हूं। हमारा कॉकस छोटा है, लेकिन हमारे दिल बड़े हैं।


मेरे कुछ सहकर्मी हैं <30.
तून कृजित

2
ठीक है, स्टैक एक्सचेंज शुरू करने के लिए कहो और हम नई सुविधाओं के बारे में बात कर सकते हैं हम पुराने जॉनी बोरलैंड को लागू करने के लिए कहेंगे; मरने के बाद ;-)
पीटर टर्नर

4

मुझे लगता है कि कई संस्कृतियां मौजूद हैं जो किसी तरह साथ रहती हैं फिर लड़ती हैं और किसी तरह पारस हैं:

  • हैकर / ओपन सोर्स कल्चर : कोड साझा करना, वास्तविक नाम का उपयोग करता है या नहीं। छोटे उपकरणों पर केंद्रित है जो एक समस्या को हल करते हैं। प्रोग्राम को हैक करने की अनुमति देता है। भाषाएँ: सी , लिस्प , सी ++ , पायथन । संभवतः आपके पुराने स्कूल के सीएस लोगों के साथ ओवरलैप किया गया है ।
  • एकेडेमिया : एल्गोरिदम पर एकाग्रता और चीजों को सही तरीके से करना। असली नाम अवश्य है (यह वैसे भी कागज पर दिखाई देता है)। भाषाएँ: जावा , हास्केल , ( एफ # ?)
  • कॉरपोरेट : समाधान पर एकाग्रता (शायद सब कुछ)। यदि खुला स्रोत है कि नाम देना आवश्यक नहीं है । भाषाएँ: जावा , C # , VB.net , रूबी
  • " हाई स्कूल ": यह माल है अगर यह काम करता है, लेकिन यह करने के लिए नहीं है। "विंडोज एक्सपी के लिए सुपरप्रोग्राम 1.0" जैसे नामों पर एकाग्रता। (क्षमा करें - मुझे अच्छा नाम नहीं मिला है, लेकिन मेरा मतलब है कि प्रोग्रामर जिन्होंने सीएस में महारत हासिल करना शुरू किया है और वे इस पर अच्छे नहीं हैं - कम से कम अभी तक)। भाषाएँ: पीएचपी , वीबी , रूबी
  • नए स्कूल वेब डेवलपर्स : ऊपर के रूप में।

कृपया ध्यान दें कि:

  • संगठनों और एकल व्यक्ति में संस्कृतियों को मिलाना संभव है। वास्तव में यह अक्सर होता है।
  • भाषाएँ EXAMPLES हैं और यह उदाहरण के लिए "हैकर्स" का काफी बड़ा समूह है जो C # पर काम कर रहा है। यह संघों के खेल का वास्तविक अध्ययन है, इसलिए कृपया नाराज न हों (हां - मुझे पता है कि पीएचपी में अच्छे प्रबोधन अभ्यास के साथ लिखे गए महान प्रोग्राम हैं) लेकिन यह बहुत से लोगों के लिए पहली भाषा है, जो डॉन 'करते हैं। टी पता है कि उदाहरण के लिए XSS क्या है)
  • मैं हाई स्कूल नाम से किसी को नाराज नहीं करना चाहता था। मेरा मतलब था कि यह अक्सर इस संस्कृति के माध्यम से प्रोग्रामिंग में पहला कदम है (और उम्मीद है कि अंतिम नहीं)
  • संपादित करें: एकेडेमिया का अर्थ यह नहीं है कि व्यक्ति अकादमिया में है और साथ ही साथ अकादमिया में होने का यह अर्थ नहीं है कि कोई व्यक्ति अकादमिया से संबंधित है(क्रूर वैज्ञानिक / शोधकर्ता होने के बावजूद)। यह दर्शाता है कि वह उन उपकरणों को पसंद करता है जो स्पष्ट, स्पष्ट रूप से सही समाधान देता है, भले ही उसमें प्रदर्शन की कमी हो / अधिक समय लगता हो ...सिमिलरी कॉर्पोरेट संस्कृति निगमों के समान नहीं है।

मुझे लगता है कि मैं वर्तमान में अकादमिक (निष्क्रिय) के थोड़े प्रभाव के साथ ज्यादातर खुला स्रोत हूं।


मैं आधुनिक सीएस / शिक्षा उपसंस्कृति, और हास्केल प्रोग्रामर के भारी ओवरलैप के बारे में सोच रहा था। हास्केल के साथ थोड़ा खेलने के बाद, मैं देख सकता हूं कि यह औपचारिक विज्ञान (सीएस, गणित) में प्रशिक्षण देने वालों से क्यों अपील करता है, और वास्तव में, मुझे लगता है कि हास्केल उच्च स्तर से प्रोग्रामिंग देखने में मदद करता है।
19

केवल जावा और हास्केल एकेडेमिया में? क्या फोरट्रान, सी, सी ++, आर, MATLAB, * sh + awk (हाँ, मैं ऐसे लोगों को जानता हूं), गणितज्ञ, अजगर, लैब व्यू? साथ ही हास्केल को संभवतः "किसी भी कार्यात्मक भाषा" के साथ प्रतिस्थापित किया जाना चाहिए।
20

वे उदाहरण हैं। BIASED उदाहरण। जैसा कि मैंने कहा कि भाषाएँ संस्कृति-विशेष नहीं हैं । कृपया यह भी ध्यान दें कि शिक्षा संस्कृति केवल अकादमिक संस्कृति तक सीमित नहीं है और शिक्षाविदों में हर किसी को अकादमिक संस्कृति को अपनाना नहीं है। जबकि मैं मानता हूं कि फ़ोट्रान / सी / सी ++ / आर / मैटलैब / ... एकेडेमिया में उपयोग किए जाते हैं, वे मेरे दिमाग में इसके साथ मजबूत संबंध नहीं बनाते हैं। * sh + awk निश्चित रूप से गैर-शिक्षाविद है (संस्कृति के रूप में - उपयोगकर्ता शिक्षाविद में काम कर सकता है और ब्रिलिएंट वैज्ञानिक हो सकता है - यह पूरी तरह से अलग बात है ।०
मैकीज पाइचोटका

1
मुझे लगता है कि आप कंप्यूटर विज्ञान शिक्षाविदों की ओर जा रहे हैं।
mbq

2

मैं Alt.NET/old-school CS शिविर में एक प्रकार का हूं। मैं Microsoft तकनीक (C #, आदि) के साथ काम करता हूं, लेकिन मुझे पता है कि मेरे चारों ओर एक पूरी दुनिया है, अन्य भाषाओं, एल्गोरिदम, चौखटे, "हुड के नीचे सामान", आदि सही नहीं है, जाहिर है, लेकिन यह एक काम है चालू।


1
Alt.NET भीड़ निश्चित रूप से एक प्रोग्रामिंग उपसंस्कृति है, और माइक्रोसॉफ्ट द्वारा संचालित संस्कृति के लिमिस्ट विवरण से बिल्कुल अलग है (जो कि उस संस्कृति की तुलना में एक दशक पहले जैसा था, अब मेरे लिए उतना ही अधिक है)।
कार्सन63000

2

मैं एमएस उपसंस्कृति के बारे में इस कथन से पूरी तरह सहमत नहीं हूं: "यह मत देखो कि ओपन-सोर्स के साथ उपद्रव और इस तरह के बारे में क्या है - इसके अलावा, जिसे किसी अन्य भाषा को जानने की आवश्यकता है? आम तौर पर, मुझे ऐसी जगहें मिल गई हैं? 9-5 और काफी कॉर्पोरेट (व्यवसाय प्रबंधकों द्वारा संचालित, सॉफ्टवेयर के लोग नहीं)। हैकर संस्कृति के विरोधी थीसिस। " मैंने अब तक दो .Net दुकानों पर काम किया है और पर्यावरण वास्तव में बहुत हैकर जैसा था। हमने अपने काम में कई ओपन-सोर्स प्रोजेक्ट लगाए हैं। मेरे विकल्प में, यह सब उस तरह के लोगों पर निर्भर करता है जो किसी के साथ काम करते हैं। यदि वे सच्चे डेवलपर हैं, तो वे लगातार सुधार के तरीके तलाशेंगे, ब्रांच आउट करेंगे। वे किस तकनीक का उपयोग करते हैं यह अप्रासंगिक है।

एजाइल मेथडोलॉजी उपसंस्कृति के बारे में मत भूलना जो विभिन्न पृष्ठभूमि के डेवलपर्स को शामिल करता है।


हां, फुर्तीले लोग खुद पर एक उप-संस्कृति हैं। अच्छी बात फिर से। उपकरण बनाम डेवलपर, और निश्चित रूप से आपका अनुभव खान से बहुत अलग हो सकता है। अपने सीमित नमूने से, मैंने अभी पाया कि उपकरण ने निर्माताओं को थोड़ा आकार दिया।
limist

मैंने एक एमएस शॉप में काम किया है (और मैं एक फैनबॉय भी हो सकता हूं) लेकिन मैंने जो मानसिकता का अनुभव किया है वह है "एमएस को पहले देखो, अगर यह मुफ़्त है तो इसका उपयोग करें। अन्यथा, जरूरत को भरने के लिए कुछ भी और सब कुछ उपलब्ध देखें। । "
स्टीवन एवर्स

2

मुझे लगता है कि ओल्ड स्कूल सीएस और न्यू स्कूल वेब डेवलपर्स के बीच कुछ मध्य मैदान होगा ।

मैं पारंपरिक रूप से खुद को "वेब डेवलपर" मानूंगा। PHP और जावा और मेरे लिए प्रथम श्रेणी के नागरिक, साथ ही उचित, सहानुभूतिपूर्ण, मान्य HTML / CSS। एसक्यूएल में फेंको और तुम एक मजबूत, अच्छी तरह गोल कौशल सेट है।

नए स्कूल को स्क्रिप्ट किडिज़ में ले जाएं और वेब डेवलपर को रीब्रांड करें ।

स्क्रिप्ट किडीज़ - भाषा के बारे में ज्ञान के बारे में बहुत कम लोग, यदि कोई है, तो "द हुड के तहत"। कोड में नेत्रहीन कॉपी / पेस्ट करने से पहले ट्यूटोरियल के लिए Google पर जाता है। आमतौर पर एक से अधिक भाषाओं के सिंटैक्स को पूरी तरह से समझ में नहीं आता है।


2

कंप्यूटर का उपयोग करके अनुसंधान करने वाले शिक्षाविदों, कंप्यूटर के बारे में शोध नहीं करते हैं।

वे:
- सॉफ्टवेयर CPU समय की असीमित मात्रा का उपभोग कर सकते हैं कि लिख रहे हैं, स्मृति और डिस्क स्थान ताकि वे परवाह (या देखभाल करने के लिए कम से कम कोशिश पर) प्रदर्शन के, या तो की तरह सामान का उपयोग करके -O3, time, प्रोफाइलर, Memcheck, और अधिक या कम घंटे खर्च बेतरतीब ढंग से कोड बदलने के लिए कुछ स्पीडअप को इकट्ठा करने या माइंडलेस तरीके से अपने स्क्रीप पर कुछ पौराणिक ट्रिक्स लगाने के लिए।
- वास्तविक संख्याओं का उपयोग करें और जान लें कि यह काफी मुश्किल है इसलिए "न्यूमेरिक्स" नामक एक अलग विज्ञान मौजूद हो सकता है।
- अक्सर कुछ बहुत विशिष्ट प्रोग्रामिंग भाषाओं / पुस्तकालयों / कार्यक्रमों का उपयोग करते हैं और इसके बारे में बहुत कट्टर होते हैं; लौ युद्ध आम हैं, ज्यादातर प्रदर्शन के बारे में।
- उनके कार्यक्रमों को "कोड" कहने के लिए यह उजागर करें कि उन्होंने उपयोगकर्ता इंटरफ़ेस को इतना बाधित किया है ताकि केवल उनके रचनाकारों को पता हो कि इसका उपयोग कैसे करना है।
- आमतौर पर लिनक्स पर काम करते हैं या कम से कम कुछ लिनक्स वर्कस्टेशन / क्लस्टर के लिए पीटीटीवाई का उपयोग करते हैं।


1
हाँ, मैं इस क्लब में भी हूँ। यह सूची विशिष्ट उच्च ऊर्जा भौतिक विज्ञानी (मेरा मतलब है, अध्ययन क्वार्क, बहुत अधिक कॉफी नहीं थी) या खगोलविद वर्तमान बड़े उपकरणों के साथ काम करने के विवरण के लिए एक अच्छी शुरुआत है।
डैरेनडब्ल्यू

1
और, क्योंकि यह उपसंस्कृति व्यावहारिक, दोहराव और चरम दक्षता के बारे में बहुत परवाह करती है, वे अक्सर कंप्यूटर विज्ञान की दुनिया में चल रही अधिकांश चीजों के लिए बहुत कम परवाह करते हैं, जब तक कि इसे समानांतर प्रसंस्करण, चतुर कैशिंग योजनाओं, एचपीसी और इस तरह से नहीं करना पड़ता है ।
डेरेनडब्ल्यू

@DarenW: आप क्या मतलब है कि वे कंप्यूटर विज्ञान की दुनिया के बारे में बहुत कम परवाह करते हैं? क्या आपका मतलब है कि वे अच्छे सॉफ्टवेयर अभ्यास और इस तरह की परवाह नहीं करते हैं? क्योंकि मैं असहमत होता। प्रदर्शन की देखभाल के लिए आपको अच्छे सॉफ्टवेयर इंजीनियरिंग सिद्धांतों को फेंकने की आवश्यकता नहीं है।
n1ckp

1

मैं शायद पुराने स्कूल के सीएस लोगों और नए-स्कूल वेब डेवलपर्स का एक संयोजन हूं: मैंने PHP, जावास्क्रिप्ट और एसक्यूएल के साथ वेबसाइट लिखकर प्रोग्रामिंग सीखी और अब मैं विश्वविद्यालय में भाग ले रहा हूं जहां सब कुछ UNIX के तहत कमांड-प्रॉम्प्ट और एमएसीएस में किया जाता है।


0

मुझे 'पुराने-स्कूल' के आदमी के रूप में गिना। मैंने कभी भी LISP अच्छा नहीं किया। Emacs? नाह, viऔर set -o viमेरे लिए मेरे खोल में धन्यवाद।

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