PDA

View Full Version : Học C++/C# có cần học C trước không ?


tuantu2905
13-04-2010, 19:08
Mong các bác trả lời giùm . Em ko thích học C vì nó là bậc trung và lại là lập trình hệ thống nên rất khó.:go::sweat:

khoi342
13-04-2010, 19:09
Theo mình thì ko cần :) Học C# luôn đi :D

cuoc_song
13-04-2010, 19:16
C++ và C# khác nhau đấy.
Nên học C++ trước vì tính phổ biến của nó :D

†h€†ru†h
13-04-2010, 20:32
Chơi Pascal, rồi lên C++, C# :)
Đang chật vật với Đồ họa PAS đây http://emo.huhiho.com/set/yoyocici/204.gif

trungqn85
13-04-2010, 20:32
Thật ra thì nên cần học C trước, vì nó rất căn bản . C++ và C# bạn có thể tự học trong vòng 1 tuần mỗi món nếu nắm vững C.

Mặc dù C++ và C# ra đời nhưng vẫn ko kill được C bởi C chạy nhanh hơn, gọn nhẹ hơn nên thường được dùng trong các lập trình nhúng, lập trình hệ thống, và lập trình trên môi trường Linux ( đa số trên Linux là C). Bên cạnh đó các sách viết về thuật toán đều dùng C hoặc Pascal làm ví dụ.

C++ là một ngôn ngữ phát triển trên nền C có đưa thêm thuật ngữ hướng đối tượng vào. Và cách thức viết chương trình linh hoạt và thoải mái hơn C chuẩn. Ngoài ra có thư viện STL khá thú vị giúp giảm bớt công việc lập trình đi đôi chút. Các cú pháp đều hoàn toàn giống C, bạn học cách sử dụng thêm 1 số thư viện thôi.

C# là bảng nâng cấp từ C++ . Nó là ngôn ngữ thuần hướng đối tượng. Tất cả đều là đối tượng ( nói nhìu cũng hông hỉu nên học rùi sẽ bít..^^). C# có cú pháp thoải mái và ít bị ràng buộc bởi 1 số phép tắc như Java ( cái ni tương tự..^^). C# tốt cho những người cần phát triển nhanh ứng dụng và code nhỏ ngọn. Tuy nhiên dùng nhiều sẽ bị phụ thuộc vào thư viện nên kỹ năng lập trình sẽ suy giảm đi nhiều.

Vì vậy mình khuyên bạn nên học C trước đi, học vững rồi thì lên thẳng Java. Còn C++ và C# thì lúc nào cần hẳn học. Ra trường thì hầu hết làm trên C và Java mà thôi.

Good luck.

†h€†ru†h
13-04-2010, 20:44
Có khi tập trung học C và Java, thích HTML và SQL quá cơ nhưng mà không có cơ... http://emo.huhiho.com/set/kaomoji/148.gif

beatƖemania
13-04-2010, 20:55
Học C# mà ko cần học C, chắc cũng được, vì cơ bản nó chỉ giống nhau về syntax chứ C# gần như là một ngôn ngữ riêng rồi.
Học C++ mà ko học C, không được, C++ nó nâng cao cho C cho nên học C++ thì kiểu nào cũng dính C trong đó.

bigredone
13-04-2010, 20:57
Học C trước thì hay hơn.Vì làm quen được cấu trúc của 1 chương trình

FunnyKids
13-04-2010, 21:06
Nếu nói là phải thì ko bắt buộc, học cái nào cũng được, nó đều sẽ có hướng dẫn từ cơ bản tới nâng cao.

Nhưng mà nếu mới bắt đầu vào học lập trình, thì mình nghĩ (bây giờ mình dạy mấy đứa em mình cũng đi theo lối này) nên học pascal với haskell trước. Học hai cái đấy để tập tư duy logic và lối suy nghĩ. Còn sau này tùy vào nhu cầu công việc và hướng phát triển thì học ngôn ngữ nào là tùy.

c2d6300
13-04-2010, 21:12
Nếu Bạn cần học lập trình, thì ngôn ngữ nào cũng được, không bắt buộc học trước hay sau.

nqt_0151989
13-04-2010, 22:03
nên học C căn bản trước để nắm rõ những khái niệm về lập trình, sau đó bạn học sang C# cũng nhanh thôi mà, cái gì cũng cần có nền tảng trước đã :D

