Java thường được tìm thấy trong các học viện. Lý do đằng sau đó là gì?
real
trên thế giới không phải là một lợi ích cho sinh viên hoặc các công ty muốn thuê sinh viên.
Java thường được tìm thấy trong các học viện. Lý do đằng sau đó là gì?
real
trên thế giới không phải là một lợi ích cho sinh viên hoặc các công ty muốn thuê sinh viên.
Câu trả lời:
Một vài trường đại học có ai đó biết rõ rằng nhiều quyết định (nếu không phải hầu hết) xoay quanh sở thích, không thích, ý kiến, sở thích của người đó, v.v. Ví dụ, Texas A & M có nhân viên Bjarne Stroustrup; có lẽ ít ai ngạc nhiên khi chương trình giảng dạy của họ có xu hướng nhấn mạnh C ++.
Hầu hết các trường đại học là một chút khác nhau mặc dù. Đầu tiên, các quyết định thường được thực hiện nhiều hơn vì lợi ích của giảng viên so với các sinh viên. Tiêu chí lớn nhất trong nhiều trường hợp là "ngôn ngữ nào đòi hỏi ít nỗ lực nhất từ phía chúng tôi?" Hầu hết trong số họ cũng cẩn thận trong sự lười biếng của mình - họ muốn không chỉ ngôn ngữ có ít khái niệm tiên tiến nhất để học, mà còn là ngôn ngữ (ví dụ) chậm nhất để đổi mới, cập nhật hoặc nắm bắt bất cứ điều gì mới.
Thứ hai, hầu hết các quyết định được đưa ra bởi ủy ban. Điều này có nghĩa là quyết định cuối cùng hiếm khi (nếu có) bất cứ ai thực sự muốn - đó chỉ là điều mà ít thành viên nhất trong ủy ban (đặc biệt là những người có ảnh hưởng nhất) thấy đặc biệt phản đối. Nó giống như chọn một hương vị kem. Một người thực sự thích dâu tây, nhưng một người khác bị dị ứng với dâu tây. Một người khác thực sự thích sô cô la, nhưng người khác không thể chịu đựng được. Tuy nhiên, một người khác nghĩ rằng nho khô là tuyệt vời, nhưng hai người khác lo lắng khi nhắc đến "rượu rum" sẽ được hiểu là khuyến khích lạm dụng rượu - vì vậy họ kết thúc với vani, mặc dù đó không phải là điều ai thực sự muốn.
Cuối cùng, mặc dù nó thường chạy trực tiếp với hầu hết những gì hai tiêu chí trước đó sẽ tạo ra một cách cô lập, nhưng nhìn chung họ cần (hoặc ít nhất là muốn) được coi là đáp ứng nhu cầu của ngành công nghiệp.
Java là giao điểm của ba điều này:
Lưu ý rằng tôi không thực sự nói (ví dụ) rằng không có gì để biết về Java hơn là khái niệm cơ bản nhất về OOP là gì - chỉ có điều đó là tất cả những gì cần thiết để thực hiện công việc giảng dạy về nó.
Tôi đã học Khoa học Máy tính trong những năm đầu thập niên 90 ngay trước khi Java ra đời. Cách tiếp cận theo sau bởi các giáo sư của chúng tôi là như sau.
Năm đầu tiên: khóa học giới thiệu về lập trình và thuật toán trong Pascal. Tại sao lại là Pascal? Bởi vì nó là một ngôn ngữ sạch được thiết kế để dạy các khái niệm về lập trình mà không có phương tiện để hack. Tất nhiên sinh viên chúng tôi biết rằng ngôn ngữ phổ biến nhất vào thời điểm đó là C và có một ngôn ngữ mới đang ngày càng phổ biến: C ++. Vì vậy, chúng tôi đã đọc và thảo luận về các ngôn ngữ này mọi lúc và thực hiện các dự án nhỏ bằng cách sử dụng chúng một mình. Vì vậy, ý tưởng là: ở lớp chúng tôi thực hiện lý thuyết nghiêm túc (Pascal) trong khi ở nhà, chúng tôi học cách hack (C). :-)
Trong năm thứ hai, chúng tôi đã có một khóa học hệ điều hành, trong đó chúng tôi được yêu cầu thực hiện các bài tập về C và lắp ráp. Giáo sư đã không cung cấp cho chúng tôi một khóa học hoàn chỉnh về C (chỉ một vài bài học) bởi vì (1) chúng tôi đã có một khóa học về lập trình trong năm đầu tiên và (2) ông nói rằng mọi nhà khoa học máy tính biết các khái niệm về lập trình nên có thể đọc một cuốn sách và học một ngôn ngữ lập trình mới. Khóa học diễn ra khá suôn sẻ và tất cả chúng tôi đều thấy bình thường rằng C và hội thảo là những chủ đề thiết thực mà bạn tự học hoặc thảo luận trên hành lang với các sinh viên khác nhưng không đáng để thực hiện một khóa học.
Trong năm thứ ba, chúng tôi đã có một khóa học về ngôn ngữ lập trình, trong đó chúng tôi đã nghiên cứu các mô hình khác nhau của ngôn ngữ lập trình (mệnh lệnh, chức năng, logic, hướng đối tượng), chúng tôi đã học các khái niệm chung và kỹ thuật triển khai và sửa đổi ngôn ngữ lập trình chính (Pascal, C, Modula2, Simula, Lisp, C ++, Prolog). Điều giáo sư của chúng tôi đã nói với chúng tôi khi bắt đầu khóa học là: bạn không nên đánh giá khóa học này bằng cách suy nghĩ về việc bạn biết bao nhiêu ngôn ngữ lập trình vào cuối khóa học, mà là về tất cả các khái niệm chung mà bạn đã học, chúng như thế nào liên quan đến nhau, chúng tốt cho cái gì, chúng được sử dụng trong ngôn ngữ nào. Sau đó, học một ngôn ngữ cụ thể chỉ là vấn đề đọc một cuốn sách, xem mã hiện có, cố gắng sử dụng nó trên một dự án cụ thể, v.v.
Tôi thấy cách tiếp cận này rất thích hợp và hiệu quả. Tôi không nghĩ rằng trường đại học nên nhắm đến việc chuẩn bị các lập trình viên giỏi mà là cung cấp kiến thức tốt cho phép hiểu ngôn ngữ lập trình và lập trình. Trở thành một lập trình viên giỏi sẽ chỉ là một tác dụng phụ của điều đó. Bây giờ tôi đang xem xét việc xin việc mà Ada bắt buộc và tôi không sợ nó, mặc dù tôi chưa bao giờ thực hiện bất kỳ chương trình nghiêm túc nào trong Ada trước đây.
Quay trở lại câu hỏi dạy Java. Tôi đoán Java thường được sử dụng để giảng dạy vì nó đủ trung lập và cho phép giải thích các nguyên tắc lập trình bằng ngôn ngữ cũng gần với thế giới công nghiệp.
Cá nhân tôi vẫn sẽ sử dụng Pascal hoặc một ngôn ngữ tương tự cho khóa học đầu tiên, bởi vì điều đó sẽ cho phép tôi phân biệt giữa các cấu trúc điều khiển và cấu trúc dữ liệu, trong các ngôn ngữ hướng đối tượng / Java được tích hợp chặt chẽ. Vì vậy, theo tôi, Pascal sẽ cho phép giới thiệu dần dần về các khái niệm cơ bản của lập trình.
Ngoài ra, một nhà khoa học máy tính (và một lập trình viên giỏi) nên biết về các cơ chế / cấu trúc thời gian chạy cơ bản như ngăn xếp, heap, truyền tham số, cấp phát bộ nhớ, con trỏ hoặc cách thực hiện các kiểu dữ liệu trừu tượng mà không cần sử dụng các tiện ích tích hợp của ngôn ngữ (danh sách, bộ, vv). Java lấy đi phần lớn những thứ này từ các lập trình viên (dĩ nhiên là tốt), nhưng một người mới bắt đầu nên tìm hiểu về những điều này. Có lẽ sau một khóa học lập trình đầu tiên trong Java, người ta cũng nên học một khóa tổng quát hơn về các khái niệm ngôn ngữ lập trình.
Đây chỉ là kinh nghiệm và ý kiến của tôi.
Tôi đang ở trường thì Java xuất hiện. Và trường đại học của tôi gần như thay đổi chỉ sau một đêm. Mọi người đã hết sức ham chơi tại Java trong giới học thuật. Tôi là một người khi nó xuất hiện, và vào thời điểm năm cuối cấp, gần như tất cả các học viện đã nhanh chóng chuyển sang chương trình giảng dạy của họ. Không chỉ ở trường đại học của tôi mà ở khắp mọi nơi. Nó thực sự rất nhanh. Khóa học giới thiệu thứ hai của chúng tôi là Pascal và đã nhanh chóng chuyển đổi sang Java sau chưa đầy một năm. Tại sao họ chuyển đổi nhanh như vậy? Hai lý do lớn.
Một học giả muốn dạy lý thuyết và thuật toán. Các ngôn ngữ tạo điều kiện cho bạn học các thuật toán không cần nhiều kinh nghiệm để vận hành là tốt nhất: Scheme, Python, Java, Smalltalk, v.v. Ngôn ngữ càng khiến bạn mất tập trung khi học các thuật toán thực. Vào thời điểm đó, các ngôn ngữ kịch bản là các công dân hạng hai được các nhà tuyển dụng cau mày vì rẻ tiền hoặc nhanh chóng và bẩn thỉu. Các học giả đã xem chúng như một con mèo sao chép nhiều hơn, nhưng những gì các nhà tuyển dụng muốn cũng ảnh hưởng đến các học giả.
Điều đó đưa chúng ta đến lý do tiếp theo. Nhà tuyển dụng muốn có trải nghiệm ngôn ngữ nhất định và tại thời điểm đó là C / C ++. Nhưng, C / C ++ cần rất nhiều kinh nghiệm để tìm hiểu và có rất nhiều trường hợp góc và nếu ands hoặc buts gây mất tập trung. Chúng tôi đã học các khóa học về C / C ++ nhưng không phải ở cấp độ thấp hơn. Vào thời điểm đó, các nhà tuyển dụng rất tức giận với các chương trình CS vì các sinh viên đã không trở thành những bậc thầy về C / C ++.
Java đã quét qua ngành công nghiệp quá nhanh như học viện. Vì vậy, cuối cùng học viện đã nhận được những gì họ muốn. Ngôn ngữ cấp cao dễ học hơn và ngôn ngữ nhà tuyển dụng muốn. Tất cả đều quá hoàn hảo. Tôi đã có một người bạn trở lại học viện có thể 3 năm sau khi tôi rời đi, và anh ta nói rằng bạn có thể tìm thấy một cuốn sách Java trong mọi chủ đề CS. Đó là cách Java nhanh chóng chiếm lĩnh học viện.
Cá nhân tôi nghĩ rằng Java đã không làm ngơ CS Tôi nghĩ rằng đó thực sự là một điều tốt vì sinh viên có thể học CS, tham gia vào Nguồn mở và tìm việc ngay cả khi còn đi học. Tôi vẫn tin rằng bạn nên học nhiều ngôn ngữ khi là sinh viên CS và đó không nên là Java. Nhưng, nếu tất cả họ đã sử dụng trăn Joel cũng sẽ ghét trăn.
Có một vài lý do cho việc đó bao gồm:
Xin lưu ý rằng có một số trường dạy C # vì nhiều lý do tương tự. Có nhiều lý do hơn, một số trong đó đặc biệt hơn đối với từng trường. Về bản chất, Java đã trở thành "BASIC" hướng đối tượng của năm qua.
*
cú pháp, nhưng sẽ rất khó sử dụng nếu không có hiểu biết cơ bản về con trỏ.
Tôi thích bài đăng của Joel Spolsky có tựa đề The Perils Of Java School . Tôi nghĩ Berin Loristch đã đúng về việc đơn giản hóa chương trình học và nó cũng được áp dụng vào thế giới thực.
Tôi đã nghe những điều sau đây đã nói nhiều lần: "bằng cấp Khoa học Máy tính không phải là bằng cấp để học lập trình, đó là học lý thuyết". Ngôn ngữ không nhất thiết phải quan trọng (mặc dù nó không gây cản trở) miễn là lý thuyết được học. Java là một ngôn ngữ tương đối dễ tiếp thu và cho phép có nhiều thời gian hơn để học lý thuyết đằng sau mọi thứ. Đây là một trong những lý do mà MIT sử dụng Scheme (vì vậy tôi đã nghe).
Nhiều câu trả lời được đưa ra ở trên là những câu trả lời hay, nhưng chúng bỏ qua một cái gì đó.
Java là một ngôn ngữ đa nền tảng. Một sinh viên có thể sử dụng máy Mac của mình, PC khác và tài khoản Unix sinh viên khác. Các mã tương tự sẽ làm điều tương tự. Hãy nghĩ rằng việc giáo viên và bộ phận CNTT của trường hỗ trợ dễ dàng hơn nhiều.
Đây là tầm quan trọng thực sự của Java khi nó xuất hiện. Trò đùa là "Mã một lần, gỡ lỗi ở mọi nơi", nhưng nó thực sự đưa phần cứng và hệ điều hành ra khỏi phương trình.
Tôi đã nghe các giáo sư nói rằng họ sử dụng java để dạy bởi vì:
Cá nhân tôi rất vui vì tôi đã lấy CS tại Berkeley khi họ sử dụng Scheme để giảng dạy. Mặc dù tôi đã không nhận ra rằng ngôn ngữ đó thực sự thanh lịch như thế nào cho đến một vài năm sau đó.
Một chút nền tảng
Tôi học lớp Java duy nhất được cung cấp tại trường của chúng tôi. Đây là cuối thập niên 90 đến đầu năm 2000. Java đã phát triển nhưng gần như không cất cánh. Xuất phát từ rất nhiều sự phát triển trong C, tôi đã hơi nản lòng với tất cả các mã soạn sẵn cần để khởi động Java. Tôi không thể tập trung vào nhiệm vụ của mình. Tôi không thể chỉ mở một tập tin với "mở". Tôi đã phải xác định lớp và sau đó nhập khẩu, vv, vv
Tôi là kỹ sư máy tính, vì vậy tôi đã lập trình lắp ráp trước rồi đến C và sau đó là C ++, Scheme và một khóa học Java đó. Nó chủ yếu là một chương trình học theo định hướng C. Lớp thuật toán được dạy bằng C.
Khi tôi đi vào ngành công nghiệp, Java rõ ràng là người chơi chiếm ưu thế. Có lẽ nó là người chơi duy nhất trong quá trình chuyển đổi từ các hệ thống COBOL phụ trợ sang các ứng dụng kinh doanh web Java. Java đã có những bước tiến lớn trong thế giới kinh doanh trong những năm đầu 2000 ngày.
Đồng thời, tôi không biết tất cả các khung công tác Java nhưng tôi biết cách viết mã và thích nghi với môi trường Java. Nếu tôi tham gia các khóa đào tạo về các tiêu chuẩn mã hóa Java tốt, có lẽ tôi đã có thể bắt đầu với phong cách hoặc kiến thức Java tốt hơn về hệ sinh thái Java.
Nhìn lại, tôi không nghĩ nó quan trọng.
Để trả lời câu hỏi của bạn: Tại sao chúng ta học Java tại trường đại học?
Java nên được dạy nhưng không được sử dụng trong tất cả các khóa học:
Bạn nên học Java tại một số thời điểm trong trường đại học nếu bạn đang học khoa học máy tính. Nó là phổ biến trong thế giới kinh doanh. Bạn nên học Java và có thể là C #. Tôi sẽ không TUYỆT ĐỐI sẽ không dạy Java như một khóa học lập trình giới thiệu. Và Java chắc chắn không phải là ngôn ngữ chính được sử dụng trong tất cả các khóa học.
Về phê bình Java:
Java nhận được rất nhiều lời chỉ trích và nó luôn luôn có. Tôi đã đọc các tạp chí Java có đề cập đến Java với một dấu hỏi, "Java đã sẵn sàng cho Doanh nghiệp chưa?". Nền tảng Java vẫn là một nền tảng được sử dụng rộng rãi. Nhưng, đối với hầu hết các tác vụ lập trình chung, Java hoạt động tốt. Và không có bất kỳ vấn đề lớn nào khi sử dụng Java. Nó sẽ không làm tổn thương kỹ năng của bạn. Nó có thể nếu bạn chỉ dựa vào các thư viện Java mà không học những gì diễn ra bên dưới. Nhưng Java không gây ra bất kỳ tổn thương não nào (một số nhà phát triển thực sự tin điều này là đúng).
Ngoài ra, tại sao các nhà phát triển không tấn công C hoặc C ++? Hoặc ít nhất là C ++. Các mô hình lập trình mệnh lệnh rất giống nhau. Và tôi sẽ không bao giờ xem xét việc viết một ứng dụng web bằng C ++ nhưng tôi có thể với Java.
Đây là cách tôi sẽ thiết lập một chương trình giảng dạy:
Các ngôn ngữ tôi liệt kê trong chương trình giảng dạy của tôi là khá phổ biến. Rất nhiều trường đang dạy nhiều ngôn ngữ mà không có vấn đề. Trong công nghiệp, bạn sẽ sử dụng nhiều ngôn ngữ lập trình khác nhau. Bạn sẽ sử dụng các ngôn ngữ mà bạn chưa từng nghe đến.
Chủ đề về Java trong trường học không phải là vấn đề trừ khi họ hoàn toàn muốn bảo vệ bạn khỏi Java hoặc họ muốn dạy CHỈ Java. Trong cả hai trường hợp, các trường đều không chính đáng.
(Xin lỗi, Ruby lang)
Xin lỗi, chỉ trả lời dài nhàm chán:
(1) Ý của bạn là:
"Tại sao chúng ta học Java ở trường đại học, như một ngôn ngữ lập trình đầu tiên?"
(2) Hay ý bạn là:
"Tại sao chúng ta học Java ở trường đại học, dù sao, ngay cả khi chúng ta học các ngôn ngữ lập trình khác, trước Java?"
Âm thanh như bạn thực sự có nghĩa là cả hai câu hỏi.
Trong trường hợp (1):
Tôi không nghĩ Java (hoặc .NET C # và Visual Basic) nên được dạy như ngôn ngữ lập trình đầu tiên. Pascal có cấu trúc và mô đun nên là đầu tiên, ngay cả khi nó có vẻ cũ và lỗi thời.
Nhiều người nghĩ rằng chúng ta nên dạy cho mọi người lập trình hướng đối tượng hoặc lập trình theo chức năng, chỉ vì "cường điệu" hoặc "xu hướng" của nó.
Tôi học Structured Pascal như một phiên bản nhỏ của "Lập trình hướng đối tượng", không phải là một cái gì đó tương tự. Tôi thấy một chương trình có cấu trúc như một đối tượng nhỏ.
Sau đó, tôi đề nghị tiếp tục các ngôn ngữ Hàm và Object Pascal.
Và sau này, C, C ++, C #, VB.Net, Java.
Những lý do chính khiến tôi không thích Java hoặc C #, là ngôn ngữ lập trình đầu tiên, vì chúng có các khái niệm "con trỏ", "con trỏ tới đối tượng" và "đối tượng" ("tài liệu tham khảo").
Tôi tin rằng các sinh viên nên có trong đầu, sự khác biệt và tương đồng giữa các khái niệm đó. Việc so sánh các đối tượng String trong Java là một ví dụ điển hình cho sự kỳ quặc đó:
String A = "Mars";
String A = "Venus";
// pointer comparison or object comparison ???
if (A == B)
{
DoSomething();
}
Trong trường hợp (2):
Tôi nghĩ rằng Java hoặc C # nên được dạy ở trường, bởi vì chúng có một số tính năng tốt được cập nhật, đồng thời, chúng có sử dụng trong thế giới thực.
Bạn nên học Java tại một số thời điểm trong trường đại học nếu bạn đang học khoa học máy tính. Nó là phổ biến trong thế giới kinh doanh. Bạn nên học Java và có thể là C #. Tôi sẽ không TUYỆT ĐỐI sẽ không dạy Java như một khóa học lập trình giới thiệu. Và Java chắc chắn không phải là ngôn ngữ chính được sử dụng trong tất cả các khóa học.
Tôi không thể không đồng ý nhiều hơn. Java là ngôn ngữ tại trường đại học của tôi mà bạn phải học để tham gia chương trình CS & E tại trường của tôi. Java cực kỳ dễ dạy. Bởi vì bạn có thể giới hạn bản thân trong một số khái niệm nhất định mà "người không lập trình" có thể học.
Tôi cũng không thể biết bạn sẽ hay KHÔNG TUYỆT VỜI dạy Java như một khóa học lập trình giới thiệu. Về cơ bản, bạn nói rằng bạn sẽ KHÔNG TUYỆT ĐỐI KHÔNG dạy nó ?
Lý do đơn giản đã được giải thích. Java không có phí giấy phép. Bạn có thể dạy nó bằng một trình soạn thảo kiểm tra cơ bản. Nó được sử dụng cho những lý do sai lầm chắc chắn.
Tôi không đồng ý với câu trả lời trước đó, rằng Java đã không khiến các sinh viên vượt qua nó "ngu ngốc", nó thực sự cho thấy khi họ gặp vấn đề với các khái niệm thực sự đơn giản như mảng và danh sách trong C ++.
Việc chuyển đổi từ C sang Java đã xảy ra không đúng lúc .
Ở đâu đó khoảng năm 2000. Tôi đã học lớp C cuối cùng tại trường đại học.
C ++ có quá nhiều tính năng không gây nhầm lẫn cho người mới. (Và nó vẫn còn. Và dự định thêm một số.)
NET đã không đủ chín chắn và thậm chí còn hơn đắt hơn ngày hôm nay.
Mục tiêu C đã cũ và việc sử dụng nó của Apple đã bay bên dưới radar ( không có iPhone xung quanh)
Tôi cảm thấy bắt buộc phải thêm vào các câu trả lời ở đây vì tôi không thực sự thấy bất kỳ câu trả lời nào trong số này thực sự bao hàm quan điểm của tôi.
Tôi là một lập trình viên sở thích. Tôi đã đi trước đường cong khi nói đến 'máy tính' và 'lập trình'. Tôi đã hoàn thành chương trình đại học - Cử nhân - vào năm 2007 và Thạc sĩ khoảng hai năm sau - 2009. Tôi đã làm việc với rất nhiều ngôn ngữ bao gồm Hội, QuickBASIC, C, C ++, Java, PHP, Perl, Python, BASH ScScript, Javascript, COBOL, v.v. .
IMHO, ngôn ngữ được sử dụng để dạy lập trình cho sinh viên là một chỉ báo về thời đại mà chúng ta hiện đang sống. Ví dụ, trong những năm 1980, hội là ngôn ngữ cấp thấp trong khi C được coi là ngôn ngữ cấp cao.
Trong những năm 1990, C ++, Java, Perl và các ngôn ngữ như vậy đã đạt được tầm quan trọng chủ yếu vì mức độ cao hơn nhiều so với C và thể hiện các nguyên tắc phát triển nhanh chóng. Vì vậy, họ đã ngừng dạy hội cho các sinh viên CS và dạy C như một cách thể hiện thuật toán. Dần dần điều đó đã thay đổi trong thập kỷ qua, nơi C được coi là ngôn ngữ cấp thấp để nắm bắt bản chất của thuật toán một cách hiệu quả và không có quá nhiều bí quyết của 'hệ thống'. Điều này thực sự cực kỳ quan trọng vì trọng tâm của chương trình giảng dạy CS phải mang tính 'lý thuyết' hơn là thực tế và mỗi khi ai đó muốn viết một thuật toán, nếu anh ta / cô ta bị sa lầy với phân bổ bộ nhớ và số học con trỏ thì bạn sẽ không nhận được bất cứ nơi nào
Ngay cả hôm nay nếu bạn tham gia chương trình Thạc sĩ CS, bạn sẽ phải hoàn thành một số yêu cầu 'Hệ thống' (ít nhất ở Hoa Kỳ và điều này không khác lắm đối với các trường đại học Hoa Kỳ), nơi sinh viên cần có thể lập trình các ứng dụng cấp hệ thống và trong một số trường hợp nhất định sâu như hack cấp kernel để thực sự vượt qua các yêu cầu. Vì vậy, mặc dù C không phải là ngôn ngữ defacto đang được dạy trong trường học, nhưng nó có liên quan nếu bạn muốn chuyên về Hệ thống hoặc Máy tính hiệu suất cao hoặc các hốc như vậy.
Tôi cũng muốn đề cập đến một điểm khác là C đòi hỏi rất nhiều kỷ luật để làm mọi thứ đúng trong khi các ngôn ngữ như Java có một chút thoải mái về những ràng buộc như vậy. Điều này giúp tiến hành các khóa học dễ dàng hơn mà không yêu cầu RA / TA khởi chạy GDB để gỡ lỗi chương trình của học sinh :)
Tôi nghĩ rằng một phần lớn của nó là những gì đang được sử dụng trong ngành công nghiệp.
Chương trình CS của tôi có một Ban cố vấn công nghiệp, gồm các nhân viên cấp cao từ các công ty công nghệ và hàng không vũ trụ địa phương, và họ có rất nhiều đầu vào vào chương trình giảng dạy. Các lớp CS giới thiệu đã bỏ Pascal để ủng hộ C vào năm tôi bắt đầu (1986), phần lớn theo lệnh của IAB. Tương tự, đã có một nỗ lực để dạy Ada trong một số khóa học cấp cao hơn vì các công ty hàng không vũ trụ địa phương đã phải sử dụng nó cho công việc DoD.
Java khá phổ biến hiện nay, đặc biệt là bây giờ các thiết bị Android đang cất cánh. Nó hút từ góc độ mô phạm, nhưng sau đó, C. cũng vậy.
Bởi vì họ hy vọng rằng ít sinh viên sẽ trượt khóa học, đó là một FAIL trong chính nó, IMHO. Có lẽ một trong những lý do tại sao hầu như không ai có bằng đại học nghiêm túc nữa, ít nhất là ở đây.
Java là ngôn ngữ quá đơn giản và không dạy cho PC có mô hình tài nguyên hạn chế. Trong khi cùng một lúc buộc vào "không có gì không thể giải quyết bằng một dòng suy nghĩ khác".
Vâng, nó tốt cho các khái niệm OOP và các vấn đề về đồ chơi, nhưng nó dạy cách tiếp cận các vấn đề từ góc độ sai. Sử dụng cấu trúc gọn gàng ở đây, vít phần còn lại.
Nhưng giới hàn lâm nổi tiếng là mơ mộng về AI, OWL và các công nghệ đồ chơi khác. Trong khi họ tiếp tục nghiên cứu những thứ như vậy, đôi khi, ai đó cũng phát minh ra thứ gì đó tuyệt vời ở đó, nhưng nếu bạn muốn trở thành một nhà phát triển giỏi, bạn phải học một cách độc lập.