This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.This theme is Bloggerized by Lasantha Bandara - Premiumbloggertemplates.com.

Thứ Bảy, 30 tháng 1, 2016

Ngôn ngữ lập trình nào nên học để lập trình web


Bài viết được dịch từ Makeuseof
Lời bàn của Vinacode:
Ở bài viết trước thì tác giả đã giới thiệu về một số ngôn ngữ lập trình phổ biến trong lập trình phần mềm desktop. Trong bài viết này sẽ giới thiệu các ngôn ngữ phổ biến trong lập trình web. Mặc nội dung bài viết có vẻ đề cao ngôn ngữ PHP, nhưng đó là theo quan điểm riêng của tác giả. Về ngôn ngữ PHP thì bạn có thể đọc thêm bài viết này.
Hôm nay chúng ta sẽ cùng xem qua một số ngôn ngữ lập trình web đã tạo nên sức mạnh cho thế giới Internet ngày nay. Đây là phần 2 trong loạt bài viết giới thiệu các ngôn ngữ lập trình cho người mới bắt đầu. Trong phần 1, chúng ta đã xem qua một số ngôn ngữ lập trình dùng để phát triển phần mềm. Cũng giống như lần trước, tôi sẽ đưa ra một đoạn code nhỏ để bạn có thể hình dung xem ngôn ngữ đó trông như thế nào, tôi tin rằng với một cái nhìn thoáng qua như vậy cũng sẽ giúp bạn nhận ra rằng liệu mình có phù hợp với ngôn ngữ lập trình đó hay không.
Ngôn ngữ lập trình nào được sử dụng phổ biến trong lập trình web?Ngôn ngữ lập trình nào được sử dụng phổ biến trong lập trình web?

1. PHP

PHP là một ông vua không thể bàn cãi về ngôn ngữ kịch bản máy chủ (server-side) được sử dụng trên Internet ngày nay — nó chạy trên 75% của tất cả các máy chủ Web — và là sức mạnh phía sau của các nền tảng như WordPress, Wikipedia, và thậm chí là một phần của Facebook.
Ngôn ngữ lập trình PHPLà một ngôn ngữ chạy trên máy chủ, mã của nó được xử lý trước khi được trả về trình duyệt của người dùng, vì thế tất cả chúng ta nhìn thấy chỉ là mã HTML và không có chút mã PHP nguyên thủy nào. PHP thường được sử dụng kết hợp với MySQL để truy xuất thông tin từ cơ sở dữ liệu và hiển thị thông tin tới người dùng.
PHP là một ngôn ngữ đa năng và được xem như là chuẩn của hầu hết các máy chủ web — nếu bạn đã từng nghe về các thuật ngữ như MAMP/WAMP/LAMP, thì chữ P trong đó là viết tắt của PHP (phần còn lại là Windows/Mac/Linux, Apache, và MySQL).

2. MySQL

Một thành phần khác được xem như chuẩn cài đặt trên web server đó là MySQL, nó là database server mã nguồn mở miễn phí. MySQL không phải là một ngôn ngữ lập trình, nhưng là một ngôn ngữ mới để học nếu bạn muốn “nói chuyện” với cơ sở dữ liệu, vì thế nó là một thành phần quan trọng của các trang web hiện đại. Mặc dù MySQL thực ra là một ngôn ngữ kiểu dòng lệnh (command-line), nhưng cũng có một công cụ giao diện đồ họa GUI rất phổ biến là PHPMyAdmin giúp bạn quản lý cơ sở dữ liệu này một cách dễ dàng hơn.
Ngôn ngữ lập trình MySQLHơn nữa, MySQL tạo ra sức mạnh cho nền tảng WordPress – vì tất cả các bài viết và nội dung của nó thì thực ra được lưu trữ trong cơ sở dữ liệu MySQL.

3. Javascript

Bạn đừng nhầm lẫn nó với ngôn ngữ Java (là một ngôn ngữ hoàn toàn hướng đối tượng mà chúng ta đã có dịp giới thiệu trong bài viết trước), Javascript là một bậc thầy về tương tác trên các trang web. Nó là một ngôn ngữ kịch bản chạy cục bộ trên trình duyệt của người dùng, cho phép các trang web phản hồi lại các tương tác người dùng như là khi click chuột lên một đối tượng và các sự kiện về thời gian. Để có thể học hết mọi thứ trong JavaScript là một điều hầu như không tưởng — có thể nói rằng nếu có một tương tác nào đó trên một trang web, và nó không phải là Flash — thì nhiều khả năng đó là nhờ Javascript.
Ngôn ngữ lập trình jQueryChúng ta cũng nên đề cập đến JQuery vào lúc này. JQuery là một framework Javascript cho phép bạn viết ít code hơn và mang lại khả năng tương thích trình duyệt tốt hơn, nó nhanh chóng trở thành chuẩn của các trang web hiện đại. JQuery đặc biệt hữu ích để nhắm đến những đối tượng xác định trong một trang web có sử dụng CSS và thực thi một số thứ cùng với chúng, như là ẩn hoặc hiện các thành phần đó chẳng hạn. Mặc dù JQuery được làm từ Javascript, nhưng cũng có những thành phần ngôn ngữ duy nhất của riêng nó, bởi vậy nếu bạn biết Javascript thì không có nghĩa là bạn có thể tự động biết cách sử dụng JQuery (bạn có thể cũng tranh cãi rằng bạn không cần biết nhiều về Javascript để có khả năng sử dụng jQuery). Chúng ta nhất định sẽ xem xét lại quan điểm này vào một lúc thích hợp.

4. Perl

Perl trước đây được xem là một lực lượng chính trong lập trình web, nhưng gần đây hầu như đã chuyển sang các ứng dụng xử lý văn bản (text). Nó thì có tốc độ xử lý văn bản nhanh đến mức kinh ngạc, nhưng không được sử dụng nhiều trong thế giới Internet hiện đại. Tuy nhiên hầu như tất cả các hacker đều có một số thủ thuật được viết bởi Perl, vì thế nó cũng đáng giá để bạn để tâm nghiên cứu vào một lúc nào đó.
Để mang lại cho bạn một sự hình dung về sức mạnh của Perl, đây là một đoạn code hoàn chỉnh đã được tạo ra để phá mã hóa của DVD. Vâng, nội dung khá là khó hiểu:

Ngôn ngữ lập trình Perl5. Ruby

Ruby, và framework phát triển ứng dụng web của nó là Ruby On Rails, là nguồn sức mạnh cho một số trang web lớn như là Groupon, Shopify (một nền tảng thương mại điện tử), và được dùng để xây dựng front-end cho mạng xã hội Twitter. Nó là một ngôn ngữ hoàn toàn hướng đối tượng và được thông dịch bởi server trước khi gửi mã HTML tới trình duyệt của người dùng — cũng giống như PHP (nhưng cũng có nhiều điểm hoàn toàn khác biệt). Tuy nhiên, nó có một số đặc điểm nổi trội đó là phát triển ứng dụng nhanh chóng, viết ít code bị lặp lại, và tốc độ thực thi khá nhanh.
Ngôn ngữ lập trình RubyKhông may là hầu hết các máy chủ web đều không hỗ trợ Ruby ở dạng mặc định, vì thế trừ khi bạn có khả năng cấu hình cho riêng mình một con server như bạn mong muốn, nếu không thì bạn cần sử dụng một nhà cung cấp dịch vụ hosting kiểu như Heroku.

