C hay C++ cái nào dễ hơn?

Câu hỏi này thường được hỏi và nếu bạn có bất kỳ người bạn lập trình nào, bạn có thể sẽ nhận được câu trả lời khác nhau từ mỗi người bạn. Và bạn thậm chí có thể nhận được một gợi ý khác để học Java thay thế. Hãy để tôi cung cấp cho bạn câu trả lời dựa trên nhu cầu của bạn thay vì ngôn ngữ mà bạn bè của bạn thích nhất

Tôi nên học C, C++ hay C#?  Cuối cùng, bạn sẽ thấy giá trị khi học cả ba. Nhưng tôi không khuyên bạn nên học C trước. Có quá nhiều thói quen bạn sẽ phải vật lộn với sau này. Nếu bạn chỉ học một cái, thì C# sẽ dễ học hơn và nhanh hơn. Nhưng nếu bạn nghĩ rằng một ngày nào đó bạn có thể cần nhiều hơn, thì C++ sẽ giúp bạn chuẩn bị tốt hơn.

Tôi đã lập trình được 25 năm và đã chứng kiến ​​các ngôn ngữ đến rồi đi. Tiếp tục đọc để có lời khuyên đầy đủ của tôi không chỉ xem xét ngôn ngữ phổ biến nhất trong tháng

wahid

Vậy tôi nên học cái nào?

Cuối cùng, bạn sẽ tìm thấy giá trị của việc học nhiều ngôn ngữ. Và có thể có một ngôn ngữ mới mà bạn quan tâm trong 5 năm tới

Nếu có một điều chắc chắn trong công nghệ, thì đó là mọi thứ sẽ thay đổi

Tôi bắt đầu học C đơn giản và sau đó học C++ và sau đó là C#. Cả C ++ và C # đều có nguồn gốc từ C nhưng có một sự thay đổi lớn trong cách viết chương trình C với các thủ tục so với. các mẫu hướng đối tượng của C++ và C#

Nó phụ thuộc vào cách bạn tiếp cận vấn đề và cách bạn suy nghĩ về các giải pháp. Học C trước sẽ giúp bạn dễ dàng và gần như tự nhiên tiếp tục giải quyết các vấn đề theo phong cách C mà bạn quen thuộc và sẽ khó hiểu các giải pháp hướng đối tượng hơn

Tôi không khuyên bạn nên học C trước

Có quá nhiều thói quen mà bạn sẽ phải vật lộn sau này khi chuyển sang C++ hoặc C#

Vì vậy, hãy thay đổi câu hỏi một chút để nghiêng về cái nào trước, C++ hay C#?

Tôi khuyên bạn cuối cùng nên học cả ba ngôn ngữ. Đừng bắt đầu với C

Là một ngôn ngữ tốt hơn ngôn ngữ khác?

Bạn có thể nghe rằng câu trả lời phụ thuộc vào loại chương trình bạn muốn viết và C++ tốt hơn cho các ứng dụng và dịch vụ phụ trợ hoặc máy chủ trong khi C# tốt hơn cho các ứng dụng Windows được sử dụng trực tiếp

tôi không nghĩ vậy

Tôi đã thấy một số trò chơi và ứng dụng thực sự hay được viết bằng C++ và tôi đã thấy một số phần mềm cơ sở hạ tầng và công cụ chính được viết bằng C#. Phải có nhiều hơn thế

Cả C++ và C# đều đã trải qua những thay đổi lớn trong những năm qua và cả hai đều theo kịp rất tốt các tiêu chuẩn lập trình hiện đại. Có thể tại thời điểm này C++ thiếu một số tính năng trong C# hoặc ngược lại nhưng đó là tạm thời

Nếu một khái niệm mới tỏ ra thực sự hữu ích đối với các lập trình viên, thì có lẽ nó sẽ tìm đường đến với các ngôn ngữ khác

Điều này có nghĩa là cả C++ và C# đều bị ràng buộc về lâu dài và bạn không thể thực sự đưa ra quyết định của mình dựa trên các tính năng hiện tại của một trong hai ngôn ngữ

Khi bạn hiểu các tính năng và khả năng hiện tại của một ngôn ngữ, bạn sẽ thấy rằng công việc thực sự của việc học một ngôn ngữ mới thực sự là học các thư viện đi kèm với ngôn ngữ đó.

Điều này cần có thời gian cho bất kỳ ngôn ngữ nào và Tôi sẽ phải dành lợi thế cho C# tại đây chỉ vì những tiến bộ to lớn mà Microsoft đã đạt được . Thư viện Net Framework một trải nghiệm nhất quán.

