เหตุใด C ถึงมีชัยเหนือปาสกาล [ปิด]


68

ความเข้าใจของฉันคือว่าในปี 1980 และบางทีในปี 1990 เช่นกันปาสคาลและ C ก็ค่อนข้างหัวต่อหัวเป็นภาษาที่ผลิต

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

ฉันสนใจในข้อเท็จจริงทางประวัติศาสตร์และการสังเกตการณ์อย่างใดอย่างหนึ่งสามารถสำรองข้อมูลมากกว่าชอบและไม่ชอบ


10
หากคุณมี บริษัท ล้มละลายเพียงแห่งเดียวที่สนับสนุนภาษาที่คุณใช้งานอยู่มันก็ไม่ได้ช่วยอะไรแน่นอน (ฉันกำลังพูดถึง pre-.Net Borland)
Let_Me_Be

48
คำตอบเดียว: Unix
SK-logic

4
ฮะ. คือCอะไร
Lieven Keersmaekers

8
ในที่สุดปาสกาลหายไปเพราะมันใช้สตริงที่ใช้ 1
Pieter B

7
@jk: ไม่ต้องพูดถึงว่าใน ISO Pascal สตริงอาจมีความยาวใด ๆแต่สตริงที่มีความยาวต่างกันจะมีประเภทที่แตกต่างกัน หากต้องการพิมพ์ใหญ่สตริงใด ๆ คุณต้องมีฟังก์ชัน 256 ฟังก์ชัน ในการผนวกสองสตริงสุ่มคุณต้องมีนับพัน!
MSalters

คำตอบ:


43

ปาสกาลสูญเสียการต่อสู้ส่วนใหญ่เนื่องจาก:

  • การใช้คำฟุ่มเฟื่อย ( if ... then begin ... end, var A: array[0..15] of Integer)
  • ภาษาที่เข้าใจยากร่วมกันและมาตรฐานอย่างเป็นทางการ
  • ส่วนขยายเชิงวัตถุน้อยกว่าที่น่าประทับใจ
  • ภาษาถิ่นที่ประสบความสำเร็จและใช้งานได้จริง - Turbo Pascal - ไม่เคยถูกนำไปใช้กับแพลตฟอร์มอื่น ๆ นอกจาก DOS / Windows พลัสบอร์แลนด์ไม่เคยเปิดแหล่งที่มาของคอมไพเลอร์
  • "ความหวังสุดท้าย" ของ Pascal - Delphi - ถูกวางตำแหน่งโดย Borland เป็นแพลตฟอร์มการพัฒนาฐานข้อมูลที่กำหนดเป้าหมายในสภาพแวดล้อมขององค์กร นี่เป็นการย้ายการตลาดที่โชคร้าย (ทำโดยคนการตลาดที่ฉันคิดว่า) เพราะวิศวกรสร้างสรรค์เกลียดทั้งฐานข้อมูลและสภาพแวดล้อมขององค์กร จากนั้นความล้มเหลวของ Delphi สำหรับ Linux, Kylix
  • Apple เปลี่ยนเป็น C และต่อมาเป็น Objective-C และทำให้ Pascal เป็นภาษา OS

19
แอปเปิ้ลเปลี่ยนเป็น Objective-C มานานหลังจากหยุดใช้ Pascal ระบบปฏิบัติการและห้องสมุด Macintosh ดั้งเดิมเขียนขึ้นโดยใช้ Pascal แต่ Apple เสนอการสนับสนุนที่ดีสำหรับ C ในไม่ช้าหลังจากการเปิดตัวของ Mac และเปลี่ยนไปใช้ C ในช่วงต้นยุค 90 Apple รับ Objective-C เมื่อได้รับ NeXT ซึ่งเกิดขึ้นหลังจากการกลับมาของ Steve Jobs ในช่วงปลายยุค 90
คาเลบ

36
ฉันไม่คิดว่าการใช้คำฟุ่มเฟือยเป็นข้อโต้แย้งที่เกี่ยวข้อง เนื่องจากโค้ดถูกอ่านมากกว่าการใช้คำฟุ่มเฟือยที่เขียนมีประโยชน์
โยฮันเนส

