Hangi programlama / yazılım alt kültürleri mevcuttur? Onları ne tanımlar? Hangisine aitsin? [kapalı]


13

Dış dünyaya, programcılar, bilgisayar bilimcileri, yazılım mühendisleri ve geliştiricilerin hepsi benzer görünebilir, ancak bu, yaşamak için yazılım oluşturan insanlar için durumdan çok uzaktır. Herhangi bir programcının yeteneği ve bilgisi, araçlarının yanı sıra çok geniş bir yelpazede değişebilir (OS, dil ve evet, tercih edilen editör) ve çeşitlilik, Yığın Taşmasını ve bu siteyi aktif olarak kullanan programcılar gibi yazılımlarda birçok alt kültürü ortaya çıkarır, ve daha pek çok kişiye karşı.

Başkalarından hangi yazılım alt kültürleriyle karşılaştıklarını, ait olduklarını, takdir ettiklerini, beğenmediklerini ve hatta yarattıklarını duymak isterim. Yeni başlayanlar için aşağıdakilerle karşılaştım:

  • Microsoft tarafından yönlendirilen şirketler ve geliştiriciler : tüm yığını Redmond, WA'dan. E-posta Outlook e-postadır. Web IE ve IIS'dir. MS Developer Network aboneliklerinin VB, .net, Visual Studio vb. Çoklu sürümleriyle dolu büyük bağlayıcıları vardır. Bir kabuk / komut satırı ile çalışmaktan kaçınırlar. Açık kaynaklı ve bununla ilgili karışıklığın ne olduğunu görmüyorum. MS merkezli şirketler 9-5 ve oldukça kurumsal olma eğilimindedir (yazılım çalışanları değil, işletme yöneticileri tarafından yönlendirilir). Günümüzde (MS olmayan araçların geniş kullanılabilirliği göz önüne alındığında), bu hacker kültürünün antitezidir.
  • Eski CS'li insanlar : Lisp ve Unix'i çok iyi tanıyorlar; bazen, yarı popüler bir Lisp'i veya bir sistem yardımcı programını yazmış olabilirler. Az sayıda "yazılım mühendisliği" işi onlar için yeni değildir ve bundan etkilenmezler. Lisp, C, Prolog ve Smalltalk gibi programlama dillerinin referanslarını, geçmişini ve üst düzey sonuçlarını öğrenin. 80'lerin ve 90'ların AI sonuçları hakkında acı olabilir. Emacs kullanıcıları olma eğilimindedir. Gözü kırpmadan çok satırlı kabuk komutlarını yazabilir. Tavsiyeleri şifreli olarak yapılabilir, ancak bir zamanlar anlaşılmıştır altın içerir.
  • Yeni okul web geliştiricileri : Bilgisayarlar ve video oyunları büyüdükçe oynandı, ancak genellikle sadece 90'ların sonunda veya 00'ların başında programlamaya başladı. 1 ila 1.5 kodlama / dinamik dil ile rahat; C ve Ruby / Perl / Python dışındaki dillerin gereksiz / büyülü olduğunu düşünün. HTML'yi başlangıçta programlama olarak düşünmüş olabilir. Bir Mac edinme ve bu konuda fanatik / mantıksız olma eğilimi. Onları oluşturmaktan ziyade çerçeveleri kullanın. Genellikle NoSQL ve / veya Ruby On Rails konusunda aşırı hevesli.
  • Yeni okul CS : istatistik, Bayes modelleri ve çıkarsama konusunda çok sayıda eğitim; "AI" demeyin, "makine öğrenimi" deyin. Lisp'den daha fazla Java, ancak uzman Haskell programcıları da olabilir. Alanlarındaki uzmanların (Google, finans / quants) gerçek dünyadaki büyük başarılarını görmek, onları genellikle (aşırı) güvende hissettirir. Ancak büyük veri ve bunların dağıtılmış işlenmesi gerçekten dünyayı değiştiriyor.

Yukarıdaki örnekler hiçbir şekilde tam, doğru, dik veya objektif değildir. :) Sadece kişisel olarak gördüğüm ve daha geniş sorunun tartışmasını ve taslağını ortaya çıkarmak için sağladıklarım. Kabul etmekten çekinmeyin!


1
'Lil' belirsiz, ama kulağa ilginç geliyor.
Kale

6
Bence cevaplar bir şey gösteriyor: soru, gerçekten hiç olmadığı yerlerde net bölme çizgileri çizmeye çalışıyor. Her biri bir süreklilik olan yaklaşık 5 dik kavramla ilgileniyoruz ve bu hiper düzlemi kolayca tanımlanabilen ayrı gruplara bölmeye çalışıyoruz. IMO, umutsuz bir çaba.
Jerry Coffin

