Tôi có thể học c và c ++ sau python không?

C thường được gọi là ngôn ngữ máy tính cấp trung vì nó kết hợp các yếu tố của ngôn ngữ cấp cao với chức năng của hợp ngữ. C++ là phiên bản nâng cao của ngôn ngữ C, hỗ trợ thêm cho lập trình hướng đối tượng

Show

Qua

Nhóm nghiên cứu Toptal

Nhóm nghiên cứu Toptal bao gồm một số chuyên gia giàu kinh nghiệm nhất của chúng tôi

CHIA SẺ

CHIA SẺ

Bài viết này đã được cập nhật vào ngày 25 tháng 7 năm 2022. Nó đã được sửa đổi để bao gồm các nguồn và thông tin mới nhất và có liên quan, và đã được nhóm biên tập của chúng tôi xem xét để làm rõ

Ngôn ngữ lập trình C ban đầu được phát triển và triển khai trên hệ điều hành UNIX bởi Dennis Ritchie. Ngôn ngữ C, khá đơn giản, không bị ràng buộc với bất kỳ phần cứng hay hệ thống cụ thể nào. Điều này giúp người dùng dễ dàng viết các chương trình sẽ chạy mà không có nhiều (hoặc bất kỳ) thay đổi nào trên thực tế tất cả các máy

Ngôn ngữ C thường được gọi là ngôn ngữ máy tính cấp trung vì nó kết hợp các yếu tố của ngôn ngữ cấp cao với chức năng của hợp ngữ. Lập trình C cho phép thao tác với các bit, byte và địa chỉ—giúp lập trình viên có nhiều quyền kiểm soát hơn đối với chính xác cách chương trình sẽ hoạt động và truy cập trực tiếp hơn vào cơ chế của phần cứng bên dưới

C đã được tạo ra, ảnh hưởng và kiểm tra thực địa bởi các lập trình viên đang làm việc. Như vậy, C cung cấp cho lập trình viên những gì lập trình viên muốn

C++ là phiên bản nâng cao của C. C++ bao gồm tất cả các khía cạnh của C và thêm hỗ trợ cho lập trình hướng đối tượng (OOP). C ++ cũng chứa nhiều cải tiến và tính năng giúp nó trở thành “C tốt hơn”, độc lập với OOP

Ngôn ngữ C++ có thể mở rộng. Chúng ta có thể định nghĩa các loại mới theo cách mà chúng hoạt động giống như các loại được xác định trước, là một phần của ngôn ngữ chuẩn

Nếu bạn chỉ sử dụng C++ như một C tốt hơn, bạn sẽ không sử dụng hết sức mạnh của nó. Giống như bất kỳ công cụ chất lượng nào, C++ phải được sử dụng theo cách nó được thiết kế để khai thác tính phong phú của nó. Một số tính năng mới bao gồm đóng gói, gọi hàm nội tuyến, nạp chồng toán tử, thừa kế và đa hình

Lý do nên học lập trình C và C++

C và C++ vẫn là hai ngôn ngữ lập trình phổ biến nhất. Đặc biệt, cú pháp và các khái niệm của C đã đứng trước thử thách của thời gian. Chúng đã được tích hợp vào các ngôn ngữ lập trình phổ biến khác, kể cả những ngôn ngữ hiện đại nhất, chẳng hạn như Go

Ngay cả khi bạn có ý định tập trung vào việc xây dựng các ứng dụng web hoặc các thành phần giao diện người dùng ưa thích của web, thì việc học C sẽ giúp bạn hiểu cách phần mềm và phần cứng tương tác với nhau

C và C++ ở khắp mọi nơi

Đặc biệt, C cung cấp nhiều công nghệ hơn những gì chúng tôi đánh giá cao

Mặt khác, một số phần mềm yêu thích của bạn—thậm chí có thể là trình duyệt bạn đang sử dụng—được xây dựng trên C++. Biết C là một cơ sở tốt, nhưng trong nhiều trường hợp, phát triển phần mềm sẽ yêu cầu bạn học C++ và các mô hình của nó

Nếu bạn muốn phát triển phần mềm cần tận dụng tối đa hiệu suất và khả năng của máy tính—chẳng hạn như các trò chơi máy tính để bàn cao cấp, các công cụ năng suất tinh vi hoặc các chương trình chuyên sâu tính toán phức tạp—hoặc nếu bạn chỉ muốn các ngôn ngữ lập trình cho phép bạn tương tác

Vì vậy, tại sao bạn không muốn học C ++ hoặc C?

