Categories Note

Một chút cảm xúc về CSS

Hôm qua tôi vừa viết bài về CSS cho người tay ngang rồi chia sẻ lại trên nhóm Facebook về WordPress. Có nhiều ý kiến góp ý thêm về công cụ hỗ trợ dễ dùng như yellowpencil hoặc csshero.

Trong bài đó tôi có nói đến chuyện “CSS nói chung không khó học, nhưng để thành thạo & làm cho khéo phải mất thời gian, nhẹ nhẹ cũng vài tháng”.

Và có ý kiến phản biện của một bạn nói đại ý rằng “CSS không dễ học, thành thạo trong vài tháng là không thể, và cá nhân bạn í thấy JS và PHP dễ hơn”.

OK, tôi không thấy vấn đề gì với cảm nhận của cá nhân về chuyện lĩnh vực nào khó hơn. Vì đó suy cho cùng là “cảm nhận cá nhân”, và mỗi người đều có quyền có cảm nhận riêng.


Có sự khác biệt về khái niệm “thành thạo” mà tôi đề cập trong bài và định nghĩa riêng của bạn trên.

Khi một người đào sâu và kỹ về một lãnh vực nào đó (bạn ấy 15 năm trong nghề), tiêu chuẩn “thành thạo” của họ cũng sẽ nâng cao hơn nhiều so với tiêu chuẩn chung của một người tìm hiểu ở mức trung bình.

Với quan điểm cá nhân tôi, thành thạo CSS là có thể viết mã tương đối gọn gàng, giải quyết vấn đề gọn nhẹ, không mất nhiều thời gian. Với đa số trang WordPress hiện nay, điều đó có thể đạt được trong vòng vài tháng với người làm việc chăm chỉ và có năng khiếu.

Đứng trên quan điểm tuyệt đối CSS không bao giờ khó hơn ngôn ngữ lập trình. Vì CSS về bản chất là làm đẹp, ngôn ngữ lập trình mới thuộc về tư duy và đòi hỏi cấp độ phân tích cao hơn hẳn.

Liệu tôi có va tiếp phải sự lệch pha về khái niệm “khó hay dễ”? Không hề.

Từ “Khó” có tiêu chuẩn khách quan của nó khi người ta đề cập đến chuyện nguồn lực phải đầu tư lớn đến rất lớn mới giải quyết được vấn đề (thậm chí cả khi có đầu tư vẫn có thể không giải quyết nổi).

Và CSS không bao giờ khó theo kiểu như vậy, ngôn ngữ lập trình thì có.

Chính các ứng dụng tạo CSS tự động được tạo lên bởi lõi là các ngôn ngữ lập trình. Ngược lại bản thân CSS không thể là ứng dụng lõi để xuất mã lập trình được.

CSS là về cái đẹp, nó luôn có sai số chấp nhận được, ngôn ngữ lập trình trong rất nhiều bài toán không chấp nhận sai số, nó phải tuyệt đối chính xác theo kiểu “hai năm rõ mười”. Cho nên tính triệt để của ngôn ngữ lập trình cao hơn CSS nhiều. Ngôn ngữ lập trình thường chỉ rơi vào hai trường hợp “giải quyết được” hoặc “không giải quyết được”, trong khi CSS có một phổ chấp nhận rộng.

Tôi không có ý nào coi thường gì CSS cả, mọi thứ đều phải có phần nhìn. Trong thực tế kinh doanh về lĩnh vực theme, một người lập trình giỏi thiết kế xấu chắc chắn sẽ thua về mặt doanh số so với người thiết kế khá và lập trình trung bình.

Một điểm nữa tôi muốn nói về cách tranh luận (đặc biệt trên môi trường internet không nhìn thấy nhau & có khi không quen biết): khi tranh luận người ta cần viết ý kiến đầy đủ, rõ ràng, tránh đưa ra một câu cụt lụt kèm văn phong kiểu kẻ cả của người đứng núi Fansipan nhìn anh em đang bò ở miệng giếng. Có thể người phát biểu đang ở trình độ chuyên môn rất cao thật đấy, nhưng tranh luận mà ngay ban đầu đã có lập trường như vậy sẽ rất khó hiểu nhau.

Đôi lời tâm sự.

Back to Top