Giải thích sự khác biệt giữa khoa học máy tính và kiến ​​thức máy tính [đóng]


30

Một ẩn dụ hay ví dụ hay để giải thích cho một người Anh chính là sự khác biệt giữa khoa học máy tính cổ điển và "tốt với việc sử dụng MS-Windows"

  • khoa học máy tính
  • lập trình máy tính
  • sử dụng máy tính

3 điều sâu sắc khác nhau. Hầu hết mọi người không biết Khoa học Máy tính là gì. Họ chỉ thấy từ "máy tính". Do đó, "anh ấy là chuyên ngành Khoa học Máy tính" có thể được hiểu là "Anh ấy có thể kết nối máy in của tôi". Hoặc là anh ấy "tốt với máy tính". Thậm chí ít người biết sự khác biệt giữa lập trình máy tính và Khoa học máy tính.

Khoa học máy tính là lý thuyết điện toán. CS có thể được học mà không cần máy tính thực tế. Kiến trúc vi mô CPU. Cách sắp xếp số, cách duyệt danh sách, v.v. Máy trạng thái. Thuật toán, lớn (Oh), v.v ... Cách thiết kế ngôn ngữ lập trình hoặc trình biên dịch.

Lập trình là viết mã và tạo các ứng dụng bằng ngôn ngữ và trình biên dịch được tạo bởi một nhà khoa học máy tính.

Cuối cùng, có sử dụng máy tính (sử dụng GUI, chuột và bàn phím. Internet, MS-Office, v.v.)

Tuy nhiên, cả ba trong số này được sử dụng thay thế cho nhau.

Một ẩn dụ hay ví dụ hay để giải thích cho một người Anh chính là sự khác biệt giữa khoa học máy tính cổ điển và "tốt với việc sử dụng MS-Windows" Hoặc đơn giản là một ví dụ điển hình về cách khoa học máy tính thực sự không liên quan gì đến việc sử dụng MS-Windows.


2
Tôi đang mong chờ câu trả lời cho câu hỏi đó ;-)
vonbrand

Tại sao không nói, "CS là một loại toán học".
Karolis Juodelė

xem bài tiểu luận nổi tiếng cũ / ghi chú về sự phân đôi tuổi tác này của hai nền văn hóa của CP Snowe . CS chỉ là mới nhất trong một chuỗi dài các ngành học phù hợp với điều đó. với tư cách là một nhà khoa học / tiểu thuyết gia, anh ta đủ điều kiện để bình luận / chứng nhận về nó và nó sẽ rất phù hợp với chuyên ngành tiếng Anh, thậm chí có thể học trong một số lớp tiếng Anh. cũng kết nối sâu sắc với xã hội học.
vzn

Xin chào, và cảm ơn vì đã đăng bài! Thật không may, vì nó là, tôi đang gặp khó khăn khi thấy câu hỏi này không chủ yếu dựa trên ý kiến; như vậy, ở dạng hiện tại, nó không phù hợp lắm với trang web này (mặc dù mức độ phổ biến của nó). Xin vui lòng dành một chút thời gian để cập nhật câu hỏi của bạn để làm cho phạm vi hẹp hơn, để yêu cầu các loại thông tin cụ thể (tài liệu tham khảo, tôi mong đợi, sẽ là loại phù hợp nhất). Chẳng hạn, nếu câu hỏi hỏi "những tương tự nổi tiếng nào đã được sử dụng để giải thích khoa học máy tính" hoặc "tôi có thể tìm thông tin về các so sánh ở đâu". Cảm ơn đã đóng góp!
Patrick87

(Ngoài ra, xin lỗi vì đã bỏ lỡ câu hỏi này cho đến bây giờ. Tôi muốn được yêu cầu chỉnh sửa sớm hơn bây giờ. Cảm ơn sự hiểu biết của bạn.)
Patrick87

Câu trả lời:


29