14
ทุกวันนี้การใช้คำฟุ่มเฟื่อยไม่ได้อะไรที่สนับสนุนในภาษา (python กับ perl)?
โกง

7
ฉันไม่คิดว่าการใช้คำฟุ่มเฟื่อยเป็นสาเหตุในทางตรงกันข้ามมันเป็นหนึ่งในจุดแข็งของปาสกาล

9
สิ่งนี้ไม่ถูกต้อง Turbo Pascal ประสบความสำเร็จอย่างกว้างขวาง ปัญหาสำคัญคือคุณสามารถใช้งานได้เฉพาะบน DOS / Windows

44

C คือฐานของ Unix ในยุค 80 และ 90 ยูนิกซ์ได้รับความสนใจมากขึ้นเรื่อย ๆ วันนี้รสชาติของ Unix บางอย่างอยู่ในสมาร์ทโฟนของคุณ


16
ไม่เพียง แต่ UNIX Windows และเมล็ดของมันถูกเขียนส่วนใหญ่เป็น C ไม่ต้องพูดถึง C ++ ที่กำลังมาแรงซึ่งต้องทำให้ C เป็นที่นิยมอย่างน้อยอีกสักหน่อย
Yam Marcovic

2
@ SK- ลอจิกมันออกมาในปี 1984 ฉันจะไม่บอกว่า C ได้ครองโลกไปแล้ว คุณมีสมอลทอล์คปาสคาลและคนอื่นใช้ทุกที่ (ไม่ต้องพูดถึงภาษาโคบอล)
Yam Marcovic

3
@Yam: Unix และ C แพร่กระจายอย่างกว้างขวางในยุค 80 แล้ว เมื่อฉันเรียนที่มหาวิทยาลัย (จุดเริ่มต้นของยุคเก้า), Unix และ C คือ "แพลตฟอร์ม" นักพัฒนาที่จริงจังทุกคนจะชอบทำงาน Unix ถูกใช้งานใน C ดังนั้นจะไม่มี Unix ที่ไม่มี C. Smalltalk, Pascal และ COBOL ไม่ได้มีบทบาทสำคัญเช่นนี้
Giorgio

2
@Giorgio อันที่จริงหลังจาก Dennis Ritche และ Brian Kernighan ทำให้ C เสถียรแล้วพวกเขาเขียน UNIX อีกครั้งใน C ดังนั้นจึงง่ายต่อการย้ายพอร์ตไปยังเครื่องประเภทอื่น
Yam Marcovic

2
@ Steve314 คะแนนดี อย่างไรก็ตามเท่าที่ฉันเห็นเมล็ดของ Windows รุ่นก่อนหน้านี้ได้รับการพัฒนาด้วย Assembler เช่นกัน ในแอสเซมบลีการเรียกแบบแผนโดยนิยามไม่ได้ถูกบังคับในทางใดทางหนึ่ง (ดังนั้นคำว่า "การประชุม") ดังนั้นดูเหมือนว่าข้อเท็จจริงที่ว่ามันมีชื่อ "Pascal call Convention" ไม่ได้แปลว่ามันเป็นผู้บุกเบิกการเขียนโปรแกรมภาษา Pascal หรือ Windows ได้รับการพัฒนาใน Pascal แก้ไข: ฉันเพิ่งอ่านความคิดเห็นล่าสุดของคุณ ฉันเดาว่าเราไม่มีอะไรที่ฉลาดที่จะเพิ่มที่นี่ ณ จุดนี้ :)
Yam Marcovic

35

บทความทำไม Pascal ไม่ใช่ภาษาโปรดของฉันโดย Brian W. Kernighan ครอบคลุมประเด็นสำคัญของการวิจารณ์

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


9
ถ้าฉันจำได้ดี Turbo Pascal (ภาษาการเขียนโปรแกรมแรกของฉันโดยวิธี) สนับสนุนแอสเซมเบลอร์ในบรรทัด ฉันเคยเห็นบทความของ Kernighan มาก่อน แต่การวิจารณ์ของเขาไม่ล้าสมัยในไม่ช้า?
Konrad Morawski

2
@ Morawski, TP มาจาก 80s, C มาจาก 70s มาช้ากว่าทศวรรษ
SK-logic

