Sinh viên đại học có nên học java hay nên cày c/c++?

em đang năm nhất đại học và đã học xong C cơ bản, em đang phân vân là bây giờ nên học C/C++ lên nữa hay học java luôn vì em thấy java đang khá hot.

2 Likes

So với nhiều ngôn ngữ khác thì java không hot lắm, nhưng mình thấy đó là một ngôn ngữ khá hay, đủ để bạn hiểu “cổ điển” và cũng đủ để bạn hiểu “hiện đại”.

1 Like

Khuyên bạn trong tình huống nào nếu bạn đã học xong C cơ bản thì nên qua C++ rồi mới qua Java. Dù cho java không phải là ngôn ngữ bạn thường xuyên sẽ sử dụng. Phần lớn các trường hợp học theo thứ tự trên sẽ mạng lại lợi thế cho bạn sau này.

2 Likes

năm nhất cứ thích học gì thì cứ học đi . Rồi xem thử thích gì theo thôi , ngại gì vết bẩn :smile:

4 Likes

Sinh viên ĐH thì tập trung học C/C++ cho chắc, sau này bạn học Java sẽ rất nhanh.
Học ĐH là để rèn luyện tư duy và nền tảng chứ không phải chạy theo công nghệ.

2 Likes

điều này phụ thuộc vào bản thân bạn :slight_smile:

2 Likes

sai nhé! Bạn chưa thấy rằng là bao trường đại học dạy CS là học java hiểu fundamentals về lập trình đã rồi mới bắt đầu học C/C++ nhé! Cách bạn làm hoàn toàn giống với cách giảng dạy ở VN và nó khá buồn cười. Cả cách chúng ta học từ cấp một đến đại học vậy: Cấp 1, 2, 3 học đến mức không ngóc đầu ngóc cổ được nhưng vô đại học thì chơi thoải mái. Bên nước ngoài thì lúc cấp 1, 2, 3 họ không học áp lực nhưng lúc lên đại học thì họ NGHIÊN CỨU THỰC SỰ, học cho ra học, chơi cho ra chơi. Mình cũng rất ghét tư tưởng bảo code java dài nên cho rằng nó khó.

Cách đấy là đi từ ngọn xuống rễ. Bạn đang đi ngược lại quá trình :slightly_smiling_face:

Ít ra câu nói này thì mình thấy còn lí chí và các bạn sinh viên nên biết rằng chạy theo công nghệ chưa chắc đã tốt mà hãy hiểu nó

5 Likes

:raised_hands::raised_hands:
Lập trình tiến hóa qua các thời kì: tuyến tính -> thủ tục hàm -> hướng đối tượng -> hướng dịch vụ …
C là thủ tục hàm
C++ là nửa thủ tục hàm, nửa hướng đối tượng
Java là hướng đối tượng thuần
Bạn mới là người đi ngược lại ấy chứ :smile: Nói thế không có nghĩa là không thể học java trước c/c++. Mà chỉ là hướng tiếp cận kia sẽ thuận lợi hơn. Chú ý là khi bạn học java, bạn cũng phải học java basic trước, học viết hàm các thứ trước rồi mới qua oop. Chứ bạn có học oop ngay không?

::raised_hands::raised_hands::raised_hands:
mình thấy java dễ hơn c/c++

Đấy là do người học, không phải do người tạo ra chương trình học.

Thái độ trong câu nói của bạn thì có vẻ bạn tôn sùng ngôn ngữ, công cụ. Mình thì chỉ xem nó là công cụ như bao ng khác. Đơn thuần chỉ là công cụ, còn tùy vào việc làm mình sẽ chọn các công cụ khác nhau cho phù hợp.

6 Likes

Mình không hoàn toàn phản đối hay đồng tình việc học C/C++ trước. Dù bạn học cái gì trước thì dần dần mọi thứ sẽ quy về 1 mối, chẳng qua bạn học cái gì quen rồi thì thường sẽ bắt đầu suy nghĩ theo hướng đó.

Bạn học C/C++ trước rồi học ngôn ngữ khác thấy dễ không phải vì nó “cơ bản” mà vì nó “khó”, thế thôi. Đừng nói cái gì là cơ bản, bạn quen làm theo hướng thủ tục thì khi gặp phải hướng đối tượng, lập trình hàm… bạn sẽ gặp rất nhiều rắc rối, cần phải đả thông tư tưởng theo cách suy nghĩ mới. Về mặt kiến trúc ngôn ngữ, có thể con trỏ là cơ bản, reference là cái dựa trên con trỏ để làm việc với đối tượng, nhưng về mặt tư duy thì không phải như thế.

