• Trẻ 5 tuổi đã có thể học lập trình

    Học lập trình sớm giúp kích thích tư duy cho trẻ.

  • Lập trình viên rất dễ phát điên

    Lập trình hay viết phần mềm là một trong những nghề được xem là ổn định nhất hiện nay song chính nghề nghiệp này lại gây bất ổn nhất cho sức khỏe tinh thần của người làm nghề. Vì sao?

  • 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.

  • 5 lý do để học lập trình

    Ngày 12/9 không chỉ là ngày thứ 256 của năm 2016 mà cũng là ngày Quốc tế Lập Trình Viên, thời điểm để chúng ta tôn vinh những kiến trúc sư, những chuyên gia thầm lặng thúc đẩy sự phát triển không ngừng của thế giới kỹ thuật số. Nếu còn băn khoăn tại sao lại là ngày 12/9 thì câu trả lời là: 256 chính là số lượng các giá trị khác nhau hiện diện trong 1 byte (8-bit).

  • 5 Ngôn ngữ lập trình tốt nhất cho người mới bắt đầu

    Nếu bạn đang nghĩ đến việc học lập trình, thì ngôn ngữ bạn quyết định chọn để bắt đầu phụ thuộc rất nhiều vào cái mà bạn đang cố gắng học, cái mà bạn muốn làm với kỹ năng đó, và cái đích cuối cùng mà bạn muốn đi tới.

Saturday, September 24, 2016

5 lý do nên học lập trình trong mắt CEO Microsoft Việt Nam

Công việc lập trình đang đóng góp giá trị khổng lồ vào nền kinh tế toàn cầu. Điều đó cũng đồng nghĩa, nếu biết lập trình, người ta có thể có nhiều cơ hội hơn để làm giàu.

Ngày 12/9 là ngày Quốc tế Lập trình viên. Nhân dịp này, ông Vũ Minh Trí - Tổng giám đốc Microsoft Việt Nam chia sẻ 5 lý do khuyến khích mọi người nên thử học lập trình:
Trình độ kỹ thuật số đi đôi với tăng trưởng kinh tế
Theo một nghiên cứu gần đây của Accenture, hiện nay, hơn một phần năm (22%) GDP của thế giới được tạo ra bởi các hình thức năng lực khác nhau của kỹ thuật số như kỹ năng, vốn, hàng hóa hoặc dịch vụ số hóa. Công nghệ số hóa có thể tạo ra giá trị 2.000 tỷ đôla Mỹ trong sản lượng kinh tế toàn cầu tính đến năm 2020. Vì vậy, nhiều quốc gia châu Á như Nhật Bản, Hàn Quốc, Singapore, Malaysia và Việt Nam đã chính thức lên kế hoạch đưa các ngành học liên quan đến khoa học máy tính và công nghệ phần mềm vào chương trình giảng dạy.
Thị trường lao động có nhu cầu cao về kỹ năng lập trình
Những tiến bộ công nghệ như trí tuệ nhân tạo đã gây ra nhiều cuộc tranh cãi, một phần lý do nằm ở khả năng thay thế con người trong công việc. Theo nghiên cứu của Diễn đàn Kinh tế thế giới, hơn 5 triệu việc làm sẽ bị mất đi vào năm 2020 là hệ quả của việc đổi mới công nghệ. Tuy nhiên, nghiên cứu này cũng cho thấy, công nghệ có thể tạo ra công ăn việc làm và kích thích tăng trưởng toàn bộ nền kinh tế thông qua hiệu ứng lan tỏa với các ngành công nghiệp khác. Ví dụ, ở New Zealand, một công việc mới trong các ngành công nghệ cao tạo ra 5 công việc khác trong các lĩnh vực liên quan.
5-ly-do-kinh-te-nen-hoc-lap-trinh-trong-mat-ceo-microsoft-viet-nam
Theo CEO Microsoft Việt Nam, nghề lập trình ngày càng có vai trò cao trong nền kinh tế.
Lập trình là nguồn dẫn đến sự đổi mới
Mặc dù, dường như khái niệm một ứng dụng đáp ứng cho tất cả nhu cầu hiện đang tồn tại, nhưng thế giới luôn luôn chờ đợi một điều gì đó lớn lao hơn. Những ứng dụng công nghệ dự kiến sẽ mang lại gấp đôi lợi nhuận, lên đến 101 tỷ USD vào năm 2020. Vì vậy, nếu có một ý tưởng tuyệt vời và biết lập trình, đó chính là lợi thế trong tương lai. Ai biết được, đứa con tinh thần đó có thể sẽ định nghĩa lại những hoạt động trong các ngành công nghiệp truyền thống, giống như những gì Uber và Airbnb đã làm cho giao thông vận tải và du lịch.
 Ngôn ngữ lập trình là ngoại ngữ
Tương tự như cách chọn một ngoại ngữ để tiếp cận thêm một nền văn hóa mới, ngôn ngữ lập trình cũng vậy. Hiện nay, bốn tiểu bang Mỹ đang mong muốn đưa ngôn ngữ lập trình vào danh sách các ngoại ngữ bắt buộc của chương trình học. Như vậy khả năng thuần thục ngôn ngữ lập trình cũng quan trọng không kém khả năng ngoại ngữ trong thế giới việc làm đầy cạnh tranh ngày nay.
 Kỹ năng lập trình giúp bổ sung và củng cố kỹ năng
Lập trình mang lại lợi ích nhiều hơn cho những người muốn theo đuổi nó một cách chuyên nghiệp. Trong quá trình học tập, người học có thể xây dựng những nguyên tắc cơ bản quan trọng riêng, như cách đơn giản hóa các hệ thống phức tạp. Học lập trình giúp nuôi dưỡng những tư duy sáng tạo, góp phần vào khả năng giải quyết vấn đề, phát triển logic và nuôi dưỡng tiềm năng cá nhân, tạo động lực hướng đến nền kinh tế công nghệ.
 Viễn Thông
Share:

Học trò trường làng tập lập trình

