Hiển thị các bài đăng có nhãn Bài Viết. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Bài Viết. Hiển thị tất cả bài đăng

Thứ Hai, 20 tháng 4, 2015

Lựa chọn ngôn ngữ nào để bắt đầu học lập trình?


Lập trình là một công việc cực kì trí tuệ và thú vị, song với số lượng ngôn ngữ lập trình quá nhiều như hiện nay, đâu là ngôn ngữ lập trình tốt nhất cho người mới bắt đầu? Hãy cùng trang công nghệ LifeHacker đi tìm câu trả lời cho câu hỏi hết sức phổ biến này.
programming
programming


Thực tế, câu hỏi “Tôi nên học ngôn ngữ nào khi mới bắt đầu lập trình?” là một câu hỏi gây tranh cãi, ngay cả với những kỹ sư, giảng viên kì cựu nhất. Nếu bạn hỏi 10 lập trình viên “Đâu là ngôn ngữ tốt nhất cho ‘lính mới’?”, bạn hoàn toàn có thể nhận được 10 câu trả lời khác nhau.

Để tìm ra ngôn ngữ lập trình phù hợp nhất, bạn không chỉ cần đánh giá mức độ dễ học của mỗi ngôn ngữ, mà còn cần xem xét xem bạn sẽ lập trình trong các dự án như thế nào, yếu tố bạn ưa thích nhất ở lập trình là gì và liệu xem lập trình có trở thành nghề kiếm sống của bạn hay không.

Vì sao bạn muốn học lập trình?

Tùy vào lý do bạn muốn học lập trình, rất có thể câu trả lời đã được xác định sẵn cho bạn. Nếu bạn muốn thiết kế website hoặc ứng dụng nền web, bạn cần học HTML, CSS, Javascript để tạo ra các trang web hoàn chỉnh, và có lẽ là PHP để tạo ra hệ thống nền web hoàn chỉnh. Nếu bạn chủ yếu muốn phát triển ứng dụng di động hãy học Objective-C để lập trình cho iOS và học Java để lập trình cho Android.

Nếu bạn xác định rằng mình sẽ lập trình phục vụ cho nhiều mục đích, nhiều dự án, hoặc muốn thử nghiệm nhiều ngôn ngữ/công nghệ khác nhau, bạn cần phải học các khái niệm căn bản về lập trình một cách căn bản, và bắt đầu “học cách suy nghĩ như một lập trình viên đích thực”. Bằng cách tiếp cận này, bất kể là bạn bắt đầu học bằng ngôn ngữ nào đầu tiên, bạn có thể dễ dàng tiếp cận các ngôn ngữ mới trong tương lai.

Các ngôn ngữ được sử dụng nhiều nhất

Phần lớn các ngôn ngữ lập trình “chính thống” (được nhiều người sử dụng) như C, Java, C#, Perl, Ruby và Python đều có thể thực hiện các tác vụ giống nhau (hoặc gần giống nhau). Ví dụ Java là một ngôn ngữ lập trình hoạt động đa nền tảng (không phụ thuộc vào hệ điều hành, bất kể là Windows, Linux hay Mac), song các ứng dụng Python cũng có thể chạy trên Windows và Linux gần như tương đồng nhau. Bạn có thể dùng Java để viết các ứng dụng nền web lớn và Ruby cũng có khả năng này.

