Tôi mới về khoa học máy tính và lập trình, và tôi đã tự hỏi, liệu có sự khác biệt giữa khoa học máy tính và lập trình không? và bạn có được chọn chỉ học một trong số họ ở trường đại học, hoặc cả hai không?
Tôi mới về khoa học máy tính và lập trình, và tôi đã tự hỏi, liệu có sự khác biệt giữa khoa học máy tính và lập trình không? và bạn có được chọn chỉ học một trong số họ ở trường đại học, hoặc cả hai không?
Câu trả lời:
Khoa học máy tính là nghiên cứu về những gì máy tính [có thể] làm; lập trình là thực hành làm cho máy tính làm việc.
Hãy xem các khóa học / giáo trình được cung cấp bởi các trường đại học mà bạn quan tâm để tìm hiểu xem khóa học đó là khóa học CS, khóa học lập trình, một cái gì đó khác (ví dụ Kỹ thuật phần mềm) hoặc thậm chí là sự kết hợp của các điều trên. Nhiều khóa học được quảng cáo là "khoa học máy tính" cung cấp một thành phần lập trình quan trọng, có thể để bạn có thể đưa các phần lý thuyết của khóa học vào thực tế hoặc có thể là vì lợi ích của chúng để bạn có thể học kỹ năng làm chương trình.
Một cảnh báo: 'Khoa học máy tính' đã trở thành một lĩnh vực lầy lội trong thời hiện đại bởi vì (ít nhất là tại Hoa Kỳ) các trường đại học không có bằng cấp về "lập trình". Điều này có nghĩa là những người quan tâm đến lập trình phải đăng ký bằng Khoa học Máy tính và như một phản ứng đối với các chương trình Khoa học Máy tính nhấn mạnh vào lập trình ngày càng nhiều.
Điều đó nói rằng, Khoa học máy tính tự nó là một khoa học toán học mạnh mẽ - Toán học tính toán có thể là một thuật ngữ tốt hơn. Nó liên quan đến việc nghiên cứu lý thuyết đồ thị, độ phức tạp thuật toán, logic hình thức, automata và nói chung bất kỳ cấu trúc logic nào có thể mô tả một phép biến đổi hoặc đáp ứng với các thuật toán đầu vào. Một nhà khoa học máy tính theo nghĩa cổ điển có thể suy luận về các quy tắc chi phối bất kỳ hệ thống máy tính nào (bao gồm cả máy tính hiện đại) mà không nhất thiết phải biết chi tiết thực hiện trên kiến trúc hiện tại. Một nền tảng vững chắc về Khoa học Máy tính cung cấp cho bạn khả năng phát triển (hoặc gọi lại) các thuật toán hiệu quả, có thể mở rộng, dự đoán các mức giảm logic và lý do rõ ràng về những gì có thể điều chỉnh được.
Ngược lại, lập trình là những gì một người làm khi họ sử dụng ngôn ngữ lập trình để biến đổi thuật toán thành thứ mà máy có thể làm. . - và máy có thể đọc được bằng cách viết mã. Một nền tảng vững chắc về lập trình (vì hầu hết các độ CS sẽ cung cấp) cho phép bạn viết mã tốt hơn - trong đó mã 'tốt hơn' dễ hiểu hơn bởi những người khác và thành công hơn trong việc thể hiện thuật toán bạn đang thực hiện.
Tất nhiên, có một lượng lớn nhiễu xuyên âm và mức độ kinh nghiệm cao ở một người sẽ tương ứng mạnh mẽ với kinh nghiệm phát triển ở bên kia - như đã lưu ý, một chuyên viên CS hầu như luôn là một lập trình viên có năng lực, và một lập trình viên dày dạn đã chọn nhiều nguyên tắc của CS. Hãy suy nghĩ Vật lý và Kỹ thuật.
Một cách tốt để ghi nhớ sự khác biệt là: nếu nó yêu cầu máy tính để xem nó có hoạt động hay không - nếu bạn có thể làm điều đó bằng bút chì và giấy, thì đó là Khoa học Máy tính.
Khoa học máy tính liên quan đến nền tảng lý thuyết của thông tin, tính toán và với các kỹ thuật thực tế để thực hiện và ứng dụng. http://en.wikipedia.org/wiki/Computer_science
~
Khoa học máy tính không phải là về máy tính nhiều hơn thiên văn học là về kính viễn vọng. Edsger Dijkstra
Lập trình là nghề tạo ra một chương trình máy tính.
Khoa học máy tính, theo quan điểm của tôi, được cho là một môn Khoa học cứng như Vật lý.
Nó liên quan đến việc nghiên cứu các trình biên dịch và trình biên dịch, các khái niệm kiến trúc phần cứng, các dạng khác nhau của hệ thống số, thuật toán và hiệu suất / hiệu suất thuật toán và lý thuyết đằng sau các phép toán số học trên bộ xử lý. Khi tôi làm CS ở trường đại học, chúng tôi đã dành rất nhiều thời gian để tìm hiểu về trình biên dịch chương trình, tìm hiểu về sự khác biệt giữa biên dịch, liên kết và phiên dịch, vân vân.
Rất nhiều điều này đã được thực hiện bằng lập trình - đó là hành động viết mã sau đó được biên dịch hoặc chạy thông qua một trình thông dịch, với mục đích tạo ra kết quả để giải quyết vấn đề. Đó là, Lập trình là hành động giải quyết các vấn đề có thể được mô tả bằng kiến thức từ Khoa học Máy tính. Đó là một dạng toán học thuần túy / Toán học ứng dụng.
Bạn không cần bằng Khoa học Máy tính để trở thành lập trình viên, nhưng lập trình viên có nền tảng CS có thể sẽ hiểu sâu hơn về hành vi của các chương trình máy tính.
Tôi sẽ đặt lại câu hỏi của bạn là "Sự khác biệt giữa Khoa học Máy tính và Kỹ thuật Phần mềm là gì?" Sau khi cả hai liên quan đến lập trình.
Khoa học máy tính là nghiên cứu động vật học về tính toán là gì và không thể. Nó nhìn vào những thứ như Định lý Godels và vấn đề Ngừng.
Công nghệ phần mềm là làm thế nào để viết các chương trình làm những gì chúng được thiết kế để làm và có thể duy trì được.
Khoa học máy tính là lý thuyết về lập trình. Lập trình là việc thực hiện.
Khoa học máy tính ... là cách tiếp cận khoa học và thực tiễn đối với tính toán và các ứng dụng của nó. Một nhà khoa học máy tính chuyên về lý thuyết tính toán và thiết kế các hệ thống tính toán.
Các trường con của nó có thể được chia thành nhiều lĩnh vực lý thuyết và thực tiễn. Một số lĩnh vực, chẳng hạn như lý thuyết phức tạp tính toán (khám phá các tính chất cơ bản của các vấn đề tính toán), rất trừu tượng, trong khi các lĩnh vực như đồ họa máy tính nhấn mạnh các ứng dụng trực quan trong thế giới thực. Các lĩnh vực khác vẫn tập trung vào những thách thức trong việc thực hiện tính toán. Ví dụ, lý thuyết ngôn ngữ lập trình xem xét các cách tiếp cận khác nhau để mô tả tính toán, trong khi nghiên cứu về lập trình máy tính tự nghiên cứu các khía cạnh khác nhau của việc sử dụng ngôn ngữ lập trình và các hệ thống phức tạp. Tương tác giữa người và máy tính xem xét các thách thức trong việc làm cho máy tính và tính toán trở nên hữu ích, có thể sử dụng và có thể truy cập toàn cầu đối với con người ...
Nếu lập trình là nghề mộc, thì khoa học máy tính là kiến trúc / thiết kế.
Chỉnh sửa
Thông tin thêm: trong nghề mộc, bạn quan tâm đến những thứ như thứ gì để xây dựng mọi thứ trong đó (khung, sau đó là nền phụ, rồi tường nội thất, rồi vách thạch cao, v.v.). Làm thế nào để bạn xây dựng nó để mất ít thời gian hơn để xây dựng, nhưng có thể được sửa đổi sau này.
Trong trường hợp kiến trúc (dù sao cũng giống như CS), bạn có quan tâm đến những thứ như khả năng của vật liệu là gì, bạn cần một chùm lớn như thế nào để hỗ trợ nhịp tường / mái này?
Tương tự CS là về khả năng lý thuyết của máy tính, trong đó lập trình là về ứng dụng thực tế của kiến thức đó.
Khoa học máy tính là lập trình như vật lý là kỹ thuật cơ khí.
Khoa học máy tính là lý thuyết, nó cần một cách tiếp cận khoa học và toán học đối với thông tin và đó là tính toán.
Lập trình máy tính là thực tế, nó là quá trình thiết kế, viết, kiểm tra, gỡ lỗi và duy trì mã nguồn của các chương trình máy tính.
Họ khác nhau, nhưng lĩnh vực liên quan. Cả hai đã được hưởng lợi từ nhau.
Một văn bằng về khoa học máy tính có phạm vi rộng hơn rất nhiều và bao quát lý thuyết đằng sau điện toán. Một bằng cấp về lập trình máy tính , mặt khác, tập trung vào phát triển các kỹ năng mã hóa hoặc lập trình của sinh viên bằng cách đào tạo họ bằng các ngôn ngữ lập trình khác nhau. Nếu bạn bối rối, bạn có thể duyệt qua các chi tiết của cả hai chương trình này tại California College San Diego. Điều đó có thể cung cấp cho bạn một số sự rõ ràng về phạm vi của các độ!
Khoa học máy tính : Đó là nghiên cứu giải quyết vấn đề bằng máy tính / phương pháp tính toán.
Lập trình máy tính: Đây là một phần của quá trình giải quyết vấn đề này tạo nên lĩnh vực khoa học máy tính. Lập trình máy tính chỉ là một tập hợp nhỏ của khoa học máy tính.
Lập trình là về con người. Mọi người đọc, viết và duy trì mã. Khoa học máy tính là về toán học - họ thực hiện và mô tả các thuật toán.
Lập trình (phát triển) là kiếm tiền. Khoa học là khám phá những điều mới.