mickynqn
13-04-2010, 22:46
Học C# mà ko cần học C, chắc cũng được, vì cơ bản nó chỉ giống nhau về syntax chứ C# gần như là một ngôn ngữ riêng rồi.
Học C++ mà ko học C, không được, C++ nó nâng cao cho C cho nên học C++ thì kiểu nào cũng dính C trong đó.
Nói chung là cần cái gì thì học cái đấy thôi. Dây dưa với nhau cũng chẳng nên phân biệt kĩ làm gì :)

Vimvq1987
13-04-2010, 22:49
Học C# mà ko cần học C, chắc cũng được, vì cơ bản nó chỉ giống nhau về syntax chứ C# gần như là một ngôn ngữ riêng rồi.
Học C++ mà ko học C, không được, C++ nó nâng cao cho C cho nên học C++ thì kiểu nào cũng dính C trong đó.

khi dạy C++ người ta sẽ dạy luôn các features quan trọng của C rồi anh

nói chung là học ngôn ngữ nào cũng đc, cái đó ko quan trọng. quan trọng là bạn học để làm gì và muốn học đến mức độ nào.

luctieuphung
13-04-2010, 22:50
Nên học C trước, vì nó là cái căn bản.Mấy cái C++,C#.. cũng phát triển từ nó mà

Rosario
14-04-2010, 12:29
Mong các bác trả lời giùm . Em ko thích học C vì nó là bậc trung và lại là lập trình hệ thống nên rất khó.:go::sweat:

Mình thấy các ngôn ngữ như nhau cả. C không hề khó, xét về học cá nhân mình thấy học C# còn khó hơn vì cú pháp nó nhiều hơn, do nó hỗ trợ nhiều thứ hơn nên rắc rối và khó nhớ hơn. Nếu bạn bảo ko thích C thì cứ trực tiếp học C# cũng được. Nếu nói C khó ko phải vì cú pháp nó khó, mà là để thực hiện việc gì đấy nhiều cái nó ko có sẵn thì mình phỉa tự viết và nóh phức tạp ở cái chỗ đấy, thế thôi. Cho nên để làm quen với lập trình người ta vẫn bắt đầu với C trước. Tóm lại C học thì dễ hơn C# nhưng dùng nó để làm được cái mình cần thì lại khó hơn.

m023cb
14-04-2010, 22:35
Bác hỏi câu này chắc là đếch biết gì về tư duy lập trình rồi.
Nếu đã thế thì học C với C++ trước đi. Thêm cả cấu trúc dữ liệu và giải thuật nữa.

neomy2
14-04-2010, 22:42
theo em thì ko học C trc cũng ko sao. Nhưng nên học C trc, nó giúp mình hình thành tư duy lập trình khi mới làm quen với lập trình. mà học C khổ thật, nhưng khổ sau này học C++/C# mới thấy thích :look_down:

nqt_0151989
14-04-2010, 22:44
một khi đã giỏi C thì C# hay java cũng vậy thôi, nó cũng gần như nhau cả, học tốt C để lấy căn bản đã, rồi học C# hay java sẽ rất dễ dàng thôi

quocthai105
14-04-2010, 22:56
có người anh họ làm bên phần mềm, ổng kêu học thuật toán trước, rồi cỡ nào cũng ra....
riêng mình thì đã được lướt sơ (rất sơ) qua C, đang hướng với C++, học được 1 tháng rồi mới nhận ra là mấy khái niệm cơ bản về đối tượng mình mới lờ mờ hiểu nên đang cố gắng làm lại từ đầu. Theo mình về cơ bản là thuật toán

nqt_0151989
15-04-2010, 03:21
có người anh họ làm bên phần mềm, ổng kêu học thuật toán trước, rồi cỡ nào cũng ra....
riêng mình thì đã được lướt sơ (rất sơ) qua C, đang hướng với C++, học được 1 tháng rồi mới nhận ra là mấy khái niệm cơ bản về đối tượng mình mới lờ mờ hiểu nên đang cố gắng làm lại từ đầu. Theo mình về cơ bản là thuật toán

đúng rồi đó bác

chỉ cần khá thuật toán + nắm vững C căn bản thì tất cả các ngôn ngữ lập trình đều cực kì đơn giản :D em đc cái không giỏi toán nên phải cần cù bù thông minh :D

cal
15-04-2010, 04:12
Biết C và thuật toán chưa ăn thua gì đâu. Chỉ là bước đầu. Chuyển sang lập trình đối tượng là chới với liền, không biết tổ chức và viết các class thế như nào cho đúng. Chuyển qua lập trình hàm, lập trình logic, kiến thức C có cũng như không à.