Do nhiều ngôn ngữ lập trình được xây dựng dựa trên các ngôn ngữ lập trình khác (ví dụ, Microsoft bị chỉ trích là đã “ăn cắp” từ Java để tạo ra C#), cấu trúc câu lệnh trên các ngôn ngữ này là gần như giống hệt nhau. Hãy thử xem ví dụ dưới đây về bài toán kinh điển “Hello World” (khi học một ngôn ngữ/công nghệ mới, điều đầu tiên mà bạn cần làm bao giờ cũng sẽ là tìm cách hiển thị dòng chữ “Hello World”):
lựa chọn ngôn ngữ lập trình mới bắt đầu code java c# c python javascript
Như bạn có thể thấy, cách viết của C# và Java gần như giống hệt nhau; trong khi cách viết của Python và Perl cũng không quá khác biệt.

Tuy vậy, giữa các ngôn ngữ có thể có sự khác biệt lớn về cách cài đặt, sử dụng… Tạp chí SOA World Magazine đưa ra lời khuyên như sau:

“Nếu bạn nhìn rất kĩ vào các ví dụ, bạn có thể thấy một vài ví dụ khá đơn giản, một số khác khá phức tạp, một số ngôn ngữ yêu cầu phải có dấu chấm phẩy (;) ở cuối câu lệnh, một số khác thì không. Nếu bạn mới bắt đầu lập trình, đôi khi bạn nên chọn các ngôn ngữ không có quá nhiều qui luật về cú pháp và logic, bởi nhờ đó mà ngôn ngữ này không thể “tự gây khó dễ cho chính mình”. Nếu bạn vừa thử một ngôn ngữ nào đó và cảm thấy không thoải mái, hãy đổi sang ngôn ngữ khác!”.

Sau đây là tổng quan về một số ngôn ngữ phổ biến nhất:

C: Viết ra các đoạn mã nguồn có hiệu năng cao

Có thể nói rằng C là ngôn ngữ lập trình được sử dụng nhiều nhất. Việc các lập trình viên cần biết sử dụng C giống như là các bác sĩ cần phải biết cấu tạo cơ thể con người vậy. C là một ngôn ngữ có bậc khá thấp (cách xa ngôn ngữ người, và gần với ngôn ngữ máy), do đó bạn sẽ học các nguyên tắc căn bản về cách tương tác với phần cứng. Bạn cũng sẽ học cách debug (theo dõi chương trình để phát hiện, sửa lỗi), quản lý bộ nhớ, và học cả cách hoạt động của phần cứng máy vi tính. Với các ngôn ngữ bậc cao hơn (như Java), bạn sẽ không có cơ hội học những kiến thức này, và bởi vậy học C là một cách chuẩn bị rất tốt để bước lên các ngôn ngữ khác. C được coi là “ông tổ” của các ngôn ngữ lập trình bậc cao như Java, JavaScript và C#.

Tuy vậy, do C là một ngôn ngữ khá “bài bản”, việc học lập trình với C sẽ khó khăn hơn các ngôn ngữ khác. Nếu bạn không cần viết các chương trình tương tác quá sâu với phần cứng (ví dụ như truy cập vào driver của thiết bị, hoặc viết các phần mở rộng cho hệ điều hành…), học C sẽ gây lãng phí thời gian – có thể là vô ích. Nói tóm lại, trong khi học C sẽ giúp bạn viết các chương trình tương tác sâu với hệ thống, bạn sẽ phải tốn rất, rất nhiều thời gian học trước khi có thể tạo ra một sản phẩm có ý nghĩa.

Java: Lựa chọn hợp lý, phù hợp với thực tiễn

Java là ngôn ngữ lập trình phổ biến thứ 2 trên thế giới. Java áp dụng gần như triệt để các nguyên tắc Lập trình Hướng đối tượng (OOP) – một mô hình được thực hiện trên hầu hết các ngôn ngữ hiện đại như C++, Perl, Python và PHP. Khi đã học Java, bạn sẽ dễ dàng nắm bắt được các ngôn ngữ OOP khác.

Java có thế mạnh là được sử dụng rất nhiều. Bạn có thể dễ dàng tìm được câu trả lời cho các bài toán căn bản trên Java, cộng đồng sử dụng Java cũng rất lớn (và do vậy khả năng được trợ giúp của bạn cũng sẽ lớn hơn), và ngôn ngữ Java được sử dụng cho rất nhiều mục đích (viết ứng dụng nền web, nền Windows, nền Android hoặc gần như là bất cứ hệ điều hành nào khác), do đó lựa chọn học Java là một lựa chọn khá khôn ngoan. Trong khi bạn không thể “chọc” sâu xuống hệ thống như C, Java vẫn cho phép bạn sử dụng các phần quan trọng như hệ thống tập tin, đồ họa, âm thanh, mạng… trên các hệ điều hành khác nhau.

Python: Dễ học và thú vị

Nhiều lập trình viên sẽ khuyên bạn học Python đầu tiên, bởi ngôn ngữ này khá đơn giản song lại có rất nhiều khả năng. Mã nguồn Python rất dễ đọc, và cũng đòi hỏi bạn phải làm theo các phong cách lập trình nên có (ví dụ như sắp xếp mã nguồn cho dễ đọc) trong khi lại không quá đòi hỏi gắt gao về cú pháp (ví dụ như phải thêm dấu chấm phẩy ở cuối câu lệnh).

Theo Patrick Jordan, chuyên gia tại Ariel Computing, so với thời gian cần thiết để viết các mã nguồn đơn giản trong các ngôn ngữ khác như C, Java và BASIC, Pythonn “đòi hỏi ít thời gian hơn, ít dòng code hơn, và đòi hỏi ít khái niệm cần phải học để đạt được một mục đích xác định hơn. Cuối cùng, lập trình với Python khá thú vị. Sự thú vị và khả năng thành công sẽ tạo ra sự tự tin và hứng thú cho học viên, và sau đó họ sẽ học lập trình dễ dàng hơn“.

SOA World cho rằng Python là một lựa chọn bắt buộc đối với những người muốn làm việc với Linux (hoặc đã quen với Linux từ trước). Nhờ được sử dụng trên các trang web nổi tiếng như Pinterest và Instagram, Python cũng đang ngày một phổ biến hơn.

JavaScript
: Để lập trình web

Dù được đặt tên theo Java (vì lý do thương mại), JavaScript rất khác biệt so với Java. JavaScript có thể được coi là ngôn ngữ lập trình được hỗ trợ nhiều nhất, do tất cả các trình duyệt web đều hỗ trợ JavaScript. JavaScript được coi là 1 trong 3 thành phần căn bản của web: HTML chứa nội dung, CSS chứa giao diện và JavaScript đảm nhiệm vai trò tương tác động. JavaScript có cú pháp khá dễ sử dụng, bạn mất ít thời gian để viết và có thể dễ dàng đánh giá thành quả của mình khi lập trình JavaScript, và bạn cũng không cần tới quá nhiều công cụ pháp triển như các ngôn ngữ khác. Nói tóm lại, nếu bạn muốn tạo ra các trang web hấp dẫn, JavaScript là lựa chọn bắt buộc.

Lựa chọn đường đi cho mình

Nếu bạn muốn lựa chọn lập trình làm nghề nghiệp, hãy cân nhắc những lời khuyên sau đây từ Dev/Code/Hack:

- Lập trình Back-end/Server-side: Python, Ruby, PHP, Java hoặc .NET. Bạn cần phải có kiến thức về cơ sở dữ liệu và nên có kiến thức quản trị hệ thống.

- Lập trình Front-end/Client-side: HTML, CSS và Javascript. Bạn nên có khả năng thiết kế tốt.

[*] Thế nào là Front-end và Back-end? Ví dụ, khi bạn đọc bài trên VnReview, phần trang web được hiển thị trên trình duyệt của bạn được coi là front-end. Các xử lý mang tính hệ thống mà người dùng cuối không biết tới (ví dụ, lấy nội dung trang web từ cơ sở dữ liệu) sẽ được xử lý trong phần “back-end” của máy chủ.

- Lập trình di động: Objective-C cho iOS và Java cho Android. Bạn nên có kiến thức HTML/CSS để lập trình web cho thiết bị di động. Bạn cũng nên có kiến thức server-side.

- Lập trình 3D/lập trình game: C/C++, OpenGL. Bạn nên có thẩm mỹ tốt và tư duy sáng tạo.

- Lập trình cho các hệ thống đòi hỏi hiệu năng cao: C/C++ hoặc Java. Bạn nên có kỹ năng toán học và kỹ năng phân tích lượng tốt.

Nói tóm lại, học “code” là một con đường có rất nhiều xuất phát điểm. Điều quan trọng nhất là bạn phải biết mình cần gì: cần giải quyết vấn đề gì hoặc xây dựng ra các ứng dụng dạng nào. Blog Programming is terrible đưa ra kết luận:

“Ngôn ngữ đầu tiên mà bạn học được là ngôn ngữ khó nhất mà bạn sẽ học. Lựa chọn đường đi nhỏ bé hơn và dễ dàng hơn biến trải nghiệm này thành một chuyến phiêu lưu, hơn là một thử thách. Xuất phát điểm không quan trọng, miễn là bạn tiếp tục đi – tiếp tục viết code, tiếp tục đọc code. Cũng đừng quên test chúng. Một khi bạn đã lựa chọn được một ngôn ngữ thực sự giúp bạn vừa lòng, việc học các ngôn ngữ mới sẽ ít khó khăn hơn, và bạn sẽ tiếp tục thu về các kỹ năng mới“.

Theo VNReview

Thứ Ba, 10 tháng 3, 2015

Con trỏ trên C như thế nào? Công dụng, tác dụng của con trỏ trên C?

https://toithacmac.files.wordpress.com/2014/01/pointerschematicalexplabm4.jpgTrong pascal con trỏ thực sự không mấy khi dùng. Nhưng trong C con trỏ nó cực kỳ mạnh mẽ, và nó còn là một nét đặc trưng của C trong khi làm việc với mảng hay cấp phát động...
Để hiểu được con trỏ anh cần phải biết một số kiến thức về vi xử lý, hệ điều hành, và bộ nhớ.... Nhưng để đơn giản em xin lấy ví dụ thế này.

Ví dụ có hàng tỷ cái chai, đặt trên một băng có thứ tự từ 1 tới 1 tỷ.
Bây giờ anh lấy một cái chai và dán một cái nhãn cho nó chẳng hạn là 'Cam'
Sau đó anh lại đổ vào chai đó 2 lít nước cam
Cái hành động dán nhãn có thể ví như việc anh khai báo biến, còn việc anh đổ 2 lít nước cam vào chai chính có thể coi như là anh gán cho biến một giá trị là 2.
Có thể nó như thế này đây:
int cam;
cam=2;
Vậy con trỏ là như thế nào?
Ví dụ chai ta vừa lấy nó nằm vào vị trí 6590 chẳng hạn. Vậy 6590 chính là con trỏ cam, và ta có thể biết được chai cam chứa bao nhêu cam qua vị trí của nó (tức con trỏ)
Có lẽ là nó như thế này đây
int *pcam;
pcam=&cam;
Như vậy Nếu như in ra ta sẽ nhận được như sau : pcam=6590 và *pcam=2.

Sau đây là một ví dụ nhé

#include<stdio.h>
#include<conio.h>
int main()
{
        clrscr();
        int cam,y;
        int *pcam;
        cam=2;
        pcam=&cam;
        y=*pcam+1;
        printf("cam= %u",cam);
        printf("\npcam= %u",pcam);
        printf("\n*pcam= %u",*pcam);
        printf("\ny= %u",y);
        getch();
        return 0;
}

Chủ Nhật, 8 tháng 3, 2015

Hướng dẫn cài đặt OpenGL.

 http://cdn.wolfire.com/blog/prototype/opengl2.png
Sau đây là hướng dẫn cài đặt OpenGL (Open Graphic Library) trên các phiên bản Visual Studio. Mặc dù OpenGL đã được cài đặt sẵn trên các driver đồ họa, tuy nhiên nếu không thiết lập và cài đặt thư viện Glut mới sử dụng các hàm này được.
0. Sự khác nhau về OpenGL và Glut:

  • OpenGL là thư viện đồ họa gồm các API về thuật toán vẽ hình, các phép biến đổi, phép chiếu của thực thể.
  • GLUT là thư viện quản lí cửa sổ, các thao tác nhập xuất như bàn phím, chuột, menu đơn. Cũng như các API liên quan tới việc giao tiếp của người dùng với OpenGL.
Và như vậy GLUT như 1 trung gian giữa end-user và thư viện OpenGL. Thông qua các sự kiện của người dùng, GLUT sẽ "catch" - tức bắt các sự kiện đó, phân tích rồi thực hiện theo cài đặt. Và OpenGL sẽ thực thi các lệnh vẽ, thông qua GLUT sẽ trả về kết quả trên màn hình.
1. Tải GLUT tại đây.
2. Giải nén. Trong đó có 3 file cần lưu tâm:
“glut32.dll” Chép vào thư mục C:\Windows\System32. (Nếu cẩn thận thì nên copy sang thư mục khác nữa là :C:\Windows\SysWOW64 )
“glut.h” Chép vào thư mục include của Visual C++.
  • Với phiên bản 2012: Chép vào: C:\Program Files\Microsoft Visual Studio 11.0\VC\include. Đối với bản 2012: thư mục gl không còn tồn tại nữa, thực tế các header file liên quan đến OpenGL đã được đưa đến nơi khác. Thư mục đó vẫn có tên là gl. Vì vậy đối với bản 2012. Khi lập trình ta cần include như sau:

    #include <glut.h>
    #include <gl/gl.h>
    #include <gl/glu.h>
  • Với phiên bản 2010: Chép vào: C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\gl.
  • Với phiên bản 2008: Chép vào: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl.
  • Với phiên bản 2005: Chép vào: C:\Program Files\Microsoft Visual Studio.NET\Vc7\PlatformSDK\Include\gl
“glut32.lib” Chép vào thư mục library:
  • Với phiên bản 2012: C:\Program Files\Microsoft Visual Studio 11.0\VC\lib
  • Với phiên bản Visual Studio 2010: C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib
  • Với phiên bản Visual Studio 2008: C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
  • Với phiên bản Visual Studio 2005: C:\Program Files\Microsoft Visual Studio.NET\Vc7\PlatformSDK\lib.
3. Thiết lập cho project Visual Studio.

  • Tạo một empty project Win32 console application.
  • Click chuột phải vào dự án ở Solution Explorer, chọn Properties. Phần Linker, mục Additional Dependence nhập các file sau:
    glut32.lib 
    glu32.lib
    opengl32.lib
  • Phần VC++ Directories, chọn mục Include Directories click edit vào trỏ đến đường dẫn tương ứng cho thư mục include ở phần trên. Làm tương tự với Library Directories.
4. Thứ tự include vào file cpp theo thứ tự sau:

#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>
5.Lưu ý: Khi include các thư viện stdio.h, stdlib.h thì phải include các file này trước, sau đó mới include các header file của GLUT

Project Source Code Manager on Google Code Using NetBean IDE and SVN


I. Google Code là gì?
Google Code là một trang web của Google trong đó tập trung các nhà phát triển các dự án phần mềm mã nguồn mở được hỗ trợ bởi Google. Trang có rất nhiều mã nguồn phần mềm và danh sách các dịch vụ có hỗ trợ các API công cộng để phục vụ cho việc phát triển các phần mềm hỗ trợ khác. Chúng ta sử dụng Google Code như 1 free web host để lưu giữ thông tin,source code cũng như những thư mục khác phục vụ cho project của nhóm.
Trang chủ Google Code tại VN : http://code.google.com/intl/vi-VN/

Chủ Nhật, 23 tháng 11, 2014

5 Cách để học lập trình nhanh hơn – 5 Ways yo

 5 Cách để học lập trình nhanh hơn – 5 Ways yo 

Bạn muốn học lập trình một cách tốt nhất. Không biết phải bắt đầu từ đâu? 
Phải học lập trình như thế nào?

Học lập trình không phải là chuyện mà ta có thể làm trong một sớm, một chiều, nhưng nó không phải là quá khó khăn. Có rất nhiều điều bạn có thể làm cho nó dễ dàng hơn khi bạn học lập trình. Bài viết sau đây được tham khảo từ trang web cprogramming.com sẽ có thể giúp ích cho chúng ta khám phá được những bí quyết để học lập trình tốt hơn và nhanh hơn.

Một trong những chủ đề được nói đến rất nhiều về mẹo học lập trình là:
Không đi quá nhanh, hãy nắm đúng nó trước khi nó di chuyển (Don’t go too fast, get it right before move on)
Chúng ta thường thắc mắc tại sao trong lớp học của mình, có một số bạn của chúng ta biết trước về một số ngôn ngữ lập trình. Trong những tuần đầu tiên học thường nắm bắt kiến thức rất nhanh, nhưng càng về sau họ lại bị bỏ ở đằng sau bởi những sinh viên khác. Tại sao họ lại bị bỏ xa trong khi nền tảng của họ tốt hơn???
Đó chính là việc họ đã đi quá nhanh, và lối mòn của họ là tưởng rằng mình biết tất cả nhưng thực sự họ hiếm khi thực hiện công việc lập trình. Có thể họ biết một số cái nâng cao hơn so với những sinh viên
khác, nhưng bấy nhiêu đó là không đủ để nắm vững các nguyên tắc cơ bản. Cũng giống như khi chúng ta làm bài kiểm tra môn toán thường có 8 điểm là có một người có học lực khá có thể đạt được, nhưng có một số sinh viên làm được bài 2 điểm khó kia và có một số bài tập cơ bản vẫn chưa hoàn thành, nên kết quả không bằng một sinh viên nắm vững các kiến thức cơ bản có thể làm được.
Do đó, trước tiên chúng ta cần tạo cho mình một nền tản (Foundation) tốt bằng cách thường xuyên luyện tập thực hành cái bài tập lập trình. Trong quá trình luyện tập như vậy bạn sẽ thấy được những vấn đề cơ bản mà các lập trình viên thường mắc phải. Và tạo cho mình một thoái quen tốt để giải quyết vấn đề.
Đồng thời bạn đừng bao giờ ngừng tiến trình luyện tập của mình, cũng không nên đi quá nhanh hay quá chậm. Đừng tránh một chủ đề nào sau khi bạn đã nắm vững tất cả những gì dẫn đến nó. Bằng cách đối mặc với nhiều ý tưởng và thách thức, bạn sẽ có một chất men giúp bạn nhanh chóng nắm bắt được những vấn đề cơ bản. Sau đây là 5 cách để bạn định hướng được việc học lập trình nhanh hơn.
1. Xem các code ví dụ (Look at the Example Code):
- Khi đọc sách chúng ta thường đọc các từ trên trang sách đó, nhưng học lập trình thì đó là code. Khi bạn mới bắt đầu học lập trình, bạn nên xem xét kỹ lưỡng và cố gắng hiểu từng ví dụ. Trước khi đọc các lời giải thích về chương trình trong sách, bạn nên cố gắng đọc và hiểu các đoạn code mà
tác giả đã viết dùng để làm gì. Tuy các ví dụ đó không phải khi nào đánh vào máy cũng chạy, nhưng nó tập cho chúng ta một thoái quen xem code cẩn thận và góp phần giúp chúng ta viết code rõ ràng hơn.
- Chúng ta phải viết code làm sao để cho các lập trình viên khác có thể đọc và hiểu nó, và để khi chính mình nhìn lại cũng nắm được. Do đó cần phải tuân thủ những nguyên tắc, và cú pháp khi viết code để đảm bảo kiểm tra lỗi đơn giản hơn, các phần hướng dẫn viết code theo một mẫu chuẩn thường được viết ở đầu các cuốn sách lập trình, nhưng ít người học lập trình để ý đến vấn đề này.
2. Đừng chỉ đọc các code ví dụ - hãy chạy thử nó (Don’t just Read exam code – Run It)

- Khi bạn đọc một chương trình hướng dẫn (hay một cuốn sách), bạn thường xem các code ví dụ của nó và nói “Tôi đã nắm được nó, tôi đã hiểu được nó….”. Tất nhiên là bạn có thể nắm được nó, nhưng bạn thực sự chưa hiểu được nó hoạt động như thế nào, cho kết quả ra sao.
Do đó trước khi đọc một cuốn sách về lập trình, bạn nên cài trình biên dịch của ngôn ngữ mà bạn đang học vào máy (ví dụ học C++ thì bạn cài Dev C++ hay visual c++). Để sẵn sàng chạy thử tất cả các ví dụ trong cuốn sách hay chương trình mà bạn đang đọc.
- Tôi nói chạy thử ở đây không phải là copy rồi paste vào rồi nhấn F5. Tôi khuyên bạn nên tự mình đánh những đoạn code đó vào chương trình biên dịch, vì khi đó bạn thực sự buộc mình phải đi qua tất cả các mã,việc gõ mã lệnh sẽ giúp bạn chú ý đến các chi tiết cú pháp của ngôn ngữ – những sự thiếu soát buồn cười như thiếu đấu chấm phẩy ở cuối mỗi câu lệnh có thể làm bạn hết sức đâu đầu.
- Sau khi gõ mã lệnh vào chương trình, hãy chạy thử nó. Rồi viết thêm một số câu lệnh mới vào chương trình của mình xem nó có hoạt động xem. Điều đó sẽ giúp bạn hiểu nhanh hơn mỗi câu lệnh có ý nghĩa như thế nào.
3. Hãy viết mã riêng của bạn càng sớm càng tốt (Write your own code as soon as possible).

- Khi bắt đầu viết một chương trình bạn không biết phải bắt đầu từ đâu, sử dụng cấu trúc dữ liệu gì? Việc phân bổ viết code như thế nào? Xử lý các phương thức ra sao?… Điều đầu tiên là bạn sử dụng các công cụ tìm kiếm ở google hoặc các công cụ tìm kiếm khác để tìm kiếm đoạn mã mình cần. Đây là một điều có thể làm cho tư duy lập trình của bạn ngày càng giảm đi và ngày càng bị lệ thuộc vào các công cụ tìm kiếm.
- Giải pháp được đưa ra trong trường hợp này là bạn hãy tự nghĩ cho mình một thuật toán riêng. Đầu tiên bạn viết nó bằng mã giả, sau đó dùng ngôn ngữ lập trình để viết lại. Tuy việc này rất khó và tốn nhiều thời gian, nhưng nó sẽ giúp bạn có được những kinh nghiệm thực sự hữu ích, khả năng tư duy lập trình ngày càng phát triển. Thay vì lên mạng tìm code về sửa.
- Trường hợp ý tưởng chương trình của bạn lớn, phải viết một lượng lớn code. Khi đó bạn hãy phân nhỏ từng tính năng chương trình của mình ra, tự tập thiết kế cấu trúc của chương trình nhỏ đó, rồi ghép chúng lại với nhau sẽ được một chương trình lớn hoàn chỉnh hơn. Có thể chương trình đó không hoạt động tốt, nhưng cái mà bạn được ở đây chính là kinh nghiệm và một tư duy tự lập trong lập trình.
4. Tìm hiểu cách sử dụng một công cụ Debug (Learn to use a Debugger)
– Debug là một công cụ rất tốt dùng để gỡ rối chương trình của bạn khi có một lỗi nào đó là chương trình bạn chạy sai. Nó cho bạn theo dõi giá trị của các biến và các thay đổi của chúng qua từng mã lệnh của chương trình. Công cụ debug mạnh nhất có lẽ được tích hợp trong các sản phẩm của Microsoft như Visual Studio (Hiện nay là visual studio 2010). Công cụ debug giúp chúng ta hiểu chương trình của mình hơn, và là thứ chúng ta cần phải biết khi viết chương trình.
- Một chương trình debug có thể giúp bạn nhanh chóng trả lời những gì mà bạn đang làm như ví dụ bên dưới.
Code:
  1.  int main()  
  2. {  
  3.  int x;
  4.  int y;
  5.  if(x>4) //<— Giá trị của X ở đây là bao nhiêu?  
  6.  {  
  7.   y=5 ; //<— Dòng code này thực thi như thế nào?  
  8.  }  
  9. }  
- Và lời khuyên cuối cùng về debug là: khi bạn lần đầu tìm hiểu về debuger, có thể nó sẽ làm bạn mất khá nhiều thời gian khi bạn sửa lỗi chương trình của mình. Nhưng khi bạn nắm được các kiến thức về debug nó sẽ đem lại cho bạn một lợi ích lớn trong việc tiết kiệm thời gian khi sửa lỗi chương trình. Tôi tin rằng mỗi bạn đều có thể tìm ra cho mình một cách debug chương trình hiệu quả, bởi nó sẽ theo suốt sự nghiệp lập trình của bạn.
- Tôi thường thấy các sinh viên khác không muốn sử dụng công cụ debug (có thể là không biết giống như tôi lúc trước). Những sinh viên đã tự làm khó mình trong việc tìm kiếm lỗi sai trong chương trình. Do đó khi bạn đã xác định theo con đường lập trình, hãy học cách sử dụng một công cụ debug, nó sẽ mang lại cho bạn nhiều lợi ích thiết thực hơn bạn nghĩ.
5. Tìm kiếm thêm những nguồn tài tài liệu khác (Seek our more sources)

- Khi bạn không hiểu một điều gì đó, internet là một nơi với lượng thông tin khổng lồ mà bạn tìm đến. Thế nhưng có những bài viết về đề tài mà bạn muốn tìm thì lại được tác giả viết sơ sài, hoặc có thể sai. Do đó bạn phải hết sức thận trọng khi sử dụng các thông tin từ internet vào chương trình của mình.
- Ngoài ra việc tìm kiếm một cuốn sách với những giải thích chi tiết sẽ giúp bạn nhanh chóng nắm được vấn đề hơn.
- Bạn cũng có thể tham gia vào các diễn đàn về lập trình (ví dụ lập trình c, c++, c# thì có diễn đàn http://congdongcviet.com/), khi không hiểu một vấn đề gì đó bạn có thể post bài để các thành viên trong diễn đàn giúp đỡ cho bạn. Nếu có khả năng về tiến anh thì bạn lên các diễn đàn nước ngoài sẽ có nhiều thành viên xuất sắc ở đó tìm kiếm thông tin và trả lời giúp(http://codeproject.com/ , http://cprogramming.com/ , http://cplusplus.com/ …). Lưu ý khi hỏi trên các diễn đàn bạn phải đặt câu hỏi ngắn gọn, tập trung vào mô tả nội dung vấn đề mà bạn đang gặp vướng mắc thì bạn sẽ nhận được câu trả lời tốt hơn.
- Việc trước mỗi buổi học nên chuẩn bị một danh sách các câu hỏi về những vướng mắc mà bạn gặp phải vào một cuốn sổ tay nhỏ để lên hỏi giáo viên hoặc bạn bè là một việc rất có ích, nó sẽ giúp bạn tiếp thu hơn, và nó cho thấy rằng bạn là một con người cầu tiến, ham học hỏi.
- Cuối cùng là việc hết sức quan trọng, Học Nhóm. Học nhóm sẽ giúp bạn tiến bộ nhanh hơn, tăng cường khả năng giao tiếp với bạn bè và đồng nghiệp sau này. Khi làm việc nhóm bạn sẽ viết ra được những chương trình lớn hơn và có sức thuyết phục người dùng hơn. Tôi khuyên bạn đừng bao giờ ôm hết công việc về mình.
Mong rằng bài viết này có thể giúp chúng ta nắm được những nguyên tắc cơ bản của môt người mới bắt đầu đi vào thế giới lập trình.
(Theo cprogramming.com)

Bài đăng phổ biến