6. Python

Python là một ngôn ngữ lập trình bậc cao, hoàn toàn hướng đối tượng và strongly-type. Các tính từ thường được sử dụng để mô tả về Python điển hình bao gồm: vui, dễ sử dụng, và là một công cụ để học lập trình rất tốt — nhưng cuối cùng lại có rất ít ứng dụng web trong thế giới thực viết bằng Python. Tuy nhiên, nó chắc chắn là một ngôn ngữ rất tốt cho người mới học lập trình, đặc biệt nếu bạn là người đang hướng đến các dự án trên Linux hoặc cộng đồng mã nguồn mở. Chỉ đừng mong chờ dùng nó để tạo ra các ứng dụng web thực sự, và xuất hiện như là một đối thủ cạnh tranh của cộng đồng Ruby.

Ngôn ngữ lập trình Python7. ASP.net

Đây là một sự đóng góp của Microsoft vào đấu trường các ngôn ngữ lập trình web, có thể đoán được nó phổ biến nhất trong môi trường các tổ chức và doanh nghiệp. Nó cũng được tích hợp chặt chẽ vào gia đình .Net, và bạn cần một hosting Windows xác định để có thể chạy một ứng dụng web viết bằng ASP.net, theo kinh nghiệm của tôi thì điều đó cần nhiều nỗ lực hơn là giá trị của nó. Vì thế bạn hãy tránh xa trừ khi bạn có một lý do thực sự tốt để dùng nó.

Ngôn ngữ lập trình ASP.netVậy, bạn nên học ngôn ngữ lập trình nào?

Nếu bạn muốn tạo ra một trang web hiện đại và có tương tác tốt, thì tôi đề xuất nên chọn sự kết hợp giữa PHP, MySQL và có thể JQuery/Javascript cho việc tương tác. Điều này không có nghĩa là các ngôn ngữ như Ruby và Python là không có giá trị để đầu tư nghiên cứu như là các bài tập trong khi học — chúng ta chắc chắn sẽ làm điều này vào một lúc nào đó — nhưng nếu quỹ thời gian của bạn bị eo hẹp và bạn nghiêm túc muốn bắt đầu học các kỹ năng có ích trong thế giới thực thì sự kết hợp giữa PHP/MySQL là sự lựa chọn tốt nhất để bắt đầu.
Nếu bạn nghĩ rằng tôi đã bỏ sót một điều gì đó, thì những phản hồi và đóng góp của bạn luôn được chào đón trong phần bình luận phía dưới.
Sau đây là một bình luận rất có chất lượng của bạn Alan:
Bài này hơi sơ sài, tác giả James Bruce chỉ nói rất sơ lược về những ngôn ngữ và công nghệ đã khá cũ, chủ yếu là server-side. Ngày nay cũng ít ai chỉ nói đơn giản học ngôn ngữ gì mà thường phải nói cụ thể học Framework nào, phù hợp công việc gì, lĩnh vực gì… Không có sự phân biệt nào giữa ngôn ngữ, công cụ dành cho người mới bắt đầu hay người có kinh nghiệm. Chỉ cần search thấy Framework phù hợp công việc, lập tức phải theo đuổi đến cùng và nghiên cứu thật nghiêm túc, cẩn trọng, lâu dài thì mới thành chuyên gia và làm ra sản phẩm thật sự có giá trị. Nếu chỉ học PHP/MySQL nhập môn cho vui rồi sau đó nghe người khác nói .NET hay hơn lại nhảy qua thì sẽ không đi đến đâu.
Bài viết hoàn toàn vắng bóng Java. Những vũ khí hạng nặng như GWT, Vaadin, ZK… chẳng lẽ không đáng được nhắc đến? Mặc dù trên client, Java Runtime đã gần như bị tất cả các hãng trình duyệt mặc định disable sau vụ lùm xùm lỗ hổng bảo mật hồi năm ngoái, bị người dùng tẩy chay từ lâu vì sự nặng nề, nhưng Java vẫn là ngôn ngữ back-end cực kỳ quan trọng trên Web. Với phong trào cross-compiling (kiểu GWT) Java sẽ còn được nhiều Framework dùng làm ngôn ngữ viết mã rồi dịch ra Javascript để chạy, tức là học Java có thể lập trình được cả server-side, client-side, Desktop, Web, Mobile…
Python không phù hợp cho “ứng dụng Web thực sự”? Chắc tác giả quên OpenERP là giải pháp quản trị doanh nghiệp khổng lồ phổ biến nhất thế giới viết bằng Python. Hầu hết các dịch vụ của Google đều có API Python port chứng tỏ Python rất phổ biến. Python cũng cực mạnh trên Desktop, ai từng dùng GIMP 2 thậm chí không muốn quay lại dùng Photoshop vì quá ngưỡng mộ sự gọn nhẹ, khả năng xử lý ảnh nhanh tuyệt vời, lại rất đơn giản trong việc viết và thêm chức năng chỉ thông qua Extension Script, nhúng là chạy. Nghĩa là ngang hàng Java, .NET, học Python có thể lập trình nhiều môi trường, nhiều nền tảng.
JQuery, thực ra đây chỉ là một Library (not true Framework) thích hợp cho các Website và các ứng dụng Web rất đơn giản để “query” dữ liệu ra, không phù hợp cho các “ứng dụng Web thực sự” (các Webapp đòi hỏi sự tương tác mạnh, giao diện cao cấp, input phức tạp). Nó phổ biến có lẽ phần nhiều nhờ thương hiệu Microsoft. Có nhiều thứ mạnh hơn (YUI3, Dojo)…

Các ngôn ngữ lập trình Web


Bài này vừa phân loại ngôn ngữ lập trình, vừa phân loại công nghệ liên quan đến nó trong việc phát triển ứng dụng web. 

I. Ngôn ngữ lập trình và công nghệ phía client

1. HTML

HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là “Ngôn ngữ Đánh dấu Siêu văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web. HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp. HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999). Sau đó, các nhà phát triển đã thay thế nó bằng XHTML. Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho Web. 

2. CSS

Là tập tin định dạng theo tầng – dịch từ Tiếng Anh là Cascading Style Sheets (CSS) – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML. Ngoài ra ngôn ngữ định kiểu theo tầng cũng có thể dùng cho XML, SGV, XUL… Các đặc điểm kỹ thuật của CSS được duy trì bởi World Wide Web Consortium (W3C) 

3. JavaScript

JavaScript, theo phiên bản hiện hành, là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu. Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng. Nó vốn được phát triển bởi Brendan Eich tại Hãng truyền thông Netscape với cái tên đầu tiên Mocha, rồi sau đó đổi tên thành LiveScript, và cuối cùng thành JavaScript. Giống Java, JavaScript có cú pháp tương tự C, nhưng nó gần với Self hơn Java. .js là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript. Phiên bản mới nhất của JavaScript là phiên bản 1.5, tương ứng với ECMA-262 bản 3. ECMAScript là phiên bản chuẩn hóa của JavaScript. Trình duyệt Mozilla phiên bản 1.8 beta 1 có hỗ trợ không đầy đủ cho E4X – phần mở rộng cho JavaScript hỗ trợ làm việc với XML, được chuẩn hóa trong ECMA-357. 

