Tại sao C chiếm ưu thế so với Pascal? [đóng cửa]


68

Sự hiểu biết của tôi là vào những năm 1980, và có lẽ trong những năm 1990 cũng vậy, Pascal và C gần như là ngôn ngữ sản xuất.

Có phải sự sụp đổ cuối cùng của Pascal chỉ do sự lãng quên Delphi của Borland ? Hoặc có nhiều hơn, chẳng hạn như xui xẻo hoặc có lẽ có gì đó không ổn với Pascal (bất kỳ hy vọng nào cho sự hồi sinh của nó?).

Tôi quan tâm đến các sự kiện và quan sát lịch sử mà người ta có thể sao lưu, thay vì thích và không thích.


10
Nếu về cơ bản bạn chỉ có một công ty phá sản hỗ trợ ngôn ngữ bạn đang làm việc, thì chắc chắn điều đó không có ích gì (tôi đang nói về Borland trước Pre.Net).
Let_Me_Be

48
Câu trả lời một từ: Unix.
SK-logic

4
Huh. Là C
Lieven Keersmaekers

8
cuối cùng pascal bị mất vì nó sử dụng các chuỗi dựa trên 1.
Pieter B

7
@jk: Chưa kể rằng trong ISO Pascal, các chuỗi có thể có bất kỳ độ dài nào, nhưng các chuỗi có độ dài khác nhau có các loại khác nhau. Để viết hoa bất kỳ chuỗi nào, bạn cần 256 hàm. Để nối hai chuỗi ngẫu nhiên, bạn cần hàng ngàn!
MSalters

Câu trả lời:


43

Pascal đã thua trận chiến chủ yếu là do:

  • Độ dài ( if ... then begin ... end, var A: array[0..15] of Integer)
  • Phương ngữ không thể hiểu lẫn nhau và tiêu chuẩn chính thức
  • Ít hơn các phần mở rộng hướng đối tượng ấn tượng
  • Phương ngữ thành công và thiết thực nhất - Turbo Pascal - chưa bao giờ được chuyển sang các nền tảng khác ngoài DOS / Windows. Cộng với Borland không bao giờ mở các nguồn của trình biên dịch.
  • "Hy vọng cuối cùng" của Pascal - Delphi - được Borland định vị là một nền tảng phát triển cơ sở dữ liệu nhắm vào môi trường công ty. Đây là một động thái tiếp thị đáng tiếc (được thực hiện bởi những người tiếp thị mà tôi cho là), bởi vì các kỹ sư sáng tạo ghét cả cơ sở dữ liệu và môi trường công ty. Sau đó là sự thất bại của Delphi cho Linux, Kylix.
  • Apple chuyển sang C và sau đó là Objective-C và do đó, nó đã giết Pascal làm ngôn ngữ hệ điều hành

19
Việc Apple chuyển sang Objective-C đã lâu, rất lâu sau khi nó ngừng sử dụng Pascal. Hệ điều hành và thư viện Macintosh ban đầu được viết bằng Pascal, nhưng Apple đã hỗ trợ tốt cho C ngay sau khi giới thiệu máy Mac và đã chuyển sang C vào đầu những năm 90. Apple đã áp dụng Objective-C khi mua lại NeXT, điều này đã xảy ra sau sự trở lại của Steve Jobs vào cuối những năm 90.
Caleb

36
Tôi không nghĩ rằng tính dài dòng là một lý lẽ có liên quan. Vì mã được đọc nhiều hơn mức độ dài bằng văn bản có lợi ích.
johannes

14
Không phải là dài dòng chính xác những gì được ủng hộ trong các ngôn ngữ ngày nay (python so với perl)?
Rook

7
Tôi không nghĩ sự dài dòng là một nguyên nhân, trái lại, đó là một trong những thế mạnh của Pascal.

9
Điều này là không đúng. Turbo Pascal đã thành công rộng rãi. Vấn đề chính là bạn chỉ có thể sử dụng nó trên DOS / Windows.

44

C là cơ sở của Unix. Trong những năm 80 và 90, Unix ngày càng được chú ý nhiều hơn. Hôm nay một số hương vị của Unix là trong điện thoại thông minh của bạn.