9
@Morawski: นอกจากนี้ Turbo Pascal เป็นเพียงการดำเนินการอย่างหนึ่งของ Pascal มาตรฐานอธิบายภาษาที่ไม่มีประโยชน์เป็นพิเศษดังนั้นผู้ดำเนินการต้องใส่นามสกุลเล็ก ๆ ของตัวเองเพื่อให้ผู้คนสามารถเขียนโปรแกรมที่มีประโยชน์ได้ การกระจายตัวของมันน่าจะเป็นปัญหาที่นี่
David Thornley

@ SK-logic, PASCAL ถูกกำหนดเป็นครั้งแรกในปี 1970 และคอมไพเลอร์ตัวแรกมีวางจำหน่ายแล้ว Turbo Pascal ปรากฏตัวที่แคลิฟอร์เนีย ปี 1984 หลังจากจิมไทสันล้มละลายเมื่อความต้องการ JRT Pascal FAR เกินความสามารถของเขาในการส่งมอบผลิตภัณฑ์ เทอร์โบปาสคาลถูกมองครั้งแรกด้วยความสงสัยมากเพราะทุกคนจำ JRT ปาสกาลและมากของคนที่มีอากาศเผาโดยมัน
John R. Strohm

@ JohnR.Strohm ฉันตอบความคิดเห็นของ Konrad เกี่ยวกับ inline assembler ใน TP
SK-logic

23

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

Delphi และ Object Pascal เปลี่ยนแปลงสิ่งนั้น แต่ในเวลานั้นมันก็สายไปแล้ว


4
อย่างไรก็ตาม BASIC ไม่ได้ออกแบบมาเพื่อจุดประสงค์ทางอาชีพ แต่ก็ยังมีชีวิตอยู่และมีการเตะ
Konrad Morawski

11
@ Morawski: จริงเหรอ? นอกเหนือจาก VB?

5
@Let_Me_Be ฉันจำแอปพลิเคชั่น Windows บางตัวที่เขียนด้วย Borland (Object) Pascal หรือ Delphi มันเป็นมากง่ายกว่าที่เขียนไว้ใน C / C ++ ฉันคิดว่า C # และ Java ให้บริการโดเมนนี้แล้ว
quant_dev

11
ปาสคาลค่อนข้างเร็วกลายเป็นภาษาที่ใช้งานทั่วไปอย่างแท้จริง ไม่มีใครต้องรอเดลฟี ฉันไม่เห็นว่าการสอน (หรือความสามารถในการสอน) หลาย ๆ คนเป็นภาษาการเขียนโปรแกรมเมื่อพวกเขายังเด็กทำให้เกิดความตายขั้นสูงสุด ค่อนข้างตรงกันข้าม
Yam Marcovic

10
@ Morawski เหตุผลเดียวที่ BASIC (เช่นกัน VB) ยังคงพูดถึงและใช้ในวันนี้คือผลิตภัณฑ์แรกของ Microsoft คือล่ามพื้นฐาน (ค่อนข้างแน่ใจว่ามันไม่ใช่คอมไพเลอร์) และพวกเขาก็ผลักมันลงไปในลำคอของเรา หากพวกเขาเลือก Pascal มาแทนเราจะพูดถึง VP.Net โลกก็จะดูดน้อย
MetalMikester

18

