“Herkes programcı olamaz” üzerine çalışıldı mı?


182

Birçok programcının bağlı olduğu eski bir özdeyiş, "Programlamayı öğrenmek belli bir zihin gerektirir, herkes bunu yapamaz."

Şimdi hepimizin kendi fıkra kanıtlarına sahip olduğumuzdan emin olduğumuza eminim, ancak bu bilimsel olarak çalışıldı mı?


63
İyi bir şüpheci soru gibi geliyor.
Chad Harrison

10
Nasıl programlanacağını öğrenmek, aslında değerli bir programcı olmaktan çok farklıdır . Programlama çoğu zaman çok basittir. Spec okumak, buna göre uygulamak. Ölçek. Tekrar et. Evet, herkes programcı olabilir. Herkes değerli bir programcı olamaz . Özellikle bazı görevler diğerlerinden çok daha fazla düşünme ve deneme gerektirir. Böyle şeyler yapmaktan gerçekten zevk alan insanlar için en iyisidir. Bir örnek, herhangi bir modern program aracı veya herhangi bir şey olmadan saat döngülerini, bitleri ve baytları sayarak düşük seviyeli yapılar oluşturmak olabilir. Herkes bunun üstesinden gelemez.
zxcdw

9
@zxcdw - "Hiç kimse iyi / değerli bir programcı olamaz" diye sorgulamıyorum. Bu, “Herkes iyi / değerli bir X olamaz”, meslek olarak hemen hemen her X değeri için evrensel bir gerçektir. Benim sorguladığım şey programlama öğrenmek ve başını etrafına sıradan insan için sarmak.
Sistem Aşağı


15
Bence bu sorunun ruhu programcıların kalitesi ile ilgili değil, sanırım "insan olmayan bir dilde mantıksal olarak doğru bir çözümü belirleme ve herkesin bir problemi çözme konusunda eğitilebilir mi" olduğunu düşünüyorum. herkesin yapabileceği bir şey. İnsan olmayan bir makinenin maddeye dayalı olmayan davranışlarını dikte etmek için mantık tasarlama kavramları son derece soyuttur, bu soyutlama seviyesi, her birinin ürününe dokunamadığınız için zihinsel olarak birçok mantıksal yönlendirmeyi takip edebilmeyi gerektirir. Ellerinle bas.
Jimmy Hoffa

Yanıtlar:


87

Başka bir çalışma, acemi programcılar tarafından tutulan zihinsel modellerin uygulanabilirliğinin araştırılması :

Bu yazıda, yeni başlayanlar için programcıların bir yıllık Java programlama kursu sonunda kullandıkları zihinsel modellerin uygulanabilirliği üzerine bir araştırma anlatılmaktadır. Nitel bulgular, katılımcılar tarafından tutulan zihinsel değer modellerini ve referans atamasını tanımlar. Nicel analiz, öğrencilerin yaklaşık üçte birinin uygun olmayan zihinsel değer atama modellerine sahip olduğunu ve öğrencilerin sadece% 17'sinin uygun bir zihinsel referans atama modeline sahip olduğunu ortaya koymaktadır. Ayrıca, katılımcıların zihinsel modelleri ile kurs içi değerlendirme ve final sınavlarındaki performansları arasında bir karşılaştırma yapılması durumunda, uygulanabilir zihinsel modelleri olan öğrencilerin, uygun olmayan modellerden daha iyi performans gösterdikleri bulunmuştur. Bu bulgular daha "yapılandırmacı" önermek için kullanılır

Ayrıca bkz sonraki araştırmalar (net olmak gerekirse, aslında asla yayınlanmadı) Keçi çalışmanın vs Koyun aynı yazarlardan. 2009'dan itibaren bu konuyla ilgili son ve en son çalışmaları , programlamanın erken öğrenilmesinde tutarlılığın başarıya etkisinin Meta-analizidir (pdf).