16
Không chỉ UNIX. Windows và các nhân của nó được viết chủ yếu bằng C. Chưa kể C ++ đang phát triển mạnh mẽ, điều này cũng phải làm cho C ít phổ biến hơn một chút.
Yam Marcovic

2
@ SK-logic Nó xuất hiện vào năm 1984. Tôi sẽ không nói rằng C đã chiếm lĩnh thế giới sau đó. Bạn đã có Smalltalk, Pascal và những người khác đã sử dụng khá nhiều ở mọi nơi (không kể đến COBOL).
Yam Marcovic

3
@Yam: Unix và C đã được phổ biến rộng rãi trong thập niên 80. Khi tôi học tại Đại học (đầu những năm 1990), Unix và C là "nền tảng" mà mọi nhà phát triển nghiêm túc đều muốn làm việc. Unix được triển khai trong C nên sẽ không có Unix nếu không có C. Smalltalk, Pascal và COBOL không đóng vai trò quan trọng như vậy.
Giorgio

2
@Giorgio Thật vậy, sau khi Dennis Ritche và Brian Kernighan đã làm cho C ổn định, họ đã viết lại UNIX bằng C, do đó việc chuyển sang các loại máy khác dễ dàng hơn nhiều.
Yam Marcovic

2
@ Steve314 Điểm tốt. Tuy nhiên, theo như tôi có thể thấy, các nhân Windows trước đó cũng được phát triển với Trình biên dịch. Trong hội, một quy ước gọi là theo định nghĩa không được thi hành theo bất kỳ cách nào (do đó từ "quy ước"). Vì vậy, có vẻ như thực tế là nó có tên "Quy ước gọi Pascal" không nhất thiết có nghĩa là nó được tiên phong bởi nhà phát minh ngôn ngữ lập trình Pascal hoặc Windows được phát triển trong Pascal. EDIT: Tôi vừa đọc bình luận gần đây của bạn. Tôi đoán chúng ta không có bất cứ điều gì thông minh để thêm vào đây vào thời điểm này. :)
Yam Marcovic

35

Tiểu luận Tại sao Pascal không phải là ngôn ngữ yêu thích của tôi bởi Brian W. Kernighan bao gồm những điểm chính của phê bình.

C linh hoạt hơn và có thể mở rộng. Một số người thậm chí còn tìm ra cách thực hiện (một loại) lập trình hướng đối tượng với C ! Ngoài ra, trình biên dịch nội tuyến và các tính năng cấp thấp khác làm cho nó trở thành một ngôn ngữ quan trọng để lập trình hệ thống.


9
Nếu tôi nhớ rõ, Turbo Pascal (ngôn ngữ lập trình đầu tiên của tôi, nhân tiện) đã hỗ trợ trình biên dịch nội tuyến. Tôi đã xem bài luận của Kernighan trước đây. Nhưng chẳng phải sự chỉ trích của anh đã lỗi thời?
Konrad Morawski

2
@Morawski, TP là từ những năm 80, C là từ những năm 70. Nó đến muộn hơn một thập kỷ.
SK-logic

9
@Morawski: Hơn nữa, Turbo Pascal chỉ là một triển khai của Pascal. Tiêu chuẩn mô tả một ngôn ngữ không đặc biệt hữu ích, vì vậy những người triển khai phải đưa vào các phần mở rộng nhỏ của riêng họ để mọi người có thể viết các chương trình hữu ích. Sự phân mảnh có thể là một vấn đề ở đây.
David Thornley

@ SK-logic, PASCAL lần đầu tiên được xác định vào năm 1970 và trình biên dịch đầu tiên đã có sẵn sau đó. Turbo Pascal xuất hiện ca. Năm 1984, sau khi Jim Tyson phá sản khi nhu cầu về JRT Pascal FAR vượt xa khả năng cung cấp sản phẩm của anh. Turbo Pascal ban đầu được xem bằng sự nghi ngờ đáng kể bởi vì tất cả mọi người nhớ đến JRT Pascal, và một LOT của người dân đã nhận được đốt cháy bởi nó.
John R. Strohm