3
@ Jerry Coffin - evet, katılıyorum. Bazı cevapların bazı "kültürlere", IMHO'ya karşı saldırganlık getirdiğinden bahsetmiyorum bile. Bununla birlikte, bu cevaplar bugünün (programcılar? Ya da en azından bu topluluk) diğer topluluklar hakkında ne düşündüğünü gösterecek şekilde güzel (bunun küçük bir yüzdesinde).
Kale

@JerryCoffin Efendim, "dik" kelimesini kullanmak isteyenler var ve sadece son on yılda yığında popüler olduğu için değil ...
Erik Reppen

Yanıtlar:


12

Kendimi Gerçek Zamanlı Sistemler grubunun bir parçası olarak görüyordum . Bazı 'Eski Okul' özellikleri var, ancak CS'ye daha az odaklanarak, daha çok donanım.

Arketip:

  • 'C' uzman bilgisine sahiptir
    • K&R'nin orijinal bir kopyası var
    • Diğer dillerde sanki 'C' için alternatif bir sözdizimi gibi yazar
  • Kodlayıcıdan derleyici çıktısını tahmin edebilir.
  • Devre şemasını okuyabilir
  • 'Erken optimizasyon' yapmadan kod yazmayı bilmiyor.
  • Komut satırı ile oldukça rahat.

Büyüleyici, teşekkürler. Bazı gerçek zamanlı sistem insanlarıyla tanıştım, ancak böyle bir yerde çalışmadım, bu yüzden kültürü karakterize etmeye çalışmadı. Bence çoğumuz programcılar size “sert çekirdek” diyebiliriz. :)
Limist