Về ngôn ngữ lập trình, cần món nào thì cứ học trực tiếp món đó. Đừng đi đường vòng, mất thời gian. Mỗi ngôn ngữ đều có nhiều cách tiếp cận: cho người chưa biết gì về lập trình, cho người đã biết một ngôn ngữ nào đó (chung chung), cho người đã biết một ngôn ngữ họ hàng (với ngôn ngữ muốn học).

grandholy
15-04-2010, 10:50
mình thì mình chỉ khuyên là tự lựa chọn 1 ngôn ngữ rồi thật chuyên về nó còn hơn đa năng nhưng cái gì cũng chỉ tầm tầm.
mình theo hướng web nên học C# thôi, C++ và C chả giúp gì cho mình nên mình chả học :D
Biết C và thuật toán chưa ăn thua gì đâu. Chỉ là bước đầu. Chuyển sang lập trình đối tượng là chới với liền, không biết tổ chức và viết các class thế như nào cho đúng. Chuyển qua lập trình hàm, lập trình logic, kiến thức C có cũng như không à.
người ta cứ bày vẽ ra, phóng đại lập trình hướng đối tượng chứ mình nói thật, tư duy hướng đối tượng cực dễ :shame:

trungqn85
15-04-2010, 10:51
Biết C và thuật toán chưa ăn thua gì đâu. Chỉ là bước đầu. Chuyển sang lập trình đối tượng là chới với liền, không biết tổ chức và viết các class thế như nào cho đúng. Chuyển qua lập trình hàm, lập trình logic, kiến thức C có cũng như không à.

Về ngôn ngữ lập trình, cần món nào thì cứ học trực tiếp món đó. Đừng đi đường vòng, mất thời gian. Mỗi ngôn ngữ đều có nhiều cách tiếp cận: cho người chưa biết gì về lập trình, cho người đã biết một ngôn ngữ nào đó (chung chung), cho người đã biết một ngôn ngữ họ hàng (với ngôn ngữ muốn học).

:stick: Bác này nói chắc vẫn còn là SV. ^^. Lập trình hướng đối tượng hay lập trình gì chăng nữa cũng phải cần thuật toán thôi. Thuật toán nó đâu phụ thuộc vào ngôn ngữ đâu. Còn về việc lập trình đối tượng bạn học 1 lớp phương pháp lập trình hướng đối tượng và đọc thêm về design pattern ( thiết kế mẫu) là làm việc ngon lành thôi.

Thôi, không 8 nhảm với học cái gì trước, trên tất cả chương trình đại học đều dạy C trước , vì vậy bạn cứ yên tâm học C. Sau đó vững rồi tính tiếp.

Sách tham khảo có thể học:
- Tin học 2 ( hình như tên là vậy) giáo trình của đại học BK - HCM. Cuốn này viết dễ hiểu và ví dụ cụ thể.
- Thuật toán của giáo sư gì ấy ( không phải Hoàng Kiếm) bìa đỏ đỏ giá 30k gì đấy. Sách này viết khá hay, dễ hiểu nhưng minh họa bằng mã giả giống C. Đọc hiểu là chính và tự code.
- Bài tập, xem file của mình add, 100 bài làm thoải mái..^^.
- Một số sách giáo trình C của đại học tự nhiên, viết hơi ngắn nhưng được cái có minh họa dễ hiểu.
Về sách tiếng anh:
- The C Programming Language của Dennis Ritchie . Ông tổ của C.
- Algorithms của đại học MIT ( hơi khó nhai nhưng cực hay).

Một số kinh nghiệm học lập trình: cứ theo learn by example. Vừa đọc vừa code và làm bài tập, làm càng nhiều càng vững. Cách này nhanh nhất, chứ tu hết cuốn sách bạn cũng chẳng làm được trò gì.

Về môi trường: nếu dùng XP cái VC6 mà dùng, nhỏ nhẹ gọn dễ dùng. Còn vista hay Win7 thì download VC2008 for Student về dùng. Còn pro hơn xài Eclipse hay KDevelope.

Good luck.

hitman2584
15-04-2010, 18:01
Xác định xem mình làm gì rồi hãy học ngôn ngữ tương ứng. Học C, C++ rồi ra trường vào cty nó chuyên làm web hoặc database thì rất khó để thích nghi ngay (tư duy winform khác với tư duy webform rất nhiều).