@ JohnR.Strohm, tôi đã trả lời bình luận của Konrad về trình biên dịch nội tuyến tại TP.
SK-logic

23

Mặc dù nó không phải là sử dụng độc quyền, Pascal được thiết kế để dạy lập trình, không thực sự được sử dụng làm ngôn ngữ chính.

Delphi và Object Pascal đã thay đổi điều đó. Nhưng tại thời điểm đó, nó đã muộn.


4
Tuy nhiên BASIC cũng không được thiết kế cho mục đích chuyên nghiệp, nhưng nó vẫn còn sống và đang đá
Konrad Morawski

11
@Morawski: Thật sao? Ngoài VB?

5
@Let_Me_Be Tôi nhớ khá nhiều ứng dụng Windows được viết bằng Borascal (Object) Pascal hoặc Delphi. Đó là nhiều dễ dàng hơn so với việc viết chúng trong C / C ++. Tôi nghĩ rằng C # và Java phục vụ tên miền này ngay bây giờ.
quant_dev

11
Pascal khá sớm trở thành một ngôn ngữ có mục đích chung thực sự. Không ai phải đợi Delphi. Tôi không thấy cách dạy (hoặc có thể dạy) cho nhiều người một ngôn ngữ lập trình khi họ còn trẻ đòi hỏi sự sụp đổ cuối cùng của nó. Hoàn toàn ngược lại.
Yam Marcovic

10
@Morawski Lý do duy nhất BASIC (tốt, VB) vẫn được nói đến và sử dụng ngày hôm nay là sản phẩm đầu tiên của Microsoft là một trình thông dịch BASIC (khá chắc chắn đó không phải là trình biên dịch) và họ đã tiếp tục đẩy nó xuống. Nếu họ đã chọn Pascal thay vào đó, chúng ta sẽ nói về VP.Net. Thế giới cũng sẽ hút ít hơn.
MetalMikester

18