Làm thế nào về một tương tự ô tô?

  • sử dụng máy tính và có thể "tốt với máy tính" :: người lái xe (có thể lái xe và tiếp nhiên liệu an toàn) và có thể là người đam mê xe hơi (có thể khởi động xe; quen thuộc với nhiều kiểu dáng và mẫu mã; biết các kỹ thuật như sử dụng kính chắn gió để giữ mưa từ giảm tầm nhìn).
  • lập trình viên :: một thợ cơ khí ô tô hoặc kỹ thuật viên. Biết làm thế nào xe ô tô làm việc. Có thể sửa chữa và sửa đổi xe ô tô và thậm chí xây dựng bộ xe. Phải biết cách gỡ lỗi / chẩn đoán sự cố bằng phương pháp khoa học. Có thể không nhận thức được lý thuyết có liên quan và do đó có thể viết các vòng lặp O (n 2 ).
  • kỹ sư phần mềm :: một kỹ sư ô tô. Thiết kế xe hơi, động cơ và các thành phần khác mà bạn có thể giao phó cuộc sống của mình và thực hiện nó theo lịch trình, chi phí, sản xuất và các ràng buộc khác. Biết cách áp dụng lý thuyết / toán học có liên quan như phân tích phần tử hữu hạn.
  • nhà khoa học máy tính :: một nhà khoa học ô tô. Nghiên cứu những ý tưởng mới trong xe cộ, giao diện người-máy và lực đẩy. Có mô hình thử nghiệm va chạm tính toán. Thêm vào cơ thể của lý thuyết và kết quả thí nghiệm.

Vì vậy, đối với những người đánh đồng tất cả các máy tính điện tử, với việc sử dụng một số gói phần mềm, thì đó là việc đánh đồng trình độ lái xe với khả năng thiết kế hệ thống chống bó cứng mà chúng tôi tin tưởng, có thể sản xuất được với chất lượng cao phù hợp và chi phí thấp, và công việc trong nhiều năm trong thời tiết khắc nghiệt. Hoặc đánh đồng trình độ lái xe thành thạo với việc nghiên cứu loại tính năng phanh kích hoạt bằng radar nào sẽ tránh va chạm mà không khiến người lái sợ hãi sang làn đường khác.

Có lẽ mọi người nhầm lẫn các thuật ngữ này bởi vì các lớp "khoa học máy tính" dạy các kỹ năng sử dụng máy tính, lập trình, lý thuyết hoặc kỹ thuật. Tất cả những thứ đó (có thể không phải là phần đầu tiên) phù hợp với chương trình giảng dạy khoa học máy tính. Không có gì trong số đó là "nội dung" cuối cùng của khoa học máy tính, giống như các lớp học tiếng Anh đang học trên đường đến một chuyên ngành tiếng Anh (một khái niệm mờ nhạt hơn).


1
Xem thêm nỗ lực của tôi ở đây ; "Sử dụng khéo léo một số chương trình máy tính" có thể sẽ tương đương với một số thứ như "khả năng treo ảnh và thay đổi bóng đèn".
Raphael

2
Từ một người bạn: Ẩn dụ đầu tiên xuất hiện trong đầu là ô tô: - Khoa học máy tính ~ = thiết kế động cơ xe: vấn đề lý thuyết, toán học có liên quan. - Lập trình máy tính ~ = xây dựng lại động cơ xe hơi: bạn cần biết những gì bạn đang làm và hiểu cách mọi thứ hoạt động, nhưng các khía cạnh lý thuyết ít quan trọng hơn nhiều. - Sử dụng máy tính ~ = bạn có thể lái xe và đổ xăng vào mà không làm nổ trạm xăng.
JackOf ALL

Kết hợp các đề xuất từ ​​@JackOf ALL yêu cầu lập trình viên phân biệt với kỹ sư phần mềm. Kỹ thuật đang xây dựng một cái gì đó trong lịch trình và các ràng buộc khác, hoạt động trong nhiều điều kiện khác nhau, và chúng ta có thể tiếp tục xây dựng và dựa vào. Lập trình khác là hack cùng nhau một cái gì đó như Perl. Khoa học đang tạo ra kiến ​​thức mới thông qua thử nghiệm. Các kỹ sư và nhà khoa học cần biết lý thuyết và toán học có liên quan. Các nhà khoa học nên thêm vào cơ thể của lý thuyết.
Jerry101

