ทำไมบางคนถึงพัฒนาภาษาของตัวเองเพื่อใช้ภายใน บริษัท นั้นเมื่อคุณมีภาษาอื่น ๆ ของ XY ที่สามารถช่วยคุณในการใช้ห้องสมุด, ตรรกะและอื่น ๆ ได้? มันง่ายกว่าหรือไม่ที่จะไปกับสิ่งอื่น ๆ แทนที่จะพัฒนาภาษาของคุณเอง?
ทำไมบางคนถึงพัฒนาภาษาของตัวเองเพื่อใช้ภายใน บริษัท นั้นเมื่อคุณมีภาษาอื่น ๆ ของ XY ที่สามารถช่วยคุณในการใช้ห้องสมุด, ตรรกะและอื่น ๆ ได้? มันง่ายกว่าหรือไม่ที่จะไปกับสิ่งอื่น ๆ แทนที่จะพัฒนาภาษาของคุณเอง?
คำตอบ:
มันง่ายกว่าที่จะเข้าใจเมื่อคุณรู้ว่ามันมักจะเป็นผลมาจากกระบวนการที่ยาวนานและไม่ใช่ใครบางคนเพียงแค่พูดว่า "เราต้องการสร้างภาษาใหม่"
โดยปกติแล้วจะเริ่มต้นด้วยแนวคิดที่ว่าปัญหาบางอย่างสามารถแก้ไขได้โดยใช้ภาษาเฉพาะโดเมนอย่างง่าย ความตั้งใจมักจะไม่ใช่ผู้เชี่ยวชาญที่ใช้ภาษานี้ดังนั้นจึงเป็นเรื่องง่ายและมักจะขาดคุณสมบัติเช่นการพิมพ์ที่แข็งแกร่งและโมดูล
จนถึงตอนนี้ดีมาก แต่จากนั้นผู้คนเริ่มตีปัญหาที่ไม่สามารถแก้ไขได้ด้วยภาษา ดังนั้นจึงมีการเพิ่ม "ฟีเจอร์" ใหม่ ๆ เพื่อแก้ไขปัญหาเหล่านั้น และเนื่องจากกระบวนการทำงานช้าและมีคุณสมบัติไม่บ่อยนักไม่มีแรงจูงใจในการออกแบบคุณสมบัติใหม่เหล่านั้นอย่างเหมาะสมตราบใดที่ปัญหาได้รับการแก้ไข
เมื่อเวลาผ่านไปภาษาใหม่จะได้รับคุณสมบัติที่เปลี่ยนจากภาษาโดเมนเฉพาะอย่างง่ายไปเป็นภาษาวัตถุประสงค์ "ทั่วไป" ที่ซับซ้อนซึ่งมักจะมีความขัดแย้งสับสนความหมายและกฎไวยากรณ์ที่ยากต่อการติดตาม
และเมื่อถึงเวลาที่ผู้คนตระหนักว่าพวกเขาสร้างสัตว์ร้ายขนาดใหญ่มันก็สายเกินไปแล้วที่จะฆ่ามันและแทนที่มันด้วยภาษาที่ออกแบบมาอย่างเหมาะสม
มีไม่กี่ภาษาที่พัฒนาเช่นนี้ที่จะไม่ผูกพันกับ บริษัท เฉพาะไอ JavaScript ไอ PHP ไอ
มันง่ายกว่าหรือไม่ที่จะไปกับสิ่งอื่น ๆ แทนที่จะพัฒนาภาษาของคุณเอง?
แน่นอน แต่เพื่อให้เป็นไปอย่างไร้สาระพวกเราทุกคนจะเขียนทุกอย่างในที่ประชุมหากไม่มีใครพัฒนาภาษาใหม่
บางครั้งไม่มีการไหล มีภาษาใหม่เกิดขึ้นเพราะบางคนมีอาการคันที่จะเกาไม่ว่าจะเป็นงานอดิเรกภาษาที่เพียงแค่ต้องการคิดค้นสิ่งใหม่หรือ บริษัท ที่มีความต้องการ unmet โดยสิ่งที่มีอยู่แล้ว
นี่คือสิ่งที่เกิดขึ้นเมื่อ John Backus เสนอระบบการแปลสูตรทางคณิตศาสตร์ของ IBMในปี 1953 เขาต้องการวิธีที่ง่ายขึ้นสำหรับผู้ใช้ทางวิทยาศาสตร์ในการระบุสูตรทางคณิตศาสตร์มากกว่าการเขียนลงในชุดประกอบ ผลิตภัณฑ์ที่เป็นกรรมสิทธิ์นั้นกลายเป็นภาษาการเขียนโปรแกรมแรกที่ไม่ได้ประกอบและคุณรู้ว่ามันเป็น Fortran
ที่ซึ่ง Fortran เป็นคนแรกที่ไปเส้นทางนี้ Erlang ก็เป็นเด็กโปสเตอร์ อีริคสันต้องการปรับปรุงวิธีการพัฒนาซอฟแวร์สำหรับสวิตช์โทรศัพท์และคิดค้นภาษาสำหรับการสร้างต้นแบบด้วยคุณสมบัติเฉพาะตามที่พวกเขาต้องการ เมื่อฉันสำรวจมันครั้งแรก Takeaway ของฉันคือมันได้รับการพัฒนาโดยคนที่มีปัญหาจริงในการแก้ปัญหาที่จะไม่ได้รับการบริการอย่างดีจากภาษาอื่น ๆ ที่มีในปี 1986 Erlang ยังคงเป็นผลิตภัณฑ์ที่เป็นกรรมสิทธิ์ของคุณ เพื่อนร่วมงานพบจนกว่าจะมีที่มาเปิดมากกว่าหนึ่งทศวรรษต่อมาและตอนนี้มันเป็นภาษาหลัก
ทั้งโกและสกาล่าเป็นภาษาที่ค่อนข้างใหม่ในรูปแบบที่ยิ่งใหญ่และเป็นไปได้อย่างมากว่าภาษาที่ใช้ใน บริษัท ของเพื่อนร่วมงานของคุณจะมาก่อนทั้งคู่ สิ่งที่เขาต้องทำคือถามเกี่ยวกับประวัติของมันทำไมมันถึงมีอยู่และทำไมมันถึงยังคงถูกนำมาใช้
ฉันใช้เวลาหนึ่งทศวรรษระหว่างปี 2003 และ 2013 ที่ทำงานให้กับ บริษัท ที่ใช้สภาพแวดล้อมเฉพาะทางอุตสาหกรรมอย่างกว้างขวางซึ่งรวมถึงภาษาของตัวเองซึ่งมีรากฐานมาตั้งแต่ปลายปี 1970 ในขณะที่บางภาษาที่ใหม่กว่าอาจมีการทดแทนที่เหมาะสมกว่า (และตะขอสำหรับพวกเขาได้รับการต่อกิ่งเมื่อเวลาผ่านไป) อุตสาหกรรมที่มีการลงทุนขนาดใหญ่พอในนั้นและรหัสขนาดใหญ่ของการพิสูจน์ที่ดีที่มีเพียงกรณีธุรกิจที่ไม่ดี สำหรับการเปลี่ยนไปใช้อย่างอื่น
ฉันเคยเห็นสิ่งนี้มาก่อน มันไม่เคยทำงานได้ดี บางคนมีความซับซ้อน "ไม่ได้คิดค้นที่นี่" มันมักจะทำให้ บริษัท วิ่งวนรอบพวงมาลัย
ลองคิดดู ภาษาใหม่นี้อาจหยุดพักตลอดเวลา ระหว่างตัวแยกวิเคราะห์คอมไพเลอร์ VM ตัวเชื่อมโยงอะไรก็ตาม ... ขณะนี้มีข้อบกพร่องนับพันที่ผู้คนจะเสียเวลาหลายชั่วโมงในการดีบักปัญหาแบบสุ่มด้วย ทั้งหมดสำหรับสิ่งที่พวกเขาคิดว่าพวกเขาต้องการที่ภาษาอื่นไม่มี
C / C ++ ใช้สำหรับเขียนระบบปฏิบัติการเช่นเดียวกับพวกเขาทั้งหมด และยังมีคนคิดว่าพวกเขาต้องการอะไรที่แตกต่าง