quocthai105
16-04-2010, 08:37
:stick: Bác này nói chắc vẫn còn là SV. ^^. Lập trình hướng đối tượng hay lập trình gì chăng nữa cũng phải cần thuật toán thôi. Thuật toán nó đâu phụ thuộc vào ngôn ngữ đâu. Còn về việc lập trình đối tượng bạn học 1 lớp phương pháp lập trình hướng đối tượng và đọc thêm về design pattern ( thiết kế mẫu) là làm việc ngon lành thôi.

Thôi, không 8 nhảm với học cái gì trước, trên tất cả chương trình đại học đều dạy C trước , vì vậy bạn cứ yên tâm học C. Sau đó vững rồi tính tiếp.

Sách tham khảo có thể học:
- Tin học 2 ( hình như tên là vậy) giáo trình của đại học BK - HCM. Cuốn này viết dễ hiểu và ví dụ cụ thể.
- Thuật toán của giáo sư gì ấy ( không phải Hoàng Kiếm) bìa đỏ đỏ giá 30k gì đấy. Sách này viết khá hay, dễ hiểu nhưng minh họa bằng mã giả giống C. Đọc hiểu là chính và tự code.
- Bài tập, xem file của mình add, 100 bài làm thoải mái..^^.
- Một số sách giáo trình C của đại học tự nhiên, viết hơi ngắn nhưng được cái có minh họa dễ hiểu.
Về sách tiếng anh:
- The C Programming Language của Dennis Ritchie . Ông tổ của C.
- Algorithms của đại học MIT ( hơi khó nhai nhưng cực hay).

Một số kinh nghiệm học lập trình: cứ theo learn by example. Vừa đọc vừa code và làm bài tập, làm càng nhiều càng vững. Cách này nhanh nhất, chứ tu hết cuốn sách bạn cũng chẳng làm được trò gì.

Về môi trường: nếu dùng XP cái VC6 mà dùng, nhỏ nhẹ gọn dễ dùng. Còn vista hay Win7 thì download VC2008 for Student về dùng. Còn pro hơn xài Eclipse hay KDevelope.

Good luck.
chắc bro cũng đang làm việc ở mảng phần mềm, tiện thể hỏi bro luôn cách đọc sách về lập trình, vì mình thực sự rất bối rối trước 1 rừng sách như vậy:adore:. Nếu có thêm chút phân tích cụ thể của webform thì winform thì perfect:beauty:

N.V.T
16-04-2010, 10:35
chắc bro cũng đang làm việc ở mảng phần mềm, tiện thể hỏi bro luôn cách đọc sách về lập trình, vì mình thực sự rất bối rối trước 1 rừng sách như vậy:adore:. Nếu có thêm chút phân tích cụ thể của webform thì winform thì perfect:beauty:

Đọc tốt nhất là đọc lướt, xem qua mục lục rồi ngó hết một lượt xem cuốn sách bao gồm những gì. Sau này có đụng tới vấn đề gì thì mang tất cả những cuốn sách có chứa vấn đề đó ra, đào sâu vào đó.

trungqn85
16-04-2010, 11:50
chắc bro cũng đang làm việc ở mảng phần mềm, tiện thể hỏi bro luôn cách đọc sách về lập trình, vì mình thực sự rất bối rối trước 1 rừng sách như vậy:adore:. Nếu có thêm chút phân tích cụ thể của webform thì winform thì perfect:beauty:

Nói về cách đọc sách lập trình:

Theo mình thấy và cũng là kinh nghiệm thì nếu học căn bản ( chưa biết chữ gì) thì nên tránh tất cả các sách "vớ vẫn" của các bác kỹ sư hay bác sĩ dịch sách IT (đã dịch mà ko đề tên sách , dịch sai thuật ngữ tùm lum, được cái để cái bìa giống sách gốc :plaster:). Cách tốt nhất là nên hỏi một số người đi trước xem thế nào, bởi có người đọc cuốn này hợp, có người lại không . Chẳng hạn mình rất kỵ các sách(Việt) viết lắm chữ mà đọc là biết sách dịch, còn một số bạn khác lại khen vì viết dài, đọc thích..^^. Hay nhất và nếu có thời gian thì đọc sách tiếng Anh, loại này thì còn dễ vì cứ vào mấy trang web đại học Mỹ, thấy nó dùng Text Book gì thì cứ down về mà cày.^^. Còn không có thời gian thì .. "C Language + Tutorial" . Vừa đọc vừa làm, gặp phần nào đọc phần đấy là cũng ổn ( cách này chỉ có người đã có tư duy lập trình còn không là lù mù ngay)..

