วิธีที่ดีที่สุดในการวัดแนวโน้มความนิยมทางภาษาคืออะไร (มีอะไรดีกว่า TIOBE บ้าง) [ปิด]


15

วิธีที่ดีที่สุดในการรับข้อมูลเกี่ยวกับความนิยมในภาษาคอมพิวเตอร์ที่ฉันรู้คือดัชนีของ TIOBE แต่ทุกคนรู้ว่า TIOBE นั้นมีข้อบกพร่องอย่างสิ้นหวัง (ถ้ามีคนให้ลิงค์เพื่อสนับสนุนสิ่งนี้ฉันจะเพิ่มที่นี่)

ดังนั้นจะมีข้อมูลเกี่ยวกับความนิยมภาษาการเขียนโปรแกรมที่ถือว่าโดยทั่วไปมีความหมาย? อีกตัวเลือกเดียวที่ฉันรู้คือดูแนวโน้มที่ Indeed.com ซึ่งมีข้อบกพร่องโดยเนื้อแท้อยู่บนพื้นฐานของการโพสต์งาน

มันไม่ใช่ว่าฉันจะตัดสินใจภาษาในอนาคตโดยใช้ดัชนีเพียงอย่างเดียว แต่มันอาจให้ความสมดุลที่เป็นประโยชน์กับมุมมองที่บิดเบือนโดยการพูดคุยกับเพื่อนและเพื่อนร่วมงาน

เพื่อแสดงความลำเอียงฉันจะชี้ให้เห็นว่าจากประสบการณ์ของคนที่ฉันรู้จักส่วนตัวภาษาเดียวที่ใช้อย่างมืออาชีพในวันนี้ (ตามลำดับความนิยม) คือ Java, C #, Groovy, JavaScript, Ruby, Objective C และ Perl (แม้ว่าจะเห็นได้ว่าในอดีตเคยมีการใช้ C, C ++ และ PHP)

ดังนั้นคำถามของฉันคือทุกคนทุบตี TIOBE แต่มีอะไรอีกบ้าง? ถ้าเป็นเช่นนั้นทุกคนสามารถอธิบายว่าเรารู้ว่าทางเลือกนั้นมีวิธีการที่ดีกว่าได้อย่างไร ขอบคุณ

คำตอบ:


14

ทางเลือกหนึ่งคือดูจำนวนคำถามสำหรับแต่ละแท็กภาษาการเขียนโปรแกรมใน StackOverflow

ฉันตั้งค่า Quick Query ให้ทำ: Post Counts By Tag

แปลกใจเนื่องจากธรรมชาติของชุมชนนั้น C # เป็นผู้นำที่สำคัญ

ของหลักสูตรนี้ยังมีอคติกับภาษาที่ใช้งานง่ายอาจมีคนถามคำถามน้อยลง


+1 หน้าเว็บที่ดีและให้ข้อเสียของวิธีการได้เป็นอย่างดี ...
โกง

10
ดังนั้นเริ่มต้นจากการได้รับการเลื่อนตำแหน่งโดยบล็อกของเจฟฟ์และโจเอลและทำให้ได้รับอคติ. NET ที่แข็งแกร่ง สิ่งนี้มีอิทธิพลต่อชุมชนที่ตามมาของมันหรือไม่ ยกตัวอย่างเช่นมีคน C ++ มากมายที่นั่น แต่นั่นสะท้อนถึงจำนวนจริงหรือไม่?
David Thornley

นั่นเป็นเหตุผลที่ฉันพูดว่า "เนื่องจากธรรมชาติของชุมชนนั้น C # มีความเป็นผู้นำมาก"
JohnFx

10
จำนวนคำถามเกี่ยวกับภาษาที่เฉพาะเจาะจงใน SO เป็นตัวชี้วัดความนิยมหรือการวัดความทื่อหรือไม่?
Robert Harvey