Programlamada bir ilk kurstan önce bir öğrencinin ödev ve dizilim bilgisini görünüşte inceleyen ancak aslında akıl yürütme stratejilerini yakalamak için tasarlanmış bir test tasarlandı. Bir deney, iki farklı öğrenci popülasyonu buldu: Biri, zihinsel bir program yürütme modelini kurabilir ve uygulayabilir; diğeri model oluşturamadı ya da tutarlı bir şekilde uygulayamadı. İlk grup, kurs sonu sınavlarında başarı veya başarısızlık bakımından ikinciden çok daha iyi bir performans gösterdi. Test, performans düzeylerini çok doğru bir şekilde tahmin etmiyor, ancak deneydeki altı yinelemenin sonucunu, beşi İngiltere ve biri Avustralya'da birleştirerek, tutarlılığın programlamayı erken öğrenme başarısında güçlü bir etkisi olduğunu gösteriyoruz - ama Öte yandan, arka plan programlama deneyimi,


24
“... ilk yıl Java programlama kursu ...” <- Sorunu buldum.
Jon Galloway

4
Bornat, orijinal makaleyi geri çekmenin ötesinde, 2009 sonucunu yeniden oluşturma girişimlerini tartışıyor - bana göre, cesaret verici görünmüyorlar: eis.mdx.ac.uk/staffpages/r_bornat/papers/…
Blaisorblade

6
Yukarıda bahsedildiği gibi, bu konudaki orijinal makale geri çekildi: retractionwatch.com/2014/07/18/…
Süngerboy

92

Evet, çevrimiçi olarak “Kim bir programcı olmak için kestirildi” kararını vermek üzere tasarlanmış oldukça ünlü bir makale var.

Programlamayı erken öğrenmenin bilişsel bir çalışması - Prof Richard Bornat, Dr. Ray Adams

Tüm programlama öğretmenleri, sonuçlarının bir “çift kambur” olduğunu buluyorlar. Sanki iki popülasyon var: Her biri kendi bağımsız çan eğrisine sahip [programlayabilen] ve [programlayamayan].

Programlama öğretme ve öğrenmeye yönelik neredeyse tüm araştırmalar öğretime odaklanmıştır: dili değiştirmek, uygulama alanını değiştirmek, bir IDE kullanmak ve motivasyon üzerinde çalışmak. Hiçbiri işe yaramaz ve çift kambur devam eder.

Kurs başlamadan önce programlanabilecek popülasyonu seçen bir test yaptık. Çifte huzuru ayırabiliriz. Muhtemelen buna inanmıyorsun, ama konuşmayı duyduktan sonra anlayacaksın. Nasıl ve neden işe yaradığını tam olarak bilmiyoruz, ancak bazı iyi teorilerimiz var.


İşte Jeff Atwood'un sonuçları yorumlayan ve bazı şeyleri bağlam içine alan bir blog yazısı .

Elektronik hesaplamanın 1950'lerde icat edilmesinden bu yana gerçekleşen muazzam değişikliklere rağmen, bazı şeyler inatla aynı kalıyor. Özellikle, çoğu insan programlamayı öğrenemez: her üniversite bilgisayar bilimi bölümünün girişinin% 30 ila% 60'ı ilk programlama dersinde başarısız olur.

Deneyimli öğretmenler yorgun ve bu gerçeği asla umursamazlar; Eskilerin yanlış yaptıklarına inanan açık gözlü yeni başlayanlar acı deneyimlerden gerçeği öğrenir; ve böylece, konu 1960’larda başladığından beri, neredeyse iki kuşaktır.


46
Adil olmak gerekirse - bu çalışma, okulların alımının% 30-60'ının herhangi bir işi yapmaktan rahatsız olamayacağını kanıtlıyor. Bu, tüm konular boyunca ve her zaman geçerliydi!
Martin Beckett

15
Bu çok ilginç bir yazıdır ve herkesin program için kesilmediği fikrini desteklemektedir. Ne yazık ki yazarların ileriki çalışmaları (ayrıca bağlantı verilen sayfada) testlerinin başlangıçta düşünülenden daha az öngörücü olduğunu göstermektedir. “Programlama keçilerini programlama dışı koyunlardan ayırdığımızı iddia edemeyiz… Sonuçların ilk vaadi yerine getirmemesi talihsiz bir durumdur, ancak keşiflerimizin kapısını pek kapatmamıştır” dedi.
AShelly

26
2006'dan itibaren ilk makalenin sadece bir taslak olduğunu ve hiç yayınlanmadığını açıkça söylemek gerekirse. Yani tam olarak bilimsel olarak gözden geçirilmemiş. Belki yazarın sayfasında daha sonraki çalışmalara bakmak için daha iyi .
Jeff Atwood