Hôm nay, bạn có thể học C++ miễn phí

Cách bắt đầu với lập trình C và C++

Để bắt đầu với C hoặc C++, bạn sẽ cần một trình biên dịch—mặc dù ngày nay bạn cũng có thể học C trực tuyến bằng cách thử nghiệm các dự án C “hello world” trong trình duyệt

Trình biên dịch là các chương trình có thể chạy qua giao diện dòng lệnh (CLI). Họ đọc toàn bộ chương trình và chuyển đổi nó thành mã đối tượng, là bản dịch của mã nguồn chương trình sang dạng mà máy tính có thể thực thi trực tiếp

Để làm cho cuộc sống dễ dàng hơn, bạn có thể sử dụng các IDE chính thức có thể giúp trải nghiệm của bạn với C hoặc C++ trở nên dễ chịu hơn

các cửa sổ

Có rất nhiều trình biên dịch tốt có sẵn trên Windows

Trên Windows, Visual Studio cung cấp trình biên dịch C++

Trình biên dịch cũng có thể xây dựng chương trình C

Visual Studio đi kèm với IDE mạnh mẽ, giàu tính năng của riêng nó, làm cho nó trở thành một lựa chọn hợp lý cho bất kỳ ai bắt đầu với C hoặc C++ hoặc ai đó chủ yếu nhắm mục tiêu vào nền tảng Windows

Nếu bạn đang tìm kiếm thứ gì đó tuân thủ tiêu chuẩn hơn, GCC (MinGW) có thể là thứ bạn cần. Codeblocks IDE hoạt động đặc biệt tốt trong thiết lập này

Clang cũng vậy, hiện là một lựa chọn đáng gờm trên Windows—nó được sử dụng để xây dựng Google Chrome

Các IDE đa nền tảng khác, chẳng hạn như Eclipse CDT, JetBrains CLion và NetBeans, cung cấp các môi trường phát triển C và C++ đầy đủ chức năng. Tuy nhiên, gần đây, những thứ này đang bị lu mờ bởi Visual Studio Code, cũng có sẵn cho môi trường Linux và Mac

Linux

Nếu bạn đang dùng Linux, có thể bạn đã cài đặt GCC như một phần của bản phân phối của mình. Nếu không, cài đặt nó là vấn đề của một lệnh duy nhất

# Ubuntu
sudo apt-get install build-essential

# Fedora
sudo yum install gcc gcc-c++

# Arch Linux
sudo pacman -S base-devel

Codeblocks IDE và Eclipse CDT hoạt động tốt trên Linux cũng như trên Windows

Mac

Trên máy Mac, bạn có thể sử dụng Clang hoặc GCC—cả hai đều miễn phí. Mặc dù GCC hỗ trợ nhiều tiêu chuẩn C và C++ hơn, nhưng Clang sẽ hoạt động tốt trong hầu hết các trường hợp

Clang nên đã được cài đặt

Bạn có thể cài đặt GCC bằng Homebrew

brew install gcc

Bạn có thể sử dụng Xcode, một IDE tuyệt vời là một phần của bộ công cụ dành cho nhà phát triển Mac OS

Hướng dẫn tốt nhất để học C và C ++

Hướng dẫn là một cách tuyệt vời để bắt đầu với một ngôn ngữ lập trình mới, ngay cả khi bạn không rành lắm về lập trình. Các bài hướng dẫn C++ và C tốt nhất sẽ dạy cho bạn những khái niệm quan trọng nhất

Lập trình C tại LearnVern

Khóa học lập trình C trực tuyến toàn diện này rất phù hợp cho người mới bắt đầu. Nó bắt đầu với kiến ​​thức cơ bản về C và lập trình nói chung, đồng thời bao gồm các chủ đề nâng cao, chẳng hạn như cấp phát bộ nhớ động và quản lý tệp

C++ dành cho lập trình viên C tại Coursera

Nếu bạn đã quen thuộc với C và muốn nhúng ngón chân vào C ++, khóa học hai phần này là hoàn hảo cho bạn. Khóa học này nêu bật sự khác biệt giữa các ngôn ngữ và chỉ cho bạn cách tận dụng tối đa C++

Nguyên tắc cơ bản về C ++ tại Pluralsight

Nếu bạn muốn bắt đầu với những kiến ​​thức cơ bản về C++ và học nó từ đầu, Pluralsight có hướng dẫn dành cho bạn. Nó được tạo ra cho những ai muốn làm việc hiệu quả hơn với C++

Lập trình C cho người mới bắt đầu tại Udemy