1
"แน่นอนว่านี่เป็นภาษาที่มีอคติต่อภาษาที่ใช้งานง่ายเพราะอาจมีคนถามคำถามน้อยลง": การสังเกตที่ยอดเยี่ยม! +1
Giorgio

6

อย่างที่ฉันแสดงความคิดเห็นก่อนหน้านี้ :

"แต่ไม่มีแหล่งข้อมูลที่ดีกว่าในการวัดความนิยมทางภาษา" - นั่นเป็นเพราะไม่จำเป็นต้องมี ไม่มีใครที่มีความสำคัญต่อการจัดอันดับตราบใดที่ภาษาของคุณยังมีชีวิตอยู่และทำในสิ่งที่คุณต้องการคุณไม่จำเป็นต้องกังวลเกี่ยวกับการจัดอันดับโดยพลการโง่ ๆ


มีสาเหตุหลายประการที่ข้อมูลดังกล่าวมีประโยชน์ แต่อาจเป็นเพราะ TIOBE นั้นดีพอสำหรับเหตุผลเหล่านั้น
Eric Wilson

หากคุณต้องการระบุเหตุผลเหล่านั้นฉันแน่ใจว่าตัวเองและคนอื่น ๆ สามารถพิสูจน์ได้ว่าพวกเขาไม่สมเหตุสมผลและ / หรือ TIOBE ไม่ได้กล่าวถึงพวกเขา
Peter Boughton

มันไม่สมเหตุสมผลหรือไม่ที่จะสงสัยว่าถ้าพูดว่าความสนใจในจาวาคือการฝึกฝนก่อนพูดการสอนจาวาแก่โปรแกรมเมอร์รุ่นอายุ 14 ปี? ดัชนีที่ดีจะไม่ตอบคำถาม แต่จะบอกว่าข้อมูลที่ดีจะไม่มีประโยชน์ในการตัดสินใจใด ๆ
Eric Wilson

4
อย่าสอน Java ให้โปรแกรมเมอร์โปรแกรมเมอร์รุ่นอายุ 14 ปี สอนการเขียนโปรแกรมให้พวกเขา แน่นอนว่าเริ่มต้นด้วย Java หากคุณต้องการ แต่ใช้เป็นเครื่องมือในการสอนทักษะที่ถ่ายโอนได้ มันไม่เหมาะสมที่จะรู้ว่าเพียงหนึ่งไวยากรณ์และกระบวนทัศน์และไม่เป็นอันตรายต่อการเรียนรู้ภาษาที่อาจปัจจุบันได้รับความนิยมน้อยลง (เช่น Obj-C มีขนาดใหญ่แค่ไหนก่อนที่ iPhone SDK จะมาถึง)
Peter Boughton

1
เริ่มต้นด้วยภาษาเกือบทุกภาษาด้วยล่ามแบบโต้ตอบ อย่าเริ่มต้นด้วย Java หรือภาษาใด ๆ ที่ต้องการขั้นตอนการรวบรวมแยกต่างหาก
วินไคลน์

5

ต้องการโฆษณา - แม้ว่าพวกเขาอาจจะไม่ได้ดีที่สุดสำหรับประชาคมระหว่างประเทศ แต่พวกเขาก็มักจะเป็นตัวชี้วัดที่ดีมากของพื้นที่ท้องถิ่นที่คุณทำงานอยู่ ถ้าคุณก็เริ่มเห็นของโฆษณาที่มองหานักพัฒนาที่รู้ภาษาxเมื่อมีการใช้เป็นโฆษณาที่กำลังมองหานักพัฒนาที่รู้ภาษาYและแนวโน้มเหล่านี้ยังคงมีอยู่เป็นเวลาหลายเดือนก็สามารถบ่งบอกถึงการเปลี่ยนแปลงในความนิยมในพื้นที่ของคุณ


1
ปัญหานี้คือต้องการโฆษณาเป็นตัวบ่งชี้ที่ล่าช้าในขณะที่ OP ดูเหมือนว่าต้องการตัวบ่งชี้ที่นำ
dsimcha