Tất cả đều đúng, nhưng còn vật lộn với những người đánh đồng "máy tính" với "thành thạo sử dụng <chèn gói yêu thích ở đây>", và không hiểu ở đây có nhiều hơn không? Hoặc một chút nâng cao hơn những người coi bất cứ điều gì "tầm thường, chỉ cần viết một chương trình"? Thêm điểm để xử lý những người nghĩ rằng vấn đề tạm dừng có thể được giải quyết như một vấn đề tất nhiên ...
vonbrand

4
Bạn có thể đi xa hơn; nhà khoa học máy tính lý thuyết :: nhà vật lý - có thể mô tả các toán học mô hình lý do tại sao chiếc xe hoạt động, nhưng có thể không thể lái xe. ;)
Luke Mathieson

25

Vì nó là một chuyên ngành tiếng Anh:

Biết chữ máy tính giống như đọc, lập trình máy tính như sáng tác và khoa học máy tính như ngôn ngữ học. Cả 3 đều là về ngôn ngữ, nhưng các kỹ năng không thể thay thế cho nhau.


11

Ai đó đưa nó cho tôi theo cách này nhưng tôi sợ tôi đã quên ai.

Khử trùng nhà bếp của bạn không phải là vi sinh; vận hành máy tính của bạn không phải là khoa học máy tính.


2
Không đi sâu vào quá nhiều chi tiết về CS thực sự là gì, nhưng tốt cho sự tương tự nhanh chóng và gây ra một chút khúc khích.
Cheezey

1
Nghe giống như tuyên bố về kính viễn vọng của Dijkstra.
Raphael

khoa học máy tính so với khử trùng / vi sinh? mơ hồ hoạt động ...
vzn

7

Khoa học máy tính là đối với máy tính vì thiên văn học là kính thiên văn.

- Edsgar Dijkstra

Tôi đọc nó trong một số cuốn sách nhưng tiếc là tôi quên cuốn sách nào.


vi.wikiquote.org/wiki/Computer_science#Disputed - có 3 địa điểm được trích dẫn vào năm 1993 và những bất đồng về việc nó có thực sự từ Dijkstra
WernerCD

Ngoài ra, "Edsgar" Dijkstra. Tôi nghĩ rằng người Nederlanders đã đặt tên chỉ để gây nhầm lẫn cho người nói tiếng Anh.
Luke Mathieson

@LukeMathieson người nói tiếng Anh? Tôi nghĩ bất cứ ai cũng sẽ bị nhầm lẫn bởi cái tên đó.
Kartik

Thực tế, Edsger
James Wood

@LukeMathieson Đây không phải là một tên phổ biến trong tiếng Hà Lan, khoảng 1 trong một triệu có tên đó là tên đầu tiên. Nhưng với tư cách là một người nói tiếng Anh, bạn nên cảm thấy tự nhiên đối với bạn;) Từ nguyên của tên này giống với tiếng Anh như tiếng Hà Lan, có nghĩa là SwordSpear, edsnhư trong edge- > kiếm và gernhư trong gar không phổ biến (mà bạn rõ ràng biết là bạn đã thực hiện thay đổi chính tả đúng để biến nó thành tiếng Anh) có nghĩa là giáo, hoặc các công việc liên quan.
Rinze Smits

2

Tôi làm việc với một số "kỹ sư thực sự", rất nhiều người trong số họ dường như nghĩ rằng lập trình máy tính và CS là như nhau (rõ ràng họ nghĩ rằng các kỹ sư cũng thực sự làm toán cao cấp, chủ đề khác nhau ở đó). Tôi đã từng là một CAD hồi còn học trung học, vì vậy, tôi nói với họ rằng tôi về cơ bản là một kỹ sư cơ khí, dường như thậm chí là sân chơi. Tôi đoán bạn có thể nói với người bạn chính tiếng Anh của mình rằng bạn có thể đọc sách rồi, bạn cũng có thể có một chuyên ngành tiếng Anh. Hoặc theo một cách ít đối đầu hơn, hãy cho họ biết rằng nó sẽ tương đương với những gì họ đang nói.