Còn Winform và WebForm thì 2 cái tên đã nói lên sự khác biệt. Winform là lập trình giao diện trên môi trường Windows, còn WebForm là lập trình trên môi trường Web. Các ngôn ngữ Winform như C#, Java, MFC( C for Win),...,còn WebForm như PhP, ASP, JSP,... 2 cái thật sự khác nhau về tư duy lập trình tới cả lẫn cơ chế hoạt động, nhưng sau này thì tới .NET như ASP.NET thì hơi giống nhau được 1 tí, thực tế là che đi phần dưới thôi.

Vimvq1987
16-04-2010, 11:54
Nói về cách đọc sách lập trình:

Theo mình thấy và cũng là kinh nghiệm thì nếu học căn bản ( chưa biết chữ gì) thì nên tránh tất cả các sách "vớ vẫn" của các bác kỹ sư hay bác sĩ dịch sách IT (đã dịch mà ko đề tên sách , dịch sai thuật ngữ tùm lum, được cái để cái bìa giống sách gốc :plaster:). Cách tốt nhất là nên hỏi một số người đi trước xem thế nào, bởi có người đọc cuốn này hợp, có người lại không . Chẳng hạn mình rất kỵ các sách(Việt) viết lắm chữ mà đọc là biết sách dịch, còn một số bạn khác lại khen vì viết dài, đọc thích..^^. Hay nhất và nếu có thời gian thì đọc sách tiếng Anh, loại này thì còn dễ vì cứ vào mấy trang web đại học Mỹ, thấy nó dùng Text Book gì thì cứ down về mà cày.^^. Còn không có thời gian thì .. "C Language + Tutorial" . Vừa đọc vừa làm, gặp phần nào đọc phần đấy là cũng ổn ( cách này chỉ có người đã có tư duy lập trình còn không là lù mù ngay)..

Còn Winform và WebForm thì 2 cái tên đã nói lên sự khác biệt. Winform là lập trình giao diện trên môi trường Windows, còn WebForm là lập trình trên môi trường Web. Các ngôn ngữ Winform như C#, Java, MFC( C for Win),...,còn WebForm như PhP, ASP, JSP,... 2 cái thật sự khác nhau về tư duy lập trình tới cả lẫn cơ chế hoạt động, nhưng sau này thì tới .NET như ASP.NET thì hơi giống nhau được 1 tí, thực tế là che đi phần dưới thôi.

:lmao: MFC mà bạn gọi là C for Win thì mình chịu rồi

trungdhkh
16-04-2010, 15:39
:lmao: MFC mà bạn gọi là C for Win thì mình chịu rồi

+1

mà nó lại được bác ý xếp vào ngôn ngữ WinForm nữa mới đã chứ :sexy:

N.V.T
16-04-2010, 19:52
:lmao: MFC mà bạn gọi là C for Win thì mình chịu rồi

Nói C for win thì cũng không có gì là quá lắm, vì MFC cũng chẳng có gì là ghê gớm cả, nó cũng chỉ là tập hợp các class được xây dựng từ win32 api để giúp việc lập trình được đơn giản hơn mà thôi.

cal
16-04-2010, 21:22
người ta cứ bày vẽ ra, phóng đại lập trình hướng đối tượng chứ mình nói thật, tư duy hướng đối tượng cực dễ :shame:
Tùy theo góc độ nhìn nhận vấn đề. Chỉ để hiểu ý niệm tổng quát thì khá đơn giản. Chỉ để làm bài tập (homework) thì cũng không khó. Nhưng để thiết kế ra một hệ thống phân cấp đối tượng cho một ứng dụng tương đối lớn thì khó à. Thí dụ tạo ra một hệ thống phân cấp đối tượng có tầm vóc như JFC hay MFC, bro không có ít nhất 1 năm kinh nghiệm thiết kế hướng đối tượng ==> ngáp thôi.

Nhưng tóm lại dù dễ hay khó, cũng không thể cứ học C và giải thuật là, bất chiến tự nhiên thành, nhào vô lập trình hướng đối tượng ngon lành. Đó là ý của tôi đã nói.