3
Indeed.com มีเครื่องมือที่ดีสำหรับการวิจัยประเภทนี้ ( absolute.com/… )
JohnFx

แน่นอนฉันพูดถึงแน่นอน.com
Eric Wilson

2
นี่ไม่ใช่อุปสงค์และอุปทานนี่คือความต้องการเท่านั้น
jk

3

ค่อนข้างมากด้วยเหตุผลเดียวกับที่คุณมีปัญหาอธิบายไว้ที่นี่: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/คุณจะ การมีปัญหาที่คล้ายกันกับการจัดลำดับ "หลอกว่าเป็นที่นิยมในกลุ่มประชากรจำนวนมาก"

หน่วยที่จัดส่งไม่สามารถนำมาเปรียบเทียบกับหน่วยที่ดาวน์โหลด

นำตัวเลขที่ใช้งานมาจากเว็บไซต์หรือภาษาซอฟต์แวร์เชิงพาณิชย์ที่ใช้ในการวิจัยหรือคณิตศาสตร์เนื่องจากสิ่งนั้นไม่ถูกเปิดเผย

การทำสิ่งใดก็ตามที่มีแนวโน้มหรือการวิเคราะห์คำหลักนั้นมีแนวโน้มว่าจะอินเทรนด์หรือนับเป็น buzzword

หากคุณไม่มีพื้นที่เป้าหมายในใจมันจะเป็นการยากที่จะแนะนำสิ่งที่จะดีกว่า ฉันเดาตามภาษาที่คุณพูดถึงคุณอาจสนใจในด้านอินเทรนด์มากขึ้น แต่ตามคำตอบทั่วไปสิ่งนี้ไม่ดีเนื่องจากอาจมีคนจำนวนหนึ่งที่สนใจในด้านระยะเทอม


3

วิธีเดียวที่ฉันเห็นคือการสำรวจทั่วไปของประชากร บางอย่างเช่นแบบสำรวจทางโทรศัพท์ที่ใช้โดยหน่วยเลือกตั้งทางการเมือง คุณอาจต้องโทรหาคนสุ่ม 100,000 คนเพื่อเข้าถึงคนจำนวนมากพอที่รายงานตัวเองว่าเป็นโปรแกรมเมอร์เพื่อให้ผลลัพธ์ถูกต้อง จากนั้นถามพวกเขาว่าพวกเขาใช้อะไร

เหตุผลที่คุณต้องทำคือทุกครั้งตัวบ่งชี้ออนไลน์ตัวเลือกได้เองและไม่ถูกต้อง Tiobe, การค้นหาของ Google, ดังนั้นโพสต์, อะไรก็ตาม คุณไม่สามารถดูการเข้าร่วม coference หรือการสมัครสมาชิกนิตยสาร

หากคุณต้องการสถิติการใช้งานจริงคุณต้องสำรวจประชากรทั่วไป


1

แนวโน้มของ Google เป็นอีกสิ่งหนึ่งที่คุณสามารถใช้ได้

ไม่มีคำตอบหรือแหล่งข้อมูลที่ถูกต้อง 100% ในพื้นที่นี้ สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือรวบรวมข้อมูลจากแหล่งต่าง ๆ และหาข้อสรุปที่แม่นยำที่สุดเท่าที่จะเป็นไปได้


1

มันน่าสนใจที่จะสำรวจแหล่งเก็บข้อมูลรหัสโอเพ่นซอร์สที่สำคัญและวัดจำนวนบรรทัดใหม่ของรหัสในแต่ละภาษาที่กำหนดไว้ในแต่ละสัปดาห์ ไม่แน่ใจว่าตัวเลขจริงจะบอกอะไรคุณ แต่แนวโน้มเมื่อเวลาผ่านไปอาจเปิดเผยได้มาก