Tuy nhiên, quay trở lại điểm trước đó về việc học nhiều ngôn ngữ, giả sử rằng cuối cùng bạn sẽ học cả ba ngôn ngữ. C, C++ và C#

Vì bạn sẽ học các thư viện của từng ngôn ngữ nên có vẻ như câu hỏi ngôn ngữ nào tốt nhất sẽ thuộc về ngôn ngữ nào sẽ giúp bạn nhiều nhất khi bắt đầu

Ngôn ngữ nào sẽ giúp tôi nhiều nhất khi tôi muốn học những ngôn ngữ khác?

Nói cách khác, bạn sẽ trở thành một lập trình viên giỏi hơn và thấy dễ dàng hơn khi học C++ và sau đó là C#?

Giống như cách giải quyết vấn đề với C gây rắc rối với cả C++ và C#, có những khía cạnh của C# sẽ gây ra vấn đề cho bạn sau này khi bạn bắt đầu học C++

Đây là những điều bạn có thể không bao giờ nhận thấy nếu bạn chỉ tập trung vào C#. Nhưng hãy thử chuyển sang C ++ và coi chừng

Ngôn ngữ C# cố gắng bảo vệ bạn khỏi nhiều lỗi phổ biến mà các lập trình viên C++ mắc phải

Điều này thật tuyệt nếu bạn đến với C# sau khi học C++

Nhưng sẽ gây cho bạn một số thất vọng thực sự nếu bạn cố gắng đi theo con đường khác

Tôi cũng nghĩ rằng học C++ trước sẽ giúp bạn đánh giá cao hơn về C# và sẽ giúp bạn trở thành một lập trình viên giỏi hơn về tổng thể

Mặc dù học C# trước có thể nhanh hơn do có thư viện nhất quán hơn, nhưng bạn sẽ vấp ngã nhiều hơn khi học C++ và sẽ có nhiều khả năng từ bỏ và chỉ gắn bó với C#

Mặt khác, học C++ trước có vẻ khó hơn, nhưng bạn đang xây dựng nền tảng tốt hơn nhiều và sẽ có nhiều khả năng thành thạo cả ba ngôn ngữ hơn

C++ có phức tạp hơn C# không?

Rất nhiều người nghĩ như vậy và lý do lớn nhất mà tôi đã nghe là C# cung cấp bộ sưu tập rác để bạn không còn phải lo lắng về rò rỉ bộ nhớ

Đó chỉ là một trong những khía cạnh C# mà tôi đã đề cập khiến nhiều người không hiểu cách mọi thứ thực sự hoạt động

Hãy nói thẳng một điều;

Bạn vẫn có thể bị rò rỉ bộ nhớ trong C#

Bạn có thể viết các chương trình C++ của mình bằng cách sử dụng các con trỏ thông minh giúp giải quyết các vấn đề về quản lý bộ nhớ mà rất nhiều người cho rằng C++ xử lý không tốt.

Ngoài ra còn có các khả năng trong C++ chẳng hạn như đa kế thừa mà nhiều người trích dẫn là một lý do khác khiến C++ khó hơn C#

Đúng là đa thừa kế cần suy nghĩ nhiều hơn để hiểu đúng và không nên sử dụng cho mọi trường hợp

Nếu làm sai, đa kế thừa có thể khiến chương trình khó hiểu hơn và có thể khiến chương trình có nhiều lỗi hơn

Nhưng câu trả lời là loại bỏ đa kế thừa khỏi ngôn ngữ như C# đã làm hay để học cách sử dụng khả năng đó một cách khôn ngoan?

Ngôn ngữ C++ có xu hướng cung cấp cho bạn nhiều lựa chọn hơn. Khi học ngôn ngữ, nếu bạn thấy đa thừa kế quá khó, thì đừng sử dụng nó ngay cho đến khi bạn hiểu rõ hơn về nó

Một khi bạn hiểu đa kế thừa, thì bạn sẽ đánh giá đầy đủ những gì C# cung cấp và những gì nó loại bỏ

Ngôn ngữ C++ cũng cung cấp một tính năng được gọi là các mẫu thoạt nhìn có vẻ giống với một thứ gọi là tổng quát trong C#

Tuy nhiên, C# generics thiếu một nửa chức năng của mẫu C++

