ฉันคิดว่าปัญหากับ OCaml คือมันไม่มีประโยชน์ "นอกกรอบ" เกินไป เหตุผลในที่สุดว่าทำไมคนใช้ภาษาเพราะมันมีห้องสมุดที่พวกเขาต้องการ แม้ว่าจะไม่มีอะไร "นอกกรอบ" แต่ก็ไม่มีใครเข้าร่วมโครงการมากพอที่จะรู้ว่าพวกเขาจำเป็นต้องเขียนห้องสมุด ผลลัพธ์เป็นภาษาที่ไม่มีไลบรารี่ซึ่งทำให้ยากที่จะเขียน "แอพของจริง"
ฉันคิดว่านี่เป็นสิ่งที่ OCaml ทนทุกข์ทรมาน - ไม่มีใครมารบกวนเพื่อเริ่มต้น "โครงการจริง" เพราะมันมีภาษาโปรแกรม ใช่ฉันสามารถเพิ่มสองและสองและพิมพ์ผลลัพธ์ ผลที่ได้คือชุดของห้องสมุดที่ส่วนใหญ่เป็นนักวิชาการทิ้ง (ผู้เขียนได้รับปริญญาเอกของเขาและย้ายไป) ซึ่งไม่เป็นประโยชน์สำหรับการฝึกโปรแกรมเมอร์
(ฉันรู้ว่ามีการทำงานภายใต้วิธีการเปลี่ยนแปลงกับโครงการเช่น "รวมแบตเตอรี่" กลับมาที่นี่อีก 5 ปีและบางที OCaml อาจได้รับความนิยมมากขึ้น)
มีข้อยกเว้นบางประการสำหรับกฎนี้ Java เริ่มต้นโดยไม่มีห้องสมุด แต่ซอนจ่ายให้ผู้คนเขียนพวกเขาทั้งหมดในบ้านและจากนั้นพวกเขาก็ออกวางตลาดนรก การรับรอง Java, ฮาร์ดแวร์เฉพาะ Java, หนังสือ Java, ชั้นเรียน Java, และจากนั้นก็โน้มน้าวใจให้มหาวิทยาลัยส่วนใหญ่สอนเฉพาะแม้ว่ามันจะไม่ได้เป็นภาษาที่ดีสำหรับการเรียนรู้การเขียนโปรแกรม
ผลที่ได้คือความนิยม เงินสามารถแก้ไขปัญหาได้มากมาย
ในเวทีภาษาที่ใช้งานได้เราจะเห็นได้ว่า Haskell กำลังเป็นที่นิยม ฉันคิดว่าความนิยมส่วนใหญ่เกิดจากคนอย่างดอนที่เขียนห้องสมุดที่มีประโยชน์และไม่เคยหยุดการตลาดด้วยคำวิจารณ์ ทุกวันคุณจะเห็นบทความ Haskell เกี่ยวกับ Programming Reddit สิ่งนี้ทำให้มันติดอยู่ในใจของประชาชนจนกว่าพวกเขาจะตัดสินใจในที่สุด "ฉันจะลอง Haskell" เมื่อทำเช่นนั้นพวกเขาจะเห็นสิ่งที่มีประโยชน์เช่นกรอบงานเว็บฐานข้อมูลวัตถุไลบรารี OpenGL และห้องสมุดประมวลผล XML ซึ่งหมายความว่าพวกเขาสามารถทำสิ่งที่มีประโยชน์จริง ๆ "Right Now" ดังนั้นระหว่างศักยภาพในการผลิตและการได้ยินเกี่ยวกับเรื่องนี้ Haskell ได้รับความนิยมอย่างมาก
CL มีห้องสมุดเดียวกันกับ Haskell หลายแห่งและเกือบจะเร็ว แต่ไม่มีใครพูดถึงมันดังนั้นจึงทำให้ "รู้สึกว่าตาย" แน่นอน #lisp เงียบกว่า #haskell มาก แต่ Lisp ยังคงเป็นภาษาที่ให้ผลผลิตอย่างมากพร้อมกับห้องสมุดจำนวนมาก ไม่มีภาษาอื่นที่มี SLIME แต่การตลาดมีความสำคัญมากและ Haskell ทำได้ดีกว่า Lisp หรือ OCaml (และแข่งขันเพื่อฐานผู้ใช้เดียวกัน)
ในที่สุดบางคนจะไม่มีวัน "รับ" การเขียนโปรแกรมดังนั้นการทำลายแบบจำลองทางจิต (ตัวแปรคือกล่องที่มีค่ารหัสดำเนินการจากบนลงล่าง) จะทำให้แน่ใจว่าพวกเขาไม่ได้ใช้ภาษาของคุณ โปรแกรมเมอร์ประเภทนี้คือจำนวนเปอร์เซ็นต์ที่มากของประชากรการเขียนโปรแกรมดังนั้นสิ่งนี้จึง จำกัด ฐานผู้ใช้ที่เป็นไปได้ของภาษานามธรรมเช่น Lisp, Haskell และ OCaml