Bạn nói "chủ đề khác nhau", nhưng tôi cảm thấy rằng cả hai thực sự rất giống nhau: khi một kỹ sư nói "toán cấp cao", họ gần như chắc chắn đề cập đến toán ứng dụng cấp cao, và lập trình nhưng khoa học máy tính ứng dụng là gì? Mặt khác, nếu những "kỹ sư thực thụ" này đang xem xét các công cụ như giải nhiều đa thức là "toán cấp cao" (không sử dụng các khái niệm cho phép giải các hệ phương trình đó một cách hiệu quả, hoặc chỉ cắm chúng vào một chương trình mà không hiểu làm thế nào nó hoạt động), tôi có thể thấy bạn đến từ đâu.
JAB

Vâng, ý tôi là loại thứ hai, trong đó sử dụng Laplace Transforms và Rungekish Kutta được coi là làm toán cấp cao (ngay cả khi những chủ đề đó không thực sự được coi là toán cấp cao). Sau đó, một lần nữa tôi tốt nghiệp bằng toán ứng dụng vì vậy, tiêu chuẩn của những gì tôi coi là toán cấp cao có lẽ là một chút sai lệch, chỉ nghĩ rằng dù sao nó cũng buồn cười. Tôi đồng ý về việc lập trình máy tính được áp dụng khoa học máy tính, tôi chỉ vẽ song song giữa những gì một kỹ sư cơ khí có thể làm hầu hết thời gian trong công việc so với những gì một kỹ sư phần mềm có thể, ví dụ như CAD Drafting so với lập trình máy tính.
SuperSecret

1

Hmm, đây là một phép ẩn dụ khác: tìm kiếm Google

  1. Nhà khoa học máy tính thiết kế thuật toán Google PageRank.
  2. Lập trình viên biết cách lấy từ khóa, truy cập cơ sở dữ liệu và hiển thị kết quả trên trang web.
  3. Người dùng biết cách thực hiện tìm kiếm Google.

Vâng !!


1
Vấn đề với điều này là rất nhiều người sẽ không hiểu / có thể phân biệt giữa (1) và (2).
Ant P

1

Tôi nhớ một viên đạn thứ tư, "kỹ thuật máy tính".

Một kỹ sư biết cách mọi thứ hoạt động. Một nhà khoa học biết tại sao mọi thứ hoạt động. Một người xây dựng làm cho mọi thứ (mà đôi khi làm việc). Một người dùng sử dụng mọi thứ.

Đối với "điều" đọc nhà, máy tính, xe hơi, ... Dành cho "người xây dựng" thay thế tên phù hợp cho người lao động chân tay chuyên nghiệp, ví dụ "lập trình viên" khi điều = máy tính, "thợ xây" khi điều = nhà, v.v.


0

Bây giờ tôi mới tìm thấy một trích dẫn khác, một lần nữa bởi Edsger Dijkstra (từ đây ):

... tác hại đã được thực hiện: chủ đề được biết đến với cái tên Khoa học máy tính và --- thực ra, giống như đề cập đến phẫu thuật là khoa học dao dao --- và nó đã được cấy vào tâm trí của mọi người rằng khoa học máy tính là về máy móc và thiết bị ngoại vi của họ.

Bạn có thể rút ngắn nó xuống

Khoa học máy tính giống như đề cập đến phẫu thuật như khoa học dao dao.

Nhưng bạn thậm chí không cần phải nói điều đó. Nó nghĩ rằng sẽ đủ để nói rằng "CS là một loại toán không liên quan gì đến máy tính".


0

Khoa học máy tính là kiến ​​thức về những gì máy tính có thể làm để bạn có thể sử dụng chúng.

Hiểu biết về máy tính kiến ​​thức về những gì bạn có thể làm với máy tính để họ có thể sử dụng bạn.


Vai trò của downvote là cho thấy ai đó đang ngớ ngẩn.
babou
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.