ฉันไม่คิดว่า C จะมีชัยเหนือ Pascal สำหรับโปรแกรมเมอร์ส่วนใหญ่จาวามีชัยเหนือปาสกาล หมวดหมู่ของโปรแกรมเมอร์ที่เคยเขียนโปรแกรมใน Pascal ตอนนี้จะเลือก Java (หรือ C #) สำหรับงานเดียวกัน ผู้ที่เคยเขียนโปรแกรมใน C ติดอยู่กับ C (และ C ++)

การตายของ Pascal นั้นเกิดจาก IMHO ส่วนใหญ่เกิดจาก Borland ติดกับ GUI เป็นวิธีการทำงานในขณะที่ลูกค้าย้ายไปที่เว็บ Borland ไม่เคยมีข้อเสนอที่น่าสนใจสำหรับการพัฒนาฝั่งเซิร์ฟเวอร์ เฉพาะในช่วงไม่กี่ปีที่ผ่านมาที่ Delphi ตายเพื่อจุดประสงค์ในทางปฏิบัติทั้งหมดให้ผู้ที่ติดอยู่กับ Delphi ย้ายไปที่ C # C / C ++ เป็นฝูงชนที่แตกต่างจากฝูงชน Pascal / Java / C # ตลอดเวลาที่ฉันคิดว่าด้วยกลุ่ม C (++) นั้นมีเทคนิค / ระดับต่ำกว่ามากในการโฟกัสของพวกเขา


19
การตายของ Borland นั้นยาวนานก่อนที่จะมีความจำเป็นในการพัฒนาเว็บ ความผิดพลาดของพวกเขานั้นง่ายมาก: พวกเขาลืมสิ่งที่ทำให้พวกเขาเป็นผู้นำในสถานที่แรก (ราคาถูก, รวดเร็ว, คอมไพเลอร์ที่มีประสิทธิภาพให้บริการแก่คนจำนวนมาก) และกระโดดเข้าไปในเครื่องมือระดับองค์กรที่มีราคาแพง ฝูงชนแบบดั้งเดิมต้องย้ายไปหาอย่างอื่น
MetalMikester

@ MetalMikester นั่นคือความจริงระดับเกรด A อยู่ตรงนั้น พวกเขาทิ้งนักพัฒนาอิสระรายเล็กขณะเดียวกันก็ไล่ล่า 'เงินก้อนใหญ่' ในการขาย บริษัท และน่าเสียดายที่ยังมีบางส่วนที่เหลือแม้จะมีเจ้าของใหม่
GrandmasterB

ที่กล่าวว่าพวกเขาจะต้องจัดการกับการขาดตัวเลือกที่ดีสำหรับการพัฒนาเว็บแอพพลิเคชั่นในเวลาเดียวกัน
jwenting

2
Java และ C # มีไวยากรณ์ C และเหมือนกันกับ C มากกว่า Pascal ... นอกจากนี้ Java ยังถูกจ่าหน้าถึงโปรแกรมเมอร์ C ++
m3th0dman

11

เพื่อทำให้เป็นใบ้: C เป็นแอสเซมเบลอร์แบบพกพา PASCAL เป็นภาษาการศึกษา

ส่วนนี้ในวิกิพีเดียครอบคลุมในความเป็นจริง

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


2
แต่แม้กระทั่งรายการ Wiki คุณยังเชื่อมโยงไปยังยอมรับว่าmany major development efforts in the 1980s, such as for the Apple Lisa and Macintosh, heavily depended on Pascal (to the point where the C interface for the Macintosh operating system API had to deal in Pascal data types).
Konrad Morawski

@ Morawski: แม้ว่าข้อเท็จจริงที่ว่า Apple อาจประสบกับความพยายามในการพัฒนาอย่างมากในเวลานั้นและอาจสร้างผลิตภัณฑ์ส่วนใหญ่ก่อนทางเลือก แต่ส่วนแบ่งการตลาดของพวกเขานั้นค่อนข้าง จำกัด ทั้ง Apple หรือ PASCAL ไม่ดี (อันที่จริง PASCAL เป็นภาษาแรกของฉันและฉันก็ยังชอบอยู่) แต่ทั้งคู่ล้มเหลวที่จะตอบสนองความต้องการของความเป็นจริงของอุตสาหกรรม
back2dos

4
@ S.Lott ยอดเยี่ยมมากมันเป็นแอสเซมเบลอร์ PDP-11 แบบพกพา ความเกี่ยวข้องตอนนี้คืออะไร? ทำไมฉันถึงต้องใส่ใจ PDP-11 ในปี 2011 C ไม่ใช่แอสเซมเบลอร์ x86 แบบพกพาไม่ว่าด้วยวิธีใด
quant_dev

1
และเสียงกระเพื่อมเป็นภาษาสำหรับการวิจัย AI ดังนั้นอะไร
mojuba

1
@mojuba: "จุดประสงค์ดั้งเดิมของภาษาอาจหรือไม่เกี่ยวข้อง" - นั่นคือสิ่งที่ฉันเห็นด้วยอย่างยิ่ง จุดของฉันคือว่าในกรณีนี้มันเป็นที่เกี่ยวข้อง ;)
back2dos

