ทำไมมีภาษาการเขียนโปรแกรมมากมาย ทำไมภาษาใหม่ถึงยังคงถูกสร้างขึ้นมา? [ปิด]


51

ทำไมมีภาษาการเขียนโปรแกรมมากมาย

และอะไรที่กระตุ้นให้บางคนสร้างภาษาการเขียนโปรแกรมทั้งๆที่มีภาษาอื่นอยู่แล้ว?


วิดีโอที่ให้ความบันเทิงในหัวข้อนี้คือ "ภาษาการเขียนโปรแกรมสุดท้าย" โดยลุง Bob Martin ( skillsmatter.com/podcast/agile-testing/bobs-last-language )
mikera

เพราะโปรแกรมเมอร์ชอบเครื่องมือ
haylem

1
คำถามเดียวกันในสาขาวิชาวิทยาการคอมพิวเตอร์
Kaveh


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

คำตอบ:


36

ภาษาการเขียนโปรแกรมวิวัฒนาการ

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

นอกจากนี้ยังมีปัญหาใหม่ที่ต้องแก้ไขเช่นการเพิ่มขึ้นของ CPU แบบมัลติคอร์ วิธีแก้ปัญหาที่พบบ่อยที่สุดคือเธรด แต่ภาษาการเขียนโปรแกรมบางภาษาพยายามที่จะแก้ไขปัญหาที่เกิดขึ้นพร้อมกันในรูปแบบที่แตกต่างกันเช่นโมเดล Actor ดูErlang - ซอฟต์แวร์สำหรับโลกที่เกิดขึ้นพร้อมกัน


10
สิ่งที่น่าสนใจเกี่ยวกับแอร์ลังคือมันเป็น "การสร้างห้องสะอาด" ของโมเดลนักแสดง เมื่ออาร์มสตรองและเพื่อนพัฒนาเออร์แลงพวกเขาไม่รู้เกี่ยวกับงานของเฮวิตต์เอตอัลในโมเดลนักแสดง!
Frank Shearar

@ Frank: ที่น่าสนใจ ฉันไม่รู้ว่าขอบคุณ
Jonas

2
+1 สำหรับวิวัฒนาการ คำถามที่คล้ายคลึงกันอาจเป็น "ทำไมมีสัตว์และพืชหลายสายพันธุ์ทำไมยังมีสัตว์ใหม่ปรากฏขึ้น"
Gyan aka Gary Buyn

1
@GaryBuyn นั่นเป็นเพียง "+1 สำหรับวิวัฒนาการ" หากคุณสมัครรับข้อมูลมุมมองนั้น สำหรับหลาย ๆ คนการเปรียบเทียบสัตว์นั้นค่อนข้างไกลไปหน่อย
Darknight

@GaryBuyn, Uhm ... มันค่อนข้างคล้ายกับ "แฮมเล็ต" คือ "หนูแฮมสเตอร์"
Pacerier

22

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


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

16
ฉันคิดว่าทั้ง C # และ Java ได้รับการแนะนำอย่างน้อยในส่วนของความซับซ้อนของ C ++ และตอนนี้ถ้าคุณดูทั้งสองภาษาเหล่านั้นในหลาย ๆ เวอร์ชันในภายหลังไวยากรณ์และชุดคุณลักษณะของพวกเขาจะซับซ้อนพอที่ผู้คนจะเริ่มพูดถึงพวกเขาว่าเป็น "อยู่เหนือเนินเขา" เพียงฉันใช้กับมัน แต่ฉันไม่สามารถพิสูจน์อะไรได้ :-)
RationalGeek

2
จุดดี แต่ฉันคิดว่าความจริงอีกอย่างคือเล่นกับ C # - เป็นผลิตภัณฑ์เชิงพาณิชย์ที่ไม่มีเหตุผลการกุศลและเพื่อการยอมรับของตลาด / การรักษาลูกค้าของคุณจะต้อง "ดีขึ้น" สำหรับรุ่นใหม่และอื่น ๆ
gf

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

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