TTO - Thầy Huỳnh Diệu Sanh, giáo viên dạy môn toán - tin Trường THCS Nguyễn Trãi, thị xã Ngã Bảy (Hậu Giang), luôn trăn trở việc học sinh trường làng vốn thiệt thòi hơn học sinh phố thị, bởi không được trang bị kỹ năng, kích thích sự sáng tạo nên có phần thụ động.
Học trò trường làng tập lập trình
Thầy Sanh hướng dẫn học sinh lắp ráp các mạch điện tử - Ảnh: T.TRANG
Từ suy nghĩ này, thầy Sanh quyết phải làm mọi cách để học sinh của mình không thua thiệt.
Từ không hề biết gì về mạch, cảm biến, lập trình, bây giờ mỗi khi đến tiết học của thầy Sanh, tụi em đều háo hức vì mỗi ngày đều có cái mới lạ trong đó"
Học sinh Nguyễn Trần Châu Hải Phụng 
(lớp 8T Trường THCS Nguyễn Trãi)
Dụ học sinh bằng... thiết bị thông minh
Thầy Sanh nói: “Môn học toán - tin vốn dĩ rất khô khan, học sinh ở đây chỉ học qua loa cho đủ điểm. Các em hoàn toàn không ý thức được nếu đam mê theo đuổi môn này thì rất có ích trong công việc và cuộc sống sau này”.
Vốn ham thích chế tạo từ nhỏ, thầy Sanh nghĩ nếu chỉ học lý thuyết toán - tin cứng nhắc thì các em cũng khó “nuốt”, nên thầy bắt tay làm các thiết bị gia đình thông minh, vừa thỏa đam mê của mình, vừa minh họa cũng như kích thích học sinh đam mê lập trình.
Học sinh cấp II còn nhỏ tuổi, lại ở vùng quê chân lấm tay bùn, nên đã mắt tròn mắt dẹt khi thấy thầy mang lên lớp bữa thì cái quạt điều khiển bằng điện thoại di động, bữa thì mô hình xe điều khiển từ xa, hay các thiết bị thường được sử dụng trong nhà có thể tự tắt/mở theo ý người sử dụng.
“Phần lớn các em đều nghĩ phải cao siêu lắm mới làm được như vậy. Tôi giải thích cho học sinh hiểu, chỉ cần nắm vững phần lập trình trong môn tin học và vận dụng một chút môn vật lý là có thể làm được. Vậy mà các em thích, năng động hẳn lên” - thầy Sanh vui vẻ kể.
Thầy Sanh nói thêm mỗi mô hình như vậy không mất quá nhiều thời gian để chế tạo. Do chỉ cần hướng cho các em có tư duy sáng tạo, đam mê hơn trong môn học toán - tin nên chỉ cần làm mô hình là đủ.
“Vui nhất là mấy học trò nhỏ về nhà tự mày mò bắt chước mình để làm rồi mang vào khoe thầy. Tuy còn ngây ngô lắm, nhưng các em đã biết học hỏi, sáng tạo, có tiền đề tốt trong những năm học kế tiếp” - thầy Sanh kể.
Cứ thế, mỗi năm thầy Sanh đều sáng tạo ra nhiều mô hình khác nhau để thu hút học sinh hơn. Hiện thầy Sanh đang ấp ủ nhiều mô hình như xe điều khiển bằng bluetooth, flycam điều khiển từ xa quan sát mọi ngóc ngách ở trường học, robot giữ nhà...
Học trò thông minh ngoài tưởng tượng!
Theo thầy Sanh, hiện nay nhiều sinh hoạt đời thường đều được kết nối mạng Internet, đồ vật xung quanh cũng có thể trở nên thông minh do được gắn kèm máy tính, vì vậy phải nhanh chóng cập nhật điều này cho các em học sinh của mình.
“Tuy nhiên, cho các em biết thông tin thì không hay bằng để các em đam mê, tự xắn tay vào thực hành, sáng tạo sẽ hiệu quả hơn nhiều. Đôi lúc các em nghĩ và làm rất thông minh, ngoài sức tưởng tượng của mình” - thầy Sanh nói.
Từ tháng 6 đến nay, thầy Sanh và hai nhóm học sinh vẫn đang cần mẫn sáng tạo thiết bị điều khiển từ xa, tự động vận hành bằng ứng dụng mạch Arduino để tham gia cuộc thi “Tri thức trẻ vì giáo dục” (hiện tại mạch Arduino chỉ áp dụng trong các trường THPT, các trường huyện, xã thì càng không được áp dụng, thực hành loại mạch này - PV).
Thầy Sanh nói một mình thầy cũng có thể dự thi, nhưng thầy mong muốn có sự tham gia của học sinh để tạo cho các em tư duy sáng tạo, thông qua các tình huống thực tế. Đồng thời, rèn luyện cho học sinh kỹ năng làm việc nhóm, giải quyết vấn đề, dám làm, chịu sai và chịu sửa.
“Ban đầu tôi chỉ hướng dẫn các em làm nhiệm vụ lắp ráp, lập trình, sau đó nhóm sẽ tự quyết định xem cá nhân ai làm gì tốt nhất rồi phân công hợp lý. Giờ thì hai nhóm đã bắt đầu hoàn thiện gần 80% mô hình Ngôi nhà với các thiết bị thông minh và Xe vận chuyển hàng điều khiển không dây từ xa” - thầy Sanh nói.
Em Nguyễn Trần Châu Hải Phụng, học sinh lớp 8T, cũng là thí sinh nữ duy nhất tham gia cuộc thi, cho biết khi em xin thầy Sanh cho tham gia nhóm, các bạn nam cũng hơi ngại ngần, nhưng giờ thì ai cũng hòa đồng, mỗi người một việc.
“Từ không hề biết gì về mạch, cảm biến, lập trình, bây giờ mỗi khi đến tiết học của thầy Sanh tụi em đều háo hức, vì mỗi ngày đều có cái mới lạ trong đó” - Phụng chia sẻ.
Phụng nói thêm: “Khi bắt tay vào làm, em mới hình dung được hết các bài đã được học. Rất gần gũi và thiết thực, lại vận dụng sáng tạo được nhiều thứ trong đời sống”.
Thầy Nguyễn Văn Hóa, hiệu trưởng Trường THCS Nguyễn Trãi (Hậu Giang), cho biết thầy Sanh về dạy ở trường hơn sáu năm nay, chưa năm nào thầy bỏ qua các cuộc thi sáng tạo kỹ thuật dành cho thanh thiếu niên nhi đồng hay các kỳ thi tin học trẻ.
“Lúc đầu, khi thầy Sanh chọn học sinh dự thi, các em còn thiếu tự tin lắm. Nhưng thầy Sanh liên tục rèn luyện, cổ vũ để các em an tâm đi thi. Chỉ định thi chủ yếu cho có phong trào, nhưng năm nào các em cũng đều ẵm giải” - thầy Hóa kể.
Chương trình “Tri thức trẻ vì giáo dục” tiếp nhận các công trình, sáng kiến tới ngày 30-9-2016. Địa chỉ nhận hồ sơ: Ban thanh niên trường học, Trung ương Đoàn TNCS Hồ Chí Minh, số 64 Bà Triệu, quận Hoàn Kiếm, TP Hà Nội. ĐT: 0462631852; website: trithuctre.doanthanhnien.vn; email: trithuctrevigiaoduc@gmail.com.
Share:

Giải phóng bộ nhớ RAM cho Windows theo phong cách "lập trình viên"