Theo như mình nghĩ, bạn đã học xong C cơ bản, tức là biết được cách sử dụng cấu trúc tuần tự, vòng lặp, nhảy tự do goto, biết về cấp phát bộ nhớ, biết cách con trỏ hoạt động, biết cách làm việc với các kiểu dữ liệu khác nhau, như vậy là đủ để làm nền móng về sau rồi. Đến giai đoạn này thì thường các trường sẽ dạy hướng đối tượng, bạn học C++ hay Java cũng thế, mà thực ra thì Java nó trực quan hơn, chặt chẽ hơn, code đỡ bug đỡ crash.

4 Likes

Sao không phải là cả 2 ???

học OOP với c++ và OOP với java cảm thấy c++ thật củ chuối vì nó bắt viết code tay nhiều , ít hỗ trợ nhưng đó lại là điểm mạnh của nó C++/C dù được viết từ rất lâu nhưng bay giờ vẫn là top 5 ngôn ngữ lập trình được dùng nhiều (Vì nó là ngôn ngữ bậc thấp đi khá sâu vào hệ thống ), còn java trong 1 số trường hợp vẫn nhanh nhưng vì nó hỗ trợ nhiều thư viện và bản thân nó dễ hơn c/c++ chút nên làm dự án nhanh hơn ,đó là cách bạn nên chọn thứ mình cần học . Ngôn ngữ ko phải tất cả quan trọng là tư duy lập trình , khi đã master 1 ngôn ngữ thì việc chuyển qua lạicác ngôn ngữ rất dễ dàng , mình thì vẫn khuyên bạn nên học c/c++ trước vì mình học c/c++ xong qua java thấy dễ hiểu phần tham chiếu với hướng đối tượng hơn mặc dù c++ ko phải là ngôn ngữ lí tưởng để học OOP

2 Likes

mình đang học java để học course oop mà thấy java rắc dối hơn là C++. trường mình thầy cô dạy bằng java chứ k mình vẫn thích dùng c++

rắc rối ở chổ nào? Java tuy code dài nhưng tường minh hơn so với c++! C++ nửa procedural nửa oop nên nó hơi rắc rối ở một số chỗ. Khi muốn tìm hiểu sâu về OOP thì java là lựa chọn tối ưu nhất vì nó thuần OOP 100%. Nếu không thích java để tìm hiểu OOP thì có thể dùng kotlin hoặc c# cũng được.

Newbie nên tiếp cận với java trước là vì thế dù họ phải vẫn phải biết basics

2 Likes

Đây là đặc điểm cần thiết cho người mới bắt đầu học lập trình. Vì như bạn nói trên nên khi qua học ngôn ngữ khác sẽ thấy dễ. Các bạn học java, c#… xong quay lại c/c++ thì mình thấy kêu nhiều, còn học c/c++ mà qua java, c#, python… thì mình chưa thấy ai kêu cả

1 Like

Mình thấy đa số các trường đại học dạy c và python như ngôn ngữ đầu tiên thôi.

python thì đúng đó bạn nhưng C thì mình thấy hầu hết ở VN. Python và java được dùng để dạy đầu tiên

2 Likes

c++ là ngôn ngữ hoàn hảo và học khó nhất mà nhỉ.sao lại ví nó như cái làm nền cho ngôn ngữ khác vậy :confused:

Nó không phải ngôn ngữ khó học nhất. Chắc chắn nó dễ hơn ASM rồi, chưa kể còn mấy loại ngôn ngữ troll như BrainFuck hay ook. Nó chỉ là ngôn ngữ thông dụng nhất trong các ngôn ngữ khó học thôi :confused:

Là sinh viên năm đầu thì cứ thấy thích cái nào học cái đấy thôi,vì nếu bạn đi sâu vào một ngôn ngữ thì sẽ có nhiều khái niệm bạn chưa thể hiểu được, dẫn đến đầu tư nhiều công sức để học nhưng có thể chăng thu được gì nhiều.
Đi sâu vào một ngôn ngữ thì tốt hơn học tràn lan nhiều ngôn ngữ , tuy nhiên cái quan trọng hơn là hãy học cái gì phù hợp với trình độ hiện tại của mình đã. Bạn cứ học Java basic trước, một thời gian sau chán Java thì học C++ basic , chán C++ thì học python , hoặc quay lại học Java… Đi sâu vào cày 1 ngôn ngữ nên là việc của năm thứ 3 trỏ đi, khi mà đã xác định mục tiêu tương đối rõ ràng.
Ngoài ra, ơ trường đại học các thầy cô dạy môn nào mà có dùng đến ngôn ngữ lập trình thì hãy học ngôn ngữ đó. Ví dụ môn cấu trúc dữ liệu thầy bảo C thì học C, môn lập trình Web thầy bảo dùng PHP thì học PHP …

2 Likes

mình đang học CS tại hcmut, và trường dạy c++ đầu tiên nha bạn :))

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?