11

ด้วยเหตุผลเดียวกับที่มีค้อนไขควงมือแฮนด์ฟอร์ดแจ็คแฮมเมอร์ชะแลงและเครื่องมืออื่น ๆ : ภาษาทุกภาษาไม่เหมาะสำหรับทุกงาน บางภาษามีการกำหนดเป้าหมายที่โดเมนปัญหาเฉพาะ: R เหมาะสำหรับการวิเคราะห์ทางสถิติโดยเฉพาะ C เหมาะอย่างยิ่งสำหรับการเขียนเคอร์เนลระบบปฏิบัติการ Haskell เหมาะอย่างยิ่งสำหรับการคำนวณทางคณิตศาสตร์หรือทางการเงิน Erlang เหมาะสำหรับการเขียนโปรแกรมพร้อมกันเป็นต้น

ด้วยเหตุผลเดียวกันกับที่เสื้อมีสีต่างกัน: บางคนชอบ "สไตล์" ของภาษาหนึ่งมากกว่าอีกภาษาหนึ่ง

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


ไม่เพียง แต่มีเครื่องมือก่อสร้างเท่านั้น แต่ยังมีค้อนและค้อนชนิดต่าง ๆ ที่มีลักษณะคล้ายกัน แต่มีปัจจัยการออกแบบเฉพาะที่ทำให้พวกเขาดีขึ้นสำหรับงานหรือผู้ใช้ที่แตกต่างกัน
Barry Brown

+1 เพื่อความเหมาะสมสำหรับโดเมนที่มีปัญหา นักวิชาการที่ศึกษาเครื่องมือโดยทั่วไปกล่าวว่าเครื่องมือทั่วไปมีประสิทธิภาพน้อยกว่าเครื่องมือเฉพาะสำหรับงานเฉพาะ คิดเกี่ยวกับประแจที่สามารถปรับได้กับประแจที่มีขนาดคงที่
MarkJ

8

เพราะพวกเขาทั้งหมดดูด (ทางเดียวหรืออื่น ๆ )

ตอนนี้เราได้สร้างประมาณ 5000 ภาษาเพื่ออธิบายปัญหาที่เป็นธรรมชาติและไม่มีโปรแกรมใดที่สามารถเขียนโปรแกรมได้ (ตัวอย่างเช่น "ภาษาอังกฤษ")

จนกว่าจะมีคนหาวิธีในการสร้างภาษาการเขียนโปรแกรมที่สามารถแสดงสิ่งที่คุณสามารถแสดงในประโยคในภาษาธรรมชาติพวกเขาจะยังคงมา


15
ถึงอย่างนั้นพวกเขาก็จะมาต่อ ภาษาตายเท่านั้นที่เขียนด้วยหินให้อภัยผู้เล่น มีเหตุผลในการใช้ภาษาที่เปลี่ยนแปลงอยู่ตลอดเวลา
R. Martinho Fernandes

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

5
ตกลง มันยากที่จะแสดงว่า "ฉันหิว" โดยใช้คณิตศาสตร์บริสุทธิ์
Aaron Digulla

1
@AaronDigulla: หิว = ผลรวม (ท้อง / อาหาร) แน่นอน :)
gbjbaanb

@AaronDigulla เป็นตัวอย่างที่ดีบ่อยครั้งที่คุณต้องการแสดงการคำนวณ ดังนั้นเราจึงใช้สถานการณ์ที่กำหนดเช่น: ฉันหิวตอนนี้กิน -> สบายดีไม่กิน -> อดอยาก เพื่อสร้างระบบที่สามารถต่อรองหรือขยายบริบทได้ฉันคิดว่านั่นคือเป้าหมายของ AI ภาษาโปรแกรมปกติเท่านั้นแสดงสิ่งที่ผู้คนบอกพวกเขาว่าพวกเขาควรทำอย่างไรและโดยปกติแล้วจะค่อนข้างเฉพาะเจาะจงกว่าทั่วไป แต่เนื่องจากปัญหาส่วนใหญ่เป็นปัญหาเฉพาะของตนเองคุณอาจเห็นปัญหาที่นี่
AndreasScheinert