17
Akademik bir kursun başarısını araştırmak, bu fenomeni incelemenin tuhaf bir yoludur. İlk olarak, dersler muhtemelen programlama öğretmenin en uygun yoludur. İkincisi, herkes derslerden öğrenmez (iyi). Orada benim için tasarım gereği bu çok fazla önyargı.
Raphael

5
Prof. Bornat daha sonra bu taslağı gönüllü olarak geri çekmeye zahmet etti, çünkü o zaman ruh sağlığı sorunları vardı. eis.mdx.ac.uk/staffpages/r_bornat/papers/… Dahası, Sec. 3, başkalarının sonucu çoğaltmakta başarısız oldukları - söyledikleri gibi, 2009’un meta-analitik sonuçları bile “en azından kültürel çevre ve eğitim uygulamalarından etkileniyor ”. Genel olarak, benim en iyi tahminim dersin kötü olduğu, "programlama etkin bir şekilde nasıl öğretileceği" bir araştırma problemi olması şaşırtıcı değil.
Blaisorblade

33

Herkes programcı olabilir. İnsanların elektronik tabloları ne kadar kolay kavradıklarını düşünün. Alan Kay'ın, programlanabilir bir ortamda deney ve keşif yoluyla çocukları programlamaya nasıl tanıttığını düşünün.

İnsanlar, üniversite seviyesindeki kurslarda başarı okuyabilir ve "bazı insanlar programlamayı öğrenmeye uygun değildir" sonucuna varabilir. Bununla birlikte, böyle bir sonuç gözlemlenen kanıtların sınırlarını ciddi biçimde aşmaktadır. Programlamanın nasıl öğretildiğine (çok soyut?) Veya hangi programlama stiline (çok zorunlu?) Ya da programlama ortamına (derleme, anında geri bildirim yok?) Ne kadar başarısızlık verilebilir?