Khóa học trực tuyến về lập trình C này thân thiện với người mới bắt đầu và hoàn hảo cho bất kỳ ai muốn bắt đầu với C trên bất kỳ nền tảng nào trong ba nền tảng phổ biến (Windows, Linux và Mac OS X)

Hướng dẫn C++ cho người mới bắt đầu tại Udemy

Khóa học này dành cho bất kỳ ai có kiến ​​thức máy tính cơ bản nhưng muốn tham gia vào lĩnh vực lập trình. Có thể cho rằng, đó là cách tốt nhất để học C++ như ngôn ngữ đầu tiên của bạn. Ngoài ra, nếu bạn thấy phát triển trò chơi thú vị, đây là khóa học đầu tiên tốt để tham gia

Khóa đào tạo lập trình C++ nâng cao tại Udemy

Khi bạn hài lòng với các kỹ năng lập trình C++ cơ bản của mình và sẵn sàng chuyển sang các kỹ năng thực sự, bạn sẽ muốn có một hướng dẫn nâng cao như hướng dẫn này. Nó bao gồm tính đa hình, mẫu, xử lý ngoại lệ, luồng, vùng chứa, thuật toán, ngăn xếp, v.v.

máy tính. lang thang. c Câu hỏi thường gặp

Đôi khi tất cả những gì bạn cần là một danh sách phong phú các câu hỏi và câu trả lời mà bạn có thể tham khảo để giải quyết các vấn đề của mình

Chú thích C++ (Phiên bản 10. 9. 2) của Frank Brokken

Hướng dẫn dựa trên web này dành cho các lập trình viên C nâng cao (hoặc lập trình viên Perl hoặc Java—bất kỳ ngôn ngữ nào được coi là có “ngữ pháp giống C”) muốn chuyển đổi sang C++. Nó tiếp tục khi C kết thúc—chẳng hạn như tại các con trỏ, cấp phát bộ nhớ và các kiểu kết hợp—điều này làm cho nó trở thành một hướng dẫn lập trình C++ rất tốt

Hướng dẫn kiểu Google C++

Khi bạn viết các chương trình phức tạp hơn trong khi học lập trình C++, bạn có thể sớm gặp phải các vấn đề về khả năng bảo trì. Hướng dẫn phong cách từ các lập trình viên C ++ kỳ cựu sẽ có ích. Hướng dẫn phong cách này được duy trì bởi Google


Ngoài ra còn có các danh sách hướng dẫn tốt do cộng đồng kiểm duyệt để học C và học C++ dành cho những ai muốn tìm hiểu sâu hơn nữa

Tôi có thể học C và C++ bằng cách đọc sách không?

Sách là một cách tuyệt vời để tìm hiểu về ngôn ngữ lập trình rất chi tiết. Với rất nhiều lời giải thích về cách thức hoạt động của các chức năng phức tạp của ngôn ngữ lập trình, kiến ​​thức từ một cuốn sách hay về C hoặc C++ có thể giúp bạn chiếm thế thượng phong khi sử dụng các ngôn ngữ này cho các dự án của mình

Tóm tắt C. The Definitive Reference (2nd Edition) của Peter Prinz và Tony Crawford

Mặc dù cuốn sách này bao gồm một phần giới thiệu nhỏ về C, nhưng nó phù hợp hơn như một cuốn sách thứ hai nếu bạn mới bắt đầu. Cuốn sách này cung cấp các mẹo, kỹ thuật, ví dụ và lời khuyên thiết thực sẽ cho phép các nhà phát triển nâng cao phát huy tối đa khả năng của họ

Cuốn sách được chia thành ba phần. Phần đầu tiên mô tả C theo nghĩa chặt chẽ nhất của thuật ngữ, phần thứ hai mô tả thư viện chuẩn và phần thứ ba mô tả quá trình biên dịch và kiểm tra chương trình bằng các công cụ trong bộ sưu tập phần mềm GNU phổ biến

C in a Nutshell là người bạn đồng hành hoàn hảo với Ngôn ngữ lập trình C của Brian Kernighan và Dennis Ritchie (còn gọi là K&R)

Ngôn ngữ lập trình C của Brian Kernighan và Dennis Ritchie

Đây là ấn bản thứ hai của văn bản gốc Kernighan và Ritchie

Nó thường được gọi là Tân Ước, vì nó bao gồm các sửa đổi được kết hợp theo tiêu chuẩn ANSI trong khi vẫn giữ được bản chất của ấn bản đầu tiên