6

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

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


6

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


3
มีกรณีเอกสารของภาษาที่ถูกออกแบบมาเพื่อหลีกเลี่ยงรหัสดั้งเดิมหรือไม่? การอ้างสิทธิ์นี้ไม่น่าเป็นไปได้อย่างมาก ฉันสามารถดูกรณีที่คุณต้องการเริ่มต้นใหม่ (.net มาถึงใจ) แต่ก็ไม่มากนักที่จะหลีกเลี่ยงรหัสดั้งเดิม แต่เพื่อให้เปิดใช้งานรหัสในอนาคตได้ดียิ่งขึ้น
Bryan Oakley

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

@BryanOakley - เดิมที. NET มีวัตถุประสงค์เพื่อให้ความเข้ากันได้แบบย้อนหลังกับ VB6 แต่พวกเขาคิดว่ามันเป็นปัญหาที่ยากเกินไป .NET ยังคงมี WRT Java / J ++ ดั้งเดิมที่มีอยู่มากมาย ฉันคิดว่า D เป็นตัวอย่างของภาษาที่ออกแบบมากับรหัสดั้งเดิม
gbjbaanb

4

เพราะมันสนุกที่จะสร้างภาษาใหม่แม้ว่าพวกเขาจะไม่ได้ใช้จริง

ภาษาโปรแกรมลึกลับ (บางครั้งย่อมาจาก esolang) เป็นภาษาโปรแกรมที่ออกแบบมาเพื่อทดสอบขอบเขตของการออกแบบภาษาโปรแกรมคอมพิวเตอร์เป็นหลักฐานของแนวคิดหรือเป็นเรื่องตลก


1
สำหรับผู้ที่ไม่ได้ลงไปในเชิงอรรถในบทความวิกิพีเดียภาษาลับวิกินั้นสนุกมาก: esoteric.voxelperfect.net/wiki/Main_Page
David Winslow

คุณจะอธิบายเพิ่มเติมเกี่ยวกับสิ่งที่มันทำและทำไมคุณถึงแนะนำว่าเป็นการตอบคำถามที่ถาม "คำตอบ Link-เท่านั้น"ยังไม่ได้รับการต้อนรับที่กองแลกเปลี่ยน
ริ้น

1
@gnat ฉันคิดว่าข้อความต้นฉบับไม่ใช่ลิงก์เพียงคำตอบเท่านั้นมันจะเป็นคำตอบที่สั้น แต่สมบูรณ์แบบหากไม่มีลิงก์ แต่เนื่องจากลิงค์นั้นเพิ่มรสชาติฉันได้รวมข้อความสั้น ๆ ไว้
jk

3

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

แน่นอนว่าพวกเราส่วนใหญ่มีความคิดที่ดีน้อยกว่าที่เราคิดไว้ดังนั้นพวกเขามักจะจบลงด้วยความผิดหวังหรือไม่ได้รับความรักจากใครอื่นนอกจากนักออกแบบดั้งเดิม

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


2

คำตอบสั้น ๆ อย่างรวดเร็ว

การคิดค้นวงล้อ ... แนวโน้มปัจจุบันคืออะไร ...

คำตอบยาวน่าเบื่อ

หลายคนลืมว่า "อีกภาษาใหม่ที่คล้ายกันสำหรับโปรแกรมเมอร์เก่า" คือ "ภาษาใหม่ธรรมดาสำหรับโปรแกรมเมอร์ใหม่"

ฉันหมายความว่าอย่างไร