4. Ajax

AJAX (tiếng Anh: “Asynchronous JavaScript and XML” – nghĩa là “JavaScript và XML không đồng bộ”) là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hay các ứng dụng giàu tính Internet (rich Internet application). Từ Ajax được ông Jesse James Garrett đưa ra và dùng lần đầu tiên vào tháng 2 nãm 2005 để chỉ kỹ thuật này, mặc dù các hỗ trợ cho Ajax đã có trên các chương trình duyệt từ 10 nãm trước. Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ: HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin Mô hình DOM (Document Object Model), được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web. (Mặc dù, việc trao đổi này có thể được thực hiện với nhiều định dạng như HTML, văn bản thường, JSON và thậm chí EBML, nhưng XML là ngôn ngữ thường được sử dụng). XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML. Giống như DHTML, LAMP hay SPA, Ajax tự nó không phải là một công nghệ mà là một thuật ngữ mô tả việc sử dụng kết hợp một nhóm nhiều công nghệ với nhau. 

5. Flash

Adobe Flash (trước đây là Macromedia Flash và trước đó FutureSplash), hay còn gọi một cách đơn giản là Flash, được dùng để chỉ chương trình sáng tạo đa phương tiện (multimedia) lẫn phần mềm dùng để hiển thị chúng Macromedia Flash Player.[1] Chương trình điện toán này được viết và phân phối bởi Adobe Systems (công ty đã mua Macromedia). Flash dùng kỹ thuật đồ họa vectơ và đồ họa điểm (raster graphics). Ngoài ra Flash còn có một ngôn ngữ văn lệnh riêng gọi là ActionScript và có khả năng truyền và tải luồng âm thanh hoặc hình ảnh. Đúng ra thì từ Macromedia Flash nên được dùng để chỉ chương trình tạo ra các tập tin Flash. Còn từ Flash Player nên được dành để chỉ ứng dụng có nhiệm vụ thi hành hay hiển thị các tập tin Flash đó. Tuy vậy, chữ Flash được dùng để chỉ cả hai chương trình nói trên. 

6. JQuery

JQuery là thư viện JavaScript đa trình duyệt được thiết kế để đơn giản hóa lập trình phía máy người dùng của HTML Được phát hành vào tháng 1 năm 2006 tại BarCamp NYC bởi John Resig. Được sử dụng bởi hơn 52% trong 10.000 website được truy cập nhiều nhất, jQuery là thư viện JavaScript được sử dụng phổ biến nhất hiện nay 

7. Microsoft Silverlight

Microsoft Silverlight là một nền tảng ứng dụng (application framework) để viết và chạy các ứng dụng Internet phong phú với sự nhấn mạnh về đa phương tiện, hình động, và đồ họa, với các tính năng và mục đích tương tự như của Adobe Flash. Môi trường thời gian chạy (hệ thống thực thi) cho Silverlight có sẵn như là một plug-in cho hầu hết các trình duyệt web. Trong khi những phiên bản đầu của Silverlight tập trung vào dòng phương tiện truyền thông (streaming media), các phiên bản hiện tại hỗ trợ đa phương tiện, đồ họa và hoạt hình (animation), và cung cấp cho các nhà phát triển hỗ trợ cho ngôn ngữ CLI và công cụ phát triển. Phiên bản hiện tại 4 được phát hành vào tháng 4 năm 2010. Nó tương thích với nhiều trình duyệt web được sử dụng trên hệ điều hành Microsoft Windows và Mac OS X. Các thiết bị di động, bắt đầu với điện thoại Windows Phone 7 và Symbian (seri 60), có khả năng được hỗ trợ trong năm 2010. Một phần mềm miễn phí thêm vào có tên là Moonlight, phát triển bởi Novell trong sự hợp tác với Microsoft, có sẵn để mang lại Silverlight chức năng tương thích với Linux, FreeBSD và nền tảng mã nguồn mở khác. 

II. Ngôn ngữ lập trình và công nghệ phía server

1. ASP

Microsoft Active Server Pages (ASP) là một môi trường sever-side scripting cho phép ta tạo ra và chạy các ứng dụng Web động, tương tác với client một cách hiệu quả. ASP hoạt động dựa vào các script do người lập trình tạo sẵn. Khi ta cho script chạy trên server thay vì chạy ở client thì Web server của ta sẽ làm mọi công việc cần thiết để tạo ra một trang Hypertext Markup Language (HTML) trả về cho Browser hiển thị, như vậy ta không phải bận tâm rằng các Web browser có thể xử lý trang Web hay không vì server đã làm mọi việc. 

2. CSP – Server-Side ANSI C

ANSI C là chuẩn C do tổ chức ANSI (Mỹ) đặt ra, mục đích là để chuẩn hóa ngôn ngữ C. Một điểm mạnh của quá trình tiêu chuẩn hoá ANSI C là làm cho K&R C trở thành một tập con của nó; nó tiếp nhận nhiều chức năng không chính thức của K&R C như là một hệ quả. Xa hơn, hội đồng tiêu chuẩn cũng làm cho ANSI C bao gồm thêm nhiều chức năng mới, như là các nguyên mẫu của hàm (mượn từ C++), và khả năng tiền xử lý mạnh hơn. Ngày nay, ANSI C được hỗ trợ bởi hầu hết các trình dịch. Hầu hết các mã C ngày nay được viết dựa ttrên ANSI C. Mọi chương trình chỉ viết trong chuẩn C thì sẽ đảm bảo việc thực thi chính xác trên mọi nền nào cho phép dùng C. 

3. ColdFusion

ColdFusion là 1 nền tảng phát triển ứng dụng web thương mại được phát minh bởi Jeremy và JJ Allaire vào năm 1995, mục đích để làm cho việc kết nối HTML tới database được dễ dàng hơn. Tới phiên bản 2 (1996), nó trở thành 1 ngôn ngữ kịch bản hoàn thiện, chứa cả IDE riêng. 

4. CGI

Common Gateway Interface, CGI là phần mở rộng của máy phục vụ dùng để mở rộng khả năng của các máy dịch vụ Web. Bạn điền vào các phần mở rộng đó để làm trang Web của bạn sống động và hấp dẫn hơn. Thay vì đưa ra một trang Web tĩnh cũ kỹ, CGI (và các phần mở rộng máy phục vụ khác) cung cấp một phương pháp để các máy khách Web yêu cầu thông tin từ các máy phục vụ Web. Người dùng điền vào một biểu mẫu sẽ gởi tới máy phục vụ để máy phục vụ để máy phục vụ trả lời với những thông tin động tùy thuộc vào thông tin trên biểu mẫu đó. Máy phục vụ đó có thể tương tác với một máy phục vụ cơ sở dữ liệu phụ dịch ( back-end database server) hay lấy thông tin từ một nguồn khác. Hệ giao tiếp CGI là giao thức cung cấp một hệ giao tiếp hai chiều giữa các máy khách Web và các máy phục vụ Web và bản CGI là một tập hợp lệnh quyết định những gì xảy ra khi chúng giao tiếp. CGI được phát minh để mở rộng giao thức HTTP. 

5. Groovy (programming language) Grails (framework)

