• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Nên bắt đầu học lập trình từ đâu

bruhoang

New Member
NÊN BẮT ĐẦU HỌC LẬP TRÌNH TỪ ĐÂU
Chào các bạn,
Rất nhiều bạn nhờ tư vấn là các bạn có đam mê CNTT nhưng không biết bắt đầu từ đâu.
Trong chuỗi các bài viết này, qua việc sưu tầm cũng như từ kinh nghiệm của tôi, tôi xin phép được chia sẻ những kinh nghiệm của mình để có thể giúp các bạn có được những định hướng cho việc học lập trình của mình.

1. Lập trình là gì ?
Lập trình là công việc tạo ra một sản phẩm, một thành quả, và con đường trở thành lập trình viên sẽ rõ ràng hơn khi bạn biết rõ thứ mà các bạn sẽ tạo ra. Nếu mục tiêu của bạn chỉ là “học viết code”, mà không có định hướng rõ ràng về thứ mà các bạn sẽ làm ra và cách chúng sẽ làm cho cuộc sống tốt đẹp hơn, bạn sẽ thấy con đường phía trước đầy chông gai và khó nhọc.
Lập trình là việc xây dựng ra các sản phẩm CNTT để phục vụ cho cuộc sống hằng ngày, từ các sản phẩm web, các ứng dụng máy tính, ứng dụng di động, các phần mềm, các trò chơi…
2. Bạn muốn lập trình cái gì ?
Vậy, bạn muốn lập trình thứ gì? Một website, một trò chơi, hay một ứng dụng iPhone? Hoặc có thể bạn muốn xây dựng hẳn một công ty khởi nghiệp đáng giá hàng triệu USD? Đó cũng có thể là một sản phẩm tương tác mang tính nghệ thuật. Hay bạn muốn sử dụng kiến thức của mình để làm các sếp hài lòng và dành thời gian để làm những việc khác? Hoặc đơn giản bạn chỉ muốn kiếm việc dễ dàng hơn, muốn bổ sung vào hồ sơ của mình những thuật ngữ to tát, hoặc hoàn thiện chương trình học của mình. Tất cả những lí do trên đều có thể trở thành mục tiêu của bạn. Nhưng trên hết, bạn cần phải biết mình cần gì, và hãy học tập phục vụ cho điều đó.
3. Không có gì là bí ẩn về lập trình
Lập trình cũng là một kỹ năng, giống như những việc khác. Giống như việc học ngoại ngữ, lập trình viên cũng phải học những mệnh đề ngữ pháp và từ vựng. Lập trình cũng giống như toán, các bạn sẽ phải theo các bước trong quy trình để giải một đề bài.
4. Không có gì chạy ngay từ lần thử đầu tiên
… và chưa chắc đã chạy trong lần thứ hai hoặc thứ 3
Khi bạn mới học lập trình, bạn sẽ gặp phải tính huống sau: bạn nghĩ rằng tất cả các dòng code đều hoàn hảo và bạn đã kiểm tra kỹ tất cả mọi thứ, nhưng code của bạn không hề chạy! Bạn không biết bắt đầu từ đâu để sửa, và những dòng thông báo (nếu may mắn chúng sẽ được hiện lên màn hình) khó hiểu. Bạn có thể nghĩ tới việc từ bỏ tại đây, bạn nghĩ rằng sẽ không bao giờ có thể tìm ra câu trả lời, bạn không thể có lời giải.