İnsanların soyutlamaları, çoktan somut örneklerle çalıştıktan sonra en kolay şekilde kavradıklarını - yani, neredeyse bilene kadar bir şey öğrenemeyeceğimiz anlaşılmaktadır. Özetle başlamak, bu nedenle, programlama öğretmek için tamamen aptalca bir yoldur. Önceden algılanan "zihinsel modeller" e karıştıran birçok insan, gerçek zamanlı geri bildirimli (örneğin, CS için Kahn Akademisi'nde olduğu gibi) daha somut bir ortamda öğretildiyse gelişmeye başlar ve sonra hazır olunca soyutlama merdivenine tırmanmaya teşvik edilir . Öğrenilebilir Programlama , Bret Victor'un yakın tarihli bir makalesidir ve programcıların öğrenmedeki gereksiz çevresel zorluklara dikkat çeker.

Bazı durumlarda, sınıflarında başarısız olan öğrencilerdir. Entelektüel tembellik ve kasıtlı cehalet, herhangi bir büyük insan grubunda mevcut olacaktır. Akıllı halk istisna değildir, zira parlak bir krankla tartıştığı herkes kanıtlayabilir. Ancak, özellikle programlama ve matematik için, genellikle öğrencileri başarısız eden sınıflardır.


7
Bence hemen hemen herkes basit temel kodlamayı öğrendikleri gibi basit kodlamayı öğrenebilir Ancak, ondan bir yaşam yapmak farklı bir konudur. Mesela, gitar çalmayı çok seviyorum ama yakın zamanda çok şehirli bir stadyum turuna çıkmayacağım ya da büyük bir stüdyo albümünde görünmeyeceğim.
jfrankcarr

4
Serg'in cevabında yer alan makaleye bir bak. İlk başta düşündükleri kadar açık olmasa bile, gerçek şu ki, bazı insanlar kafasını en temel programlama kavramlarının etrafına saramazlar, hatta bir ya da iki sınıftan sonra bile - örneğin: x = 1; y = x;ve soru " değerleri nelerdir xve y?"
Izkata

3
Merhaba ve hoşgeldin! Muhtemelen bunu bilmiyorsunuz, çünkü çok yenisiniz, ancak açık uçlu ve / veya tartışma sorularını gerçekten sevmiyoruz. Ben kaldırdık Is it true that not everyone can learn how to program?sorudan hattı, bizim daha tecrübeli kişiler de bunu kurallarımıza uymayan fark, görmezden ve sorunun araştırmalar bilimsel / yönlerine verdikleri yanıtları konsantre. Lütfen aynısını yapar mısın?
yannis

3
@jfrankcarr - Profesyonel veya rekabetçi bir seviyedeki herhangi bir yetenek, birçok uygulayıcıyı geride bırakacaktır. Çoğu insan, doğal dili bile profesyonelce konuşamıyor veya yazamıyor.
dmbarbour

3
@ Izkata - Serg bağlantılı kağıt, şüpheli bilimsel değere sahiptir; Benzer bir şekilde öğretilmeyen herhangi bir sınıftan da benzer sonuçlar alınacaktır: konuyu çoktan anlayan insanlar iyi yaptılar. Ve örnek sorunuzla ilgili olarak: daha yaygın olan, zorunlu sezgisel olmayan, zorunlu sezgisel olmayan varsayılmış sorulardı. Eşzamanlılığın olmadığını varsayamazsanız kendi sorunuzu bile cevaplayabilir misiniz?
dmbarbour

19

Belki bu bir anekdottur, fakat birkaç yüz liberal sanat öğrencisine programlama dersi verdiğimde, böyle bir "çift huzursuz" bulamadım. Bazıları diğerlerinden daha çok çalışsa da, bazıları çok zoru atmaya çalıştılar, ama hepsi de oldukça yetenekliydi.

Nasıl öğretildiğiyle ilgili çok şey var.

Birçoğunun da arzu ile ilgisi vardır - bazıları programlamayı ilginç bulmazlar. Ancak öyle olsa bile, eğer dürüst bir çaba gösterirlerse öğrenebilirler.


5
Arzu bu işe çalış nereye sık sık hepimiz biliyorum, acaba tamamen bana birçok kişi için para cs gidiş ama ortalama olan kişileri yolu a ilgi eksikliği tamamlamak zorunda deneyin nasıl meraklandırıyor, genel halkın büyük çoğunluğu için ilginç programlama bilgisayar işleri
Jimmy Hoffa

6
@Jimmy: Oyunlara, bilime, finansa, müziğe, kendilerine hitap ettikleri kişisel projelere devam etmelerini sağlayarak ilginç kılmaya çalıştım. Programlama, bir amaç için bir araç olduğunda çok daha ilginçtir.
Mike Dunlavey

2
@Den: Eh, ev ödevleri için küçük programlar yapmak zorunda kaldılar, sınavlar ve testler yaptılar ve her biri not aldığım önemli bir kişisel programlama projesi yapmak zorunda kaldılar. Kurs gerekliydi.
Mike Dunlavey

1
@MikeDunlavey Öğrencilerin her zaman programlayabilen arkadaşları vardır ve ödevleri kolayca aldatılabilir.
Sulthan

2
@Sulthan: Sınıfımda yapmadılar. Bazıları denedi. Bazıları bir teste diğerlerinden kopyalamayı denedi. Açıktı - kod başkasınınkine çok benziyordu ve aynı zamanda bariz hatalar içeriyordu. Projeler için ikisi ikisi birbirine benzemiyordu ve hiçbir şey sınavlarda ve ev ödevlerinde vasat çalışan, ancak güzel bir projeye dönüşen biri gibi kırmızı bir bayrağı yükseltmiyor. Sadece başka bir test yapıp onlara veriyorum. Hangi yolun açık olduğunu açıkça bilmiyorlarsa, onlara iyi bir not verme zorunluluğum yok. Alternatif olarak, başka bir profesörü arayabilirim.
Mike Dunlavey

7

Başladığımda, bir programlama işine başlamadan önce bir "yetenek testi" yapmak olağandı. Çok fazla bilgisayar bilimi mezunu yoktu, bu yüzden diğer disiplinlerden işe almak yaygındı.

Testler, IQ testlerinde gördüklerinize benziyordu (sıradaki sıradaki sayı nedir, vb.).

Fıkra delilleri, testi geçen herkes iyi bir programcı olmamakla birlikte testi geçemeyen, ancak başka nedenlerden dolayı işe alınan hiç kimsenin iyi bir programcı olmadığının kanıtıydı.

Ne yazık ki İK uçakları bu testleri anlamadı (ve onları aldıklarında başarısız oldu!), Bu nedenle bu günlerde işe alım İK uçaklarının anladığı şeylere dayanıyor - iyi üniversite, iletişim ve takım elbise kullanma becerileri.

Bu, büyük BT departmanlarının, PowerPoint şovlarında ve çok az iyi programcıda harika olan birçok insanın olmasının nedenidir.


1
+ O kadar müteşekkirim, hiçbir zaman (neredeyse) İK yoluyla gitmek zorunda kalmadım.
Mike Dunlavey,

4

Dehnadi ve Bornat'ın çift kambur veya keçi-koyun-keçi çalışmasını öne sürenlere, bunu çoğaltmaya çalıştıkları Zihinsel Modeller ve Programlama Yeteneğini incelemek faydalı olacaktır :

Giriş programlama derslerine katılan öğrencilerin başarısını tahmin etmek 25 yıldan uzun süredir aktif bir araştırma alanı olmuştur. Yakın zamana kadar, hiçbir değişken veya testte anlamlı bir öngörü gücü yoktu. Bununla birlikte, Dehnadi ve Bornat, programlama koyunlarını programlama dışı keçilerden temiz bir şekilde ayırmak için programlama yeteneğinin basit bir testini bulduğunu iddia etmektedir. Teorilerini ve test araçlarını kısaca sunuyoruz.

Bulgularını doğrulamak ve belki de genelleştirmek için testlerini yerel bağlamda tekrarladık, ancak testin giriş programlama kursumuzda öğrencilerin başarısını öngördüğünü gösteremedik.

Test cihazının bu başarısızlığına dayanarak, farklı sonuçlarımız için çeşitli açıklamaları tartışır ve bu alandaki yerel sonuçları genelleştirmenin mümkün olabileceği bir araştırma yöntemi öneriyoruz. Ayrıca Dehnadi ve Bornat'ın programlama yetenek testini tartışıp eleştiriyoruz ve alternatif test araçları geliştiriyoruz.


4

Biri soyutlama kapasiteleri veya diğer faydalı bilgiler hakkında çalışmalar yapabilir, ancak programlamanın tanımı belirsizdir ve teklifin alakasız olduğunu düşünüyorum, çünkü programlamaya bakmanın karşıt yolları var:

İlk tür: Programlama dilleri, bilgisayarın yürütmesi gereken bir görevi tanımlamak için yapılan bir tür insan dilidir (veya olması gerekir), bu nedenle konuşan herkes programlayabilmelidir. Buna kodlama, BASIC, dizgi sistemi TeX vb. Denir . Dil veya sistem önemli değil, yaratıcılarının ve insanların baktıkları yöntem: "Sevgili program / bilgisayar, lütfen adımı yaz" yerine "Bana on bir karakter büyüklüğünde yer verin, sonra bana bu alanın adresini verin, sonra depolamama izin verin, sonra bu belleğe klavye tamponumdan çıkarabileceğiniz on bir karakter girin (ancak temizlemeyi unutmayın) , vb."

Bu durumda, çalışmanın “Her dilin çabucak özümsemediğini” tercih edeceği açıktır.

Öte yandan, programlama dilleri, bir bilgisayarın nasıl çalıştığını veya nasıl çalışması gerektiğini, 1950'lerin bilgisayarlarını düşünüyorsanız, nasıl 'bağlanması gerektiğini' tarif etmenin bir yoludur. Bu nedenle, programcı, programlama dilini mükemmel bir şekilde konuşsa bile, istihbaratının bellekte depolanan baytları, işaretçi gibi dizgileri vb. soruna bağlamak için dünyaya geri dönün. Bu nedenle her insan programlayamaz (meclis dilinde…).

Bunun dışında çalışmak ve bir şeyler üretmek için gereken tüm niteliklere ihtiyacınız olacak: ne istediğinizi çok iyi öğrenin, başkalarının daha iyi anlamasını / tamamlamasını / gözden geçirmesini, hedeflerinize odaklanmasını vb. Kolaylaştırın ... Ama bir mimar gibi, bir yazar, bir müzisyen, bir fahişe ...

Ancak çoğu insan, özellikle çocuklar olmak üzere iyi soyutlama kapasitelerine sahiptir. Bazı Alman okulları Haskell'e gençlere öğretiyor ( Pascal veya Delphi gibi programlama dilleri her Alman okulunda eğitiliyor).

Bu yüzden, sorunun cevaplanması çok zor ve herhangi bir cevabın (ya da çalışmanın) alakasız olabileceğini söyleyebilirim.

Peter Norvig tarafından On Yılda Kendinizi Programlama Öğretisi başlıklı makalede, insanların programlamayı nasıl öğrendikleri hakkında çok kısa bir analiz bulacaksınız . Doğuştan programcı olmadığını düşünüyor gibi görünüyor.


3
Merhaba ve hoşgeldin! Cevabınızın soruyu nasıl cevapladığı ile ilgili biraz kafam karıştı, bu gerçekten bunun çalışılıp çalışmadığı ile ilgili ...
yannis

üzgünüm "gönder" düğmesi ile berbat ... Umarım bu daha mantıklı
Yves

Doğru yoldasınız ancak programlama dillerini donanım (bilgisayar) ile sıkı bir şekilde bağlayın. Programlama sadece bilgisayarla konuşma yeteneği değildir. Programlama bir süreci tutarlı bir şekilde tanımlamakla ilgilidir. Bir işlemi diğer insanlara tarif etmek, onu yüksek seviyeli bir programlama dilinde kodlamaya benzer. En büyük fark, insanların belirsizliğe karşı daha hoşgörülü olmalarıdır.
İmparator Orionii

Bu görüşü savunmuyorum, ancak insanların programlama dillerini görme eğiliminde olduklarını ve bunlardan ya görev tanımları olarak kullanılması gerektiğini (yüksek seviye programlama ve komut dosyası için önemlidir) veya "bilgisayar süreci" tanımları olarak (örneğin, düşük seviyeli diller VHDL modelleme diline VB.NET'ten, programlama dilleri olsa bile daha yakın görünürler). Bu 2 yaklaşım çok farklı ve aynı madalyonun 2 yüzü. Ölçülmesi zor olan insan zekasının farklı yönlerinde ısrar ediyorlar. Bu yüzden onları incelemek zor.
Yves,

3

Yıllar önce askeri liderlik teorisi içeren birkaç kurs yaptım. Teorinin bir kısmı, doğal lider olanlardan bir tasmayı köpeğe götüremeyenlere kadar bir liderlik sürekliliği olduğuydu. Buradaki fikir, insanların bu liderlik sürekliliği üzerine bir çan eğrisinde dağıtıldığı ve çoğu insanın iki uç nokta arasında bir yerde olduğu idi. Uzak uçtaki az sayıdakilerin dışında "bir köpeğe yol açamamışlar" sonu, hemen hemen herkesin liderlik sanatını öğretmesiydi. Birini lider haline getirmek için gereken çaba, sürekliliği nerede oturduğuna bağlı olarak değişmektedir.

Programlamanın benzer bir sürekliliğe ve benzer bir dağılıma sahip olduğundan şüpheleniyorum. Zahmetsizce başarabilecekler ve hayatları buna bağlı olsa asla başaramayacak olanlar olacaklar. Ama onlar çan eğrisinin kuyruğundaki birkaç kişi. Çoğu insan süreklilikteki aşırı uçların arasında oturur. Programlamayı öğrenebilirler ancak onlara öğretmek için gereken çaba, nerede oturdukları sürekliliğe bağlı olacaktır.


Köpek tasmasını doğru şekilde yönlendirmeyen birçok insan görüyorum. Köpeklerim tasmasız, hatta şehirdeyken yürüyebiliyordum. İnsanların köpeği neden düşünemediklerini hep merak etmişimdir.

2

Sadece programlama olduğundan emin değilim. Aynı fenomeni, bilgisayar kullanmayı öğrenen insanlarla gördüm. Üniversiteye döndüğümde, laboratuarda, yaşlılar sınıfı için bilgisayar okuryazarlığı düzenleyen bir laboratuar asistanıydım.

İki hafta içinde, alabilecekleri ve temelde% 100 doğrulukta olmayanları tespit edebiliyorum. Bilgisayarın bu şekilde çalıştığını kabul ettiniz ya da tüm sınıf için kafanıza çarpıyorsunuz. Orta bir zemin yoktu. (Yaşlılar sınıfı olduğu gerçeği, kalıbı daha belirgin hale getiren çok sayıda kafa çırpıcımız olduğu anlamına geliyordu.)

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.