สำหรับโปรแกรมเมอร์ "หลายปี" Java หรือ C # อาจเป็นภาษาโปรแกรมเพิ่มเติมสำหรับ Cobol ที่มีอยู่ (OO / ขั้นตอน) พื้นฐาน, C / C ++ ในขณะที่สำหรับโปรแกรมเมอร์ "ใหม่", Java หรือ C # เป็นภาษาใหม่ในขณะที่ Cobol (OO / ขั้นตอน) พื้นฐาน, C / C ++ ไม่มีอยู่สำหรับพวกเขาดังนั้นการปรับแต่งวงล้อให้กลายเป็นเรื่องปกติ ...

และหากมีกระแสความนิยมด้านเทคโนโลยีใหม่ ๆ ผู้คนอาจสร้างภาษาการเขียนโปรแกรมใหม่ตามแนวโน้มนั้นเช่น ecmascript / javascript สำหรับเว็บและการเขียนโปรแกรมเชิงหน้าที่ ...

ไชโย


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

1

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

ในกรณีของฉันฉันมักจะสร้างคอมไพเลอร์ขนาดเล็ก (ด้วยภาษาการเขียนโปรแกรมใหม่) ด้วยเหตุผลพิเศษ ถ้าฉันแบ่งเกมออกเป็นหลายส่วนและฉันเชื่อว่าภาษาการเขียนโปรแกรมที่สร้างขึ้นมาเพื่อการพัฒนาเกมโดยเฉพาะจะส่งผลให้โค้ดเร็วขึ้นและพัฒนาได้เร็วขึ้นดังนั้นฉันจึงสร้างมันขึ้นมา และในที่สุดก็ปรากฎว่าสามารถใช้สำหรับการเขียนโปรแกรมวัตถุประสงค์ทั่วไปอื่น ๆ

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

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


0

ด้วยเหตุผลเดียวกันมี <สิ่งใด> จำนวนมากและเราสร้าง <สิ่งใดก็ตาม> ใหม่ต่อไป

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

มันเป็นสิ่งที่ดีมากและเป็นประโยชน์สำหรับทุกคนในความคิดของฉัน


กลุ่มอาการของโรค NIH = ไม่ได้มีประโยชน์สำหรับอุตสาหกรรมไอทีเลย
gbjbaanb

0

มหาวิทยาลัยมีส่วนร่วมในการเขียนโปรแกรมภาษาจำนวนมากดังนั้น บริษัท ขนาดใหญ่เช่น Ericsson (Erlang = ภาษาอีริคสัน), Bell Labs (ภาษา B และ C), Google (ใช้ภาษาเมื่อสองสามเดือนก่อน) หลายคนที่ถูกเขียนเป็นส่วนหนึ่งของการวิจัยมหาวิทยาลัยไม่ได้ใช้มากนัก มีข้อยกเว้นที่น่าสังเกตอยู่สองสามข้อ ฉันคิดว่าการเขียนภาษา / คอมไพเลอร์ของคุณเองเป็นหัวข้อที่ดีสำหรับวิทยานิพนธ์ระดับปริญญาเอกของผู้ที่เรียนทฤษฎี CS หรือสาขาวิชาที่เกี่ยวข้อง ฉันคิดว่า Python เป็นหนึ่งในภาษาแรก ๆ ที่เกิดจากความร่วมมือออนไลน์ของโปรแกรมเมอร์หลาย ๆ คนในแนวคิดเดียว


python-history.blogspot.com/2009/01/…อธิบายการเกิดของ Python อย่างละเอียด
Andy Dent

0

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

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


-1

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

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


-1

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

การถามว่าทำไมมีหลายภาษาจึงเหมือนถามว่าทำไม C ++ 0x :)

ยิ่งคุณมีภาษามากเท่าไหร่คุณก็ยิ่งมีความเป็นตัวตนมากขึ้นเท่านั้นนี่เป็นความจริงทั้งในการเขียนโปรแกรมและภาษาธรรมชาติ!

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