Hãy thử "đổi gió" trong việc giải phóng bộ nhớ RAM cho Windows với cách thủ công xem sao nhé.

Có vẻ ngày càng có nhiều phần mềm tự động giúp người dùng tối ưu và giải phóng bộ nhớ RAM trên Windows. Tuy nhiên, việc sử dụng các phần mềm dạng này đôi khi không mang lại kết quả theo ý muốn mà còn gây thêm vấn đề cho Windows như treo, khởi động chậm,...
Nếu bạn đang lo ngại và không muốn sử dụng các phần mềm dạng này, có thể nhờ đến công cụ rất được các chuyên gia "vọc vạch" Windows yêu thích kể từ khi nó phát hành hỗ trợ phiên bản Windows Vista đến nay, đó chính là Empty Standby List. Nói dễ hiểu thì đây là một công cụ dọn dẹp và giải phóng bộ nhớ RAM cho Windows, và người dùng có thể sử dụng nó bằng cách nhập vào các lệnh tương ứng. Tả cả điều hoạt động theo cách thủ công.

Vậy cụ thể cách sử dụng Empty Standby List như thế nào? Các lệnh mà người dùng có thể sử dụng trong Empty Standby List ra sao? Mời bạn đọc tham khảo nội dung sau đây.
Trước tiên, bạn hãy truy cập vào địa chỉ này để tải về Empty Standby List. Hiện tại công cụ này đã hỗ trợ hoàn toàn đầy đủ các phiên bản Windows, bao gồm Windows 10, Windows 7 (64 bit), Windows 8, Windows Server, Windows Vista (32 bit) và Windows Vista (64 bit).

Empty Standby List không cần cài đặt và rất an toàn.
Empty Standby List không cần cài đặt và rất an toàn.

Sau khi tải về, bạn hãy di chuyển tập tin vào đường dẫn "C:\Windows".

Sao chép gói tin Empty Standby List sau khi tải về và dán vào thư mục Windows trong phân vùng C.
Sao chép gói tin Empty Standby List sau khi tải về và dán vào thư mục Windows trong phân vùng "C".

Tiếp theo hãy khởi chạy cửa sổ dòng lệnh Command Prompt với quyền quản trị cao nhất bằng cách nhấn phải chuột vào nút Start và chọn Command Prompt (Admin).

Khởi chạy Command Prompt với quyền quản trị cao nhất.
Khởi chạy Command Prompt với quyền quản trị cao nhất.

Command Prompt xuất hiện, lúc này chúng ta sẽ tiến hành nhập vào lệnh sau để yêu cầu Empty Standby List thực hiện việc di chuyển tất cả dữ liệu hiện đang có trên RAM vào tập tin "pagefile.sys" nằm trong phân vùng "C" hệ thống.
EmptyStandbyList.exe workingsets

Dung lượng RAM bị chiếm dụng ban đầu trước khi chạy lệnh là 2GB/4GB.
Dung lượng RAM bị chiếm dụng ban đầu trước khi chạy lệnh là 2GB/4GB.

Chắc bạn đã có thể thấy rõ sự thay đổi ở phần dung lượng RAM trong cửa số Task Manager trước và sau khi chạy lệnh trên phải không? Việc di chuyển này tuy lúc đầu sẽ làm giảm hiệu suất hoạt động của Windows nhưng chỉ vài giây sau hệ thống sẽ hoạt động trơn tru trở lại.

Sau khi thực thi lệnh, dung lượng RAM chiếm dụng được giải phóng hơn 50% dung lượng bị chiếm dụng ban đầu.
Sau khi thực thi lệnh, dung lượng RAM chiếm dụng được giải phóng hơn 50% dung lượng bị chiếm dụng ban đầu.

Nếu bạn chưa biết thì Modified Page File được xem như là tập tin chứa các dữ liệu phần mềm mà người dùng hay sử dụng, các dữ liệu này sẽ được ghi nhớ tạm thời vào Modified Page File nằm trên RAM để người dùng có thể truy xuất nhanh ở lần sử dụng kết tiếp.
Và chúng ta có thể xem dung lượng của Modified Page File bằng cách khởi chạy Resource Monitor và nhấp vào tab "Memory". Modified Page File sẽ được hiển thị với màu sắc nhận diện là màu vàng, cùng với thông số kích thước mà nó đang "chiếm dung".

Nhận diện Modified Page File.
"Nhận diện" Modified Page File.

Để tiến hành "xử lí" các dữ liệu được lưu trữ trong Modified Page File, bạn hãy sử dụng câu lệnh sau:
EmptyStandbyList.exe modifiedpagelist

Dung lượng Modified Page File trước khi thực thi lệnh.
Dung lượng Modified Page File trước khi thực thi lệnh.

Ngay khi khởi chạy lệnh trên, dữ liệu trong Modified Page File sẽ được dọn dẹp một cách sạch sẽ.

Dung lượng Modified Page File sau khi thực thi lệnh.
Dung lượng Modified Page File sau khi thực thi lệnh.

Bên cạnh Modified Page File, bạn có thể thấy thêm một vùng lưu trữ khác có tên gọi là "Standby" có kích thước khá lớn. Có thể hiểu đây là phần dữ liệu của các phần mềm mà bạn đã dùng trước đó và hiện đang trong trạng thái "chờ". Và để dọn dẹp luôn phần này cho "trống", bạn có thể sử dụng lệnh sau:
EmptyStandbyList.exe standbylist

Dung lượng Standby trước khi thực thi lệnh.
Dung lượng Standby trước khi thực thi lệnh.

Một lời khuyên bạn cần chú ý là chỉ sử dụng câu lệnh trên khi bạn đã hoàn thành xong công việc hoặc trước khi bắt đầu làm việc vì có thể hiệu suất máy tính sẽ giảm đi đáng kể sau khi chạy xong lệnh, nhưng chỉ 1 đến 2 phút đầu. Tuy nhiên kết quả mang lại rất tuyệt vì mọi thứ sẽ hoạt động "mượt" hơn trước.

Dung lượng Standby sau khi thực thi lệnh.
Dung lượng Standby sau khi thực thi lệnh.

Và cuối cùng, để dọn dẹp những dữ liệu không cần thiết nhưng vẫn còn được hệ thống lưu trữ trên RAM, bạn hãy sử dụng lệnh sau:
EmptyStandbyList.exe priority0standbylist

Dọn dẹp phần còn lại.
Dọn dẹp phần còn lại.