Tôi không nghĩ C đã thắng thế Pascal. Đối với phần lớn các lập trình viên, Java chiếm ưu thế so với Pascal. Danh mục các lập trình viên đã từng lập trình trong Pascal, giờ đây sẽ chọn Java (hoặc C #) cho cùng một công việc. Những người đã từng lập trình trong C bị mắc kẹt với C (và C ++).

Sự sụp đổ của Pascal là IMHO chủ yếu do Borland dính vào cách làm việc GUI của nó, trong khi khách hàng của nó chuyển sang Web. Borland chưa bao giờ có một đề nghị thực sự hấp dẫn để phát triển phía máy chủ. Chỉ trong vài năm gần đây, với Delphi đã chết vì tất cả các mục đích thực tế, những người mắc kẹt với Delphi đã chuyển sang C #. C / C ++ luôn là một đám đông khác với đám đông Pascal / Java / C # mà tôi nghĩ, với những kẻ C (++) kỹ thuật / mức độ thấp hơn nhiều trong trọng tâm của họ.


19
Sự sụp đổ của Borland là rất lâu trước khi có nhu cầu phát triển web. Sai lầm của họ rất đơn giản: Họ đã quên mất điều gì đã khiến họ trở thành người dẫn đầu ngay từ đầu (trình biên dịch rẻ, nhanh, hiệu quả có sẵn cho công chúng) và nhảy vào các công cụ doanh nghiệp đắt tiền (nơi Microsoft và những người khác đã có một khởi đầu tốt.) Borland đám đông truyền thống đã phải chuyển sang một cái gì đó khác.
MetalMikester

@MetalMikester, đó là một sự thật hạng A ngay tại đó. Họ đã gạt bỏ các nhà phát triển nhỏ, độc lập trong khi theo đuổi 'số tiền lớn' trong doanh số bán hàng của công ty. Và thật không may, vẫn còn một số còn lại, ngay cả với chủ sở hữu mới.
GrandmasterB

điều đó nói rằng, họ đã phải đối phó với việc thiếu một lựa chọn tốt để phát triển ứng dụng web cùng một lúc (xuất phát từ sự khăng khăng lâu dài đối với khách hàng / máy chủ mọi thứ trong dòng sản phẩm của họ).
jwenting

2
Java và C # có cú pháp C và rất giống với C, thay vì Pascal ... Java cũng được gửi đến các lập trình viên C ++.
m3th0dman

11

Để làm cho nó im lặng: C là một trình biên dịch di động, PASCAL là một ngôn ngữ giáo dục.

Đây phần trên wikipedia bao gồm nó tốt trong thực tế.

chỉnh sửa:
Có vẻ như, một số ở đây hiểu sai câu trả lời của tôi. Hay thực sự đúng hơn là câu hỏi.
Câu hỏi này là về sự nổi tiếng. Và lý do tại sao C cuối cùng lại phổ biến hơn PASCAL là vì ngôn ngữ này được thiết kế và bán trên thị trường như một ngôn ngữ di động gần với kim loại, trong khi ngôn ngữ kia được thiết kế và bán trên thị trường như một ngôn ngữ giáo dục, mang lại sự an toàn và rõ ràng.
Cuối cùng, điều đó thậm chí không thực sự quan trọng, dù một trong hai ngôn ngữ có làm thất bại các mục tiêu đặt ra cho nó hay tạo ra những thành tựu không lường trước được. Và bất cứ ai cố gắng suy ra sự khác biệt về mức độ phổ biến từ sự vượt trội của C so với PASCAL là hoàn toàn sai.
Chìa khóa của câu hỏi này nằm trong lịch sử và sự cuồng loạn liên quan đến nó.


2
Nhưng ngay cả mục nhập Wiki mà bạn đang liên kết để thừa nhận điều đó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: Mặc dù thực tế là Apple có thể đã trải qua những nỗ lực phát triển to lớn vào thời điểm đó, và có thể đã tạo ra các sản phẩm chủ yếu trước các lựa chọn thay thế, thị phần của họ rất khó khăn. Cả Apple và PASCAL đều không tốt (thực tế PASCAL là ngôn ngữ đầu tiên của tôi và tôi vẫn thích nó). Nhưng cả hai đều không đáp ứng nhu cầu thực tế của ngành.
back2dos

4
@ S.Lott Tuyệt vời, vì vậy nó là trình biên dịch PDP-11 di động. Sự liên quan bây giờ là gì? Tại sao tôi nên quan tâm đến PDP-11 vào năm 2011? C không phải là trình biên dịch x86 di động bằng mọi cách.
quant_dev

1
Và Lisp là ngôn ngữ cho nghiên cứu AI, vậy thì sao?
mojuba

1
@mojuba: "mục đích ban đầu của ngôn ngữ có thể có hoặc không có liên quan" - đó là điều tôi hoàn toàn đồng ý. Quan điểm của tôi là, trong trường hợp này nó có liên quan . ;)
back2dos

5

Trong những năm 70 và đầu thập niên 80, trình biên dịch C tương đối dễ dàng cho máy tính cá nhân, mặc dù hầu hết chỉ có một tập hợp con của C (đó là lý do tại sao bạn sẽ thấy rất nhiều trình biên dịch "C nhỏ" khác nhau được quảng cáo trên các tạp chí cũ ). Pascal là một ngôn ngữ lớn hơn cồng kềnh hơn vào thời mà chỉ những người có sở thích máy tính giàu có nhất mới có ổ cứng (và ổ cứng 5 meg là vài trăm đô la). Đối với Apple 2 (máy tính đầu tiên của tôi và thậm chí không phải là "cộng"), Pascal chạy yêu cầu phải mua thêm thẻ nhớ (cần 64k RAM!) Và mất vài đĩa mềm để tải lên, trong khi "C nhỏ xíu" trình biên dịch phù hợp với một đĩa mềm (và có thể nhận được bằng 16k RAM).

Pascal được dạy trong chương trình giảng dạy khoa học máy tính, trong khi C chủ yếu là tự học (đôi khi được dạy trong chương trình giảng dạy kỹ thuật điện). Pascal nổi tiếng trong số các lập trình viên cao bồi vì là "ngôn ngữ ràng buộc và kỷ luật", điều mà tôi nghĩ là không xứng đáng vì họ chưa bao giờ gặp ADA .