Groovy là một ngôn ngữ lập trình hướng đối tượng trên nền Java. Nó là một ngôn ngữ lập trình động với các tính năng tương tự như Python, Ruby, Perl, và Smalltalk. Hơn nữa, nó cũng có thể được sử dụng như là một ngôn ngữ kịch bản chạy trên nền máy ảo Java. Goovy sử dụng cú pháp gần giống với Java nhưng nó không sử dụng dấu chấm phẩy ở cuối mỗi dòng, và nó được tự động dịch sang bytecode và chạy trên máy ảo Java (Java Virtual Machine). 

6. Perl

Perl (viết tắt của Practical Extraction and Report Language – ngôn ngữ kết xuất và báo cáo thực dụng) được Larry Wall xây dựng từ năm 1987, với mục đích chính là tạo ra một ngôn ngữ lập trình có khả năng chắt lọc một lượng lớn dữ liệu và cho phép xử lí dữ liệu nhằm thu được kết quả cần tìm. Perl là ngôn ngữ thông dụng trong lĩnh vực quản trị hệ thống và xử lí các trang Web do có các ưu điểm sau: Có các thao tác quản lí tập tin, xử lí thông tin thuận tiện Thao tác với chuỗi kí tự rất tốt Đã có một thư viện mã lệnh lớn do cộng đồng sử dụng Perl đóng góp (CPAN). Cú pháp lệnh của Perl khá giống với C, từ các kí hiệu đến tên các hàm, do đó, nhiều người (đã có kinh nghiệm với C) thấy Perl dễ học. Perl khá linh hoạt và cho phép người sử dụng giải quyết với cùng một vấn đề được đặt ra theo nhiều cách khác nhau. 

7. PHP

PHP (viết tắt hồi quy “PHP: Hypertext Preprocessor”) là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát. Nó rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. 

8. Python

Python là một ngôn ngữ lập trình thông dịch do Guido van Rossum tạo ra năm 1990. Python hoàn toàn tạo kiểu động và dùng cơ chế cấp phát bộ nhớ tự động; do vậy nó tương tự như Perl, Ruby, Scheme, Smalltalk, và Tcl. Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý. Python là ngôn ngữ có hình thức rất sáng sủa, cấu trúc rõ ràng, thuận tiện cho người mới học lập trình. Cấu trúc của Python còn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu. Ban đầu, Python được phát triển để chạy trên nền Unix. Nhưng rồi theo thời gian, nó đã “bành trướng” sang mọi hệ điều hành từ MS-DOS đến Mac OS, OS/2, Windows, Linux và các hệ điều hành khác thuộc họ Unix. Mặc dù sự phát triển của Python có sự đóng góp của rất nhiều cá nhân, nhưng Guido van Rossum hiện nay vẫn là tác giả chủ yếu của Python. Ông giữ vai trò chủ chốt trong việc quyết định hướng phát triển của Python. 

9. Ruby

Ruby là một ngôn ngữ lập trình hướng đối tượng, có khả năng reflection. Cú pháp bị ảnh hưởng từ Ada và Perl với các đặc tính hướng đối tượng của Smalltalk, và cũng chia sẻ một số đặc tính với Python, Lisp, Dylan và CLU. Ruby là ngôn ngữ thông dịch đơn giai đoạn. Ruby cung cấp nhiều mẫu hình lập trình, bao gồm lập trình hàm, hướng đối tượng, mệnh lệnh, phản xạ. Nó sử dụng hệ thống kiểu biến động và tự động quản lý bộ nhớ, 

10. Smalltalk

Smalltalk là ngôn ngữ lập trình hướng đối tượng, kiểu dữ liệu động, và có tính phản xạ. Smalltalk được thiết kế nhằm bảo vệ tối đa các đặc điểm ngắn gọn và trong sáng của nó và không hướng đến tính khả dụng (usability) hay tính hiệu năng (performance). Vì vậy nó phù hợp với các mục đích giáo dục hơn là mục đích thương mại, tuy nhiên các đặc điểm của Smalltalk đã ảnh hưởng và góp phần mang lại thành công cho nhiều ngôn ngữ khác trong đó có Java, C#. Ngôn ngữ Smalltalk được phát triển bởi nhiều tác giả qua nhiều thời kỳ khác nhau các tác giả chính bao gồm Alan Kay, Dan Ingalls, Adele Goldberg, Ted Kaehler, Scott Wallace. Smalltalk thường được nhắc đến như là tiêu chuẩn ngôn ngữ lập trình, không phải là một trình biên dịch cụ thể. Đã có nhiều trình biên dịch khác nhau sử dụng ngôn ngữ Smalltalk như Smalltalk-80, VisualAge Smalltalk… Tiêu chuẩn được biết đến nhiều là ANSI Smalltalk được phê chuẩn vào năm 1998. 

11. SSJS (Server-side JavaScript)

Server-side JavaScript tức là JavaScript chạy ở phía server và không được load về trình duyệt. Sản phẩm đầu tiên của SSJS là hệ thống LiveWire của Netscape, được giới thiệu lần đầu vào năm 1996. Từ đó, nhiều công ty khác cũng bắt đầu liên tiếp đưa ra các công nghệ xử lý phía server. Một trong số đó là Microsoft với sự hỗ trợ sử dụng JavaScript trên server mà ngày nay được biết đến như một loại ngôn ngữ ASP cổ điển. Song song với ngôn ngữ VBScript, hỗ trợ JavaScript và PerlScript. Thực tế, Microsoft dùng JScript – một phiên bản tự sáng tạo của JavaScript. 

12. WebDNA

WebDNA là một ngôn ngữ kịch bản thông dịch phía server với một hệ cơ sở dữ liệu nhúng được thiết kế đặc biệt cho World Wide Web, được phát hành dưới dạng freeware. Nó được sử dụng chủ yếu trong việc tạo ra các ứng dụng trang web động dựa theo cơ sở dữ liệu 

13. .NET và .NET Framework

.NET Framework của Microsoft là một nền tảng lập trình tập hợp các thư viện lập trình có thể được cài thêm hoặc đã có sẵn trong các hệ điều hành Windows. Nó cung cấp những giải pháp thiết yếu cho những yêu cầu thông thường của các chương trình điện toán như lập trình giao diện người dùng, truy cập dữ liệu, kết nối cơ sở dữ liệu, ứng dụng web, các giải thuật số học và giao tiếp mạng. Ngoài ra, .NET Framework quản lý việc thực thi các chương trình được viết dựa trên .NET Framework do đó người dùng cần phải cài .NET Framework để có thể chạy các chương trình được viết trên nền .NET. 

14. Java

Java là một ngôn ngữ lập trình dạng lập trình hướng đối tượng (OOP). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy. Bằng cách này, Java thường chạy chậm hơn những ngôn ngữ lập trình thông dịch khác như C++, Python, Perl, PHP, C#… Cú pháp Java được vay mượn nhiều từ C & C++ nhưng có cú pháp hướng đối tượng đơn giản hơn và ít tính năng xử lý cấp thấp hơn. Do đó việc viết một chương trình bằng Java dễ hơn, đơn giản hơn, đỡ tốn công sửa lỗi hơn. Dùng bộ thư viện chuẩn KFC, nhiều đoạn code Java chỉ mất vài dòng trong khi C phải mất cả trang giấy. 

III. Client + Server

1. Opa