Sau khi đã thực hiện xong 4 câu lệnh trên, hiệu suất Windows sẽ tăng lên đáng kể và bạn sẽ có cảm giác mọi thao tác được trơn tru hơn trước. Lúc này bạn hãy bắt đầu công việc của mình trên máy tính được rồi đấy.
Trường hợp bạn không muốn phải ghi nhớ và nhập từng lệnh như trên, có thể tự tạo 1 shortcut đơn giản để chạy các lệnh trên một cách tự động như sau.
Nhấp phải chuột vào Desktop và chọn New > Shortcuts. Sau đó nhập lệnh sau vào "Type the location of the item".
C:\Windows\System32\cmd.exe /c câu_lệnh_bạn_muốn_khởi_chạy
Trong đó "câu_lệnh_bạn_muốn_khởi_chạy" là 1 trong 4 lệnh trên. Ví dụ ở đây ta sẽ chọn lệnh "EmptyStandbyList.exe standbylist" thì câu lệnh hoàn chỉnh cho dòng "Type the location of the item" sẽ là:
C:\Windows\System32\cmd.exe /c EmptyStandbyList.exe standbylist

Câu lệnh hoàn chỉnh.
Câu lệnh hoàn chỉnh.

Công việc tiếp theo của bạn là đặt tên và thay đổi biểu tượng cho shortcut này theo ý muốn là xong. Khi nào cần chỉ việc nhấp đôi chuột vào shortcut này là được.
Hi vọng bài viết sẽ có ích cho bạn.
Share:

Top 15 ngôn ngữ lập trình phổ biến nhất thế giới, bạn đã biết hết chưa?

Một vài cái tên xuất hiện trong danh sách này có thể sẽ khiến bạn ngạc nhiên.


Kỹ sư phần mềm đang là một trong những nghề nhu cầu cao nhất hiện nay – ngay cả thực tập sinh tại các công ty công nghệ cũng có thể nhận một mức lương đáng ghen tị.
Giữa hàng triệu nhà phát triển với đủ mọi loại kỹ năng khác nhau, nhiều công ty công nghệ đang bắt đầu quay sang GitHub - startup 2 tỷ USD được mệnh danh là “Facebook của giới lập trình viên” - để tìm kiếm các nhân tài code.
Nếu bạn là một lập trình viên đang tìm kiếm cơ hội việc làm trong các công ty này thì hãy nghía xem danh sách các ngôn ngữ lập trình hot nhất trên GitHub dưới đây (Danh sách dựa trên thống kê thực của GitHub) để xem những ngôn ngữ nào đang được săn đón nhiều nhất nhé.
15. TypeScript

Là một nhánh của JavaScript, TypeScript là ngôn ngữ lập trình do Microsoft phát triển. Xuất hiện từ năm 2012, TypeScript đã được nhiều lập trình viên yêu thích bởi khả năng xây dựng các ứng dụng lớn trên nền web hiện đại.
14. Swift

Ngôn ngữ lập trình cho iPhone do Apple phát triển này mới chỉ khởi nguồn từ năm 2014 nhưng đã thu hút một lượng lớn các nhà phát triển. Lyft - đối thủ của Uber tại Mỹ - cũng vừa mới viết lại toàn bộ ứng dụng iPhone của mình bằng Swift và đang chứng kiến những tiến bộ đáng kể về hiệu năng và trải nghiệm.
13. Scala

Bắt đầu lên sóng từ năm 2001, Scala được phát triển nhằm giúp các lập trình viên code nhanh và dễ dàng hơn so với khi viết bằng Java. Các công ty như Airbnb và Apple cũng từng sử dụng Scala cho các ứng dụng của mình.
12. Objective-C

Ngôn ngữ lập trình C thuở đầu đã có ảnh hưởng sâu rộng đến mức tạo đà cho hàng loạt ngôn ngữ lập trình tiền nhiệm cùng tên ra đời. Lấy cảm hứng từ C nhưng những ngôn ngữ này còn được lồng thêm nhiều tính năng từ các ngôn ngữ khác. Objective-C có thể được dùng vào thiết kế ứng dụng iOS, vẫn phổ biến hơn Swift dù Swift cũng đang tăng trưởng rất nhanh.
11. Shell

Là một cái tên có vẻ khá lạ lùng so với số còn lại trong danh sách, Shell không hẳn là một ngôn ngữ lập trình mà là một chương trình phổ biến hay một chuỗi các hoạt động lặp lại trong hệ điều hành. Các chuyên viên IT trong công ty bạn có thể sẽ dùng những đoạn script Shell để tự động hóa việc cập nhật các chương trình của công ty.
10. Go

Google phát triển Go để giúp các nhà phát triển của mình xây dựng các hệ thống cho lượng người dùng cực lớn. Go cũng được rất nhiều lập trình viên yêu thích vì tính dễ đọc và dễ nhân rộng.
9. C

Ngôn ngữ kinh điển này được sáng chế ra vào năm 1972 và vẫn thịnh hành cho đến ngày nay, không chỉ bởi khả năng hoạt động trên tất cả các nền tảng điện toán mà còn bởi tính ổn định và dễ hiểu với hầu hết các lập trình viên từ khắp nơi trên thế giới.
8. C#

C# được đọc là “C-sharp”, tương tự như một nốt trong âm nhạc. C# được Microsoft phát triển và cũng là một biến thể của ngôn ngữ C. C# được yêu chuộng vì khả năng đưa những ý tưởng “rất Java” vào cách lập trình của mình.
7. CSS

Viết tắt của “Cascading Style Sheets”, CSS là ngôn ngữ dùng cho thiết kế định dạng và layout website. Rất nhiều menu trên website và ứng dụng di động đều được viết bởi CSS kết hợp cùng JavaScript và HTML.
6. C++

Được phát minh ra vào năm 1983 như một lựa chọn thay thế ngôn ngữ C truyền thống, C++ thực sự rất phổ biến với các nhà phát triển trên toàn cầu. Microsoft Windows, Google Chrome hay các phần mềm cho phi cơ chiến đấu đều được viết bằng C++.
5. PHP

PHP đã quá phổ biến trong thiết kế website. Theo một ước tính không chính thức, PHP hiện được sử dụng cho 1/3 số lượng website trên toàn cầu. Các nền tảng lớn như WordPress, Facebook, Yahoo đều được phát triển bằng PHP. Tuy vậy cũng có không ít người ghét PHP, điển hình là nhà sáng lập Stack Exchange Jeff Atwood khi khẳng định “PHP không phải một ngôn ngữ lập trình mà đúng hơn phải là một đống tạp nham các từ khóa và function.”
4. Ruby

Các nhà phát triển yêu thích ngôn ngữ lập trình 24 năm tuổi này bởi độ dễ đọc, dễ viết. Đi kèm với nó là Rails, một framework add-on giúp cho việc xây dựng ứng dụng web trở nên dễ dàng hơn bao giờ hết. Khẩu hiệu của Ruby chính là “người bạn tốt nhất của các lập trình viên.”
3. Python

