thắc mắc Muốn hiểu bản chất lập trình thì nên học những gì ạ

sonquang

Junior Member
- Em chào các anh ạ, Em tình cờ đọc được 1 bài này ạ :
" Nếu xác định theo ngành nên học những thứ căn bản trước anh nhé, câu nói em khá tâm đắc: “Cũng giống như ngoài đại dương bao la kia, phía trên bề mặt thì sóng rất dữ dội nhưng ở mực nước sâu thì mọi thứ tương đối yên tĩnh, phẳng lặng và hầu hết các sinh vật sống và phát triển tại đây. Vì thế, hãy tự cảm nhận rằng mình đang ở mực nước sâu và tiến gần với những công nghệ cốt lõi. Bạn hãy dành nhiều thời gian để học về những khái niệm cốt lõi hơn là cứ ngồi đó mà lo lắng về những framework và công cụ luôn thay đổi xoành xoạch xung quanh nó. Cùng với nền tảng vững chắc của những kiến thức cốt lõi, bạn sẽ luôn dễ dàng học được những framework, công cụ và các API mới.”
- Em cũng đang trong giai đoạn tìm hiểu về lập trình để tự học ạ, em học vì đam mê với bộ môn này chứ ko phải vì tiền ạ, cho em hỏi những môn nào là nền tảng của lập trình để có thể hiểu được bản chất của nó và nhìn nhiều ngôn ngữ mới mà ko thấy sợ ạ. Nếu các anh tư vấn kỹ hơn cho e các quyển sách hay video hay nhất để hiểu sâu hơn thì càng tốt ạ.
 
- Em chào các anh ạ, Em tình cờ đọc được 1 bài này ạ :
" Nếu xác định theo ngành nên học những thứ căn bản trước anh nhé, rèn luyện tư duy logic, khả năng tự học và bồi dưỡng tiếng anh. câu nói em khá tâm đắc: “Cũng giống như ngoài đại dương bao la kia, phía trên bề mặt thì sóng rất dữ dội nhưng ở mực nước sâu thì mọi thứ tương đối yên tĩnh, phẳng lặng và hầu hết các sinh vật sống và phát triển tại đây. Vì thế, hãy tự cảm nhận rằng mình đang ở mực nước sâu và tiến gần với những công nghệ cốt lõi. Bạn hãy dành nhiều thời gian để học về những khái niệm cốt lõi hơn là cứ ngồi đó mà lo lắng về những framework và công cụ luôn thay đổi xoành xoạch xung quanh nó. Cùng với nền tảng vững chắc của những kiến thức cốt lõi, bạn sẽ luôn dễ dàng học được những framework, công cụ và các API mới.”
- Em cũng đang trong giai đoạn tìm hiểu về lập trình để tự học ạ, em học vì đam mê với bộ môn này chứ ko phải vì tiền ạ, cho em hỏi những môn nào là nền tảng của lập trình để có thể hiểu được bản chất của nó và nhìn nhiều ngôn ngữ mới mà ko thấy sợ ạ. Nếu các anh tư vấn kỹ hơn cho e các quyển sách hay video hay nhất để hiểu sâu hơn thì càng tốt ạ.
Bản chất của nghề lập trình giống nghề công nhân ấy em ạ. Hoặc nghề phụ hồ.
 
- Em chào các anh ạ, Em tình cờ đọc được 1 bài này ạ :
" Nếu xác định theo ngành nên học những thứ căn bản trước anh nhé, câu nói em khá tâm đắc: “Cũng giống như ngoài đại dương bao la kia, phía trên bề mặt thì sóng rất dữ dội nhưng ở mực nước sâu thì mọi thứ tương đối yên tĩnh, phẳng lặng và hầu hết các sinh vật sống và phát triển tại đây. Vì thế, hãy tự cảm nhận rằng mình đang ở mực nước sâu và tiến gần với những công nghệ cốt lõi. Bạn hãy dành nhiều thời gian để học về những khái niệm cốt lõi hơn là cứ ngồi đó mà lo lắng về những framework và công cụ luôn thay đổi xoành xoạch xung quanh nó. Cùng với nền tảng vững chắc của những kiến thức cốt lõi, bạn sẽ luôn dễ dàng học được những framework, công cụ và các API mới.”
- Em cũng đang trong giai đoạn tìm hiểu về lập trình để tự học ạ, em học vì đam mê với bộ môn này chứ ko phải vì tiền ạ, cho em hỏi những môn nào là nền tảng của lập trình để có thể hiểu được bản chất của nó và nhìn nhiều ngôn ngữ mới mà ko thấy sợ ạ. Nếu các anh tư vấn kỹ hơn cho e các quyển sách hay video hay nhất để hiểu sâu hơn thì càng tốt ạ.
  • Toán rời rạc
  • Đại số tuyến tính
  • Automata và ngôn ngữ hình thức
  • Các hệ mô hình lập trình (programming paradigm)
  • Cấu trúc dữ liệu và giải thuật