Nhưng điều này rất phổ biến với lập trình viên ở bất kỳ trình độ nào. Nó không phản ánh trí tuệ của bạn, cũng như ảnh hướng tới khả năng khám phá công nghệ cũng như cuộc đời lập trình sau này của bạn. Điều này sẽ xảy ra thường xuyên với những người mới, và cả với những lập trình viên chuyên nghiệp. Sự khác biệt thực sự lại là cách mà mọi người xử lí nó.
Một điểm khác biệt giữa những lập trình ít kinh nghiệm và những người lâu năm trong nghề khi gặp khó khăn là niềm tin. Niềm tin vào việc bản thân họ sẽ tìm ra được cách khắc phục cũng như tìm ra điều chưa đúng trong dòng code. Họ cũng tin rằng sẽ có nhiều hơn một cách để thực hiện mục tiêu. Giải pháp để biến những dòng code vô dụng thành hữu ích có thể không rõ ràng, những với sự kiên trì, họ sẽ tìm ra.
5. Sẽ có ai đó luôn luôn nói rằng những gì bạn làm là sai
Những tranh cãi xung quanh việc dùng dấu ngoặc nhọn ( } ) ở cuối dòng lệnh hay ở đầu dòng tiếp theo sẽ diễn ra liên miên. Việc này cũng xảy ra với việc dùng phím tab để lùi vào khi viết code. Đôi khi bạn cũng bị cuốn vào những tranh cãi trái chiều dạng như “phải comment cho từng hàm khi viết code” và “code tốt là không cần dùng comment”.
Tất cả những tranh cãi, lời khuyên này đều sẽ làm phiền bạn. Nhưng thực sự thì không bao giờ có một chuẩn mực rõ ràng cho việc lập trình. Rất nhiều lập trình viên đã lựa chọn cách làm việc mà họ cảm thấy phù hợp nhất với mình, nhưng đó chưa chắc đó đã là con đường duy nhất. Việc đối mặt với nhiều người trong nghề và nghe những nhận xét đúng sai của họ về việc lập trình của bạn là một việc vô cùng vất vả khi bạn bắt đầu sự nghiệp.
Nếu bạn làm trong một nhóm lập trình, sẽ có một vài người sẽ gặp phải khó khăn khi tiếp nhận các dòng code từ bạn. Đôi khi họ đúng, những cũng có khi, họ rất cổ hủ và bắt bạn phải sửa theo cách viết của cả nhóm.
Sẽ có những người nhận xét bạn không phải là lập trình viên thực thụ
Viết HTML không phải là lập trình!
Nếu bạn không dùng vi, bạn không biết cách lập trình đúng nghĩa.
Những lập trình viên thực thụ sẽ chỉ dùng C.
Windows không phải nơi để lập trình.
Những thứ này không phải dành cho tất cả mọi người.
Cậu không phải thể trở thành lập trình viên!!!
Lập trình có ý nghĩa khác nhau với những người khác nhau, và bản thân công việc lập trình cũng đã khác rất nhiều so với thời điểm nó mới xuất hiện. Điều nực cười là rất nhiều công cụ, nền tảng được tạo ra để giúp cho những người mới học lập trình hoặc những lập trình viên lão luyện tạo ra sản phẩm nhanh hơn đều bị gán cho nhãn “không dành cho lập trình viên đích thực”.
Có thể thấy ở đây là sự sợ hãi của những lập trình viên. Khi ai cũng có thể dễ dàng tiếp cận với ngôn ngữ lập trình và tự tạo sản phẩm, cũng như tự gọi mình là người lập trình, thì sẽ không còn ai là lập trình viên nữa. Nhưng có lẽ, rào cản về kiến thức này đã bị phá bỏ từ rất lâu rồi.
6. Hãy kiên trì với việc lập trình
Không có bất cứ tài liệu nào có thể chỉ cho bạn con đường đúng hoặc nhanh nhất để nắm vững kiến thức lập trình. Có rất nhiều cách để có thể học, và thực hành. Bạn có thể học những khái niệm đầu tiên từ sách hoặc những bài học trực quan trên mạng, hoặc có thể bắt đầu ngay bằng việc sửa lỗi sai của người khác. Và tất nhiên, có rất nhiều ngôn ngữ cho bạn lựa chọn để bắt đầu.
Một vấn đề khá phổ biến khi các bạn tự học lập trình, đó là các bạn sẽ dễ dàng vượt qua những phần đơn giản, nhưng sẽ gặp khó khăn tại những phần rất quan trọng sau đó. Bạn có thể biết cách in một vài dòng lên màn hình, nhưng không thể làm việc được với những dự án thật. Bạn sẽ bắt đầu cảm thấy mất phương hướng và đổ lỗi cho giáo trình.
Khi bạn gặp phải tình huống này, tất cả những giáo trình trực tuyến hay tài liệu đều trở nên vô dụng, vì những viết ra nó đều mặc định rằng, bạn đã có kinh nghiệm trong lập trình. Việc khó khăn tiếp theo là bạn sẽ phải tìm ra thứ mình cần phải học tiếp, trong khi bạn không thể biết cái mà bạn không biết. Hệ thống khóa học lập trình miễn phí [url]http://myclass.vn[/URL] cũng xuất phát từ nhu cầu này, với mong muốn hỗ trợ tối đa việc học lập trình của các bạn, chúng tôi đã tạo ra kênh học lập trình miễn phí này.
Bạn sẽ vấp phải trở ngại này khi học lập trình ở bất kỳ đâu, còn cách giải quyết nó, là hãy tiếp tục kiên trì với việc lập trình. Hãy tiếp tục tìm kiếm những điều mới mẻ xung quanh những thứ đã học, thu nạp thêm thông tin, và tự tay xây dựng những ứng dụng của riêng mình. Bạn sẽ dễ dàng tìm được thành công nếu như bạn biết rõ mục tiêu học lập trình của mình là gì.
Thành công sẽ đến với bạn nếu bạn kiên trì xây từng viên gạch lên bức tường của mình. Nếu bạn kiên trì và dành thời gian để tìm hiểu nó, việc lập trình sẽ dễ dàng bị bạn chinh phục.
7. Điểm cốt lõi của việc học lập trình
Học lập trình không khó . Khó ở chỗ là chúng ta có phương pháp học và có chịu cố gắng học hay không thôi. Khi bắt đầu học một ngôn ngữ lập trình cũng giống như bạn đang bắt đầu vào học một môn ngoại ngữ để giao tiếp với người nước ngoài. Ngôn ngữ lập trình là cách để người lập trình giao tiếp với máy tính , và nhờ nó làm 1 công việc nào đó trong phạm vi khả năng cho phép của nó. Bạn muốn điều khiển được chiếc máy tính của mình không còn cách nào khác là bạn phải nắm được tư duy lập trình (chính yếu) và ngôn ngữ lập trình (thứ yếu).
Và hãy luôn nhớ điều này bất kỳ một bài toán, một yêu cầu, một công việc dù lớn hay nhỏ thì khi đưa vào lập trình sẽ trải qua 3 giai đoạn : (Nhập – Xử Lý – Xuất)
Hãy nhớ kỹ điều này, nó sẽ giúp cho bạn định hình được tư duy lập trình của mình sau này. Và tôi sẽ tiếp tục chia sẽ kiến thức về tư duy lập trình với các bạn trong những phần tiếp theo .Mong các bạn xem tiếp hồi sau . Nói về lập trình thì nó mênh mông, bao la. Có thể nói là chuyện dài nhiều tập . Nhưng một khi các bạn đã nắm được cốt truyện rồi (tư duy lập trình) thì chắc chắn bạn sẽ đam mê và thích thú nó . Tôi tin là như vậy !
8. Chọn hướng lập trình nào ?
Có rất nhiều hướng đi, sau đây là một trong các hướng:
Lập trình web : Frontend (là làm HTML, CSS, Javascript), Backend(PHP, Java, Ruby, Python, ASP.Net,Perl, …)
Lập trình mobile : iOS, Android, Windowphone, …
Lập trình mạng
Lập trình nhúng
Và một số hướng khác mình không thể nói hết được
Và khi đã chọn được hướng đi, việc bắt đầu từ đầu cũng rất là khó khăn, đòi hỏi bạn phải kiên trì và có lòng đam mê, nếu không 1 tuần hay chừng 1 tháng là bạn sẽ nản và từ bỏ ngay.
Còn nếu bạn kiên trì, vượt qua nhưng không đam mê, không tò mò lạ lẫm, không tự hỏi mình những câu hỏi về những đoạn mã đó tại sao không nên viết thế này, viết thế kia, chạy sao … rất nhiều câu hỏi. Bạn tự đặt và hỏi thì bạn thích hợp với CNTT vì bạn có đam mê, ngược lại bạn đừng đi theo nó, vì không có đam mê, bạn sẽ không thể bắt kịp mọi người khi mà tốc độ phát triển CNTT rất nhanh, nhanh hơn những ngành khác rất nhiều, điều này bạn nên cân nhắc.
Về việc chọn ngành học, là do các bạn tự cân nhắc
Nếu bạn đi theo lập trình web, đòi hỏi bạn rất nhiều ngôn ngữ cần hiểu biết. Bởi vì làm được 1 trang web cần kết hợp nhiều ngôn ngữ : HTML, CSS, Javascript, và 1 ngôn ngữ server (PHP, Python, Ruby, Java, C#/VB, ….) cùng với 1 database (MySQL, SQL Server, NoSQL, …)
Về lập trình mobile(di động) thì bạn chỉ cần nắm 1 ngôn ngữ là đủ như : Objective-C dùng cho lập trình iOS, C# dùng cho lập trình Windowphone, Java cho lập trình Android. C# và Java ở đây nó là Java nhưng có biến thể 1 chút, các bạn học là sẽ nắm được sự khác biệt này.
Lập trình mạng và lập trình nhúng thì mình không dám chia sẻ gì, nhưng những ngành này thì tỉ lệ việc làm kiếm được ít hơn 2 hướng trên là lập trình web và mobile, tuy nhiên ít hơn không có nghĩa là khó xin việc, vẫn có nhiều việc được đăng tuyển đều đều và lương khá cao.
Vậy chúng ta nên chọn hướng lập trình như thế nào?
Hướng nào cũng có thể mang lại cho bạn cuộc sống ổn định cả, tuy nhiên thời gian đầu bạn cũng có thể thử, thử hướng này trong một thời gian đủ dài, 3, 4 tháng chẳng hạn, nếu bạn thấy không ổn, bạn có thể đổi sang một hướng khác, cuộc sống rất dài, bỏ ra vài tháng hoặc thậm chí 1 năm để tìm được hướng đi phù hợp cho mình thì cũng không đáng là bao nhiêu, tuy nhiên qua việc thử chọn hướng, các bạn cũng sẽ ngày càng có thêm nhiều kinh nghiệm cho chính bản thân mình.
9. Nên chọn ngôn ngữ nào để học hoặc học trước các môn lập trình nào?
Qua kinh nghiệm của tôi, thật sự ngôn ngữ không quan trọng lắm, có nhiều bạn nói tôi rằng nên học Pascal trước khi học C, C++ sẽ dễ hơn, tuy nhiên, với tôi, do là dân tỉnh lẻ, không có điều kiện học Tin học từ nhỏ, nên tôi không được học Pascal từ trường phổ thông.
Sau khi thi đậu vào trường KHTN, chúng tôi được học C và C++ sau đó, tôi thấy vẫn tiếp thu tốt, nhiều bạn bè tôi từng đạt giải quốc gia tin học, tôi thấy chúng tôi không có nhiều khác biệt khi học các môn học về lập trình.
Do vậy, tôi thấy học ngôn ngữ không quan trọng mấy, thứ mà tôi thấy quan trọng, chính là học cách xử lý vấn đề, suy nghĩ các thuật toán để giải quyết vấn đề, cách tổ chức chương trình, các phần này có thể tìm thấy trong các môn học về Lập trình căn bản, Lý thuyết đồ thị, Cấu trúc dữ liệu và giải thuật, CSDL và một môn học tôi thấy cực kì quan trọng đó chính là Lập trình Hướng Đối Tượng. Tư duy lập trình Hướng Đối Tượng là cực kì quan trọng, cho đến hiện này, tất cả các ngôn ngữ, các phần mềm, các ứng dụng đều phải sử dụng tư tưởng lập trình HĐT này. Do vậy, tôi nghĩ các bạn muốn làm tốt công việc lập trình, các bạn cần phải học tập vào trao dồi nhiều thứ liên quan đến lập trình Hướng đối tượng.
Về ngôn ngữ lập trình, tôi đã từng lập trình từ C, C++ đến C#, đến Java, PHP, tôi thấy chúng ta chỉ cần học các từ khóa, các khai báo kiểu dữ liệu, viết một chương trình HelloWorld được là chúng ta có thể học ngôn ngữ đó, ngoại trừ một số khai báo đặt biệt, còn đa số là giống nhau về tư tưởng mà thôi.
Do vậy, theo kinh nghiệm của tôi, tôi thấy rằng tư duy lập trình, lập trình Hướng đối tượng là quan trọng, còn ngôn ngữ, các bạn cứ chọn và thấy phù hợp là mình học, và tập làm các dự án một cách thuần thục về ngôn ngữ đó, khi chuyển qua ngôn ngữ khác thì mọi thứ sẽ dễ dàng.
Chúc các bạn thành công theo đam mê của mình.
Xem thêm tại: [url]https://www.facebook.com/hauisoftware[/URL]
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
F 10 Lý Do Các Nhà Phát Hành Game – Ứng Dụng – Nội Dung Nên Sử Dụng Gói Directlink của Fshare Tin tức CNTT 0
tunglamed MC299 gói cước dành cho thuê trả trước MobiFone không nên bỏ lỡ Điện thoại di động 4
haopro Nonstop Nhạc Sàn Đám Cưới 2021 Full Bass - Bass Cực Căng - Loa Yếu Nên Bỏ Qua Bài Này Âm nhạc 0
theha02021982 TẠI SAO BẠN NÊN SỬ DỤNG MÁY LỌC NƯỚC ELKEN Bio Pure K-100 Sức khỏe 0
T Điều Gì Làm Cho Blockchain Trên Nên An Toàn Tin tức CNTT 0
T Điều gì làm cho Blockchain trên nên an toàn Tin tức CNTT 0
D Thảo luận Những điều nên biết về lan can cầu thang kính Thảo luận SEO 0
D Có nên học kỹ thuật chế biến món ăn tại trường trung cấp Kinh Tế - Du Lịch TPHCM (CET)? Trò chuyện linh tinh 0
I Share Lý do bạn nên tìm một nơi bán macbook chính hãng ? Máy tính 0
B Bí quyết trị thâm vùng kín tại nhà các Eva nên biết Trò chuyện linh tinh 0
marketingphongkham Chiến Lược Marketing Phòng Khám Chuẩn – Nên Đọc Thảo luận chung 0
N Nên chọn hệ điều hành Linux nào phù hợp cho VPS của bạn? Tin tức CNTT 0
D 3 truyện đô thị đặc sắc nhất nên đọc Sách, truyện, tài liệu 0
T Hướng dẫn Tại sao nên thuê văn phòng thám tử chuyên nghiệp theo dõi vợ/chồng Thảo luận SEO 0
T CHA MẸ NÊN THEO DÕI CON CÁI QUA MẠNG XÃ HỘi Thảo luận SEO 0
H Share 5 phần mềm quản lý quán cafe nên thử 2018 Thảo luận SEO 0
N Nên học lập trình IOS hay Android Android, ios, java, windows phone 0
C Ảo hóa, việc nhất định nên làm của các doanh nghiệp Việt Nam Tin tức CNTT 0
N Đây là rất nhiều lý do nên đổi sang sim 4G của Mobifone Thông tin các mạng di động 20
P Mẹo Vặt Hay Trong Cuộc Sống Bạn Nên Xem Tin tức, sự kiện thường ngày 0
T Khám Phá 5 Vị Trí "HOT" Nên Đặt Menu Trên Website. Mã nguồn web 0
tunglamed Hô biến cơ hội hiếm có khó tìm trở nên siêu thực chỉ có ở mConnect! Thông tin các mạng di động 8
T Dùng thử loa Bluetooth 30 ngày miễn phí, nên chọn Sony hay Logitech? Tin khoa học, sản phẩm mới 3
L Nên mua Smart TV hay thiết bị Android TV Box? Trò chuyện linh tinh 0
fsend.vn Clip Haivv.info – Lời khuyên chân thành “chỉ nên tắm ở đầu nguồn” :))))))))))) Video, clip 0
C Nên mua điện thoại của hãng nào Điện thoại di động 8
Dean.Winchester Thủ thuật Khi nào nên dùng Wi-Fi và khi nào nên dùng mạng dây? Thủ thuật máy tính 0
Dean.Winchester Thủ thuật Những việc bạn nên làm với máy tính mới mua Thủ thuật máy tính 0
trelatudo Share Game khủng như FPS và LOL thì nên chơi trên màn hình nào mới chất Máy tính 0
Dean.Winchester Thủ thuật Khi nào nên mua ổ cứng gắn ngoài? Máy tính 0
Smobi Share [Tut] Làm một vật trở nên trong suốt bằng PTS Thiết kế đồ họa 0
Admin Apple xác nhận việc mua lại PrimeSense, công ty phát triển nên cảm biến 3D dùng trong Kinect Tin tức CNTT 0
Yeukodamnoi Mình muốn học về thiết kế web thì nên học chuyên ngành nào trong cntt Thảo luận chung 12
I ▄▀▄ TẠI SAO NÊN CÁ ĐỘ TRÊN MẠNG - nhà cái V9BET Tin tức, sự kiện thường ngày 0
I ▄▀▄ TẠI SAO NÊN CÁ ĐỘ TRÊN MẠNG - nhà cái V9BET Thơ, báo, tạp chí 1
I Thảo luận ▄▀▄ TẠI SAO NÊN CÁ ĐỘ TRÊN MẠNG - nhà cái V9BET Kiến thức lập trình 2
L Hướng dẫn Sinh viên CNTT nên học nghề Kiểm thử phần mềm để có cơ hội việc làm sớm nhất Hosting / Domain 0
C Sinh viên CNTT nên học nghề Kiểm thử phần mềm để có cơ hội việc làm sớm nhất Thảo luận chung 0
Myshare Ai đang dùng trình duyệt Cờ Rôm + của Cốc Cốc Nên Vào Đọc Máy tính 1
Admin 29 thuật ngữ SEO mà các SEOer nên biết Thảo luận SEO 0
C ]Điều gì tạo nên sức mạnh của Kim Xà Trò chuyện linh tinh 0
T [Hay, nên đọc] Âm mưu đằng sau nhữngliên kiến qua UCWEB Tin tức, sự kiện thường ngày 4
Admin 10 yếu tố tạo nên 1 tiêu đề bài viết hoàn hảo Thảo luận SEO 1
H 11 điều bạn nên dừng ngay trên Facebook nếu không muốn bị tẩy chay Tin tức CNTT 0
H Android Một sốcode anh em nên biết! Android, ios, java, windows phone 0
Admin Một số phím tắt windows 7 bạn nên biết Thủ thuật máy tính 0
KhangSkull Help Đang nghịch xenforo nên cần anh em giúp đỡ Xenforo 8
Admin Một số phím tắt windows 7 bạn nên biết Sử dụng, chia sẻ, hỏi đáp 0
Yeukodamnoi Mình có nên thi vào trường Viện đại học mở Hà Nội không nhỉ. Thảo luận chung 0
C Không nên gấp chăn lạingay khi ngủ dậy Sách, truyện, tài liệu 0

Similar threads

New posts New threads New resources

Back
Top