:stick: Bác này nói chắc vẫn còn là SV. ^^. Lập trình hướng đối tượng hay lập trình gì chăng nữa cũng phải cần thuật toán thôi. Thuật toán nó đâu phụ thuộc vào ngôn ngữ đâu. Còn về việc lập trình đối tượng bạn học 1 lớp phương pháp lập trình hướng đối tượng và đọc thêm về design pattern ( thiết kế mẫu) là làm việc ngon lành thôi.
Dường như bro sinh năm 85? Nếu đúng vậy, tôi đã lấy bằng đại học chuyên ngành máy tính khi bro còn học tiểu học (cấp 1.)
Bro quote lời tôi, phán 1 câu chắc tôi là sv, rồi phát biểu những câu không liên hệ (irrelative.)

Ý của bro gồm 3 phát biểu:
A = cần phải học thuật toán (thuật toán là quan trọng)
B = thuật toán không phụ thuộc vào ngôn ngữ.
C = muốn lập trình hướng đối tượng ngon lành thì lấy 1 lớp phương pháp lập trình hướng đối tượng + đọc thêm về design pattern.

Ở đây bất kể A,B,C là đúng hay sai; vấn đề là, tôi không có nói not A hoặc not B hoặc not C !? Đọc lại post của tôi và post nằm trước post của tôi nếu chưa thông.

Vimvq1987
16-04-2010, 22:50
Nói C for win thì cũng không có gì là quá lắm, vì MFC cũng chẳng có gì là ghê gớm cả, nó cũng chỉ là tập hợp các class được xây dựng từ win32 api để giúp việc lập trình được đơn giản hơn mà thôi.

nói sai về bản chất mà bạn cũng bênh được thì hơi hài

MFC ko phải là một ngôn ngữ lập trình. nó là một bộ thư viện cho việc lập trình C++ trên nền Windows. bạn kia nói MFC là C for win là hiểu sai hẳn về MFC, chứ chẳng phải nói như thế là hạ thấp giá trị của MFC đi. Mình từng dùng MFC trong khoảng 5 năm, dù chỉ là chơi chơi thôi nhưng ưu nhược điểm của nó mình nắm cũng tương đối, chả phải tung hô nó lên làm gì.

Bạn trungqn85 tạo cho người ta có cảm giác là biết rất nhiều về lập trình nhưng mình khá chắc là về thực chất, bạn ấy ko nắm vững nhiều thứ. Điều này dễ khiến cho những lời khuyên của bạn ấy tuy có vẻ rất hữu ích, nhưng lại ko có lợi về lâu dài cho người đc khuyên.

trungqn85
16-04-2010, 23:34
To Cal: Theo mình thấy bác chủ thớt chắc là SV đang muốn tìm hiểu ngôn ngữ, bác khuyên học cái gì cũng được, và câu bác viết chả khác gì nói .."thôi ku cậu đừng học C nữa, học C# luôn đi". Mình không bit thời bác người ta dạy gì trước nhưng chắc C sẽ ko để sau C++. Mọi người đang khuyên "nên học C và thuật toán trước", và mình đọc post bác thì hình như " thôi, học C++ và C# đi vì cái ấy hướng đối tượng, nó khó đấy". Nếu bác support C++ và C# thì cứ phân tích cụ thể điểm lợi và hại( cho người mới bắt đầu) cho mọi người thấy luôn đi. Còn cái post của bác, mình cảm thấy bác sợ hướng đối tượng nên mới nghĩ bác là SV nên đưa lời khuyên cho bác.

To các bác khác: mình viết MFC và mở cái ngoặc C for Win cho bác nào ko biết về nó. Mình ko có ý là MFC là 1 language nên các bác ko cần giải thích MFC là gì và điểm mạnh và yếu của nó. Nó chỉ là 1 ví dụ cho lập trình Windows Form.

To Vimvq1987: mình không đánh giá mình biết nhiều về lập trình, và cũng chẳng nói là là lập trình giỏi. Nói cho đúng là tệ. Mình thấy các bác đưa lời khuyên bằng cách phân tích câu của bác kia nói đúng hay sai và tự đánh bóng bản thân. Bác cứ xem bác chủ thớt như là đứa em bác mới vào DH và cần học cái gì, bác đã qua thời ấy thì chắc biết là cần khuyên cái gì.

Vimvq1987
16-04-2010, 23:38
@trungqn85: mình có 1 quan điểm rất rõ ràng là: nếu điều mình nói có ảnh hưởng đến người khác thì nhất định phải nói 1 cách rõ ràng và chính xác. đó là lý do mà mình gay gắt với những gì bạn nói, đấy là những thứ khá cơ bản, hiểu sai về nó là khá đáng tiếc và đáng trách.