Opa là 1 ngôn ngữ lập trình nguồn mở dành cho việc phát triển ứng dụng web của các hệ thống có tính linh động, phát triển mạnh theo số lượng người dùng. Nó có thể sử dụng cho cả phía client và phía server, nơi mà phần mềm hoàn chỉnh được viết bằng Opa sau đó được dịch thành mã máy trên server và javascript trên client, với bộ dịch tự động giao tiếp giữa 2 bên. 

2. Pyramas

Pyramas là một công cụ và nền tảng cho việc phát triển ứng dụng Ajax trên Python, nó bao gồm 1 bộ dịch Python – JavaScript riêng biệt, 1 nền tảng Ajax và 1 bộ công cụ giao diện, với tất cả những thành phần này, các nhà phát triển có thể viết ra các ứng dụng hoàn thiện, chạy được trên tất cả các trình duyệt phổ biến mà không cần phải viết lại 1 dòng JavaScript nào. 

3. Tersus

Tersus là 1 nền tảng phát triển phần mềm trực quan để tạo ra các ứng dụng web phong phú với các đồ thị, hình vẽ thay vì những dòng code. Tersus đồng thời cũng là một ngôn ngữ mô hình hóa trực quan để xác định giao diện người dùng, các thói quen của người dùng phía client và xử lý ở phía server. 

IV. Database

1. Apache Derby

Apache derby là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi Apache Software Foundation, có thể nhúng trong các chương trình Java và sử dụng để xử lý giao dịch trực tuyến. 

2. IBM DB2

DB2 là một trong các dòng phần mềm quản trị cơ sở dữ liệu quan hệ của IBM (RDBMS : relational Database Management System). Có nhiều phiên bản khác nhau của DB2 để chạy trên các loại máy tính từ thiết bị cầm tay đến các máy tính lớn (mainframe). Ở những Công ty nhỏ thường gặp nhất là phiên bản DB2 Enterprise Server Edition hoặc DB2 Data Warehouse Edition (DB2 DWE), chạy trên các máy chủ Unix, Windows hoặc Linux. Tuy nhiên khi nói đến DB2, phần đông người ta đều nghĩ đến DB2 for Z/OS, phiên bản DB2 nguyên thủy chạy trên máy mainframe IBM được phát hành từ năm 1982. Trên các máy nhỏ phần đông người ta sử dụng RDBMS Oracle vì DB2 chỉ xuất hiện trên máy nhỏ cuối thập niên 1990. DB2 sử dụng ngôn ngữ SQL đễ đọc và viết thông tin vào dữ liệu. IBM DB2 Enterprise Server Edition là một hệ quản trị cơ sở dữ liệu quan hệ được phát triển bởi IBM. DB2 được dùng chủ yếu trên Unix (thường gọi AIX), Linux, IBM i (trước đây là OS/400), z/OS and Windows servers. DB2 cũng hỗ trợ đắc lực IBM InfoSphere Warehouse khác. Song song với DB2 là một hệ quản trị cơ sở dữ liệu quan hệ khác: Informix, được IBM phát hành năm 2001. 

3. Firebird

Firebird là một hệ quản trị cơ sở dữ liệu quan hệ SQL mã nguồn mở, chạy trên Linux, Windows và một số biến thể của Unix. Mới đầu thì Firebird được cải tiến từ 1 phiên bản nguồn mở của InterBase vào năm 2000, nhưng sau phiên bản 1.5 trở đi, mã nguồn của Firebird đã được viết lại phần lớn.

4. Microsoft SQL Server

SQL Server là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS. SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server 2000 có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server…. 

5. MySQL

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng. Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet. MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ. Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris, SunOS, … 

6. Oracle Database

Oracle Database là một hệ quản trị csdl quan hệ liên kết đối tượng, được sản xuất và thương mại hóa bới Oracle. 

7. PostgreSQL

PostgreSQL là một hệ quản trị cơ sở dữ liệu quan hệ và đối tượng dựa trên POSTGRES, bản 4.2, được khoa điện toán của đại học California tại Berkeley phát triển. POSTGRES mở đường cho nhiều khái niệm quan trọng mà các hệ quản trị dữ liệu thương mại rất lâu sau mới có. PostgreSQL là một chương trình mã nguồn mở xây dựng trên mã nguồn ban đầu của đại học Berkeley. Nó theo chuẩn SQL99 và có nhiều đặc điểm hiện đại: – Câu truy vấn phức hợp (complex query) – Khóa ngoại (foreign key) – Thủ tục sự kiện (trigger) – Các khung nhìn (view) – Tính toàn vẹn của các giao dịch (integrity transactions) – Việc kiểm tra truy cập đồng thời đa phiên bản (multiversion concurrency control) 

8. SQLite

SQLite là hệ thống cơ sở dữ liệu quan hệ nhỏ gọn, hoàn chỉnh, có thể cài đặt bên trong các trình ứng dụng khác. SQLite được Richard Hipp viết dưới dạng thư viện bằng ngôn ngữ lập trình C. SQLite có các ưu điểm sau: – Tin cậy: các hoạt động transaction (chuyển giao) nội trong cơ sở dữ liệu được thưc hiện trọn vẹn, không gây lỗi khi xảy ra sự cố phần cứng – Tuân theo chuẩn SQL92 (chỉ có một vài đặc điểm không hỗ trợ) – Không cần cài đặt cấu hình – Kích thước chương trình gọn nhẹ, với cấu hình đầy đủ chỉ không đầy 300 kB – Thực hiện các thao tác đơn giản nhanh hơn các hệ thống cơ sở dữ liệu khách/chủ khác[1] – Không cần phần mềm phụ trợ – Phần mềm tự do với mã nguồn mở, được chú thích rõ ràng

Tên của những hệ điều hành phổ biến tới từ đâu?


15:01:02 03/04/2014

Ngoài tên gọi chính, một hệ điều hành còn có tên phiên bản và tên mã, tất cả đều được đặt theo một quy luật hay lý do nào đó.

Đằng sau mỗi cái tên luôn là một câu chuyện thú vị. Bài viết sau đây sẽ giúp bạn hiểu được lý do giải thích cho cái tên của một số hệ điều hành phổ biến hiện nay.
1.  MS-DOS

Micro Soft Disk Operating System (MS-DOS) được đăng kí bản quyền lần đầu tiên dưới tên gọi Quick and Dirty Operating System (QDOS) và thuộc sở hữu của công ty Seattle Consumer Products. MS-DOS hoàn toàn không có giao diện người dùng đồ họa (GUI), thay vào đó, nó hoạt động dựa trên các dòng lệnh đơn thuần được nhập vào bởi người dùng. DOS thực ra là một thuật ngữ khá chung của ngành công nghệ lúc bấy giờ khi là viết tắt của “Disk Operating System” (hệ điều hành đĩa) và MS-DOS chỉ đơn giản là cách để Microsoft phân biệt hệ điều hành của mình với các hệ điều hành khác cùng thời như Apple DOS, AmigaDOS hay freeDOS.
2. Windows 1.0 – NT 4.0