5

ในช่วงยุค 70 และต้นยุค 80 คอมไพเลอร์ C ค่อนข้างง่ายสำหรับคอมพิวเตอร์ส่วนบุคคลถึงแม้ว่าส่วนใหญ่จะทำเพียงแค่ชุดย่อยของ C (ซึ่งเป็นเหตุผลที่คุณจะเห็นโฆษณาคอมไพเลอร์ "จิ๋ว" เล็ก ๆ ) ในนิตยสารเก่า ) ปาสคาลเป็นภาษาที่ใหญ่กว่าและซับซ้อนกว่าในสมัยที่ผู้เล่นคอมพิวเตอร์ที่ร่ำรวยที่สุดเท่านั้นที่มีฮาร์ดไดรฟ์ (และฮาร์ดไดรฟ์ 5 เมกะมีหลายร้อยดอลลาร์) สำหรับ Apple 2 (คอมพิวเตอร์เครื่องแรกของฉันและไม่ใช่แม้แต่ "plus") การเรียกใช้Pascalจำเป็นต้องซื้อการ์ดหน่วยความจำเพิ่มเติม (ต้องใช้ RAM 64k!) และใช้แผ่นฟลอปปี้หลายโหลดขณะที่ "C เล็ก ๆ " คอมไพเลอร์พอดีกับฟล็อปปี้เดียว (และสามารถผ่านได้ด้วย 16k of RAM)

ปาสคาลได้รับการสอนในหลักสูตรวิทยาการคอมพิวเตอร์ในขณะที่ C ส่วนใหญ่สอนด้วยตนเอง (บางครั้งสอนในหลักสูตรวิศวกรรมไฟฟ้า) ปาสคาลมีชื่อเสียงในหมู่ coders คาวบอยสำหรับเป็น "ทาสและมีระเบียบวินัยภาษา" ซึ่งผมคิดว่าไม่สมควรที่พวกเขาไม่เคยพบADA

ไดรเวอร์ที่สำคัญของ Pascal ในยุค 80 คือ Apple (เพราะ APIs ใช้มาตรฐานการโทร Pascal) และ Borland คอมไพเลอร์ "เทอร์โบ" ของ Borland น่าจะเป็นคอมไพเลอร์ที่ดีที่สุดในตลาดและใบอนุญาต "like a book" ทำให้พวกเขาได้รับความนิยมมากกว่า บริษัท ที่มีใบอนุญาตที่โหดร้ายมากกว่า

Borland สูญเสียความเป็นผู้นำในตลาดการพัฒนาเมื่อ Microsoft จ้างนักพัฒนาและผู้จัดการโครงการ (เช่น Hejlsberg, Gross และมากกว่า 35 คน) ออกไปในที่สุดการพัฒนา. NET และ Visual Studio Borland และ Microsoft ตัดสินคดีในอีกไม่กี่ปีต่อมา แต่ Borland ไม่เคยหายจากการสูญเสีย ในความคิดของ Delphi เริ่มรุนแรงในช่วงเวลานั้น (เป็นคนที่ทำให้มันโฟกัสและไดรฟ์ได้รับการว่าจ้างไป) และการเปลี่ยนแปลงในซีอีโอในเวลาเดียวกันเอาบอร์แลนด์ออกไปจาก บริษัท คอมไพเลอร์เป็นALM (การจัดการวงจรการใช้งาน) บริษัท เปลี่ยนชื่อเป็น Inprise สองสามปีต่อมา ขี้เถ้าของ Borland ปัจจุบันเป็นเจ้าของโดย Micro Focus


ไมโครโฟกัส? เกิดขึ้นเมื่อใด ฉันคิดว่ามันเป็นของ Embarcadero (ไม่ว่าพวกเขาจะเป็นใคร) ในช่วงไม่กี่ปีที่ผ่านมา ถ้า Delphi เป็นเจ้าของโดย บริษัท ที่ "มีชื่อเสียง" สำหรับเครื่องมือ COBOL ...
Steve314

@ Steve314 แผนก "codegear" ถูกขายให้กับ Embarcadero ในปี 2008 และ Micro Focus ซื้อส่วนที่เหลือของ Borland ในปี 2009 en.wikipedia.org/wiki/Borland#Later_Borland_years
Tangurena