EDIT: việc mở ngoặc của bạn hoàn toàn ko cần thiết. nếu ko biết về MFC thì người ta có thể ko biết về PHP, ASP.NET, JSP, tại sao bạn ko mở ngoặc luôn?

còn nếu về lời khuyên, mình đã ghi rất rõ ở trên là ko biết bạn chủ thớt muốn học để làm gì và muốn học đến đâu. trả lời đc 2 câu này thì mới khuyên đc học thế nào. người muốn học để qua môn lập trình trên trường nó khác, muốn học để làm việc nó khác và muốn học để trở thành master nó khác. nhưng ko thấy bạn chủ thớt trả lời nên mình ko dám ý kiến ý cò gì

cal
17-04-2010, 00:29
To Cal: Theo mình thấy bác chủ thớt chắc là SV đang muốn tìm hiểu ngôn ngữ, bác khuyên học cái gì cũng được, và câu bác viết chả khác gì nói .."thôi ku cậu đừng học C nữa, học C# luôn đi". Mình không bit thời bác người ta dạy gì trước nhưng chắc C sẽ ko để sau C++. Mọi người đang khuyên "nên học C và thuật toán trước", và mình đọc post bác thì hình như " thôi, học C++ và C# đi vì cái ấy hướng đối tượng, nó khó đấy". Nếu bác support C++ và C# thì cứ phân tích cụ thể điểm lợi và hại( cho người mới bắt đầu) cho mọi người thấy luôn đi. Còn cái post của bác, mình cảm thấy bác sợ hướng đối tượng nên mới nghĩ bác là SV nên đưa lời khuyên cho bác.
Bro suy diễn quá táo bạo nên lệch với thực tế. Phần bro quote là phần tôi viết để góp ý với tác giả post phía trước. Phần bro không quote, 2nd paragraph, là viết cho chủ thread.

Bro hãy đọc lại tựa đề của thread. Chủ thread không có hỏi trong 3 ngôn ngữ C, C++, C# thì nên học NN nào trước. Câu hỏi của chủ thread là "(để) học C++/C# có cần học C trước không?" Hai câu hỏi có vẻ gần giống nhau, nhưng thực ra rất khác biệt.

grandholy
17-04-2010, 00:42
Tùy theo góc độ nhìn nhận vấn đề. Chỉ để hiểu ý niệm tổng quát thì khá đơn giản. Chỉ để làm bài tập (homework) thì cũng không khó. Nhưng để thiết kế ra một hệ thống phân cấp đối tượng cho một ứng dụng tương đối lớn thì khó à. Thí dụ tạo ra một hệ thống phân cấp đối tượng có tầm vóc như JFC hay MFC, bro không có ít nhất 1 năm kinh nghiệm thiết kế hướng đối tượng ==> ngáp thôi.

Nhưng tóm lại dù dễ hay khó, cũng không thể cứ học C và giải thuật là, bất chiến tự nhiên thành, nhào vô lập trình hướng đối tượng ngon lành. Đó là ý của tôi đã nói.

ứng dụng tương đối lớn thì cũng chả ai bắt (nói thẳng là cho phép) bạn 1 mình thiết kế phân cấp đối tượng đâu, phải nhiều người cùng làm cơ, muốn ngồi ngáp 1 mình cũng khó à :lmao:
theo cái nghiệp này thì kinh nghiệm 1 năm là muỗi :sexy:

FunnyKids
17-04-2010, 05:57
Hê hê, các bác toàn giỏi quá :D. Em làm cave phục vụ cho các bác mua vui vậy. Các bác đọc cái code này rồi thử cho em xem kết quả nó là gì nào :D

void do_nothing(double *x) {}

int main(void) {
double x = 0x1p-1022, y = 0x1p100, z;

do_nothing(&y);
z = x / y;

if (z != 0) {
do_nothing( &z );
assert (z != 0 );
}
}

Cái này có nhiều kết quả ^^ các bác phải giải thích luôn là tại sao lại cho ra kết quả như thế nhé. Cái này chỉ là đố vui thôi, thư gian đầu óc, chứ ko đánh đố hay khiêu khích gì cả, ko các bác lại hiểu sai ý tốt của em ^^.

gâu_
17-04-2010, 06:16
C# với C++ là 2 hướng khác nhau nhiều chứ, sao mọi người cứ ghép với nhau, chẳng qua keyword nó hơi giống giống thôi. C# bắt buộc làm việc với .NET còn C++ làm đủ thứ trên đời ...