1
Sanırım başka bir disiplin gibi - sert çekirdekli "rock yıldızları" var ve eski düz kayalar da var. (Umarım inbetween arasında bir
yerdeyim

2
Ben de bu gruptayım. Meslektaşlarımın çoğu bu yere bir elektronik mühendisliği arka planından "yukarı" geldi, ama ben bir veritabanı / uygulama geliştiricisi olmak için "aşağı" geldi. Yine de bu grupta çok rahatım ve bazen farklı geçmişim farklı faydalı bir bakış açısı getirebilir.
Vicky

1
Ayrıca, benim algılarım da olabilir, ancak kadınların bu grupta diğer gruplardan daha nadir olduğunu düşünüyoruz.
Vicky

1
Vay canına - bu beni neredeyse mükemmel anlatıyor, sadece devre şemalarını okumakla kalmıyorum, devreleri de tasarlıyorum. İlk gömülü sistemim (PL / M-86'da) 1970'lerin sonunda çalıştı.
tcrosley

6

Ana bilgisayar programcılarını unutmayın. Onlar da bir alt kültür.


1
Ana bilgisayar kodlayıcı kültürü hakkında daha fazla bilgi edinmek isterim; Onları düzenli olarak kodlamak yerine, ana karelerle çok fazla zaman harcayan çok az tanıştım.
Limist

1
Bunlar saygın saç kesimi olan ve iş kıyafeti giyen diğer insanlardan ayırt edilemez. COBOL'u seviyorlar. Onlara göre, bir sistem / 360 dışında bir sistem yoktur.
oosterwal

5

Delphi Devs'in 30 yaşın altındaki yalnız koşulunu temsil ediyorum. Kafamıza küçük, ama yüreğimiz büyük.


İş arkadaşlarımdan bazıları <30.
Toon Krijthe

2
Bir yığın borsası başlatmanızı söyleyin ve biz öldükten sonra eski Johnny Borland'dan uygulamasını isteyeceğimiz yeni özellikler hakkında konuşabiliriz ;-)
Peter Turner

4

Sanırım bir şekilde savaşmak yerine bir şekilde yaşayan ve bir şekilde aşkın olan birkaç kültür var:

  • Hacker / Açık Kaynak kültürü : kod paylaşımı, gerçek adı kullanır ya da kullanmaz. Muhtemelen bir problemi çözen küçük aletlere yoğunlaşmıştır. Program içi saldırılara izin verir. Diller: C , Lisp , C ++ , Python . Muhtemelen sizinkiler Eski okul CS çalışanlarıyla örtüşüyor .
  • Academia : Algoritmalar üzerinde yoğunlaşma ve işleri doğru şekilde yapma. Gerçek isim zorunludur (yine de kağıtta görünür). Diller: Java , Haskell , ( F # ?)
  • Kurumsal : çözeltiler üzerinde konsantrasyon (muhtemelen her şeyin). Açık kaynak adını veren gerekli değilse . Diller: Java , C # , VB.net , Ruby .
  • " Lise ": eğer işe yarıyorsa mal olur ama yapmak zorunda değil "Windows XP için SuperProgram 1.0" gibi adlara yoğunlaşma. (özür dilerim - iyi bir isim bulamadım ama CS'de ustalaşmaya başlayan ve iyi olmayan programcılar demek istiyorum - en azından henüz). Diller: PHP , VB , Ruby
  • Yeni Okul Web Geliştiricileri : Yukarıdaki gibi.

Lütfen bunu not al:

  • kültürleri örgütlerde ve tek bir kişide karıştırmak mümkündür. Aslında sık sık yapar.
  • Diller ÖRNEKLER ve örneğin C # üzerinde çalışan "hackerlar" oldukça büyük bir grup. Gerçek çalışma dernekleri oyunu daha fazla, bu yüzden lütfen rahatsız olmayın (evet - PHP'de iyi mühendislik uygulamaları ile yazılmış harika programlar olduğunu biliyorum, ancak pek çok insan için ilk dil olma eğilimindedir. örneğin XSS'nin ne olduğunu bilmiyorum)
  • Liseyi kimseye kızdırmak istemedim. Demek istediğim, bu kültür aracılığıyla programlamaya ilk adımdır (ve umarım son değildir)
  • Düzenleme: Akademi , kişinin akademide olduğu anlamına gelmez, aynı zamanda akademide olmak, birisinin akademiye ait olduğu anlamına gelmez(parlak bilim adamı / araştırmacı olmasına rağmen). Performanstan yoksun / daha uzun zaman alsa bile açık, açık bir şekilde doğru çözüm veren araçları tercih ettiğini belirtiyor ... Benzer şekilde Kurum kültürü şirketlereeşitdeğildir.

Bence şu anda çoğunlukla Academia'nın (pasif) hafif etkisi ile Açık Kaynak'ım


Sadece modern CS / academia altkültürünün ve Haskell programcılarının yoğun örtüşmesini düşünüyordum. Haskell ile biraz oynadıktan sonra, resmi bilimler (CS, matematik) eğitimi alanlara neden hitap ettiğini görebiliyorum ve gerçekten de Haskell'in programlamayı daha yüksek bir seviyeden görmeye yardımcı olduğunu düşünüyorum.
Limist

Akademi'de sadece Java ve Haskell mi? Fortran, C, C ++, R, MATLAB, * sh + awk (evet, böyle insanları tanıyorum), Mathematica, Python, LabVIEW ne olacak? Ayrıca Haskell muhtemelen "herhangi bir işlevsel dil" ile değiştirilmelidir.
mbq

Bunlar örnek. BIASED örnekleri. Belirttiğim gibi diller kültüre özgü DEĞİLDİR . Ayrıca akademi kültürünün sadece akademi ile sınırlı olmadığını ve akademideki herkesin akademi kültürünü kucaklaması gerekmediğini lütfen unutmayın. Akademi'de Fotran / C / C ++ / R / Matlab / ... 'nin kullanıldığını kabul ederken, aklımda onunla güçlü bir ilişki oluşturmuyorlar. * sh + awk kesinlikle akademi değildir (kültür - kullanıcı akademi'de çalışabilir ve parlak bilim adamı olabilir - bu tamamen farklı bir şeydir.
Maciej

1
Bence bilgisayar bilimi akademisyenlerine gidiyorsunuz.
mbq

2

Alt.NET/old-school CS kampındayım. Microsoft tech (C #, vb.) İle çalışıyorum, ancak çevremde bir dünya, diğer diller, algoritmalar, çerçeveler, "kaputun altındaki şeyler", vb. Olduğunun farkındayım. Mükemmel değil, tabii ki, bu bir iş devam etmekte.


1
Alt.NET kalabalığı kesinlikle bir programlama altkültürüdür ve sınırlayıcının Microsoft tarafından yönlendirilen kültürü tanımlamasından kesinlikle farklıdır (bu, bana göre on yıl önce olduğu gibi bu kültürün ondan önceki haline benziyor).
Carson63000

2

MS alt kültürü ile ilgili bu ifadeye tamamen katılmıyorum: "Açık kaynak ile yaygara ve bunun gibi şeylerin ne olduğunu görmüyorum - ayrıca kimin başka bir dil bilmesi gerekiyor? Genellikle, böyle yerler buldum 9-5 ve oldukça kurumsal (yazılım çalışanları değil, işletme yöneticileri tarafından yönlendiriliyor). Hacker kültürünün anti-tezi. " Şimdiye kadar iki .Net mağazasında çalıştım ve çevre aslında çok hacker gibiydi. Çalışmamızda birçok açık kaynaklı proje yürüttük. Benim seçeneğimde, hepsi kişinin birlikte çalıştığı insan türüne bağlı. Eğer onlar gerçek geliştiriciler ise, sürekli gelişmek, dallanmak için yollar arayacaklar. Hangi teknolojileri kullandıkları önemsizdir.

Farklı geçmişlere sahip geliştiricileri içeren Çevik Metodoloji alt kültürünü unutmayın.


Evet, Agile halkı kendi üzerine bir alt-kültürdür. İyi nokta yeniden. geliştiriciye karşı araç ve tabii ki deneyiminiz benimkinden çok farklı olabilir. Sınırlı örneklemimden, araçların yapımcıları biraz şekillendirdiğini gördüm.
Limist

Bir MS mağazasında çalıştım (ve hatta bir fanboy da olabilirim), ancak yaşadığım zihniyet "önce MS'e bakın, eğer özgürse o zaman kullanın. Aksi takdirde, ihtiyacı karşılamak için her şeyi ve her şeyi arayın ."
Steven Evers

2

Eski Okul CS ve Yeni Okul Web Geliştiricileri arasında orta nokta olacağını düşünüyorum .

Geleneksel olarak kendimi "Web Geliştiricisi" olarak değerlendirirdim. PHP, Java ve birinci sınıf vatandaşlar bana uygun, symantic, geçerli HTML / CSS ile birlikte. SQL ile atın ve sağlam, çok yönlü bir beceri setine sahipsiniz.

Taşı Yeni Okul için script çocukları ve markalaşacak Web Developer .

Script Kiddies - Varsa, çok az bilgisi olan insanlar, "başlık altında" dil hakkında bilgi sahibi olurlar . Kodu körü körüne kopyalayıp yapıştırmadan önce öğreticiler için google'a yönelir. Genellikle birden fazla dilin sözdizimini tam olarak anlamaz.


2

Bilgisayarlarla araştırma yapmak yerine bilgisayar kullanarak araştırma yapan akademisyenler.

Bunlar:
- CPU zamanı sınırsız miktarda tüketebilir yazılım yazıyoruz, bellek ve disk alanı umurlarında (veya bakıma az denemede) performansı, bu nedenle her iki gibi şeyleri kullanarak -O3, timeprofilers, MemCheck, ve daha fazla veya daha az saatlerce bazı hızlanmaları toplamak için kodu rastgele değiştirerek veya komut dosyalarına dikkatsizce bazı efsanevi numaralar uygular.
- gerçek sayılar kullanın ve "numerik" adlı ayrı bir bilimin var olabilmesi için yeterince zor olduğunu bilin.
- genellikle çok spesifik programlama dilleri / kütüphaneleri / programları kullanır ve bu konuda çok fanatiktir; alev savaşları yaygındır, çoğunlukla performansla ilgilidir.
- Bu kadar gizli kullanıcı arayüzüne sahip olduklarını vurgulamak için programlarına "kodlar" deyin, böylece yalnızca içerik oluşturucuları nasıl kullanıldığını bilir.
- genellikle Linux üzerinde çalışın ya da en azından bazı Linux iş istasyonlarına / kümelerine ssh için PuTTY kullanın.


1
Evet, ben de bu kulüpteyim. Bu liste, mevcut büyük aletlerle çalışan tipik yüksek enerjili fizikçinin (yani, kuarkları inceliyor, çok fazla kahvesi yoktu) veya astronomun açıklaması için iyi bir başlangıç.
DarenW

1
Ve bu altkültür pratik, tekrarlanabilir ve aşırı verimlilik konusunda çok önem verdiği için, paralel işleme, akıllı önbellekleme şemaları, HPC ve benzeri ile ilgili olmadıkça, bilgisayar bilimi dünyasında olup bitenlerin çoğuna önem vermezler. .
DarenW

@DarenW: Ne demek istiyorsun bilgisayar bilimi dünyasına çok az önem veriyorlar? Yani iyi yazılım uygulamaları ve benzerlerini umursamıyorlar mı? Çünkü katılmıyorum. Performansı önemsemek, iyi yazılım mühendisliği prensiplerini ortaya çıkarmanıza gerek yoktur.
n1ckp

1

Muhtemelen Old-CS CS ve New-school web geliştiricilerinin bir kombinasyonuyum : PHP, Javascript ve SQL ile web siteleri yazarak programlamayı öğrendim ve şimdi üniversiteye devam ediyorum.


0

Beni 'eski okul' çocuğu olarak say. Yine de LISP'i hiç iyi yapmadım. Emacs? Hayır, vive set -o vibenim kabuğumda teşekkür ederim.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.