Cuộc chiến giữa các ngôn ngữ lập trình. Nên chọn ngôn ngữ nào để bắt đầu nghề “gõ bàn phím”

Nhân dịp đầu năm mới Đinh Đậu 2017, tui sẽ khai bút bằng bài viết về các ngôn ngữ lập trình hy vọng sẽ giúp cho các thanh niên đang có ước mơ trở thành “developer” trong cái thế giới công nghệ tuy hào hoa mà cũng lắm gian truân này nhận biết được thế nào là ngôn ngữ lập trình.

1. Quá trình học lập trình của tui.

Đầu tiên, tui cũng xin mạn phép được kể lể tí về khoản thời gian tui học các ngôn ngữ lập trình. Đó là đầu những năm 2000, lúc đó mới là sinh viên năm nhất, năm hai khoa CNTT trường HUFLIT. Thời đó làm gì được chọn ngôn ngữ để tự học như các thanh niên ngay nay. Đầu tiên là tui làm quen với em Pascal, sau đó là tới em C rồi C++, nói thật là nó chán kinh hồn các bạn ạ, lập trình toàn là màn hình console đen thui thôi nhưng cũng phải học thôi tại vì đâu có sự lựa chọn nào khác, Happy-Grin . Sang những năm tiếp theo, mới quen được một “mỹ nhơn” là em Java, ta nói yêu cmn luôn em nó, viết application cũng Java, viết Website cũng Java, ta nói làm cái gì cũng Java, sướng lắm các bạn ạ.

(more…)

Read More

Viết ứng dụng Word Count trên Spark bằng Scala, sử dụng Intellij IDEA Community

Ở bài mở đầu, tui đã hướng dẫn cài đặt Spark 1.6.3 trên Windows 10 rồi. Trong bài này, tui thử viết một ứng dụng chạy trong môi trường Spark bằng ngôn ngữ Scala với IDE Intellij IDEA phiên bản Community.

Đối với Spark, các bạn có thể viết ứng dụng bằng 4 ngôn ngữ: Scala, Java, Python, R. Nhưng tui lại thích chọn Scala bởi vì:

  • Spark được build bằng Scala
  • Đã từng làm qua Java, C#, nhưng lại thích kiểu lập trình không cần khai báo datatype như PHP mà Spark không hổ trợ PHP cho nên quyết định dùng Scala bởi Scala có cú pháp gần giống Java mà lại không cần khai báo datatype giống PHP

Đó là ý kiến cá nhân của tui thôi, còn các bạn thích ngôn ngữ nào trong 3 cái còn lại thì cứ dùng nó, chả ảnh hưởng ai cả đâu.

(more…)

Read More

Cài đặt Apache Spark 1.6.3 trên Windows 10

Chào các bạn. Hôm nay, tui mở thêm một chủ đề mới về Big Data. Về khái niệm Big Data, tui cũng đã nghe nói nhiều từ hơn một vài năm trước lận nhưng gần đây mới có thời gian research. Đại khái là theo sự hiểu biết của tui là nếu bạn có trong tay một tập dữ liệu cực kỳ lớn gần cả triệu record, mỗi record có khoản vài chục column và mỗi ngày nó lại tăng thêm. Bạn có nhu cầu là cần thao tác nhanh trên tập dữ liệu này để lấy ra một tập dữ liệu cần thiết để phân tích, đưa ra số liệu cụ thể cho một công việc nào đó thì đấy là Big Data. Vậy vấn đề được đặt ra là:

  1. Làm sao để lưu trữ cái đống dữ liệu to lớn đó sao cho dễ quản lý và sử dụng, truy vấn nhanh?
  2. Làm sao để phân tích nhanh nhất có thể đối với dữ liệu cực lớn này?

(more…)

Read More