ฉันชอบสิ่งนี้เป็นตัวชี้วัดที่เกี่ยวข้องกับการทำงานจริงมากขึ้นในภาษามากกว่าการสับสนของผู้คนโดยสิ่งใหม่ ๆ (ซึ่งเป็นสิ่งที่อัตราการค้นหา / คำถามเกี่ยวกับการค้นหา / คำถามของ google / SO นั้นได้รับอิทธิพลอย่างมากจาก ฉันคิด).

แน่นอนว่ามีปัญหาทุกอย่างเกี่ยวกับตัวชี้วัดที่ฉันเสนอเช่นกัน FOSS- โลกเป็นส่วนหนึ่งของโลกแห่งความเป็นจริงบางภาษาโน้มเอียงไปสู่แหล่งเก็บข้อมูลเฉพาะ (ซึ่งคุณอาจพลาด) บางภาษามีประสิทธิภาพมากขึ้นและปัญหาอื่น ๆ ทั้งหมดที่เกี่ยวข้องกับตัวชี้วัด LOC อาจเป็นเพียง "จำนวนการกระทำ" ในแต่ละภาษาจะมีประโยชน์มากกว่า

ใครรู้ว่าสถิติดังกล่าวสามารถใช้ได้ทุกที่วันนี้ ดูเหมือนว่าสิ่งที่ Ohloh / Koders / Krugle น่าจะทำได้


1

นี่คือผู้ชายคนหนึ่งที่ได้ศึกษาความสัมพันธ์ระหว่าง number-of-code-repos-on-github.com กับ # ของโพสต์ที่ติดแท็กด้วย "ภาษา" ใน stackoverflow.com ข้อมูลจากปี 2010 ทุกเพศทุกวัยที่ผ่านมา เธรดยาวแสดงความคิดเห็น

http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/

ต่อไปนี้เป็นแหล่งข้อมูลอื่นจาก บริษัท นายหน้างาน url ยอมรับพารามิเตอร์ "q" ในสตริงการสืบค้นส่งออกไดอะแกรม

http://www.indeed.com/jobtrends

http://www.indeed.com/jobtrends?q=perl


-1

ในขณะที่ทุกคนพูดว่า "มันเป็นเรื่องที่พลาดไม่ได้" และนอกจากคุณจะไม่ได้เห็นแนวโน้มในอนาคตจากสิ่งนี้แม้แต่ในผลการค้นหาคุณจะได้รับผู้คนจำนวนมากพูดถึงว่าทำไม "ภาษาเก่า" จึงดีกว่า "ภาษาที่ได้รับความนิยมใหม่" และทำให้เอียงผลลัพธ์

ไซต์ 'ความนิยมทางภาษา' พยายามรวบรวมการค้นหาภาษาจากเว็บไซต์ต่าง ๆ เพื่อให้ภาพรวมมี แต่พวกเขาเท่านั้นที่อธิบายว่าภาษาใดที่เป็นที่นิยมในเว็บไซต์ใดและให้คุณตัดสินใจว่าเหมาะสมเช่น Google ชอบ C Yahoo ชอบ C ++ ในขณะที่ Craigslist ชอบ PHP (ไซต์ตั้งแต่หมดอายุ)

ฉันคิดว่าสิ่งที่ดีที่สุดคือตลาดงาน - ซึ่งภาษาที่แสดงมากที่สุดในโฆษณางานเป็นตัวบ่งชี้ที่ยุติธรรมพร้อมกับเงินเดือนที่เสนอสำหรับพวกเขา


เว็บไซต์ภาษาที่นิยม (langpop.com) พยายามติดตั้งส่วนขยายในเบราว์เซอร์ของคุณ อย่าไปตามลิงค์หรือทำด้วยความระมัดระวัง
Ellen Spertus

@EllenSpertus เป็นลิงค์ตายเมื่อฉันลอง อัปเดตทันที
gbjbaanb
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.