Cuốn sách giả định rằng người đọc có một số kiến ​​thức lập trình cơ bản. Vì vậy, nếu bạn mới bắt đầu lập trình và C là ngôn ngữ đầu tiên của bạn, thì đây có thể không phải là cuốn sách lý tưởng dành cho bạn. Tuy nhiên, bạn có thể thấy những ghi chú cô đọng này đáng giá

Đây là một trong những cách tốt nhất để giới thiệu về lập trình C và là cách bắt buộc phải có—đặc biệt nếu bạn đang bắt đầu sưu tập sách lập trình

Ngôn ngữ lập trình C++ (Phiên bản thứ 4) của Bjarne Stroustrup

Bjarne Stroustrup là người thiết kế C++ và đã viết nhiều cuốn sách hay về ngôn ngữ này

Cuốn sách này được chia thành ba phần. Phần đầu tiên cung cấp hướng dẫn giới thiệu về lập trình C++, phần thứ hai trình bày tổng hợp các vấn đề về thiết kế và phát triển phần mềm phát sinh khi sử dụng C++ và phần thứ ba là tài liệu tham khảo đầy đủ

Với sự phổ biến của C++, một số nhà phân phối độc lập ngôn ngữ này đã xuất hiện nhưng cuốn sách trình bày “C++ thuần túy”;

Một trong những cách tốt nhất để học ngôn ngữ lập trình là viết các chương trình nhỏ liên quan đến mục bạn học. Cuối mỗi chương đều có bài tập để bạn vận dụng kiến ​​thức vừa học được

C++ hiệu quả. 55 cách cụ thể để cải thiện chương trình và thiết kế của bạn bởi Scott Meyers

Xây dựng phần mềm lớn với C++ cần thiết kế và kỷ luật. Nếu bạn nghiêm túc về C++, cuốn sách này nhất định phải đọc

Đó là hướng dẫn dành cho chuyên gia về thiết kế các lớp, hàm, mẫu và hệ thống phân cấp kế thừa hiệu quả. Cuốn sách cũng thảo luận về sự khác biệt của C++ so với các ngôn ngữ khác và cách thực hiện mọi thứ theo cách của C++. ”

C++ hiện đại hiệu quả. 42 cách cụ thể để cải thiện việc sử dụng C++11 và C++14 của bạn bởi Scott Meyers

Nếu bạn đã có kinh nghiệm với C++ nhưng muốn lái thử các tiêu chuẩn mới hơn của nó, hãy đọc cuốn sách này. Bạn sẽ ngạc nhiên về mức độ phát triển của C++. Cuốn sách trình bày chi tiết cách sử dụng hiệu quả nhất các khả năng mới hơn trong C++. (Mặc dù tiêu chuẩn C++ bây giờ là C++17, C++14 vẫn là tiên tiến trong nhiều bối cảnh dự án. )

STL hiệu quả. 50 cách cụ thể để cải thiện việc sử dụng thư viện mẫu chuẩn của Scott Meyers

Một trong những khía cạnh tuyệt vời nhất của C++ là Thư viện mẫu chuẩn (STL) của nó. Đây là một trong những tính năng mạnh mẽ nhất và có thể khá phức tạp. Cuốn sách này cung cấp 50 mẹo tuyệt vời và hơn 100 thuật toán khám phá các lĩnh vực khác nhau của STL, làm cho thư viện trở nên dễ tiếp cận hơn đối với các nhà phát triển mới bắt đầu với C++

C++ Primer (Phiên bản thứ 5) của Stanley Lippman

C++ Primer là một cuốn sách tuyệt vời và sẽ làm cho việc học C++ trở nên thú vị. Mặc dù đây là một trong những cuốn sách C++ hay nhất hiện có, nhưng nó yêu cầu bạn phải làm quen với các khái niệm lập trình và thành thạo C.

Phiên bản mới nhất là tuyệt vời cho các lập trình viên muốn tận dụng tối đa các tính năng mới và nâng cao

Câu hỏi thường gặp về C ++ (Phiên bản 2) của Marshall Cline

Cuốn sách này chứa câu trả lời cho ~500 câu hỏi về lập trình, thiết kế, phân tích và thử nghiệm. Nó không dành cho người mới bắt đầu—nó dành cho những lập trình viên đã tìm ra cú pháp của ngôn ngữ và muốn triển khai chúng

Nếu bạn có những câu hỏi như “Bất biến lớp là gì?”, “Tôi nên sử dụng ngoại lệ như thế nào?” và “Điều gì xảy ra khi một hàm hủy được thực thi?”, thì đây là cuốn sách dành cho bạn