Các trình điều khiển chính của Pascal trong thập niên 80 là Apple (vì các API đã sử dụng các tiêu chuẩn gọi Pascal) và Borland. Trình biên dịch "Turbo" của Borland có lẽ là những trình biên dịch tốt nhất trên thị trường và giấy phép "giống như một cuốn sách" khiến chúng trở nên phổ biến hơn rất nhiều so với các công ty có giấy phép độc ác hơn.

Borland mất vị trí dẫn đầu trong thị trường phát triển khi Microsoft thuê các nhà phát triển và quản lý dự án hàng đầu của họ (như Hejlsberg, Gross và hơn 35 người khác), cuối cùng phát triển .NET và Visual Studio. Borland và Microsoft đã giải quyết vụ kiện một vài năm sau đó, nhưng Borland không bao giờ hồi phục sau mất mát. Theo tôi, Delphi bắt đầu héo tàn vào thời điểm đó (vì những người tập trung và lái xe đã được thuê), và sự thay đổi CEO đồng thời đưa Borland rời khỏi một công ty biên dịch thành một công ty ALM (quản lý vòng đời ứng dụng) , đổi tên thành In ngạc nhiên một vài năm sau đó. Tro cốt của Borland hiện thuộc sở hữu của Micro Focus.


Tập trung vi mô? Điều đó xảy ra khi nào? Tôi nghĩ rằng nó thuộc sở hữu của Embarcadero (dù họ là ai), trong vài năm qua ít nhất. Nếu Delphi thuộc sở hữu của một công ty "nổi tiếng" với các công cụ COBOL đó ...
Steve314

@ Steve314, Bộ phận "tiền mã hóa" đã được bán cho Embarcadero vào năm 2008 và Micro Focus đã mua phần còn lại của Borland vào năm 2009. en.wikipedia.org/wiki/Borland#Later_Borland_years
Tangurena

1
OK, nhưng Borland đã phát triển trình biên dịch, thư viện và IDE (Delphi, Nhà xây dựng) và nó đã phát triển một số blah blah blah mà không ai quan tâm. Bạn đang nói với tôi rằng ai đó quan tâm đủ về blah blah blah để hỏa táng nó?
Steve314

5

Holy hút thuốc đây là một tải hooey một phía, tất cả những người bắt đầu trên trang web này có Delphi là ngôn ngữ yêu thích của họ?

Gần như tất cả mọi người đề cập đến Borland và 2/3 số người coi Delphi đã đá cái xô. Chà, xin lỗi mọi người, Embarcadero đã mua đơn vị CodeGear của Borland vài năm trước (vì tiền chứ không phải từ thiện) và họ đã làm một số điều khá tuyệt vời, kết hợp một số công cụ khá tuyệt vời vào IDE khá tuyệt vời của họ và tạo ra một nền tảng khá tuyệt vời để phát triển đa nền tảng TRONG ĐỐI TƯỢNG PASCAL. Không đề cập đến Lazarus và FreePascal ở khía cạnh nguồn mở.

Vì vậy, nếu đây là một câu hỏi lịch sử tại sao C lại thắng Pascal, thì OK, đó là một yêu cầu có thể chấp nhận để bắt đầu một câu hỏi. Nhưng quyền tác giả của mã trong Object Pascal đang tăng lên, tôi không biết rằng chỉ số TIOBE có ý nghĩa rất lớn đối với nó, nhưng rõ ràng là mọi người vẫn đang viết mã trong Object Pascal và tăng đột biến mỗi khi Embarcadero phát hành các công cụ mới, do đó, những người thực sự quan tâm đến việc viết mã mới (không chỉ duy trì cũ) quan tâm đến Delphi.

Tôi không chắc bạn có thể nói như vậy cho bất cứ điều gì liên quan đến C.