Cái tên “Windows” đến từ việc hệ điều mới mà Microsoft phát triển lúc bấy giờ (Windows 1.0) giao tiếp với người dùng thông qua các “cửa sổ” cùng giao diện người dùng đồ họa GUI. Cho đến nay, Microsoft vẫn tận dụng hình ảnh của những chiếc cửa sổ làm đặc trưng cũng như tên gọi hệ điều hành máy tính mình đang hỗ trợ.
Microsoft gắn bó với cách đặt tên phiên bản hệ điều hành với kiểu số từ 1.0 cho tới 3.1, sau đó, hãng bắt đầu thêm vào hai chữ NT, viết tắt của New Technology để chỉ công nghệ mới họ đang thực hiện, khai sinh ra phiên bản mới Windows NT 4.0.
3. Windows 95 – ME

Cũng có một vài phiên bản Windows trong đó Microsoft tận dụng luôn năm ra mắt làm tên gọi, có thể kể đến như Windows 95, Windows 98, Windows ME (Millennium Edition) và Windows 2000. Trong số này, Windows 95, 98 và ME được dựng lên trên nhân của Windows 3.1. Windows ME được ra mắt vào năm 2000 dành cho các dòng máy tính phục vụ các hộ gia đình trong khi đó Windows 2000 được tối ưu cho các máy tính phục vụ giới kinh doanh, công việc.
Windows 2000 sử dụng nhân NT do đó có thể được coi là phiên bản kế nhiệm trực tiếp của NT 4.0.
4. Windows XP, Vista và Windows 7

Windows XP ra đời năm 2001 với XP là viết tắt của eXPerience (trải nghiệm). 7 năm sau XP, Microsoft ra mắt Windows Vista . Theo chia sẻ của Microsoft, cái tên Vista được lấy cảm hứng từ một triết lý quen thuộc của hãng này “At the end of the day…what you’re trying to get to is your own personal Vista.” (tạm dịch: Cuối cùng... tất cả những gì bạn muốn đạt đến vẫn là có được triển vọng của riêng mình).  Dẫu vậy, vì rất nhiều lý do, Windows Vista không hề đạt được “triển vọng” tươi sáng mà Microsoft ấp ủ.
Trong khi đó, Windows 7 được đặt tên như vậy vì đây là phiên bản thứ bảy kể từ thời Windows 95. Mặc dù nếu đếm từ phiên bản đầu tiên nhất, Windows 7 đã là phiên bản thứ 10 tuy nhiên Microsoft chia sẻ nếu đặt tên là Windows 10, mọi người sẽ có thể nhầm lẫn giữa nền tảng này và Mac OS 10.
5. Mac OS 8 – 10

Mac OS 8 ra mắt vào năm 1997, một thời gian ngắn sau khi Steve Jobs trở lại làm việc cho Apple. Nó được dự định tung ra thị trường với tên phiên bản là 7.7 tuy nhiên Apple phải chuyển thành 8 vì điều này sẽ có lợi hơn cho một số lý do pháp lý.
Mac OS 9 là cột mốc đánh dấu bước chuyển của Apple ra khỏi thế hệ Mac OS “cổ điển” khi đây là phiên bản cuối cùng được lập trình bởi đội ngũ của riêng “táo khuyết”. Bắt đầu từ OS X (OS Ten), nền tảng nàyđược dựng lên từ Berkeley Software Distribution (BSD), hệ điều hành được phát triển bởi chính công ty Steve Jobs dựng lên sau khi ông rời Apple mang tên NeXTSTEP. Công ty này được Apple mua lại vào năm 1997.
6. Linux

Hệ điều hành Linux ban đầu được đặt tên là Freax. Tuy nhiên, Ari Lemmke, người vận hành máy chủ FTP mà nhân hệ thống Linux đầu tiên được tải lên đã tạo cho hệ điều hành này một thư mục chứa gọi là “linux” mà về sau trở thành tên chính thức.
Được biết Linux bắt nguồn từ cụm từ “Linus’ Minix”, tên một hệ điều hành mà cha đẻ của Linux, ông Linus Torvalds, phát triển cho riêng mình.
7. Ubuntu

Ubuntu là một từ bắt nguồn từ ngôn ngữ Zulu và Xhosa thuộc châu Phi với ý nghĩa là “tính nhân văn hướng đến người khác”.
Giống như các bản phân phối khác từ Linux, Ubuntu được ra mắt với hai tên gọi khác nhau, một là tên mã lập trình và một là tên phiên bản. Theo đó, phần tên số cho mỗi phiên bản được đặt dựa theo năm và tháng ra mắt. Ví dụ, phiên bản 10.04 được ra mắt vào tháng 4 năm 2010.
Trong khi đó, tên mã thường là sự kết hợp của một danh từ chỉ động vật và một tính từ bổ nghĩa đứng trước. Hai từ này sẽ bắt đầu bằng một chữ cái giống nhau và được cho là sẽ phần nào mô tả một cách bóng gió về tình trạng của phiên bản này. Giả sử như phiên bản Ubuntu có tên mã Warty Warthog (tạm dịch: lợn lòi nhiều mụn) để ám chỉ việc phiên bản này vẫn chưa được trau chuốt hoàn toàn.
8. Debian

Cũng được xây dựng dựa trên nhân của Linux, cái tên Debian được tác giả hệ điều hành tạo ra bằng cách ghép tên ông (Ian  Murdock) và bạn gái của mình (Debra Lynn).
Mỗi phiên bản Debian được tung ra cũng sẽ có phần tên số (1.0, 2.0,...) cùng phần tên mã. Trong đó, tên mã của hệ điều hành này luôn là các nhân vật đến từ bộ phim hoạt hình nổi tiếng Toy Story. Phiên bản Debian mới nhất là 8.0, hiện chưa ra mắt, được cho là sẽ mang tên cô búp bê cao bồi Jessie.
9. Red Hat/Fedora/CentOS

Là một hệ điều hành còn nhiều lạ lẫm đối với người dùng Việt Nam, Red Hat có tên gọi như vậy bởi mũ đỏ là tượng trưng của sự tự do ở cả hai quốc gia Mỹ và Pháp. Được biết Red Hat có khá nhiều phiên bản phái sinh là Red Hat Enterprise Linux (RHEL), Fedora Project và Cent OS.
Trong đó Red Hat Enterprise Linux không sử dụng tên mã mà chỉ dùng các con số đơn thuần để chỉ phiên bản.
Logo chính của Red Hat có mô phỏng một người đàn ông đang đội một chiếc mũ rộng vành (fedora hat) và đó là lý do bản phân phối của Red Hat có tên Fedora Project.
CentOS trong khi đó là viết tắt của Community ENTerprise Operating System. Tính đến tháng 7 năm 2010, CentOS đã vượt qua Debian để trở thành bản phân phối Linux phổ biến nhất dành cho máy chủ web.
10. Gentoo

Tên ban đầu của Gentoo là Enoch và nó được đổi bởi chính cha đẻ của nó, Daniel Robbins. Được biết, Gentoo được đổi tên lần đầu tiên khi Daniel và các cộng sự bắt đầu sử dụng trình biên dịch EGCS thay vì GCC với mong muốn cải thiện được tính năng và tốc độ. Gentoo được đặt tên theo một trong những loại chim cánh cụt có thể bơi nhanh nhất.
11. SuSE

SuSE là một bản phân phối đến từ nước Đức với tên gọi là viết tắt của  Software und System Entwicklung (tạm dịch: phát triển phần mềm và hệ thống).
12. iOS