Với xuất phát điểm từ năm 1989, cũng như Ruby, Python được ưa chuộng bởi tính dễ đọc. Nhiều lập trình viên còn cho rằng đây là ngôn ngữ dễ học nhất bên cạnh Ruby.
2. Java

Được Oracle phát minh ra vào năm 1991, Java nay đã trở thành ngôn ngữ lập trình phổ biến nhất thế giới. Java chính là phần thiết yếu trong phát triển ứng dụng Android, phần mềm doanh nghiệp hay TV thông minh.
1. JavaScript

Ngôn ngữ lập trình siêu phổ biến này thường được dùng vào thiết kế ứng dụng web. Tuy tên giống nhau nhưng JavaScript không liên quan gì nhiều đến Java. JavaScript chạy trên web hiện đại nhưng đôi khi nó cũng là thủ phạm làm chậm tốc độ trình duyệt hay đẩy người dùng vào nhiều lỗ hổng bảo mật hơn.
Mặc dù danh sách đã ngã ngũ nhưng các ngôn ngữ trên lại đang có tốc độ phát triển khác nhau. GitHub cho biết “JavaScript, C# và Go đã chứng kiến mức tăng trưởng cao gấp đôi. Trong khi đó, Swift và TypeScript cũng đang bứt phá với mức phổ biến tăng gấp 3,5 lần."
Tham khảo BI
Share:

Vì sao lập trình viên lại chết trong nhà tắm?

Có rất nhiều câu nói đùa trong thế giới lập trình, và một trong những câu được ưa chuộng nhất đó là: "Vì sao lập trình viên lại chết trong nhà tắm? Bởi vì trên chai dầu gội đầu viết, 'làm sủi bọt, gội, lặp lại'."

Vì sao lập trình viên lại chết trong nhà tắm?
Ảnh minh họa iSTOCK
Có lẽ bạn không hiểu câu đùa này?
Nó được gọi là vòng xoay lặp đi lặp lại bất tận. Các chuyên viên lập trình thường xuyên phải tuân theo các chỉ dẫn vô cùng tỉ mỉ và trong câu chuyện hài này, họ phải lặp đi lặp lại những chỉ dẫn đó một cách máy móc, tới lúc chết.
Bạn nghĩ đó là điều không hợp lý? Các máy tính đã bị buộc thực hiện những vòng lặp như vậy nhiều năm nay.
Trên thực tế, nó được gọi là hình thức tấn công 'fork bomb' - có nghĩa là máy tính bị buộc phải hoạt động quá mức tối đa, dẫn đến bị hỏng. Một cuộc tấn công 'fork bomb' có thể được thực hiện chỉ bởi vài ký tự mã.
Như một người dùng trên mạng giải thích, trong ngôn ngữ máy tính, chỉ cần một tập hợp ít ỏi các ký tự đã đủ để tạo ra một câu lệnh vô nghĩa nào đó rồi yêu cầu máy tính thực hiện lặp đi lặp lại chức năng đó.
Máy tính sẽ không thắc mắc mà chỉ làm đúng theo mệnh lệnh.
Vào năm 2013, thống kê được thực hiện bởi các nhà nghiên cứu từ Đại học Cambridge cho thấy lỗi hệ thống máy tính gây tổn thất cho nền kinh tế toàn cầu khoảng 321 tỷ đôla mỗi năm.
Ngay cả những lỗi nhỏ cũng có thể gây tổn thất lớn - ví dụ như một đoạn mã được cài sai vị trí có thể khiến các tàu chiến ngưng hoạt động.
Làm sao mà những ký tự tí hon lại có thể gây ra hậu quả lớn như vậy?
"Máy tính làm theo chuỗi các mệnh lệnh mà chúng nhận được - thế nhưng chúng làm theo lệnh một cách máy móc, theo từng ký tự một," Ben Liblit, một nhà khoa học máy tính tại Đại học Wisconsin-Madison, nói.
"Chúng không có khả năng phân biệt đúng sai trong nội dung câu lệnh đó."
Máy tính có thể làm một cách hiệu quả, có hệ thống, nhưng cũng có thể bị hỏng một cách có hệ thống. Ảnh iSTOCK 
Những vòng lặp vô tận là do đâu mà có?
Liblit cho biết máy tính có khả năng lặp dữ liệu hàng nghìn hay hàng triệu lần. Điều này cho phép chúng ta thực hiện những công việc nhàm chán vô cùng nhanh chóng - ví dụ như sửa một danh sách tên để các ký tự đầu tiên đều viết hoa.
Trên thực tế, không có một giới hạn cơ bản nào về việc máy tính có thể lặp các mệnh lệnh bao nhiêu lần - đồng nghĩa với việc chúng có thể làm điều này tới khi quá tải.
Trường hợp đầu tiên được ghi nhận về một vụ tấn công 'fork bomb' có từ năm 1978. Một chương trình có biệt danh 'wabbit' đã tự nhân bản vô tận.
Những đoạn mã này trà trộn vào máy tính của nạn nhân dưới dạng một tệp tin vô hại, được đính kèm qua email. Nếu nạn nhân tải và thử chạy tệp tin này, 'fork bomb' sẽ được kích hoạt.
Một hình thức tấn công khác, đó là nén các file có khả năng giải nén một cách vô tận, theo Mikko Hypponen, một chuyên gia về an ninh máy tính tại F-Secure.
Hình thức tấn công này được gọi là 'zip bomb'. Một quả bom như vậy có thể chỉ nhẹ có 42 bytes trước khi nó tự giải nén. Nó có thể được sử dụng để lấp đầy một ổ đĩa chứa dữ liệu hoặc vô hiệu hoá các chương trình chống virus.
Trong năm 2014, một lỗ hổng nghiêm trọng trong phần mềm mã hoá dữ liệu mật trên web đã được tìm thấy.
Lỗ hổng có tên Heartbleed này có thể cho phép những kẻ tấn công xâm nhập vào các dữ liệu cá nhân, ví dụ như mật mã hay thông tin thẻ tín dụng. Đoạn mã đã kích hoạt vụ tấn công chỉ nặng có 4 bytes, Alan Woodward từ Đại học Surrey cho biết.
Đối với các tin tặc, việc nén các mã bẩn xuống dung lượng nhỏ đã tỏ ra rất hữu hiệu.
Vào năm 2010, 'Twitter virus' xuất hiện. Nó làm cho nhiều cửa sổ trên máy tính mở ra cùng một lúc khi người dùng di chuột qua những mẩu tin có chứa mã độc trên Twitter.com. Ngay cả các tài khoản Twitter của Nhà Trắng cũng bị ảnh hưởng trong một thời gian ngắn.
Một chuyên gia về an ninh máy tính khác là Steve Lord tại Mandalorian từng phát hiện ra một chương trình độc hại có kích cỡ nhỏ tới mức đáng kinh ngạc.
Một số '0' đặt sai chỗ khiến chiến hạm USS Yorktown tê liệt hoàn toàn khi đang ngoài khơi. Ảnh NAV SOURCE PUBLIC DOMAIN
Trong một nghiên cứu gần đây, ông nói ông đã thử nghiệm việc chèn đoạn mã độc vào các gói nhỏ và gửi đi từ máy tính này tới máy tính khác thông qua mạng internet.
Nó là một loại mã độc khá tinh vi, cho phép những kẻ tấn công vô hiệu hoá được những đường dây kết nối an toàn được biết đến dưới tên gọi 'mạng lưới cá nhân ảo' (VPN).
Có lẽ đoạn mã nhỏ nhất từng gây rắc rối là con số '0' vì máy tính không thể xử lý mệnh lệnh yêu cầu làm phép chia đối với con số 0.
Như Lord chỉ ra, đó là điều đã xảy ra với chiến hạm USS Yorktown vào tháng Chín 1997. Một con số 0 bị đặt vào sai chỗ bên trong một trong các phần mềm được sử dụng trong hệ thống máy tính của tàu, khiến toàn bộ con tàu ngưng hoạt động và phải chờ được kéo về cảng.
"May là điều đó đã không xảy ra trong lúc giao chiến," Lord nói.
Lord cũng dẫn trường hợp của 'Tiny Banker', một mã bẩn có khả năng xâm nhập vào ứng dụng trình duyệt web của nạn nhân và ăn cắp mật mã họ sử dụng để vào tài khoản ngân hàng qua mạng. Nó chỉ nặng 20 nghìn bytes và đã ảnh hưởng tới hàng nghìn hệ thống trên thế giới.
"Nếu so với những chương trình Windows khác thì đó là một dung lượng vô cùng nhỏ," Lord nói.
Những điều này không có nghĩa là máy tính sẽ không thể nào tránh khỏi mã bẩn - nhưng nó cho thấy những thách thức mà giới công nghệ đang phải đối mặt trong việc bảo vệ chúng trước những đợt tấn công hay lỗi hệ thống. Lord cho rằng ngay cả những lỗi nhỏ có thể gây ra hậu quả lớn.
Liblit nói máy tính có khả năng làm nhiệm vụ được giao một cách bền bỉ nhất - dù điều đó là có lợi hay không. 'Máy tính có thể hữu ích một cách có hệ thống," ông nói, "hoặc hỏng hóc một cách có hệ thống."
Thế nhưng ít ra thì trong hầu hết các trường hợp, bạn có thể thử tắt đi và bật lại máy tính.
Bài tiếng Anh đã đăng trên BBC Future.
CHRIS BARANIUK
Share:

Trẻ 5 tuổi có thể học lập trình

Ngày càng có nhiều người trẻ học về ngôn ngữ máy tính và làm các công việc như viết trò chơi điện tử, xây dựng trực quan hóa dữ liệu. Đã có một số trẻ 5 tuổi tham gia vào các lớp học liên quan đến lĩnh vực này.

Tại Trung Quốc, số trẻ em theo học các lớp mã hóa (coding) tăng nhanh vì nhiều phụ huynh tin rằng nghề này sẽ rất phát triển trong tương lai. Ngay cả Apple mới mở lớp học mã hóa đầu tiên, nhắm vào trẻ 8-12 tuổi như là một phần trong chương trình trại hè cho trẻ em của hãng.
ma-hoa-khong-chi-danh-cho-lap-trinh-vien-tre-5-tuoi-co-the-lam
Đã có nhiều khóa học về coding dành cho trẻ em được mở ra. Ảnh: CNBC.
Saturday Kids, trường mã hóa cho trẻ em ở Singapore, mở những lớp học với chi phí 100 USD/tháng với hy vọng mang lại một phần học tập bên ngoài lớp học truyền thống. Doanh nhân John Tan đã mở trường này vào năm 2012, khi con trai ông 1 tuổi, với mong muốn trước khi lên 4-5, bé có thể vào học các lớp mã hóa. Ông Tan cho biết thời điểm đó, nhu cầu rất thấp, nhưng mọi thứ đã thay đổi. “Không có lý do gì để bạn phải chờ đến khi vào đại học mới được học”, ông nói với CNBC.
Năm ngoái, thủ tướng Singapore Lý Hiển Long đã gây kinh ngạc cho mọi người khi ngài đăng tải đoạn mã hóa máy tính viết ra để giải trò chơi sudoku. Nhận ra tầm quan trọng của mã hóa, Python, một ngôn ngữ lập trình máy tính, sẽ được giới thiệu ở một loạt trường học Singapore trong năm tới, thay thế cho cách học máy tính truyền thống.
Ông Tan nhấn mạnh, Saturday Kids không có ý định hướng học sinh phải theo con đường mã hóa. “Chúng ta cần cho trẻ thấy một vấn đề theo cách khác. Bằng cách học mã hóa, trẻ sẽ tìm hiểu các khái niệm về tư duy toán học, các vấn đề như sự trừu tượng, tự động hóa và trực quan hóa dữ liệu. Đây là những kỹ năng hữu ích cần có bởi chúng là tập con của kỹ năng giải quyết vấn đề”, ông nói.
Sarah và Keith Lye đã đổi một quả bóng đá để lấy một máy tính xách tay vài tháng trước. Các thiếu niên Bắc Kinh này đang sống ở Singapore để theo học khóa cơ bản về mã hóa ở Saturday Kids. Sarah đang có kế hoạch làm một bộ phim ngắn hoạt hình, trong khi Keith đang thiết kế trò chơi điện tử của riêng mình. Mặc dù hai anh em nhà Lye mong muốn được học mã hóa, nhưng lĩnh vực này không hề dễ.
“Bạn phải học rất nhiều mã vì mỗi mã đều khác nhau và nếu bạn đặt chúng cùng nhau, chúng sẽ hoạt động theo một cách nhất định”, Keith nói.
Quỳnh Linh (theo Education Post)
Share:

Lập trình viên rất dễ phát điên

Lập trình hay viết phần mềm là một trong những nghề được xem là ổn định nhất hiện nay song chính nghề nghiệp này lại gây bất ổn nhất cho sức khỏe tinh thần của người làm nghề. Vì sao?

Có hai điều đang xảy ra hàng ngày khiến lập trình viên (coder, programmer) phát điên.
Một là “hội chứng kẻ mạo danh” (imposter syndrome), khi bạn chắn chắn rằng những coder khác làm cùng đều thông minh hơn, tài năng hơn và giàu kĩ năng hơn bạn. Bạn sống trong nỗi lo sợ rằng ai đó sẽ khám phá ra bạn đang lừa dối về trí thông minh hay năng lực của mình.
Và điều thứ hai có khả năng khiến lập trình viên phát điên là trở thành một lập trình viên thực thụ!