Nền tảng cốt lõi của lập trình và khoa học máy tính là những thằng đó đấy, nuốt nổi thì cứ nuốt thôi
 
  • Toán rời rạc
  • Đại số tuyến tính
  • Automata và ngôn ngữ hình thức
  • Các hệ mô hình lập trình (programming paradigm)
  • Cấu trúc dữ liệu và giải thuật
Nền tảng cốt lõi của lập trình và khoa học máy tính là những thằng đó đấy, nuốt nổi thì cứ nuốt thôi
+1 Trình Biên Dịch
 
  • Automata và ngôn ngữ hình thức
  • Các hệ mô hình lập trình (programming paradigm)
  • Cấu trúc dữ liệu và giải thuật
Nền tảng cốt lõi của lập trình và khoa học máy tính là những thằng đó đấy, nuốt nổi thì cứ nuốt thôi
+1 Trình Biên Dịch

+ Lý thuyết tính toán. Nó là cơ sở của tất cả mấy thứ trên (trừ cái automata vì nó là một phần của lý thuyết tính toán).
Học môn này bản sẽ hiểu được ý nghĩa của các khái niệm như "thuật toán", "ngôn ngữ", "độ phức tạp tính toán", ... mối liên hệ của nó với toán như thế nào. Biết được giới hạn của việc tính toán, phân biệt được vấn đề nào có thể giải được bằng máy tính, vấn đề nào không. Và tại sao khi một vấn đề có thể giải được trên ngôn ngữ, thiết bị này thì người ta lại mặc nhiên coi nó giải được trên một ngôn ngữ thiết bị khác. Và nếu giải được thì cũng phải biết được giải nhanh hay chậm, nếu chậm thì định hướng xem có thể giải nhanh hơn được không.

Tất nhiên phần trên kia chỉ nó đến mặt logic của việc lập trình, còn nếu muốn tìm hiểu về mặt thực tế thì phải học cả phần cứng nữa. Nhưng vẫn nên học về lý thuyết tính toán trước, không thì cũng không hiểu tại sao người ta lại thiết kế phần cứng như này mà không phải như kia, và tại sao khi ghép các khối tính toán logic, thanh ghi, RAM, ... lại với nhau thì lại cho ra một cái máy có thể giải được hầu hết các bài toán. Với lại logic nó cũng không bị giới hạn bởi vật lý, người ta có thể nghĩ ra những mô hình tính toán với năng lực vượt trội máy tính truyền thống mặc dù có hoặc không thực tế.

Đầu tiên cứ đọc quyền này, rồi sau đó có gì tìm hiểu tiếp các vấn đề khác: https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X
 
Em cũng đang trong giai đoạn tìm hiểu về lập trình để tự học ạ, em học vì đam mê với bộ môn này chứ ko phải vì tiền ạ
Chẳng biết gì về lập trình cũng tự coi mình là đam mê
ghXpJrI.png
.
Bỏ qua việc thớt mới reg nick hôm qua và chỉ có 1 message thì câu chốt của thớt ko có logic gì cả.
Xv0BtTR.png

Ko biết cao nhân phương nào spam thớt box CNTT để troll anh em đây
BdgiW7R.png
 
Nick 1 post luôn :oops:
Đầu tiên thì cứ học sử dụng if then và vòng loop for,while giải bài tập, giải tầm hơn 100 bài coi như biết lập trình rồi
 
Toán rời rạc
  • Đại số tuyến tính
  • Automata và ngôn ngữ hình thức
  • Các hệ mô hình lập trình (programming paradigm)
  • Cấu trúc dữ liệu và giải thuật
Nền tảng cốt lõi của lập trình và khoa học máy tính là những thằng đó đấy, nuốt nổi thì cứ nuốt thô
  • Toán rời rạc
  • Đại số tuyến tính
  • Automata và ngôn ngữ hình thức
  • Các hệ mô hình lập trình (programming paradigm)
  • Cấu trúc dữ liệu và giải thuật