mickynqn
17-04-2010, 08:01
Không có gì là chuẩn mực nên mới cãi nhau ỏm tỏi !

cuoc_song
17-04-2010, 12:29
Tớ thấy là ko cần bắt đầu từ C làm gì, cứ bụp thẳng C++, có hỗ trợ nhiều trên mạng, câu lệnh cũng ko khác nhau lắm, định làm hướng đối tượng thì cũng ngon ( nhưng bắt đầu thì ko nên học hướng đối tượng làm gì cho phức tạp ). C# thì gần như là khác hoàn toàn rồi, nên để cuối cùng hãy học

tuantu2905
17-04-2010, 17:18
@trungqn85: mình có 1 quan điểm rất rõ ràng là: nếu điều mình nói có ảnh hưởng đến người khác thì nhất định phải nói 1 cách rõ ràng và chính xác. đó là lý do mà mình gay gắt với những gì bạn nói, đấy là những thứ khá cơ bản, hiểu sai về nó là khá đáng tiếc và đáng trách.

EDIT: việc mở ngoặc của bạn hoàn toàn ko cần thiết. nếu ko biết về MFC thì người ta có thể ko biết về PHP, ASP.NET, JSP, tại sao bạn ko mở ngoặc luôn?

còn nếu về lời khuyên, mình đã ghi rất rõ ở trên là ko biết bạn chủ thớt muốn học để làm gì và muốn học đến đâu. trả lời đc 2 câu này thì mới khuyên đc học thế nào. người muốn học để qua môn lập trình trên trường nó khác, muốn học để làm việc nó khác và muốn học để trở thành master nó khác. nhưng ko thấy bạn chủ thớt trả lời nên mình ko dám ý kiến ý cò gì
Mình muốn học để trở thành master . :sure:

Vimvq1987
17-04-2010, 17:30
Mình muốn học để trở thành master . :sure:

:aboom: tin buồn là nếu muốn trở thành master thì bạn phải mất từ 3-5 năm (nếu bạn cực kì thông minh) đến 7-10 năm (nếu bạn cực kì chăm chỉ)

nếu bạn vẫn cứ máu thì xin mời, bắt đầu từ C++ với một số quyển cực kì cơ bản và kinh điển như C++ How to program, Thinking in C++, ... khi nào bạn đọc xong và hiểu tối thiểu 80% thì mình nói chuyện tiếp

duc-th4nh
19-06-2010, 01:23
Chào các bác!

Nhóc đang là sinh viên.Nhóc đã đọc hết 5 pages của các bác về đến đề này và thực sự là vẫn chưa hiểu gì luôn.

Nhóc đang học PHP(đang làm web cho 1 công ty bằng PHP).Nhưng nghe thiên hạ đồn là học .Net kiếm ngon hơn PHP rất nhiều.Và nhóc hỏi mọi người .Net là gì thì chẳng ai trả lời rõ ràng cho nhóc cả.

Nhóc muốn hỏi 1 câu hỏi mang các bác trả lời cho nhóc?.Nhóc muốn học để làm website.Nhóc chưa hiểu .Net là gì?

Chốt lại nhóc muốn làm được .Net thì cần học ngôn ngữ gì.Có phải là C# không ạ,học luôn C# phải không ạ(nhóc chưa biết gì về C và c++)

Xin cảm ơn các bác !

hitman2584
19-06-2010, 01:34
.net là 1 framework, dùng để lập trình winform và webform(làm website đấy). .Net hỗ trợ rất nhiều ngôn ngữ: C#,VB.NET,J#... Nhưng chủ yếu ta dùng C#,VB.Net để lập trình Web.
Học C# ko cần qua C/C++ cũng OK(chủ yếu là nhóc có tư duy lập trình hay, ngôn ngữ dần dần sẽ nắm bắt đc). Thực tế là bây giờ PHP vẫn đang rất mạnh, thích hợp cho các website của các cty vừa và nhỏ. Nếu nhóc giỏi PHP thì ko lo ko kiếm đc. Nên tinh 1 ngôn ngữ, chứ đừng ôm đồm mà lại chả đâu vào đâu.

Karmel
19-06-2010, 02:03
Về bản chất thì C# là một ngôn ngữ hoàn toàn khác và cũng không giống với C/C++.
Nhưng mà cách đặt tên "ăn theo" của MS làm nhiều bạn hiểu lầm nó là phát triển của C/C++
Hix!