1
ตกลง แต่ Borland พัฒนาคอมไพเลอร์ห้องสมุดและ IDEs (Delphi ผู้สร้าง) และมันพัฒนา blah blah blah บางอย่างที่ไม่มีใครสนใจ คุณกำลังบอกฉันว่ามีคนสนใจเกี่ยวกับ blah blah blah มากพอที่จะเผามันได้หรือไม่?
Steve314

5

ศักดิ์สิทธิ์สูบบุหรี่นี่คือโหลดด้านเดียวของ hooey ทุกคนที่เริ่มต้นในเว็บไซต์นี้ที่มี Delphi เป็นภาษาโปรดของพวกเขาอยู่ที่ไหน

เกือบทุกคนกล่าวถึง Borland และ 2 / 3rds ของคนที่คิดว่า Delphi ได้เตะถัง เอ็มบาร์คาเดโรซื้อหน่วย CodeGear ของ Borland เมื่อไม่กี่ปีที่ผ่านมา (เพื่อเงินไม่ใช่เพื่อการกุศล) และพวกเขาได้ทำสิ่งที่น่าอัศจรรย์ทีเดียวรวมเครื่องมือที่น่าทึ่งเข้าด้วยกันเป็น IDE ที่น่าทึ่งและสร้างแพลตฟอร์มที่น่าทึ่งมาก สำหรับการพัฒนาข้ามแพลตฟอร์ม IN PASCAL ในวัตถุประสงค์ ไม่ต้องพูดถึง Lazarus และ FreePascal ในส่วนของโอเพ่นซอร์สของสิ่งต่าง ๆ

ดังนั้นหากนี่เป็นคำถามเชิงประวัติศาสตร์ว่าทำไม C ถึงได้มีชัยเหนือ Pascal ก็โอเคนั่นเป็นการเรียกร้องที่ยอมรับได้ในการเริ่มต้นคำถาม แต่การเขียนรหัสใน Object Pascal เพิ่มขึ้นฉันไม่รู้ว่าดัชนี TIOBEมีความหมายมากสำหรับมัน แต่ควรชัดเจนว่าผู้คนยังคงเขียนโค้ดใน Object Pascal และ spikes ที่น่าสนใจเมื่อใดก็ตามที่ Embarcadero เผยแพร่เครื่องมือใหม่ ดังนั้นมนุษย์ที่เกิดขึ้นจริงที่สนใจในการเขียนรหัสใหม่ (ไม่ใช่แค่การบำรุงรักษาเก่า) มีความสนใจใน Delphi

ฉันไม่แน่ใจว่าคุณสามารถพูดได้เหมือนกันสำหรับสิ่งที่เกี่ยวข้องกับ C.


3
มันควรจะตาย คนเดียวที่ยังมีเหตุผลที่จะใช้มันคือคนอย่างฉันที่ติดกับมันเพราะแอป VCL ที่มีอยู่มากมาย Delphi / C ++ Builder IDE ทั้งหมดได้สลายตัวจากสถานะของศิลปะเป็นระเบียบยุ่งเหยิง buggy ในช่วง 5 ปีที่ผ่านมา ไฟล์ช่วยเหลือและเอกสารประกอบไม่มีอยู่จริง ดีบักเกอร์เป็นแบบธรรมดาที่น่าอาย ถ้าคุณวาง IDE ไว้ข้างๆมันไม่มีเหตุผลที่จะใช้ Object Pascal ในเวอร์ชั่น C ++ ยกเว้นว่าคุณต้องการความเข้ากันได้แบบย้อนหลัง ประโยชน์หลักสำหรับ C ++ ในกรณีนี้คือมันจะช่วยให้คุณพอร์ตรหัสของคุณเพื่อหลบหนี IDE เส็งเคร็ง