Nền tảng cốt lõi của lập trình và khoa học máy tính là những thằng đó đấy, nuốt nổi thì cứ nuốt.
+ Lý thuyết tính toán. Nó là cơ sở của tất cả mấy thứ trên (trừ cái automata vì nó là một phần của lý thuyết tính toán).
Học môn này bản sẽ hiểu được ý nghĩa của các khái niệm như "thuật toán", "ngôn ngữ", "độ phức tạp tính toán", ... mối liên cán hệ của nó với toán như thế nào. Biết được giới hạn của việc tính toán, phân biệt được vấn đề nào có thể giải được bằng máy tính, vấn đề nào không. Và tại sao khi một vấn đề có thể giải được trên ngôn ngữ, thiết bị này thì người ta lại mặc nhiên coi nó giải được trên một ngôn ngữ thiết bị khác. Và nếu giải được thì cũng phải biết được giải nhanh hay chậm, nếu chậm thì định hướng xem có thể giải nhanh hơn được không.

Tất nhiên phần trên kia chỉ nó đến mặt logic của việc lập trình, còn nếu muốn tìm hiểu về mặt thực tế thì phải học cả phần cứng nữa. Nhưng vẫn nên học về lý thuyết tính toán trước, không thì cũng không hiểu tại sao người ta lại thiết kế phần cứng như này mà không phải như kia, và tại sao khi ghép các khối tính toán logic, thanh ghi, RAM, ... lại với nhau thì lại cho ra một cái máy có thể giải được hầu hết các bài toán. Với lại logic nó cũng không bị giới hạn bởi vật lý, người ta có thể nghĩ ra những mô hình tính toán với năng lực vượt trội máy tính truyền thống mặc dù có hoặc không thực tế.

Đầu tiên cứ đọc quyền này, rồi sau đó có gì tìm hiểu tiếp các vấn đề khác: https://www.amazon.com/Introduction-Theory-Computation-Michael-Sipser/dp/113318779X
Cám ơn các thím nhiều lắm ạ, những người sâu sắc về ngành.
Nick 1 post luôn :oops:
Đầu tiên thì cứ học sử dụng if then và vòng loop for,while giải bài tập, giải tầm hơn 100 bài coi như biết lập trình rồi
 
Chẳng biết gì về lập trình cũng tự coi mình là đam mê
ghXpJrI.png
.
Bỏ qua việc thớt mới reg nick hôm qua và chỉ có 1 message thì câu chốt của thớt ko có logic gì cả.
Xv0BtTR.png

Ko biết cao nhân phương nào spam thớt box CNTT để troll anh em đây
BdgiW7R.png
Em cứng tuổi rồi với làm sales lâu nên chắc ko chuyển nghề lập trình như nhiều bạn trẻ đâu ạ, em muốn hiểu sâu về món này để có nền tảng làm trang web bổ trợ cv thôi.
 
Cám ơn thím nhưng em chưa hiểu lắm tại sao ạ
Tầng thấp nhất là vật lý lượng tử đấy, cơ sở cua khoa hoc máy tinh đấy =]], công nghệ có nhiều tầng , mỗi tầng có vô hạn các thứ có thể học, tốt nhất bác nên xác định vấn đề bác muốn giải quyết với công nghệ trực tiếp có thể giải quyết vấn đề đó thì hơn
 
Ở bên trường t gọi cái này là Nguyên lý ngôn ngữ lập trình, cái này quan trọng cực nhé, hiểu được nguyên lý thì ngôn ngữ nào cũng chơi được
học cái này chỉ để hiểu được nguyên lý hoạt động thôi chứ liên quan gì đến bản chất lập trình, mấy thằng thi tin học olympic chắc đếu gì biết cái này, ông nào cần viết hoặc tạo ra 1 ngôn ngữ lập trình thì học mấy cái này, chứ thực ra cũng chả cần phải đào sâu mấy cái này, càng về sau các ngôn ngữ bậc cao nó càng giấu kĩ tất cả những thứ phức tạp và nó cũng chả muốn dev lọ mọ vào mấy cái đó làm gì, trong document của nó , nó sẽ mô tả ở mức vừa đủ để làm thôi , hiểu tác dụng, cách thức nó vận hành là đủ rồi, ko cần hiểu cách để tạo nên nó, chỉ mấy thằng viết core bằng c/c++ mới quan tâm đến mấy cái này
 
Back
Top