thảo luận - C và C++ có bắt buộc phải học ? | theNEXTvoz
Tên Để Làm Gì Đâu
Mình thấy ở nhiều câu hỏi về lộ trình học thường có mấy ông luôn trả lời nên học C, C++ để lấy căn bản. Nhưng theo mình biết một số trường khá có tiếng họ bỏ C, C++ chuyển qua dạy python, không lẽ bạn nói người ta dạy sinh viên không có căn bản. Quan điểm cho rằng học C, C++ chuyển qua học ngôn ngữ khác dễ hơn mình thấy đúng. Nhưng nhìn chung không chỉ C, C++ mà học bất cứ ngôn ngữ nào chuyển qua ngôn ngữ thứ 2 đều dễ hơn rất nhiều. Câu hỏi của mình là liệu C, C++ có BẮT BUỘC PHẢI HỌC đối với lập trình viên ?.
Last edited:
tuannguyensn2001
mình thấy thì k bắt buộc, nó chỉ là ngôn ngữ thường dùng để lấy căn bản, mình đi từ java lên vẫn làm ngon lành đấy thôi
Mình thấy ở nhiều câu hỏi về lộ trình học thường có mấy ông luôn trả lời nên học C, C++ để lấy căn bản. Nhưng theo mình biết một số trường khá có tiếng họ bỏ C, C++ chuyển qua dạy python, không lẽ bạn nói người ta dạy sinh viên không có căn bản. Quan điểm cho rằng học C, C++ chuyển học học ngôn ngữ khác mình thấy đúng. Nhưng nhìn chung không chỉ C, C++ mà học bất cứ ngôn ngữ nào chuyển qua ngôn ngữ thứ 2 đều dễ hơn rất nhiều. Câu hỏi của mình là liệu C, C++
có BẮT BUỘC PHẢI HỌC đối với lập trình viên ?.
Lập trình viên thì không biết nhưng nếu anh là sinh viên thì anh phải học.
Adidas Phật
Không bắt buộc, nhưng nó là thứ giúp lập môn lập trình tốt nhất (theo mình thấy thế).
a_anhhungxadieu
Ko biết giờ các trường đh hay trường cấp 3 đú trend hay j mà dạy Python lun nhỉ? Thấy 1 cái bất lợi là Python k có khai báo kiểu dữ liệu và k có dấu đóng mở ngoặc. Nếu đứng ở 1 đứa beginner tay ngang hay 1 đứa học sinh cấp 3 thì cảm thấy học Python dễ và nhanh đấy. Nhưng sẽ khó và lâu khi chuyển sag mấy ngôn ngữ strong type
Sent from Vsmart Active 3 using vozFApp
bribnt
C++ thì không nhất thiết nhưng C thì phải biết.
Vì tất cả các hệ điều hành bây giờ đều viết bằng C, các thư viện cơ bản nhất cũng là C. Dù có dùng ngôn ngữ bậc cao cỡ nào thì bên dưới vẫn giao tiếp với hệ điều hành, phần cứng bằng ABI của C hết.
Biết thì sẽ dễ debug, xử lý sự cố hơn.
Ko biết giờ các trường đh hay trường cấp 3 đú trend hay j mà dạy Python lun nhỉ? Thấy 1 cái bất lợi là Python k có khai báo kiểu dữ liệu và k có dấu đóng mở ngoặc. Nếu đứng ở 1 đứa beginner tay ngang hay 1 đứa học sinh cấp 3 thì cảm thấy học Python dễ và nhanh đấy. Nhưng sẽ khó và lâu khi chuyển sag mấy ngôn ngữ strong type
Sent from Vsmart Active 3 using vozFApp
đíu bao giờ.
vn muốn dạy thì phải dùng tiếng việt. python xử lý tiếng việt như ỉa không chùi đít.
// à đấy là tôi là người sạch sẽ vê sinh (tức là tôi dùng các ngôn ngữ string là utf8), chứ mấy bạn khác chưa chắc đã thấy thối đâu nhé
Mình thấy ở nhiều câu hỏi về lộ trình học thường có mấy ông luôn trả lời nên học C, C++ để lấy căn bản. Nhưng theo mình biết một số trường khá có tiếng họ bỏ C, C++ chuyển qua dạy python, không lẽ bạn nói người ta dạy sinh viên không có căn bản. Quan điểm cho rằng học C, C++ chuyển học học ngôn ngữ khác dễ hơn mình thấy đúng. Nhưng nhìn chung không chỉ C, C++ mà học bất cứ ngôn ngữ nào chuyển qua ngôn ngữ thứ 2 đều dễ hơn rất nhiều. Câu hỏi của mình là liệu C, C++ có BẮT BUỘC PHẢI HỌC đối với lập trình viên ?.
Vì các trường đú trend. Các em sinh viên sẽ sớm vỡ mộng khi cầm python ra industry làm việc.
C++ thì có thể không cần học nhưng C thì phải biết để hiểu bản chất của việc lập trình là gì. Tuy nhiên ai code giỏi thì hầu hết sẽ học cả C++ nữa.
Ko biết giờ các trường đh hay trường cấp 3 đú trend hay j mà dạy Python lun nhỉ? Thấy 1 cái bất lợi là Python k có khai báo kiểu dữ liệu và k có dấu đóng mở ngoặc. Nếu đứng ở 1 đứa beginner tay ngang hay 1 đứa học sinh cấp 3 thì cảm thấy học Python dễ và nhanh đấy. Nhưng sẽ khó và lâu khi chuyển sag mấy ngôn ngữ strong type
Sent from Vsmart Active 3 using vozFApp
Mình là người tay ngang, cảm giác khi đụng tới C là chán, không phải vì nó khó. Khó thì ngôn ngữ gì nó cũng khó. Điểm quan trọng là nếu tự học thì người học khó có thể xây dựng được cái gì hoàn chỉnh. Nghe anh em nói C quan trọng vậy thì sau khi làm project ổn ổn mình đá qua học cơ bản C, mục đích để học thuật toán.
Mình là người tay ngang, cảm giác khi đụng tới C là chán, không phải vì nó khó. Khó thì ngôn ngữ gì nó cũng khó. Điểm quan trọng là nếu tự học thì người học khó có thể xây dựng được cái gì hoàn chỉnh. Nghe anh em nói C quan trọng vậy thì sau khi làm project ổn ổn mình đá qua học cơ bản C, mục đích để học thuật toán.
Học C thì rộng lắm, nhưng nếu anh muốn học về những điều cơ bản thì course này rất bổ ích. Quan trọng là nó còn vui nữa:
https://cs50.harvard.edu/x/2021/
tao_la_giang
Muốn hiểu các tầng dưới hoặc nắm vững các thuật toán và cấu trúc dữ liệu cơ bản thì C cực kỳ phù hợp.
Học mấy thứ căn bản này nó sẽ giống như cầu thủ trẻ tập tâng bóng vậy, dù vào sân chỉ có chuyền rồi chạy. Không tập vẫn đá được, nhưng bọn tập bài bản vẫn tiến nhanh và xa hơn.
Kân team
mấy cụ đi trước học được thì các cháu đi sau cớ gì ko học được
Vì các trường đú trend.
Các em sinh viên sẽ sớm vỡ mộng khi cầm python ra industry làm việc. C++ thì có thể không cần học nhưng C thì phải biết để hiểu bản chất của việc lập trình là gì. Tuy nhiên ai code giỏi thì hầu hết sẽ học cả C++ nữa.
Nghe cũng sợ phết, tui cũng join vài cái dự án cỡ "industry", "enterprise" chạy với Py. Chưa thấy vỡ mộng cho lắm
Còn việc học C và C++ thì tôi cũng đồng tình rằng ở cấp Đại Học vẫn nên dạy C. Tuy nhiên, việc lựa chọn ngôn ngữ phụ thuộc vào môn học và cũng không nhất thiết phải cứng nhắc.
Ví dụ như: một vài môn học như DSA thì C là ngôn ngữ phù hợp nhất để giảng dạy. Hoặc như OOP thì lại nên dùng Java (C++?!).
Mục tiêu của giảng dạy đại học trong các năm đầu (chưa nói năm cuối) vẫn là lý thuyết, nguyên lý, khái niệm căn bản. Việc dùng ngôn ngữ nào thường phụ thuộc vào giảng viên là chính, không nên đặt nặng vấn đề ngôn ngữ quá.
P/s: À có câu chuyện vui của thầy tôi, một trong 5 người đầu tiên tiếp xúc, bê cái máy tính từ LX về VN mình.
Theo thầy kể thì cuối những năm 90, đầu những năm 2000, thầy là một trong những người phản đối mạnh mẽ nhất việc đưa C/C++ vào chương trình giáo dục bậc Đại Học để thay cho Assembly. Và giờ kết quả thì mọi người cũng thấy rồi đó
đíu bao giờ.
vn muốn dạy thì phải dùng tiếng việt. python xử lý tiếng việt như ỉa không chùi đít.
// à đấy là tôi là người sạch sẽ vê sinh (tức là tôi dùng các ngôn ngữ string là utf8), chứ mấy bạn khác chưa chắc đã thấy thối đâu nhé
Theo anh thì ở cấp giáo dục phổ thông nên dùng ngôn ngữ gì để dạy cho các em?
C/C++, Java, Javascript?
Ngôn ngữ nào thì phù hợp với
mục tiêu giáo dục môn tin học ở cấp phổ thông? Theo tôi hiểu thì "Tư duy lập trình" nó chỉ là 1 trong 10 mục tiêu của môn học này.
pascal như trước cũng ổn, tất nhiên cần cập nhật lại giáo trình cho phù hợp. ví dụ thay vì dùng TP7 cổ thì giờ dùng Free pascal, lazarus.
pascal vẫn là ngôn ngữ thiết kế cho dạy học. đơn giản và hiệu quả.
Chương trình giáo dục hiện tại tôi nhớ không nhầm thì có 2 năm (8 và 11) học về lập trình Pascal. Phần học này quá nặng về kiến thức lập trình.
Trong chương trình giáo dục mới, phần về mạch kiến thức CS chắc sẽ bỏ phần học này đi và thay thế bằng chương trình giảng dạy dễ hiểu hơn, thực tế hơn, trực quan hơn.
Như cái mục tiêu của bộ GD&DT thì tôi nghĩ sẽ lựa chọn Python hoặc Javascript để giảng dạy, và cũng không đặt nặng các lý thuyết hàn lâm như chương trình hiện tại (áp dụng STEAM?!).
Pascal theo như tôi thấy thì nó không phù hợp với mục tiêu này nữa rồi. Nếu cứ học Pascal tiếp thì thế hệ tiếp theo vẫn cứ chán cái môn Tin học này thôi.
Chương trình giáo dục hiện tại tôi nhớ không nhầm thì có 2 năm (8 và 11) học về lập trình Pascal. Phần học này quá nặng về kiến thức lập trình.
Trong chương trình giáo dục mới, phần về mạch kiến thức CS chắc sẽ bỏ phần học này đi và thay thế bằng chương trình giảng dạy dễ hiểu hơn, thực tế hơn, trực quan hơn.
Như cái mục tiêu của bộ GD&DT thì tôi nghĩ sẽ lựa chọn Python hoặc Javascript để giảng dạy, và cũng không đặt nặng các lý thuyết hàn lâm như chương trình hiện tại (áp dụng STEAM?!).
Pascal theo như tôi thấy thì nó không phù hợp với mục tiêu này nữa rồi. Nếu cứ học Pascal tiếp thì thế hệ tiếp theo vẫn cứ chán cái môn Tin học này thôi.
tuy tôi ghét js, nhưng nghĩ chọn js là hợp lý:
không phân biệt string với integer, trẻ con thích điều này.
có mặt khắp nơi, hướng dẫn khắp nơi
dùng dc tiếng việt (mặc dù cao cấp thì fail)
giờ dùng python quá dở.
Nipin
nếu dùng pascal thì tôi muốn vn dạy trẻ con làm GUI nhiều hơn. làm ra ứng dụng dạng gui nó trực quan hơn (vì trẻ con nó quen với gui rồi), lại nhiệt tình.
nhớ hồi đó học pascal mà có đợt thử visual basic 6 mà thích mê, mỗi tội không nhập dc tiếng việt nên bỏ (chưa có unicode).
nói gì thì gì IDE full như lazarus hay delphi nó vẫn dễ dạy hơn mấy thể loại cần command line.
nếu dùng pascal thì tôi muốn vn dạy trẻ con làm GUI nhiều hơn. làm ra ứng dụng dạng gui nó trực quan hơn (vì trẻ con nó quen với gui rồi), lại nhiệt tình.
nhớ hồi đó học pascal mà có đợt thử visual basic 6 mà thích mê, mỗi tội không nhập dc tiếng việt nên bỏ (chưa có unicode).
nói gì thì gì IDE full như lazarus hay delphi nó vẫn dễ dạy hơn mấy thể loại cần command line.
Vẫn quá khó so với JS. Tôi cũng anti-js nhưng phải công nhận nó là ngôn ngữ phù hợp ở thời điểm hiện tại để giảng dạy trong cấp phổ thông. Ở cấp bậc đó thì việc quan trọng nhất là tạo ra hứng thú khi học môn Tin.
Nếu giờ thay Pascal bằng Python thì khá đáng tiếc (mặc dù tôi là fan của Py và làm Py cũng 7 năm)
Hình như cấp tiểu học sẽ chơi Scratch thì phải.
Btw:
Mọi người chắc nên quay về chủ đề chính là C/C++ ở cấp Đại Học. Đi sa đà hơi quá rồi.
cái máy đủ khoẻ để chạy java IDEs thì không free. nhân lên cả nước thì là số tiền rất lớn.
tất nhiên nếu dùng vs code thì python hay js cũng tương đương, nhưng ở đây là so với delphi (giờ đã free education) hay lazarus thì tuổi gì về tính năng và độ nhẹ.
// tôi tới giờ vẫn anti mấy thằng java IDE, từ hồi dùng netbean gõ
. xong treo cả IDE fail test cuối kì thành nợ môn
welcometrue
Tôi thì vẫn giữ quan điểm ngôn ngữ lập trình thì vẫn là ngôn ngữ lập trình, thấy hợp cái gì, đi hướng nào, thì là quan điểm mỗi người. Tôn trọng lẫn nhau thôi.
Tôi xuất thân dùng C++, biết thêm chút Assembly và cả FORTRAN, nhưng hai năm nay thì toàn dùng Python là chủ yếu (dù lâu lâu vẫn đụng vào C++). Vì cái task của tôi chủ yếu liên quan tới mấy cái Data Science/Computer Vision/Machine Learning.
Ba cái này cực kì nặng ở chỗ phát triển ra giải thuật mới. Giải thuật ở đây không chỉ là ở mức iterate rồi matrix manipulation như hồi cấp 3 với C++, mà phức tạp hơn, ít sách vở đề cập hơn (vì đi hướng research mà), debug khó khăn hơn. Việc sử dụng Python + những thư viện warper C++/Fortran thì tốc độ execution không là vấn đề lớn nữa. Và việc mặt code dễ dàng và intuitive hơn giúp tôi làm việc nhanh hơn rất nhiều. Cũng giống như hồi ĐH, học môn phương pháp tính có cả 3, 4 phuơng pháp tính nghịch đảo ma trận (tôi còn nhớ mỗi Gaussian vì dễ implementation nhất và chạy cũng khá nhanh), mà giờ ra ngoài làm thì toàn dùng np.inverse cho nhanh (về mặt code) để tập trung cho mấy cái hướng mới
Tôi từng gặp một cu C++ master race (mà không học tới nơi tới chốn), đòi solo code ma trận Python với tôi. Nó iterate bằng for loop và kết quả là chậm hơn 4 lần so với tôi dùng Numpy, dù tôi thừa biết (và có dùng) chắc chắn dùng eigen trong C++ sẽ nhanh hơn.
Nên không ngôn ngữ nào master race hơn ngôn ngữ nào hết. Quan trọng là phải
NẮM RÕ. Như ví dụ trên, học C++ mà không rõ eigen, boost thì thôi dẹp học Python luôn đi. Còn việc C++
bắt buộc phải học thì nó cũng là một ý kiến tốt thôi. Học thừa hơn thiếu. Học C++ giúp hiểu hơn cách máy tính hoạt động, tạo ra lối suy nghĩ OOP, Static variables và luôn tìm mọi cách để tối ưu code
, ba cái này luôn cần ở mọi ngôn ngữ. Chưa kể C++ có thể dùng được để làm việc luôn (hơn hẳn Pascal cũ). Với những người học công nghệ thông tin, mới chập chững bắt đầu, thì tốt nhất vẫn là học cái thứ general nhất, dù nó là bậc thấp đi chăng nữa
Sau này có định hướng thì quên bớt cũng được
Tôi thì vẫn giữ quan điểm ngôn ngữ lập trình thì vẫn là ngôn ngữ lập trình, thấy hợp cái gì, đi hướng nào, thì là quan điểm mỗi người. Tôn trọng lẫn nhau thôi.
Tôi xuất thân dùng C++, biết thêm chút Assembly và cả FORTRAN, nhưng hai năm nay thì toàn dùng Python là chủ yếu (dù lâu lâu vẫn đụng vào C++). Vì cái task của tôi chủ yếu liên quan tới mấy cái Data Science/Computer Vision/Machine Learning.
Ba cái này cực kì nặng ở chỗ phát triển ra giải thuật mới. Giải thuật ở đây không chỉ là ở mức iterate rồi matrix manipulation như hồi cấp 3 với C++, mà phức tạp hơn, ít sách vở đề cập hơn (vì đi hướng research mà), debug khó khăn hơn. Việc sử dụng Python + những thư viện warper C++/Fortran thì tốc độ execution không là vấn đề lớn nữa. Và việc mặt code dễ dàng và intuitive hơn giúp tôi làm việc nhanh hơn rất nhiều. Cũng giống như hồi ĐH, học môn phương pháp tính có cả 3, 4 phuơng pháp tính nghịch đảo ma trận (tôi còn nhớ mỗi Gaussian vì dễ implementation nhất và chạy cũng khá nhanh), mà giờ ra ngoài làm thì toàn dùng np.inverse cho nhanh (về mặt code) để tập trung cho mấy cái hướng mới
Tôi từng gặp một cu C++ master race (mà không học tới nơi tới chốn), đòi solo code ma trận Python với tôi. Nó iterate bằng for loop và kết quả là chậm hơn 4 lần so với tôi dùng Numpy, dù tôi thừa biết (và có dùng) chắc chắn dùng eigen trong C++ sẽ nhanh hơn.
Nên không ngôn ngữ nào master race hơn ngôn ngữ nào hết. Còn việc C++
bắt buộc phải học thì nó cũng là một ý kiến tốt thôi. Học thừa hơn thiếu. Học C++ giúp hiểu hơn cách máy tính hoạt động, tạo ra lối suy nghĩ OOP, Static variables và luôn tìm mọi cách để tối ưu code
, ba cái này luôn cần ở mọi ngôn ngữ. Chưa kể C++ có thể dùng được để làm việc luôn (hơn hẳn Pascal cũ). Với những người học công nghệ thông tin, mới chập chững bắt đầu, thì tốt nhất vẫn là học cái thứ general nhất, dù nó là bậc thấp đi chăng nữa
Sau này có định hướng thì quên bớt cũng được
thì cái để code python của bạn nhanh hơn c++ nó không phải là python?
bạn so sánh speed thì so sánh speed bằng code bạn implement bằng pure python chứ code của C thì nói làm gì?
thì cái để code python của bạn nhanh hơn c++ nó không phải là python?
bạn so sánh speed thì so sánh speed bằng code bạn implement bằng pure python chứ code của C thì nói làm gì?
không ai so sánh kiểu đó.
Tôi lấy ví dụ ở đây, để nói rằng, việc thuần thục một ngôn ngữ dễ có khi tốt hơn việc biết sơ sơ một ngôn ngữ khó. Vậy nhé.
vấn đề là với các ngôn ngữ khác nó không có thư viện dạng numpy, scipy (ví dụ ruby) thì rõ ràng là cái ví dụ của bạn thành vô nghĩa đúng không?
Vậy giờ lấy ví dụ Ruby đi, có phải dùng Ruby on Rails build backend nhanh hơn (về thời gian dev) so với Python không? Có thể giờ khác rồi, tôi không rõ cái này. Nhưng mỗi ngôn ngữ lập trình đều có thế mạnh riêng, đúng không?
nói chung tôi chả hiểu các bạn dùng dc mấy ngôn ngữ mà câu cửa mồm là ngôn ngữ nào chả thế nghe chối không chịu được.
Cũng reply y hệt như trên. Ngôn ngữ gì chả thế, trong cái context này, là tùy vào hướng đi mỗi người, mỗi người lựa chọn nó, và không có cái ngôn ngữ nào có ưu thế (master race) hơn ngôn ngữ nào cả (trừ ngôn ngữ nào mà tù quá thì devs tự bỏ). Mục đích cuối của lập trình cũng là cho máy chạy ra sản phẩm, vậy thôi. Vi điều khiển thì lập trình kiểu riêng, siêu máy tính kiểu riêng, game kiểu riêng, data analysis kiểu riêng. Như giờ mấy thằng đi embedded xác định phải tập trung vào Assembly/C, mấy thằng HPC thì FORTRAN/C, mấy thằng frontend thì JS, mấy thằng backend thì PHP/SQL/Go, mấy thằng researcher thì MATLAB, Python, R. Đấy, làm nghề nghiệp gì, trình độ gì, thì chọn cho phù hợp.
hoặc là cậu nói ngôn ngữ nào chả dc, thế thì tại sao google nó phải thử nghiệm làm swift for tensorflow.
Cũng giống như trên, ai thấy hợp thì xài. Khi không có devs dùng thì tự khắc tensorflow nó cũng ngừng support swift thôi. Mới experimental mà làm gì căng
Trong khi đó người ta dùng Python để research rồi deploy với tfjs ầm ầm rồi kìa
a3.phantom.vn
Nếu nói về chủ đề mà chủ thread đăng, thì câu hỏi ở title khá vô nghĩa
Học hành bài bản thì ai cũng được dạy OOP, OS, Computer Network, Computer Architecture, nói chung là các môn cơ sở
Như vậy, nói rằng học c++ để "sát với máy tính" hơn thì đã có môn Computer Architecture + OS. Nói rằng học java hay C++ để biết OOP thì đã có môn OOP. Nôm na là phải nhìn thấy thứ cần học là gì, là các khái niệm cơ bản trong computer science.
Còn tất nhiên, khi nói về vấn đề cụ thể hơn, lúc đó mới quan tâm về ngôn ngữ. Khi đang bàn luận về những thứ của sinh viên năm nhất, năm hai, mà lại lôi vào những thứ advanced của C++, java, python,... thì lạc đề
Nếu nói về chủ đề mà chủ thread đăng, thì câu hỏi ở title khá vô nghĩa
Học hành bài bản thì ai cũng được dạy OOP, OS, Computer Network, Computer Architecture, nói chung là các môn cơ sở
Như vậy, nói rằng học c++ để "sát với máy tính" hơn thì đã có môn Computer Architecture + OS. Nói rằng học java hay C++ để biết OOP thì đã có môn OOP. Nôm na là phải nhìn thấy thứ cần học là gì, là các khái niệm cơ bản trong computer science
Còn tất nhiên, khi nói về vấn đề cụ thể hơn, lúc đó mới quan tâm về ngôn ngữ. Khi đang bàn luận về những thứ của sinh viên năm nhất, năm hai, mà lại lôi vào những thứ advanced của C++, java, python,... thì lạc đề
ý mình hỏi không nhất thiết là sinh viên, miễn là người học lập trình thì việc học C có bắt buộc. Nhiều ông comment tư vấn nói như kiểu không học C là không có gốc nên mình mới thắc mắc. Người làm web, làm app mà không học C thì có bị hỏng kiến thức gì hay ảnh hưởng gì tới nghề nghiệp hay không ?. Lập trình thì hàng chục ngôn ngữ, hàng trăm thứ phải học, không thể ôm đồm học hết được. Có những thứ bắt buộc phải học như html, css, js, csdl, thuật toán. C có nằm trong nhóm bắt buộc hay không ?
ý mình hỏi không nhất thiết là sinh viên, miễn là người học lập trình thì việc học C có bắt buộc. Nhiều ông comment tư vấn nói như kiểu không học C là không có gốc nên mình mới thắc mắc. Người làm web, làm app mà không học C thì có bị hỏng kiến thức gì hay ảnh hưởng gì tới nghề nghiệp hay không ?. Lập trình thì hàng chục ngôn ngữ, hàng trăm thứ phải học, không thể ôm đồm học hết được. Có những thứ bắt buộc phải học như html, css, js, csdl, thuật toán. C có nằm trong nhóm bắt buộc hay không ?
Nếu thứ bạn muốn học là cách máy tính hoạt động ở một mức sát hơn so với các ngôn ngữ khác -> nên học
Ví dụ những kiến thức về pointer hay cách C biểu diễn string sẽ giúp biết sát hơn cách máy tính biểu diễn các thứ này. Dùng ngôn ngữ "bậc cao hơn" C thì chỉ việc xài biến, xài class string có sẵn
Tuy nhiên như đã nói ở cmt trước, những thứ này thuộc kiến thức nền tảng của computer science, do đó, nếu học bài bản thì chắc chắn phải học qua. Như vậy nó chả liên quan đến học C hay không
Nếu bạn muốn học sâu về C/C++ để làm những công việc mà C/C++ làm tốt hơn các ngôn ngữ khác -> thứ mà mấy ông ở trên đang cãi nhau
Làm web, làm app mà biết kiến thức cơ sở về computer architecture, operating systems,... thì biết C hay không không quan trọng.
Mình thấy ở nhiều câu hỏi về lộ trình học thường có mấy ông luôn trả lời nên học C, C++ để lấy căn bản.
Khi bạn nắm được "căn bản" ở đây người ta đề cập là gì thì bạn sẽ tự quyết định được là có nên học hay không trong trường hợp của bản thân
Có người làm web, làm app chả quan tâm gì đến low level, họ chỉ xài ngôn ngữ/thư viện high level hơn C/C++. Có người thì học đại học bài bản xong mới quyết định theo hướng làm web, app. Có công ty cần bạn biết, có công ty không cần. Vậy thì khi hỏi có nên học C/C++ hay không, bạn phải xác định được bạn học C/C++ để lấy cái gì, và có cần cái đó trong trường hợp của bản thân hay không
welcometrue
Học dư thì không bao giờ là đủ
Nếu bạn xác định rõ cần làm gì, thì không cần học C/C++ hoặc Assembly làm gì. Cứ tập trung cho
thành thục công cụ làm việc của bạn là tốt rồi. Nhưng đã là lập trình viên cần hiểu máy tính hoạt động ở mức general, đơn cử như giờ lập trình web cũng nên biết vụ memory/variables để biết security chẳng hạn
. Ngay cả mình, mình vẫn subscribe vào mấy kênh Youtube khá hay về mấy cái low level, lâu lâu mở lên coi để biết thêm
Còn nếu chưa biết học gì cả thì C++ là sự lựa chọn an toàn.
thanhdz167
Không có ngôn ngữ nào là bắt buộc phải học, nhưng nếu bác mà muốn học những ngôn ngữ cao cấp hơn như Python thì em nghĩ, C và C++ chính là điểm xuất phát tuyệt vời dành cho bác đấy ạ