Nữ giới thường gặp phải triệu chứng này, đó không phải điều kì lạ. Hội chứng được tiến sĩ tâm lí học Pauline Rose Clance và tiến sĩ Suzanne Imes xem là vấn đề đặc trưng của những người phụ nữ thành công. Nó là chủ đề trong cuốn sách tự hoàn thiện dành cho phái nữ.
Tuy nhiên, ngày càng nhiều lập trình viên nam cảm nhận thấy hội chứng này. Họ có xu hướng áp đặt tiêu chuẩn đặc biệt cao cho bản thân, thường gặp tại những môi trường làm việc đánh giá chéo. Viết phần mềm cũng giống như bạn cày bừa trên một cánh đồng, đặc biệt với phần mềm nguồn mở mà ai cũng có thể nhìn vào và chỉnh sửa nó.

Từ “kẻ mạo danh” đến “lập trình viên thực thụ”

“Hội chứng kẻ mạo danh” khiến lập trình viên tự thôi thúc cần phải làm việc chăm chỉ hơn để tốt hơn. Điều đó đồng nghĩa với việc dành thời gian viết code nhiều hơn, ngay cả khi đang… đi bộ, và nhận nhiều dự án hơn. Cảm giác này chính là hội chứng “lập trình viên thực thụ” (Real Programmer), ám chỉ những người chỉ sống để lập trình.
Người dùng diễn đàn Reddit big_al11 giải thích: “Một lập trình viên thực thụ là người vô cùng yêu việc lập trình. Họ yêu nó tới mức dành tất cả thời gian cho nó. Họ không xem nó là “công việc”… Một lập trình viên chưa thể là “lập trình viên thực thụ” khi họ không tình nguyện làm việc 60 đến 80 tiếng mỗi tuần (mà không có tiền làm thêm giờ) bởi vì nó “vui vẻ””.
Thực tế lập trình viên phải làm việc hàng giờ ròng rã không mới, song ý tưởng về việc họ làm điều đó vì ý chí và sự ưa thích của bản thân lại mới mẻ. Ví dụ, một thập kỉ trước, trong thời kì “bong bóng Internet”, cuốn sách có tên “Death March” vô cùng ăn khách. Nó kể lại thời gian làm việc kéo dài đã khiến cho lập trình viên gặp vấn đề về sức khỏe như thế nào và kết luận chính quản lí dự án nghèo nàn phải chịu trách nhiệm về việc này.
Năm 2004, các lập trình viên còn kiện hãng game EA vì thời gian làm việc quá giờ và được đền bù 15 triệu USD. Năm 2010, câu chuyện về một phụ nữ kết hôn với lập trình viên đang làm tại Rockstar Games trở thành hiện tượng mới. Theo đó, công ty đòi hỏi nhân viên phải làm 12 tiếng/ngày trong 6 ngày làm việc suốt cả năm, cả tháng, khiến người chồng căng thẳng tột độ.
Năm 2011, hội chứng “Real Programmer” bắt đầu được chú ý. Năm đó, cuộc thảo luận sôi nổi trên mạng xã hội cho dân lập trình StackExchange đã diễn ra xoay quanh chủ đề: “Tôi không lập trình trong thời gian rỗi, nó có làm cho tôi dở đi không”. Ý kiến chung là bạn vẫn có thể là một người giỏi nếu chỉ làm trong giờ làm việc, song “lập trình viên giỏi nhất sẽ viết chương trình cả vào giờ nghỉ”.

Nhiều hơn không đồng nghĩa với tốt hơn

Tính đúng đắn của nó bị nghi ngờ. Sinh viên Stanford (Mỹ) đã nghiên cứu một người thực sự dành bao nhiêu thời gian làm việc thì hiệu quả. Không bất ngờ khi kết quả là làm việc quá nhiều sẽ giảm năng suất lao động. Coder làm việc quá sức (60 tiếng/tuần) có chất lượng kém hơn người chỉ làm 40 tiếng/tuần.
Song, nó không ngăn cản hai hội chứng kể trên tiếp diễn, thậm chí còn phát sinh thêm nhiều câu chuyện buồn. Ví dụ, khoảng một năm trước, lập trình viên Kenneth Parker viết bài blog có tiêu đề:“Tôi đã biết một lập trình viên bị điên”. Anh kể về đồng nghiệp của mình làm việc vất vả đến mức “bị đột quỵ hoàn toàn về tinh thần”.
“Anh ấy là một trong những nhân viên chăm chỉ nhất tôi từng chứng kiến. Anh thường ở lại sau giờ làm việc mải mê với các dự án. Anh luôn có mặt khi giám đốc cần ai đó hoàn thành nhanh công việc trong cuối tuần… Ý chí muốn hoàn thiện mọi thứ là điều khiến mọi người thích. Tuy nhiên, kết quả của anh ấy không tốt và kết thúc trong viện tâm thần”.
Gần đây, kĩ sư phần mềm Nick Floyd của hãng New Relic bắt đầu viết và diễn thuyết về thứ mà anh gọi là “cân bằng cuộc sống của người nghiện máy tính” (Nerd Life Balance). Anh thú nhận từng bị hội chứng “kẻ mạo danh” hành hạ song hiện tại tin rằng hạnh phúc sẽ đến khi tìm thấy tình yêu công việc:
“Làm việc tại New Relic là một thách thức, vừa khó khăn song cũng thật tuyệt vời. Trước khi gia nhập, tôi quen với niềm tin rằng công việc chỉ là công việc, đôi lúc thật nản lòng, còn cuộc sống là sự giải thoát khỏi những khó chịu tại công sở. Cuối cùng tôi nhận ra: cuộc sống tuyệt vời nhất khi thứ mà bạn gọi là “công việc” trở thành một cách để biểu đạt niềm đam mê trong cuộc sống”.
Ngắn gọn hơn, người dùng Reddit big_al11 đưa ra giải pháp hợp lí nhất cho những người làm lập trình nói riêng và mọi ngành nói chung: “Tôi chỉ ước rằng chúng ta sống trong xã hội nơi không xác lập bản thân bằng công việc và là nơi mà làm việc đến chết không được ca ngợi là một đức hạnh”.
Theo Trí thức trẻ/CafeBiz

Lập trình hay viết phần mềm là một trong những nghề được xem là ổn định nhất hiện nay song chính nghề nghiệp này lại gây bất ổn nhất cho sức khỏe tinh thần của người làm nghề. Vì sao?

