Có cần thiết học C/C++ khi chọn đi theo lập trình web?
Sở dĩ là mình muốn theo bên lập trình web (cụ thể trước mắt là back-end). Mình đã học python (biết khá về django) và h đang học phần HTML/CSS/JavaScript. Do trong quá trình tìm hiểu thì mình có nghe nói C/C++ là kiến thức nền cho việc lập trình nhưng mà mình chỉ bắt đầu mò mẫm gần đây và thực sự thấy rất khó (có lẽ do khi mới vào mình đã học python). Nhưng theo mình được biết thì C/C++ không liên quan nhiều tới viết web. Vậy bây giờ mình có cần thiết phải học C/C++ không? Và nếu có thì học như thế nào? Xin mọi người cho ý kiến.
Ai bảo thế?
Nếu nói như vậy thì mình hoàn toàn có thể nói là Pascal là gốc rễ của lập trình, và Ada là khởi nguồn của lập trình. Chịu không?
Nếu bạn đã biết Python rồi thì cứ thế mà tiếp thôi, ít nhất là biết được 1 ngôn ngữ rồi, đâu đến nỗi là mù code
Tại vì mình thấy một số trường ĐH ngta dạy C/C++ trước như nền tảng vậy. (mình không theo những trường CNTT) và đọc một số trang web thì học C/C++ vững thì học những cái khác sẽ dễ hơn.
Lại bậy rồi, từ cái python bạn code cho tới các protocol bạn dùng, 99% là đi lên từ C/C++ nhé.
Hiện tại có thể C++ không dùng nhiều để “code” web nhưng tương lai khó nói. Nó sẽ không trực tiếp làm back-end nhưng nó sẽ là thứ để back-end hoạt động. Nhìn vào google và facebook xem, giờ đều phải quay vào C++ để phát triển hệ thống.
Cụ thể c/c++ làm gì trong phần back-end v bạn? Vì mình xem lộ trình back-end chỉ có các ngôn ngữ server-side như python,php,ruby,… Chứ mình ko bik c/c++ có lqan trong đây. Mình mò c/c++ vì nghĩ nó là nền tảng cho việc học lập trình
Mình không hiểu đoạn này ?
Bạn dựa vào đâu mà nói thế ?
Xin dẫn chứng dưới đây luôn bác nhé:
Python:
GitHub
python/cpython
cpython - The Python programming language
HTTP protocol (được dùng phổ biến)
apache/httpd
httpd - Mirror of Apache HTTP Server
nginx/nginx
An official read-only mirror of http://hg.nginx.org/nginx/ which is updated hourly. Pull requests on GitHub cannot be accepted and will be automatically closed. The proper way to submit changes to ...
Lý do của số liệu 99% đã đưa ra để tránh bị cho là nói bừa:[quote=“Minh_Hieu2, post:1, topic:55038”]
Mình đã học python (biết khá về django)
[/quote]
Mấy chiến sỹ tổ lái lái ghê gớm, một lát cái thành ra loãng.
Nếu chủ topic đang học lập trình web và bắt đầu với Python thì mình muốn nói là “một nghề cho chín còn hơn chín nghề”. Đừng học thêm gì khác mà thành thạo Python đi, viết được một vài ứng dụng cho ra hồn đi, quăng lên GitHub cho thiên hạ xài chơi đi.
Cho đến một ngày nào đó, tự nhiên phát hiện ra rằng cần học thêm gì đó thì tự khắc học, thành thạo Python rồi thì bắt đầu một ngôn ngữ khác không thành vấn đề cho lắm.
Đừng có nghe lời khuyên lung tung rồi cuối cùng món nào cũng chấm mút vào, rồi thì món nào cũng lơ mơ, mỗi lần đụng tới đều phải cần đến Google mới viết code được, ngắt mạng ra có lẽ chỉ ngồi viết được mỗi Hello World! sẽ là điều đáng tiếc vậy.
Bạn có thể trích ra vài dòng không ?
Mình xem qua không thấy nói.
Mình nhìn vào cú pháp, Python cú pháp rất khác C/C++.
Nhìn vào cách hoạt động, Python là thông dịch (có thể nhầm) còn C/C++ là biên dịch.
Vậy Python phát triển từ C/C++ là về thành phần nào.
Xin thông não.
Mình tạo topic chỉ có mục đích như tiêu đề. Mình ko có ý định học sâu vào c/c++. Có thể là do đọc một số bài viết mà mình nghĩ c/c++ qan trọng nhưng chỉ ở mức nền. Mình chỉ mò c/c++ tầm 1 tuần gần đây nhưng cảm thấy khó nên lập topic để bik là có nên học c/c++ ko để mình ko phí tgian
Làm ngắn hạn thì bỏ C++ đi.
Dài hạn thì … à mà thôi, dễ war lắm
nói bừa gì bác. Mình bik thì mình nói bik… Những cái mà bác nói thì ok, mình sẽ mò sau…
Python chạy được nhờ vào trình thông dịch python, viết trên C/C++
Nói một cách “đơn giản hoá nhất có thể” là tạo 1 file parse các kí hiệu (if, else, {,},…) do người viết tự xác định, sau đó viết 1 file txt gồm những kí tự đó, cái file với chức năng parse kia sẽ là trình thông dịch.
Bác có thể xem python dùng C/C++ ở đâu tại phần makefiles của nó:
python/cpython/blob/master/Makefile.pre.in#L827
// Nếu bác từng dùng Vim, sẽ nghe nói tới vim-script, nó cũng là một ngôn ngữ chạy trên trình thông dịch vim, hay một game-engine godot, cũng là một trình thông dịch của GDScript
war gì bác… Mình chỉ muốn bik là học như thế nào cho hợp lí thôi. Và mình sẽ đi theo back-end lâu chứ ko phải kiểu một sớm một chiều
More:
Socket của Python cũng là dùng lại BSD-Socket, xây dựng trên C/C++
=> Các framework website của python nếu không thiết kế lại socket thì cũng sẽ dùng thằng này (mà nếu có thiết kế lại thì cũng sẽ build từ C/C++ rồi port sang mà thôi)
vậy bác cho e hỏi tại sao lập trình back-end người ta chọn python,php,ruby,… để phát triển? Mình xem lộ trình học thì hoàn toàn ko có c/c++
Như bạn @hungsteve . Mình chỉ bổ sung thêm là:
Nếu bạn muốn làm 1 dự án lớn muốn nhiều người có thể chung tay làm thì nên chọn những thứ đơn giản làm base. Như thiết kế game, phần mềm, đa số sẽ chọn những công cụ kéo thả, vì nó dễ thuê người khác. C/C++ tuy ở đâu cũng dạy, ai cũng thấy học nhưng không phải ai cũng biết dùng và áp dụng nó được vào công việc.
Cần phân biệt lập trình web và lập trình hệ thống hoặc lập trình chạy trên server. Các hệ thống lớn (rất lớn, hàng tỉ lượt truy cập/ ngày), khi người ta sử dụng ngôn ngữ lập trình web (vốn bản chất nó là ngôn ngữ thông dịch) chạy đến mức nào đó thì gần như… bí đái vì bản thân các ngôn ngữ này mục đích làm ra chỉ để làm web thông thường, không phải để xử lý các thứ cực kỳ rối rắm nằm trên server (như nén, giải mã, render, các truy vấn kết nối xuyên qua cả data center,…). Đa phần các trang web thường thấy ở Việt Nam không cần đến mức đó.
Lúc này, đội ngũ phát triển thấy cần phải có hạ tầng hỗ trợ, lúc này người ta phải dùng đến các ngôn ngữ C/C++, Java này nọ vì những ngôn ngữ đó lâu đời, có đông đảo lập trình viên cộm cán và nó làm việc ở cấp hệ điều hành tốt hơn.
Còn đối với người học lập trình web bình thường, chỉ cần làm chủ một ngôn ngữ lập trình cho back-end (như PHP, Python, Ruby, ASP .NET hoặc C#) là đủ để kiếm cơm, nhớ là làm back-end thì phải có đụng đến cơ sở dữ liệu, đừng nói là không thèm học SQL , còn nếu vọc đến front-end HTML + CSS nữa thì không thể tránh khỏi JavaScript.
Tks vì lời khuyên của bác. Tạm thời mình chỉ nghĩ đến tạo 1 trang web bình thường thôi.
Tại sao c với c++ luôn đi kèm nhỉ, k thể c++ only hả
Gộp c/c++ vì cơ bản 2 th này khá giống nhau. Chỉ khác nhau một số cú pháp và c++ thì mở rộng hơn c. Ý kiến cá nhân