3
Nó sẽ chết Những người duy nhất vẫn có lý do để sử dụng nó là những người như tôi, những người bị mắc kẹt với nó vì có rất nhiều ứng dụng VCL hiện có. Toàn bộ IDE IDE Delphi / C ++ đã phân rã từ trạng thái nghệ thuật thành một mớ hỗn độn, lỗi lầm trong suốt 5 năm qua. Trợ giúp tập tin và tài liệu là không tồn tại. Trình gỡ lỗi là đơn giản lúng túng. Nếu bạn đặt IDE sang một bên, thực sự không có lý do gì để sử dụng phiên bản Object Pascal trên C ++, trừ khi bạn cần khả năng tương thích ngược. Ưu điểm chính của C ++ trong trường hợp này là nó sẽ cho phép bạn chuyển mã của mình để thoát khỏi IDE nhảm nhí.

1
Về C, trước hết, nó là ngôn ngữ hoàn toàn thống trị trong toàn bộ lĩnh vực nhúng và tất cả các công cụ mới được tạo ra cho C. Toàn bộ Windows Linux là C. Tất cả các điện thoại thông minh đều được viết bằng hương vị C. C hoặc C ++ chiếm ưu thế trong hầu hết mọi lĩnh vực ứng dụng nơi lập trình được sử dụng. Tiêu chuẩn C ++ đang nhận được một bản cập nhật lớn. Các tập hợp con MISRA an toàn mới của cả C và C ++ đều thành công cho các ứng dụng nhúng, trước đây đã trở thành tiêu chuẩn thực tế trong ngành. Vì vậy, không ... không có sự quan tâm đột biến, có một sự quan tâm cao liên tục.

2
@Lundin, bạn đang đùa, tôi đã sử dụng Delphi 7 trong 4 năm qua, cuối cùng đã được cập nhật vào năm 2009 và cũng hoạt động trong XE2. Cuối cùng, tôi không cần phải khởi động lại IDE cứ sau 5 hoặc 6 bản dựng để giữ các điểm dừng của mình. Futhermore, Embarcadero đã tạo ra cách sử dụng Delphi Code cho các chương trình Android và iOS, tuy mới, nhưng khá tuyệt, lợi thế là nó được quản lý hoàn toàn bởi một công ty tư nhân nên những cải tiến thực sự đã được đưa vào tay các nhà phát triển .
Peter Turner

1
Mặc dù tôi không thực sự là một lập trình viên PC, tôi đã sử dụng Builder tới lui từ giữa những năm 90. Nó đã dần dần cải thiện cho đến khi một nơi nào đó xung quanh nơi nó biến Codegear, sau đó một số thiết bị rõ ràng đã bị hỏng, bởi vì nó tồi tệ hơn so với 10 năm trước. Dù sao, đây là ngoài chủ đề, vì Delphi / Builder bắt đầu chết từ lâu trước khi fiasco Codegear / Embarcadero.

1

Tôi nghĩ rằng C và các ngôn ngữ chính có nguồn gốc từ nó, C ++, Java và C #, được các công ty phần mềm lớn nhất, như Microsoft và Sun / Oracle, và trên các ngăn xếp phát triển khác nhau chấp nhận. Kết quả là, nó trở thành 'ngôn ngữ mẹ đẻ' của Windows, Apple OS và Unix.

Pascal, bất chấp những nỗ lực tốt nhất và thường xuyên sai lầm của Borland, đã không đạt được mức độ thâm nhập thị trường đó.


3
Điều này dường như đặt ra câu hỏi: tại sao C lại tiếp quản các công ty lớn nhất? MacOS bắt đầu với Pascal và trở nên thân thiện hơn với C. Lý do cho điều đó là gì?
David Thornley

1
@DavidThornley - Tôi nghĩ rằng rất nhiều việc phải làm với việc thuê các lập trình viên có kinh nghiệm hàng đầu. C, pha trộn với lắp ráp, là ngôn ngữ được lựa chọn cho các ứng dụng PC chính thống bắt đầu từ giữa những năm 1980. Bằng cách áp dụng một cơ sở C, nó làm cho việc thuê các lập trình viên lành nghề trở nên dễ dàng hơn và rẻ hơn (không cần đào tạo lại, v.v.).
jfrankcarr