Có hai điều đang xảy ra hàng ngày khiến lập trình viên (coder, programmer) phát điên.
Một là “hội chứng kẻ mạo danh” (imposter syndrome), khi bạn chắn chắn rằng những coder khác làm cùng đều thông minh hơn, tài năng hơn và giàu kĩ năng hơn bạn. Bạn sống trong nỗi lo sợ rằng ai đó sẽ khám phá ra bạn đang lừa dối về trí thông minh hay năng lực của mình.
Và điều thứ hai có khả năng khiến lập trình viên phát điên là trở thành một lập trình viên thực thụ!

Nữ giới thường gặp phải triệu chứng này, đó không phải điều kì lạ. Hội chứng được tiến sĩ tâm lí học Pauline Rose Clance và tiến sĩ Suzanne Imes xem là vấn đề đặc trưng của những người phụ nữ thành công. Nó là chủ đề trong cuốn sách tự hoàn thiện dành cho phái nữ.
Tuy nhiên, ngày càng nhiều lập trình viên nam cảm nhận thấy hội chứng này. Họ có xu hướng áp đặt tiêu chuẩn đặc biệt cao cho bản thân, thường gặp tại những môi trường làm việc đánh giá chéo. Viết phần mềm cũng giống như bạn cày bừa trên một cánh đồng, đặc biệt với phần mềm nguồn mở mà ai cũng có thể nhìn vào và chỉnh sửa nó.

Từ “kẻ mạo danh” đến “lập trình viên thực thụ”

“Hội chứng kẻ mạo danh” khiến lập trình viên tự thôi thúc cần phải làm việc chăm chỉ hơn để tốt hơn. Điều đó đồng nghĩa với việc dành thời gian viết code nhiều hơn, ngay cả khi đang… đi bộ, và nhận nhiều dự án hơn. Cảm giác này chính là hội chứng “lập trình viên thực thụ” (Real Programmer), ám chỉ những người chỉ sống để lập trình.
Người dùng diễn đàn Reddit big_al11 giải thích: “Một lập trình viên thực thụ là người vô cùng yêu việc lập trình. Họ yêu nó tới mức dành tất cả thời gian cho nó. Họ không xem nó là “công việc”… Một lập trình viên chưa thể là “lập trình viên thực thụ” khi họ không tình nguyện làm việc 60 đến 80 tiếng mỗi tuần (mà không có tiền làm thêm giờ) bởi vì nó “vui vẻ””.
Thực tế lập trình viên phải làm việc hàng giờ ròng rã không mới, song ý tưởng về việc họ làm điều đó vì ý chí và sự ưa thích của bản thân lại mới mẻ. Ví dụ, một thập kỉ trước, trong thời kì “bong bóng Internet”, cuốn sách có tên “Death March” vô cùng ăn khách. Nó kể lại thời gian làm việc kéo dài đã khiến cho lập trình viên gặp vấn đề về sức khỏe như thế nào và kết luận chính quản lí dự án nghèo nàn phải chịu trách nhiệm về việc này.
Năm 2004, các lập trình viên còn kiện hãng game EA vì thời gian làm việc quá giờ và được đền bù 15 triệu USD. Năm 2010, câu chuyện về một phụ nữ kết hôn với lập trình viên đang làm tại Rockstar Games trở thành hiện tượng mới. Theo đó, công ty đòi hỏi nhân viên phải làm 12 tiếng/ngày trong 6 ngày làm việc suốt cả năm, cả tháng, khiến người chồng căng thẳng tột độ.
Năm 2011, hội chứng “Real Programmer” bắt đầu được chú ý. Năm đó, cuộc thảo luận sôi nổi trên mạng xã hội cho dân lập trình StackExchange đã diễn ra xoay quanh chủ đề: “Tôi không lập trình trong thời gian rỗi, nó có làm cho tôi dở đi không”. Ý kiến chung là bạn vẫn có thể là một người giỏi nếu chỉ làm trong giờ làm việc, song “lập trình viên giỏi nhất sẽ viết chương trình cả vào giờ nghỉ”.

Nhiều hơn không đồng nghĩa với tốt hơn

Tính đúng đắn của nó bị nghi ngờ. Sinh viên Stanford (Mỹ) đã nghiên cứu một người thực sự dành bao nhiêu thời gian làm việc thì hiệu quả. Không bất ngờ khi kết quả là làm việc quá nhiều sẽ giảm năng suất lao động. Coder làm việc quá sức (60 tiếng/tuần) có chất lượng kém hơn người chỉ làm 40 tiếng/tuần.
Song, nó không ngăn cản hai hội chứng kể trên tiếp diễn, thậm chí còn phát sinh thêm nhiều câu chuyện buồn. Ví dụ, khoảng một năm trước, lập trình viên Kenneth Parker viết bài blog có tiêu đề:“Tôi đã biết một lập trình viên bị điên”. Anh kể về đồng nghiệp của mình làm việc vất vả đến mức “bị đột quỵ hoàn toàn về tinh thần”.
“Anh ấy là một trong những nhân viên chăm chỉ nhất tôi từng chứng kiến. Anh thường ở lại sau giờ làm việc mải mê với các dự án. Anh luôn có mặt khi giám đốc cần ai đó hoàn thành nhanh công việc trong cuối tuần… Ý chí muốn hoàn thiện mọi thứ là điều khiến mọi người thích. Tuy nhiên, kết quả của anh ấy không tốt và kết thúc trong viện tâm thần”.
Gần đây, kĩ sư phần mềm Nick Floyd của hãng New Relic bắt đầu viết và diễn thuyết về thứ mà anh gọi là “cân bằng cuộc sống của người nghiện máy tính” (Nerd Life Balance). Anh thú nhận từng bị hội chứng “kẻ mạo danh” hành hạ song hiện tại tin rằng hạnh phúc sẽ đến khi tìm thấy tình yêu công việc:
“Làm việc tại New Relic là một thách thức, vừa khó khăn song cũng thật tuyệt vời. Trước khi gia nhập, tôi quen với niềm tin rằng công việc chỉ là công việc, đôi lúc thật nản lòng, còn cuộc sống là sự giải thoát khỏi những khó chịu tại công sở. Cuối cùng tôi nhận ra: cuộc sống tuyệt vời nhất khi thứ mà bạn gọi là “công việc” trở thành một cách để biểu đạt niềm đam mê trong cuộc sống”.
Ngắn gọn hơn, người dùng Reddit big_al11 đưa ra giải pháp hợp lí nhất cho những người làm lập trình nói riêng và mọi ngành nói chung: “Tôi chỉ ước rằng chúng ta sống trong xã hội nơi không xác lập bản thân bằng công việc và là nơi mà làm việc đến chết không được ca ngợi là một đức hạnh”.
Theo Trí thức trẻ/CafeBiz
Share:

BTemplates.com

Powered by Blogger.