1
เกี่ยวกับ C สิ่งแรกคือภาษาที่โดดเด่นอย่างสมบูรณ์ในภาคส่วนที่ฝังตัวและเครื่องมือใหม่ทั้งหมดที่สร้างขึ้นมาสำหรับ C. Windows และ Linux ทั้งหมดคือ C ทั้งหมดของปุยสมาร์ทโฟนทั้งหมดเขียนด้วยภาษา C C หรือ C ++ เหนือกว่าในเกือบทุกพื้นที่ของแอปพลิเคชันที่ใช้การเขียนโปรแกรม มาตรฐาน C ++ ได้รับการอัพเดทครั้งใหญ่ ชุดย่อย MISRA ที่ปลอดภัยใหม่ของทั้ง C และ C ++ นั้นประสบความสำเร็จสำหรับแอพที่ฝังอยู่ซึ่งกลายเป็นมาตรฐานเดิมของอุตสาหกรรม ดังนั้น ... ไม่มีความสนใจใด ๆ มีความสนใจสูงอย่างต่อเนื่อง

2
@Lundin คุณล้อเล่นฉันใช้ Delphi 7 มาตลอด 4 ปีที่ผ่านมาได้รับการปรับปรุงในปี 2009 และทำงานใน XE2 เช่นกัน ในที่สุดฉันไม่จำเป็นต้องรีสตาร์ท IDE ทุก ๆ 5 หรือ 6 บิลด์เพื่อให้เบรกพอยต์ของฉัน ยิ่งไปกว่านั้น Embarcadero ได้สร้างวิธีการใช้ Delphi Code สำหรับ Android และ iOS ซึ่งเป็นสิ่งใหม่ แต่ก็เจ๋งมากข้อดีคือมันได้รับการจัดการโดย บริษัท เอกชนทั้งหมดดังนั้นการปรับปรุงจึงอยู่ในมือของนักพัฒนา .
Peter Turner

1
แม้ว่าฉันจะไม่ได้เป็นโปรแกรมเมอร์ PC แต่ฉันใช้ตัวสร้างมาตลอดตั้งแต่ช่วงกลางยุค 90 มันได้รับการพัฒนาอย่างต่อเนื่องจนกระทั่งอยู่ใกล้ที่ซึ่งมันหมุน Codegear ดังนั้นเกียร์บางอันก็พังเพราะตอนนี้แย่กว่าเมื่อ 10 ปีที่แล้ว อย่างไรก็ตามนี่เป็นหัวข้อนอกเนื่องจาก Delphi / Builder เริ่มตายไปนานก่อน Codegear / Embarcadero fiasco

1

สิ่งที่ฉันใช้คือ C และภาษาสำคัญที่ได้รับจาก C ++, Java และ C # ได้รับการสนับสนุนจาก บริษัท ซอฟต์แวร์ที่ใหญ่ที่สุดเช่น Microsoft และ Sun / Oracle และข้ามกองการพัฒนาต่างๆ เป็นผลให้มันกลายเป็น 'ภาษาแม่' ของ Windows, Apple OS และ Unix

Pascal ทั้งๆที่มีความพยายามอย่างดีที่สุดและเข้าใจผิดอยู่บ่อยครั้งของ Borland แต่ก็ไม่สามารถบรรลุเป้าหมายการเจาะตลาดได้


3
ดูเหมือนว่าจะถามคำถาม: ทำไม C ถึงเข้าครอบครอง บริษัท ที่ใหญ่ที่สุด? MacOS เริ่มต้นด้วย Pascal และเป็นมิตรกับ C มากขึ้น อะไรคือเหตุผลสำหรับสิ่งนั้น
David Thornley

1
@ DavidThornley - ฉันคิดว่ามันมีหลายอย่างที่เกี่ยวข้องกับการว่าจ้างโปรแกรมเมอร์ที่มีประสบการณ์สูง C ผสมผสานกับการประกอบเป็นภาษาของตัวเลือกสำหรับแอปพลิเคชันพีซีหลักที่เริ่มต้นจากกลางปี ​​1980 ด้วยการใช้ฐาน C ทำให้การจ้างโปรแกรมเมอร์ที่มีทักษะง่ายขึ้นและถูกลง (ไม่มีการอบรมขึ้นใหม่เป็นต้น)
jfrankcarr

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