3
Nhưng bạn vừa đẩy câu hỏi trở lại một lớp. Tại sao các lập trình viên giàu kinh nghiệm hàng đầu chuyển đổi? Tại sao C là ngôn ngữ của sự lựa chọn? Knuth đã thực hiện công cụ lập trình chữ viết đầu tiên của mình trong Pascal, sau đó chuyển sang C. Tại sao? Tìm ra chính xác ai là người dẫn đầu việc chuyển đổi có thể hữu ích, nhưng câu hỏi yêu cầu lý do.
David Thornley

Tôi đã làm việc tại hai công ty phần mềm từ những năm 80, không phải ở vai trò lập trình viên mà là vai trò hỗ trợ. Dựa trên những gì tôi có thể nhớ lại, tôi nghi ngờ rằng việc chuyển đổi từ MASM sang C dễ dàng hơn đối với những người đã đi sâu vào lập trình MASM. Tôi nhớ một sự không thích Turbo Pascal, mà các lập trình viên mà tôi đã làm việc được gọi là ngôn ngữ đồ chơi và bạn không muốn bắt đầu sử dụng chúng trên QuickBasic. Tôi đã học MASM và C trước tiên vì áp lực đó. Đó cũng có thể là một yếu tố mặc dù điều đó không đi đến nguồn gốc thực sự của nó.
jfrankcarr

Vào cuối thập niên 80, đầu thập niên 90, C đã rất phổ biến. Bạn có thể tìm thấy một trình biên dịch như một mô-đun chuẩn trong bất kỳ triển khai UNIX nào (và UNIX là hệ điều hành mà hầu hết các lập trình viên muốn làm việc). Tôi không nói rằng nó phổ biến hơn Pascal, nhưng nó rất phổ biến. Vì vậy, C ++, Java và C # là phổ biến vì C là, không phải là cách khác.
Giorgio

0

Pascal chỉ trở nên phổ biến trong một môi trường PC / DOS khá hạn chế.

Thậm chí sau đó có rất nhiều ứng dụng COBOL của MicroF Focus chạy trên PC cũng như có các ứng dụng pascal.

C là cơ bản của hệ điều hành UNIX và tất cả các hệ điều hành MS / Windows.

Sự kết hợp giữa thực thi hiệu quả trên phần cứng hạn chế và quyền truy cập tự nhiên vào các thư viện GUI và hệ điều hành cơ bản có lẽ là lý do chính cho thành công của C. Pascal chưa bao giờ thực sự hack nó trên windows và Delphi đã đến quá muộn để tạo ra sự khác biệt.


Tôi nghĩ rằng nhận xét của bạn ".. và tất cả các hệ điều hành MS / Windows" thực tế có thể không chính xác. Windows ban đầu được thiết kế và mã hóa bằng PASCAL. Từ en.wikipedia.org/wiki/Talk:X86_calling_conventions : "Chỉ cần nghĩ rằng tôi sẽ cân nhắc ở đây. Tôi đã tra từ khóa __pascal trong Hướng dẫn sử dụng Watcom C / C ++ và rõ ràng rằng: quy ước gọi __pascal đã được sử dụng cho OS / 2 API 1. 1.x và Microsoft Windows 3.x "
John R. Strohm

@ JohnR.Strohm Các quy ước gọi và ngôn ngữ thực hiện không nhất thiết phải là một và giống nhau. Microsoft đã sử dụng C trong một thời gian từ năm 1993 (Windows 3.1 được phát hành năm 1992). Nguồn của một loại
một CVn

IIRC vào đầu những năm 80 Microsoft đã sử dụng Xenix rất nhiều trong nội bộ và có lẽ đã bắt đầu sử dụng C theo cách này. Rằng, và (Turbo) Pascal sau tất cả là sản phẩm giết người của một đối thủ nguy hiểm, Borland. Trước đó, sự khác biệt về quy mô giữa Microsoft và các công ty phần mềm lớn khác như Lotus, Borland ... vẫn chưa lớn.
wazoox
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.