Trái ngược với sự lầm tưởng của nhiều người khi cho rằng chữ “i” đứng trước cụm “OS” được Apple sử dụng nhằm ám chỉ tính cá nhân trong trải nghiệm người dùng, thực ra “iOS” là cách viết ngắn gọn của iPhone OS, tên gốc của hệ điều hành di động được yêu thích này.

10 Hệ điều hành đáng thử nếu bạn đã chán Windows


(GenK.vn) - Giới thiệu đến bạn đọc những hệ điều hành có thể thay thế Windows mà bạn nên tìm hiểu và dùng thử.

Tóm tắt nội dung:
Khi mà đi tới đâu có máy tính chúng ta cũng nhìn thấy Windows thì dưới đây là 10 loại hệ điều hành từ nhỏ tới lớn mà những ai cảm thấy "ngán ngẩm" Windows có thể cài thử và trải nghiệm để biết tại sao hệ điều hành Windows đang có nhiều người dùng nhất thế giới.

Trong bài viết này chúng ta sẽ không nhắc đến Windows, mà chỉ nói đến các bản phân phối Linux và một số hệ điều hành được phát triển bởi các tập đoàn lớn hoặc từ những nhà phát triển nhỏ có chung sở thích.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
GenK khuyên bạn đọc chỉ nên thử chúng trên máy ảo cho mục đích tìm hiểu và trải nghiệm trước khi quyết định sử dụng lâu dài.
Linux, FreeBSD, và một số bản phân phối khác
Không thể không nhắc đến Linux nếu nói đến những hệ điều hành có thể cài đặt trên máy tính, và nó là hệ điều hành khá lí tưởng để dùng thử sau Windows và OS X. Do là mã nguồn mở nên Linux có khá nhiều bản phân phối, tiêu biểu như Ubuntu, Mint là những bản phân phối Linux được sử dụng nhiều nhất hiện nay.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Tương tự Linux, FreeBSD cũng là một nhánh phát triển song song với Linux. Tuy được phát triển theo hướng khác nhau nhưng FreeBSD cũng sử dụng nhiều phần mềm tương tự như các bản phân phối của Linux, do đó quá trình sử dụng nó có phần gần gũi và quen thuộc hơn nếu bạn đã nắm rõ Linux.
Chrome OS
Được xây dựng dựa trên nhân Linux, Chrome OS được Google tối ưu hóa với các ứng dụng web. Giao diện người dùng được đơn giản hóa tối đa, giống như trong trình duyệt Google Chrome. Do trình duyệt web là ứng dụng duy nhất (hiện) tồn tại trong thiết bị, Google Chrome OS nhắm vào những người dùng dành hầu hết thời gian làm việc với máy tính của họ trên Internet
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Có thể thấy Chrome OS là hệ điều hành cho máy tính được phát triển cho mục đích chung, thay vào đó, nó được thiết kế để cài đặt sẳn trên các dòng máy tính xách tay có cấu hình phần cứng riêng biệt, còn được gọi là Chromebook.
SteamOS
Là sản phầm được Valve phát triển từ nhân Linux, SteamOS là hệ điều hành miễn phí và được thiết kế để mang lại trải nghiệm chơi game tuyệt vời hơn. Valve nói rằng đó là đây là sự kết hợp của kiến trúc Linux vững chãi với trải nghiệm game tối ưu cho màn hình lớn.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Valve cho biết thêm sẽ có "hàng trăm tựa game" có mặt trên SteamOS vào năm tới, bao gồm các tựa game AAA. Và trong năm 2015, những máy tính được cài đặt sẳn SteamOS sẽ được gọi là Steam Machines, bên cạnh đó SteamOS cũng sẽ được phát triển hoàn thiện hơn để người dùng có thể cài đặt trên bất cứ cấu hình máy tính nào mình muốn.
Android
Cũng là một hệ điều hành được phát triển từ nhân Linux nhưng Android được Google thiết kế để hoạt động trên nền tảng di động. Tuy nhiên, giờ đây Android đã được thiết kế để hoạt động trên nhiều cấu hình cao hơn như laptop và máy tính để bàn.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Tuy nhiên, nếu không muốn mất chi phí cho việc sắm những thiết bị được cài sẳn Android, thì bạn có thể tự cài đặt và trải nghiệm Android ngay trên nền tảng máy tính truyền thống sử dụng chip Intel bằng các bài hướng dẫn mà chúng tôi đã đăng trước đó
Mac OS X
Là hệ điều hành được phát triển bởi Apple, Mac OS X được cài sẳn trên các dòng máy tính Mac của hãng. OS X mang lại một trải nghiệm tinh tế và ít màu sắc hơn các hệ điều hành khác. Điểm duy nhất ngăn người dùng có thể cài đặt OS X lên các dòng máy tính có cùng cấu hình của các nhà sản xuất khác là giấy phép về nguyên tắc sử dụng cùng những giới hạn về phần mềm điều khiển của phần cứng.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Tuy nhiên, hiện nay có một cộng đồng về xây dựng các phiên bản OS X có thể chạy được trên các dòng máy có cấu hình tương tự Mac và bỏ qua các rào cản về giấy phép,họ được gọi là hackintoshes.
Haiku
Là dự án được phát triển từ BeOS, hứa hẹn mang đến cho người dùng một hệ điều hành gọn nhẹ với những phần mềm mã nguồn mở thông dụng được cài đặt sẳn như trình duyệt dựa trên Mozilla, trình đọc email, ứng dụng xem phim, nghe nhạc, chuyển đổi và một số game nhỏ. Và dĩ nhiên là nó cũng có cửa sổ dạng tab đặc thù.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Hiện nay Haiku vẫn đang còn trong giai đoạn alpha nhưng bạn có thể tải về thử nghiệm thông qua trang web của nhà phát triển.
eComStation
Là dự án hợp tác giữa Microsoft và IBM, nhưng sau đó Microsoft đã rút lui để tập tung phát triển MS-DOS và các phiên bản Windows khác. Và IBM vẫn tiếp tục công việc nhưng không lâu sau đó cũng ngưng việc phát triển hệ điều hành này.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Sau đó một công ty có tên Serenity Systems đã tiếp tục công việc phân phối và phát triển eComStation trở nên hoàn thiện hơn với nhiều bổ sung và cải tiến được tích hợp. Do vẫn còn là bản thử nghiệm nên khó tránh khỏi nhiều hạn chế khi cài đặt và sử dụng eComStation.
ReactOS
Là hệ điều hành miễn phí mã nguồn mở được phát triển từ nhân Linux với mục đích trở thành sự lựa chọn thay thế Windows. ReactOS có giao diện người dùng gần như tương tự Windows và nó còn hỗ trợ việc chạy các phần mềm Windows trên Linux hoặc OS X.
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Hiện ReactOS vẫn còn trong giai đoạn alpha nên con đường trở thành một Windows thứ 2 còn khá là dài cho nó.
SkyOS
10 Hệ điều hành đáng thử nếu bạn đã chán Windows
Không giống như các hệ điều hành khác, SkyOS là hệ điều hành độc quyền và bạn phải trả tiền để có thể sử dụng nó. Do không phải là mã nguồn mở và ít người sử dụng nên nó đã ngừng phát triển từ năm 2009, và đến năm 2013, phiên bản beta cuối cùng của SkyOS đã được cung cấp miễn phí cho người dùng tải về và trải nghiệm thử trước khi chính thức bị khai tử.

