vietmedia
Em muốn trở thành 1 lập trình viên. Hãy giúp em điểm bắt đầu ....
Em lựa chọn ngành học CNTT là lập trình và muốn sau này là Lập trình hướng đối tượng (VB.NET,C#,Java...). Vì đã lựa chọn nên nó sẽ là cái nghiệp của em sau này. (tính đến thời điểm này thì em nghĩ là vậy.)Bây giờ điểm bắt đầu của em có thể nói là chưa có gì (vì có biết C một chút, ko nhiều và ko rõ lắm, cũng có nắm được 1 số nguyên tắc và giải thuật sơ sơ...)
Vì xác định sau này sẽ đi theo lập trình hướng đối tượng nên em muốn hỏi các programmer có kinh nghiệm là: em có thể bỏ qua ngôn ngữ C, học thẳng vào C++ luôn được ko ??? có vần đề gì ko ???
Mong được chỉ bảo...
_____________________________________________________________________________
ccom
Theo tôi, tốt nhất để bắt đầu, bạn hãy mở một cuốn sách Visual Basic và tự bạn gõ từng dòng lệnh theo nó. Nếu là Ebook, đừng copy/paste nhé, hãy tự gõ vào. Bạn sẽ gặp rất nhiều lỗi. Bạn debug từng dòng theo chỉ dẫn, và bạn sẽ khá lên từng ngày. Vì sao lại là Visual Basic mặc dù nhiều người nói với bạn rằng đó là thứ ngôn ngữ "kém cỏi"? Chẳng có gì kém cỏi cả. Đừng đặt nặng vấn đề ngôn ngữ, vì ngôn ngữ gắn liền với công nghệ. Công nghệ thay đổi liên tục để phục vụ nhu cầu thực tế và nhu cầu thị trường, nên chẳng có gì là "kém cỏi" cả. Quan trọng là nó giúp bạn có được một tư duy sáng sủa về xử lý Thông Tin. (Thế mới gọi là Công Nghệ_Thông Tin, phải nắm chắc về các quy tắc Thông Tin trước, sau đó tha hồ tìm hiểu về Công Nghệ).
Visual Basic là một gạch nối hoàn hảo giữa những thứ cổ điển (Pascal, C/C++... for DOS) và những thứ hiện đại (J2EE, VC++, VJ++, và đặc biệt là VC# for .Net). Nó là một ngôn ngữ dễ tiếp cận, hiệu quả tức thì và trên hết là nó thú vị cho bạn, một newbie. Bạn sẽ không cảm thấy khô cứng và đơn điệu như khi lập trình trên màn hình xanh/đen cho DOS (vẫn đang được lải nhải giảng dạy trong trường). Bạn cũng sẽ không thấy quá rối rắm khi phải tìm hiểu về các namespace, các lớp đối tượng, các môi trường trung gian (các framework, application server, hay các "máy ảo") như ở các ngôn ngữ hiện đại.
Visual Basic có một chút lập trình hướng cấu trúc như Pascal/C, một chút lập trình hướng đối tượng như C++/Java, nhưng rõ nét nhất là hướng sự kiện, tức là từng cái click chuột, từng cái nút bấm bây giờ đều do bạn làm chủ. Những thứ này bạn đã quá quen thuộc: khởi động máy lên, vào windows, mở các ứng dụng, nhấn phím, click chuột... tất cả là các "sự kiện" trên môi trường hệ điều hành Windows. Có thể nói Visual Basic 6 là ngôn ngữ lập trình của Windows, cho Windows, và vì Windows
Khi đã khá thạo (khoảng 1 tháng), bạn tiếp tục tìm hiểu sâu hơn về hướng đối tượng. Lúc này mở lại cuốn C++ cũng không muộn, và bạn sẽ thấy rằng C/C++ chẳng có gì là "bác học" cả, cho nên người ta mới liên tục phải cải tiến nó. Cái thời khó khăn, thiếu RAM, thiếu CPU đã qua rồi và những thứ rắc rối dễ gây lỗi như "con trỏ cấp phát động" của C/C++ cũng một đi không trở lại. Không cần thực hành, chỉ cần hiểu lý thuyết là đủ (mất khoảng 1 tuần). Sau khi hiểu rõ thế nào là "hướng đối tượng" thì tiếp tục nghiên cứu C#. Quá hiện đại, quá mềm dẻo, quá dễ dàng, quá mạnh. Bạn sẽ gặp lại tất cả những gì đã gặp vì đã chăm chỉ thực hành VB và đọc lý thuyết hướng đối tượng C++... Nếu không thích cách làm (cú pháp, quy tắc, từ khóa) của dòng họ nhà C thì vẫn có thể tiếp tục với Visual Basic.Net (VB 7), chẳng có nhiều khác biệt. Tóm lại, đừng đặt nặng vấn đề ngôn ngữ. Hãy học những gì gắn liền với thực tiễn, với nhu cầu thị trường và có hiệu quả nhanh.
Cũng đừng lan man nhiều thứ. Hãy biết nhiều thứ, nhưng phải thật giỏi một thứ. Chẳng phải C/C++, chẳng phải C#, chẳng phải J2EE, mà chỉ cần bạn siêu SQL và bạn đam mê trở thành một chuyên gia về Database, bạn sẽ là ông trùm. Những anh bạn thích khoe khoang nào là C/C++ "bác học", nào là Java "cao siêu"... sẽ chẳng thể bằng bạn được, vì họ không thực tế. Chúc bạn luôn đam mê lập trình. Sau 6 tháng tự học, bạn sẽ trở thành một chuyên gia.
Nhưng nên nhớ đó chỉ là chuyên gia coder thôi nhé, mà trong các công ty, coder không được coi trọng như các bạn vẫn nghĩ. Để trở thành chuyên gia CNTT thực thụ, bạn phải va chạm và đập phá nhiều thứ: mạng, security, hacking (nếu bạn muốn làm chuyên gia lập trình mạng); nghiệp vụ kế toán, nghiệp vụ ngân hàng, bảo hiểm, tài chính, chứng khoán, thậm chí cả chính trị nữa (nếu bạn muốn làm chuyên gia cơ sở dữ liệu hay tư vấn giải pháp)... và không thể thiếu là tiếng Anh. Sống chết gì cũng phải học tiếng Anh thật tốt. Khi đi giao dịch với khách hàng, ngôn ngữ lập trình không quan trọng bằng ngôn ngữ... tiếng Anh
Tóm lại là phải có tinh thần tự học. Học theo các thầy cô trong trường không ổn tí nào, vì tự họ cũng thấy họ đang bế tắc, viển vông nhiều, thiếu thực tế.
_____________________________________________________________________________
Haipt
vietmedia đã viết:
Nguyên bản được gửi bởi vietmedia
Vì xác định sau này sẽ đi theo lập trình hướng đối tượng nên em muốn hỏi các programmer có kinh nghiệm là: em có thể bỏ qua ngôn ngữ C, học thẳng vào C++ luôn được ko ??? có vần đề gì ko ???
Mong được chỉ bảo...
Học xong một ngôn ngữ không có nghĩa là bạn đã trở thành một lập trình viên đâu,để trở thành 1 LVT đúng nghĩa thì ít nhất bạn phải qua đại học hoặc tương đương, đã lăn lộn nhiều năm trong nghề và thạo tới nửa tá các NNLT ... nếu ko chỉ có thể gọi bạn là coder- người viết mã mà thôi.
Để có được hướng đi đúng và nhanh trong việc theo nghiệp coding thì tôi góp ý với bạn như sau:
+ Công nghệ thông tin là 1 trong các lĩnh vực có sự phát triển nhanh đến chóng mặt, nếu cứ chú trọng học lấy lền tảng trước rùi học dần lên ngọn thì xin lỗi--> chẳng bao giờ các bạn có thể viết nổi một chương trình ra hồn
, Nhiều bạn nói rằng có thể học 1 ngôn ngữ trong vòng vài ngày thì tôi tin rằng bạn đó nổ hơi to hoặc bạn đó nói đúng khi cậu ta cho rằng học xong 1 ngôn ngữ là viết xong cái helllo world application , Cứ dõi theo microsoft thì thấy hãng này ko bao giờ bằng lòng với sản phẩm mình tạo ra, ngay bây giờ , nhiều LTV còn chưa rành VS 2kK3, thì các version sau đã liên tiếp ra đơi Vs2k5 với những cải tiến vượt bậc rồi Vs2k8 đã rục rịch với các công nghệ mới.Nhiều bạn có lẽ sẽ bị động, học cái gì ,nhiều quá,hướng thủ tục, hướng sự kiện, hướng đối tượng,SOAP,..?? các hình thức truy xuất dữ liệu thì có hàng mớ RDO,OLEDB,ODBC,ADO,DAO...., các ngôn ngữ thì gia tăng theo cấp số cộng....nào là ASM,C,Pascal,C++,Delphi,FOX,Prolog,#......
Có lẽ đến đây nhiều bạn sẽ cảm thấy bối rối bởi mặc dù tôi mới chỉ đề cập đên 1 phần nhỏ của lĩnh vực phần mềm, còn phần cứng ( 1 trong các yếu tố then chốt thúc đẩy sự phát triển của PM) sẽ làm bạn càng chóng mặt hơn, chỉ trong vài năm quá nhiều sự thay đổi mà ko ai ko nhận ra.
Do vậy, với thời điểm hiện nay cách học lập trình tốt nhất là đứng trên vai người khổng lồ để tiếp tục đón nhận các tri thức tiên tiến của loài người thay vì làm 1 chú dã tràng ngày ngay xe cát , chẳng có tương lai bạn ạ...
Hãy chú trọng thừa kế và phát huy thay vì phát minh lại bánh xe, hãy bỏ qua các kỹ thuật đã lạc hậu và lỗi thời như ASM, C và thậm chí cả C++ để tiếp cận nhanh chóng với các ngôn ngữ thế hệ mới như C#.
Đừng bao giờ có tư tưởng phát minh lại bánh xe,nếu như nhiều bạn cho rằng học C , C++ để viết game engine chạy cho tít thì bạn có biết rằng các game engine chuẩn đã được free trên rất nhiều 4 room rùi ko, nhiều hãng lớn vì 1 lý do nào đó mà ko dùng các game engine có sẵn mà tự viết lại theo ý mình dẫn đến tăng chi phí và thời gian sx đồng thời sự ổn địng lại thua xa các engine chuẩn đã qua thời gian kiểm định .Đơn giản hơn nữa nhièu bạn cho rằng C,C++ APP chạy nhanh hơn C# nhưng xét trên nhiều khía cạnh thì :
+ Chí phí viết 1 chương trình = C,C++ cao gấp 5 lần C#
+ Thời gian phát triển + debug sẽ gấp 10 lần hoặc hơn
+ Ưu điểm nhanh hơn sẽ chẳng còn ý nghĩa gì khi mà phần cứng ngày càng rẻ , các máy tính mạng và phổ biến bây giờ đủ sức đạp ứng
+ Đặc biệt với các ứng dụng chuyên về CSDL ,các ứng dụng đa lớp thì .net càng tỏ ưu thế vượt trôi với các kỹ thuật tiên tiến như ado.net
Xem tiếp tại: http://diendan.congdongcviet.com/threads/t3852::em-muon-tro-thanh-1-lap-trinh-vien-hay-giup-em-diem-bat-dau.cpp