Đọc thêm trên Blog Kỹ thuật Toptal

  • Top 10 lỗi C++ phổ biến nhất mà các nhà phát triển mắc phải
  • con cò. Cách tạo ngôn ngữ lập trình trong C++

Hiểu những điều cơ bản

Lập trình C là gì?

Lập trình C đang sử dụng ngôn ngữ được gọi là C để viết mã nguồn, sau đó được biên dịch thành các chương trình. C cũ hơn C++ và vẫn là ngôn ngữ rất phổ biến để phát triển phần mềm trong nhiều ngữ cảnh khác nhau

Làm thế nào tôi có thể học ngôn ngữ C?

Cách học của mọi người là khác nhau, nhưng một số lượng "học bằng cách làm" có lẽ là khôn ngoan. Ngày nay, bạn có thể bắt đầu bằng cách dùng thử các chương trình C đơn giản trong trình duyệt web của mình. Ngoài ra còn có nhiều khóa học video, hướng dẫn miễn phí, sách và cộng đồng để giúp bạn xác định cách học tốt nhất

Sự khác biệt giữa C và Java là gì?

Có nhiều điểm khác biệt (và cả điểm tương đồng nữa). C là ngôn ngữ cũ hơn trong hai ngôn ngữ. Java biên dịch thành "mã byte" có nghĩa là được đọc bởi một máy ảo trên bất kỳ nền tảng nào, thay vì mã máy gốc như C (tuy nhiên cả hai đều có thể di động ở một mức độ nào đó). Java hướng đối tượng và thu gom rác. C ở cấp độ thấp hơn Java

Ngôn ngữ lập trình nào tốt nhất để học?

Nếu bạn hỏi 10 lập trình viên, bạn sẽ nhận được ít nhất 10 câu trả lời. Nó phụ thuộc vào nền tảng và mục tiêu của bạn. Tuy nhiên, C/C++ đã có từ rất lâu và tiếp tục là một trong những ngôn ngữ hàng đầu được sử dụng. Bất chấp tuyên bố "tốt nhất", việc học C hoặc C++ chắc chắn là đáng giá

Sự khác biệt chính giữa C và C++ là gì?

Điểm khác biệt lớn nhất là C++ hỗ trợ lập trình hướng đối tượng

Ai đã phát triển C++?

Bjarne Stroustrup của Bell Labs bắt đầu phát triển C++ vào năm 1979, nhưng mãi đến năm 1998 nó mới chính thức được ISO chuẩn hóa. ISO tiếp tục phát hành các tiêu chuẩn, tiêu chuẩn mới nhất là C++20. Tiêu chuẩn kế hoạch tiếp theo là C++23

Việc sử dụng ngôn ngữ lập trình C là gì?

Ngôn ngữ C vẫn được sử dụng rộng rãi cho các hệ điều hành, trình duyệt web, phần mềm văn phòng, trò chơi điện tử và trình điều khiển phần cứng, giữa các ứng dụng. Vì nó biên dịch thành mã máy gốc, nên nó thường được sử dụng trong trường hợp hiệu suất là rất quan trọng

Học C sau Python có ổn không?

Vì vậy, tôi thực sự khuyên bạn nên học Python trước. C sẽ dễ học hơn sau này , vì Python sẽ cho phép bạn nắm bắt các khái niệm lập trình phù hợp nhanh hơn nhiều.

Tôi nên học C hay Python trước?

Python luôn được khuyên dùng nếu bạn đang tìm kiếm một ngôn ngữ lập trình dễ dàng và thú vị để học trước . Thay vì phải nhảy vào các quy tắc cú pháp nghiêm ngặt, Python đọc như tiếng Anh và dễ hiểu đối với người mới học lập trình.

Tôi nên học C hay C++ sau Python?

Khi bạn biết Python, bạn nên đi thẳng vào C++ . Bạn sẽ cảm thấy quen thuộc với OOP và bạn sẽ dành thời gian học C++, chứ không phải các khái niệm trừu tượng về OOP như những gì một người mới hoàn toàn sẽ phải làm.

Ngôn ngữ C và Python có đủ để kiếm việc làm không?

Không, không đủ . C là một ngôn ngữ lập trình mạnh mẽ, nhưng học C sẽ không đủ để bạn có một công việc. Các nhà phát triển có kinh nghiệm khuyên bạn nên có kiến ​​thức làm việc về ngôn ngữ kịch bản hoặc các ngôn ngữ phổ biến khác như Python, Java, JavaScript và C++.