Blackberry [How-To] Viết 1 ứng dụng cơ bản nhất cho BlackBerry


Keeper

Thành viên

Tham gia:
20/3/09
Được thích:
9,489
Sau đây là từng bước cơ bản nhất để viết 1 chương tinh cho BlackBerry 1 cách cơ bản nhất. Bằng cách dựa trên bộ sample kèm theo BlackBerry JDE. Trước hết hãy làm theo các bước sau để có 1 chương trình chạy được cho dòng mày của mình.

Sau đó sẽ modify từ từ, thêm bớt, chình sửa đề ra được những cái mình muốn. Vì vậy đòi hỏi kiên nhẫn. Từng bước. Chạy được trên máy cái đã, rồi tính gì tính.

Đòi hỏi kiến thức: Java cơ bản, đọc và hiểu các syntax cơ bản.

Chương trình cần:

Sun JDK/JRE: (Có cái này mới install BlackBerry JDE được)

https://cds.sun.com/is-bin/INTERSHO...ProductRef=jdk-6u13-oth-JPR@CDS-CDS_Developer

Download về install.

snowman bổ sung cái này rất quan trọng mà Keeper quên, install xong Java JDK thì làm thêm bước sau:



Mình đã tìm được cách sửa lỗi trên và buid thành công :D

Cách làm: Sau khi cài đặt JDK xong thì thêm đường dẫn tới thư mục bin của JDK vào PATH Environment Variables của windows, trong trường hợp của mình là:

C:\Program Files\Java\jdk1.6.0_13\bin

Sau đó download BlackBerry JDE: Sang link sau:

http://www.tinhte.com/forum/showthread.php?t=192593

Lựa JDE có version phù hợp với OS của máy đang dùng.

Download về install.

Sau đó mở BlackBerry JDE.

Bên tay trái có cửa sổ gọi là WorkSpace. WorkSpace sẽ chứa Project.

Mới mở lên bạn sẽ thấy một loạt rất nhiều các project SAMPLE kèm theo bộ JDE. Expand từng cái xem lướt qua đến project tên:

helloworlddemo


Double Click lên Project helloworlddemo, trong bảng đó có TAB General, điền Title, Vendor, Description... Đây là thông tin về phần mềm vừa viết.Muốn điền gì cũng được.

TAB Application: Chọn Project Type là CLDC Application

TAB Resources: Chọn Icon cho chương trình, chọn hình PNG nào nhỏ nhỏ 64x64 là ok. Ko thì mặc định nó có icon của BlackBerry làm sẵn cho nó.

Còn lại ko đề cập thì ko chỉnh sửa trừ khi you know exactly what are you doing.

Right click lên Project helloworlddemo > chọn Build

Xong rồi lại Right Click lên project 1 lần nữa > Scroll xuống dưới chọn Generate ALX file

Sau đó dùng Desktop Manager. Application Manager > Browse tới thư mục chứa helloworlddemo rồi chọn file ALX.(Thường thì thư mục chứa sample sẽ nằm trong thư mục của BlackBerry JDE.

Reply nếu làm ko được.


Những bạn nào build thành công rồi cài được vào máy rồi thì mày mò cho quen với BlackBerry JDE như đổi version/vendor của chương trình mình vừa viết.

Xem code của ví dụ đó xem tại sao nó lại ra như vậy, nó dùng cái gì, mình add thêm có được hay không.

Trong helloworlddemo có 2 cái chính mà bạn sẽ học là:

Cách viết 1 ứng dụng GUI(Graphic User Interface) là có giao diện mà mình thấy có screen, có menu, có button, có field...Khác với Command Line UI là chỉ có text, input hay out chỉ là chữ với chữ mà ko có hình ảnh.

Cơ bản là :

final class HelloWorldScreen extends MainScreen > Dòng này thể hiển đây là chương trình HelloWorldScreen có tính chất GUI. Và GUI của nó là một màn hình hiện full màn hình của thiết bị.

LabelField title = new LabelField("Hello World Demo" , LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); > Dòng này dùng để tạo 1 Label có nội dung là "Hello World Demo"

setTitle(title);
> Sau khi tạo Label thì gán Label này thành Title cho Application.

add(new RichTextField("Hello World!" ,Field.NON_FOCUSABLE));
> Sau đó thì dùng dòng này để add thêm cho cái MainScreen của chương trình 1 cái RichTextField, là khung soạn thảo và set nội dung cho nó tạm thời là "Hello World!".

Code:
public void close()
{
// Display a farewell message before closing application.
Dialog.alert("Goodbye!");
System.exit(0);

super.close();
}
Đoạn code trên sẽ đảm nhiệm chức năng là pop up 1 cái Dialog nội dung là "Goodbye!" khi người dùng Close application.

Dialog, Label và RichTextField là 3 cái mà bạn học được từ chương trình này.

Sau khi chạy được trên thiết bị thì bạn bắt đầu tập tham khảo API Doc, tốt nhất là :

Trong BlackBerry JDE bạn Chọn Help > API Reference

Sẽ hiện đủ tất cả API. Lưu ý trong số đó sẽ có cái dùng được cho OS khác nhau. Ví dụ bạn dùng JDE 4.7 thì nó sẽ hiện tất cả API cho OS 4.7 vì vậy nếu có cái bạn thấy nhưng khi sử dụng trong khi viết ứng dụng cho OS 4.5 thì báo lỗi Not Found chính là do OS 4.5 chưa support cái đó.

Vì vậy khi xem API Doc thì lưu ý xem nó được trang bị từ JDE version mấy. Như:

Since:
JDK1.0
Cái này nó ghi từ JDK 1.0 tức là từ lâu đã có. Chạy trên hầu hết các máy.

Còn như TouchEvent thì nó ghi:
Since:
JDE 4.7.0
Tức là chỉ máy nào OS 4.7 trở lên mới dùng được.

Bạn làm xong thì tập xem API Doc. Xem trước 3 cái:

Dialog
LabelField
RichTextField


Ví dụ trong helloworlddemo thì nó sử dụng: Dialog.alert("Thông báo");

Nhưng Dialog ko chỉ pop up thông báo như thế mà còn có:

Dialog.ask(Dialog.D_YES_NO, "Có chắc chưa?")

Nghĩa là pop một câu hỏi "Có chắc chưa?" và cho 2 nút option Yes và No. Nếu user click Yes thì kết quả trả về là 1, còn No thì là 0 tương ứng với gái trị của Dialog.YES hoặc Dialog.NO

ví dụ đoạn code sau:

Code:
if(Dialog.ask(Dialog.D_YES_NO, "File exists....! Overwrite?") == Dialog.YES){
                     Dialog.alert("Saved.");
}


Mình pop up câu hỏi là File này tồn tại ....! Ghi đè lên không? và lấy giá trị trả về khi user click YES or NO và so sánh giá trị đó với Dialog.YES

Nếu đúng là == với Dialog.YES (tức là user click nút YES) thì thực hiện lệnh

Dialog.alert("Saved.");

Là pop up thông báo "Saved" (Đã lưu)


Rất hữu dụng khi muốn user confirm cái gì.

Còn tiếp....