ฉันทำงานที่ บริษัท ซอฟต์แวร์สองแห่งย้อนกลับไปในยุค 80 ไม่ใช่ในบทบาทโปรแกรมเมอร์ แต่เป็นบทบาทสนับสนุน จากสิ่งที่ฉันจำได้ฉันสงสัยว่าการเปลี่ยนจาก MASM เป็น C นั้นง่ายกว่าสำหรับผู้ที่อยู่ลึกเข้าไปในการเขียนโปรแกรม MASM ฉันจำได้ว่าไม่ชอบ Turbo Pascal ซึ่งโปรแกรมเมอร์ที่ฉันทำงานด้วยเรียกว่าภาษาของเล่นและคุณไม่ต้องการให้เริ่มใช้งาน QuickBasic ฉันเรียนรู้ MASM และ C ก่อนเพราะแรงกดดันจากเพื่อน นั่นอาจเป็นปัจจัยถึงแม้ว่ามันจะไม่เข้ากับจุดกำเนิดที่แท้จริงของมัน
jfrankcarr

ในตอนท้ายของ 80-ies, เริ่มต้นของ 90-ies, C ได้รับความนิยมมากแล้ว คุณสามารถค้นหาคอมไพเลอร์เป็นโมดูลมาตรฐานในการใช้งาน UNIX ใด ๆ (และ UNIX เป็นระบบปฏิบัติการที่โปรแกรมเมอร์ส่วนใหญ่ต้องการทำงาน) ฉันไม่ได้พูดว่ามันเป็นที่นิยมมากกว่าปาสกาล แต่มันก็เป็นที่นิยมมาก ดังนั้น C ++, Java และ C # จึงเป็นที่นิยมเพราะ C ไม่ใช่วิธีอื่น ๆ
Giorgio

0

ปาสกาลเคยเป็นที่นิยมใน PC / DOS ที่มีสภาพแวดล้อมค่อนข้าง จำกัด

ถึงอย่างนั้นก็มีแอปพลิเคชั่น MicroFocus COBOL จำนวนมากที่ทำงานบนพีซีเหมือนกับแอปพลิเคชันปาสกาล

C เป็นพื้นฐานของระบบปฏิบัติการ UNIX และระบบปฏิบัติการ MS / Windows ทั้งหมด

การรวมกันของการดำเนินการที่มีประสิทธิภาพกับฮาร์ดแวร์ที่มี จำกัด และการเข้าถึงเนทีฟไปยังไลบรารี OS และ GUI พื้นฐานอาจเป็นสาเหตุหลักของความสำเร็จของ C ปาสกาลไม่เคยแฮ็กมันบน windows และ Delphi มาสายเกินไปที่จะสร้างความแตกต่าง


ฉันคิดว่าความคิดเห็นของคุณ ".. และระบบปฏิบัติการ MS / Windows ทั้งหมด" อาจไม่ถูกต้องตามข้อเท็จจริง เดิม Windows ได้รับการออกแบบและเขียนโค้ดใน PASCAL จากen.wikipedia.org/wiki/Talk:X86_calling_conventions : "แค่คิดว่าฉันจะชั่งน้ำหนักที่นี่ฉันค้นหาคำสำคัญ __pascal ในคู่มือผู้ใช้ Watcom C / C ++ และชัดเจนว่า: ใช้การประชุม __pascal สำหรับ OS / 2 1.x และ Microsoft Windows 3.x APIs "
John R. Strohm

@ JohnR.Strohm การเรียกประชุมและภาษาการใช้งานไม่จำเป็นต้องเป็นแบบเดียวกัน Microsoft ได้ใช้ C น่าจะมีอยู่บ้างในปี 1993 (Windows 3.1 เปิดตัวในปี 1992) แหล่งที่มาของชนิด
CVn

IIRC ในช่วงต้นทศวรรษที่ 80 Microsoft ใช้ Xenix เป็นจำนวนมากภายในและอาจเริ่มต้นด้วย C ด้วยวิธีนี้ นั่นและ (Turbo) Pascal หลังจากทั้งหมดเป็นผลิตภัณฑ์นักฆ่าของคู่แข่งอันตราย Borland เมื่อก่อนความแตกต่างของขนาดระหว่าง Microsoft และ บริษัท ซอฟต์แวร์ขนาดใหญ่อื่น ๆ เช่น Lotus, Borland ... ยังไม่ใหญ่มาก
wazoox
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.