Nếu bạn bắt đầu chỉ học C# generics, thì có khả năng bạn sẽ không bao giờ sử dụng hết sức mạnh của các mẫu C++ chỉ vì đó không phải là thứ bạn học lần đầu và thậm chí bạn có thể không nhận thấy rằng có nhiều hơn nữa. Tuy nhiên, học mẫu C++ trước sẽ giúp bạn chuẩn bị tốt hơn cho sự khác biệt trong C# generics.

Nhìn chung, tôi muốn nói rằng C++ khó học hơn C# vì C++ có nhiều khả năng hơn và vì thư viện không nhất quán như C#

Thư viện C++ ngày càng tốt hơn nên đây là một trong những so sánh tính năng tạm thời mà tôi đã đề cập có thể thay đổi theo thời gian

Tôi nên bắt đầu với C++ hay với C#?

Nếu bạn chỉ học C++ hoặc C#, thì có lẽ bạn nên học C# vì nó dễ học hơn, nhanh hơn và có thể áp dụng rộng rãi

Không có gì sai khi chỉ học C# và bạn có thể viết bất kỳ loại phần mềm nào bằng ngôn ngữ này. Nhưng nếu bạn nghĩ rằng một ngày nào đó bạn có thể cần cả hai ngôn ngữ, thì việc học C++ trước sẽ giúp bạn chuẩn bị tốt hơn và giúp việc học tổng thể của bạn trở nên dễ dàng hơn, đồng thời cung cấp cho bạn một bộ kỹ năng thậm chí còn rộng hơn để làm việc.

Và có thêm một lợi ích khi học C++ trước;

Có một số khía cạnh của C# sẽ được coi là hiển nhiên bởi những người chỉ biết C#. Nhưng nếu bạn biết C++, thì bạn sẽ có những hiểu biết sâu sắc về C# giúp bạn khác biệt với những người chỉ biết C#

Bạn muốn đọc thêm về viết mã?

Tôi đã tập hợp một trang Tài nguyên với những cuốn sách mà tôi sử dụng. Một số sách tốt cho người mới bắt đầu và một số sách nâng cao hơn. Và tôi sử dụng một số để tham khảo và luôn giữ chúng bên cạnh

Đây không chỉ là một trang với một loạt các tiêu đề sách

Bạn có thể tìm hiểu lý do tại sao tôi giới thiệu từng cuốn sách và cách tôi sử dụng chúng. Nhấp vào bất kỳ đâu trong phần này để mở trang Tài nguyên trong một cửa sổ mới

Nhấn vào đây để nghe podcast tập #218 về lý do tại sao C++ được sử dụng để lập trình trò chơi điện tử

Ngôn ngữ C++ được sử dụng cho nhiều loại dự án đòi hỏi tốc độ, quy mô và khả năng đáp ứng

Nó cũng là một lựa chọn tuyệt vời cho các trò chơi điện tử. Tại sao?

C++ mang lại cho bạn độ tin cậy. Bạn biết chính xác khi nào mọi thứ sẽ xảy ra, khi nào các đối tượng sẽ được xây dựng và khi nào chúng bị phá hủy

C# cố gắng làm cho công việc của bạn dễ dàng hơn. Nhưng khi làm như vậy, C# sẽ lấy đi quyền kiểm soát của bạn. Điều khiển này có thể có nghĩa là sự khác biệt giữa một trò chơi mạnh mẽ trong C++ sử dụng toàn bộ máy tính hoặc đấu tranh để vượt qua “sự trợ giúp” mà C# cung cấp

Cái nào dễ C hay C?

C dễ viết hơn vì nó là thủ tục. 4. C++ không thể dễ dàng viết thành C vì nó hướng đối tượng. 5.

Học C hay C++ dễ hơn?

So với C++, C là ngôn ngữ lập trình đơn giản hơn và cuối cùng là nhanh hơn . C là thủ tục và không hỗ trợ các lớp và đối tượng, nghĩa là nó có ít chức năng hơn C++. Điều này cho phép bạn dành nhiều thời gian hơn để tập trung vào những gì bạn có thể làm với các thư viện của C, đặc biệt là ở cấp hệ điều hành.

Nên học C hay C trước?

Bằng cách học C trước , lập trình viên có thể làm quen với khía cạnh thủ tục của ngôn ngữ và sau đó học lập trình hướng đối tượng thông qua C++. C++ phức tạp hơn C và có thể gây choáng ngợp cho người mới bắt đầu. "

Cái nào dễ dàng C hoặc C #?

Có quá nhiều thói quen bạn sẽ phải vật lộn với sau này. Nếu bạn chỉ học một cái, thì C# sẽ dễ học hơn và nhanh hơn