Đối với thế giới bên ngoài, các lập trình viên, nhà khoa học máy tính, kỹ sư phần mềm và nhà phát triển có thể giống nhau, nhưng điều đó khác xa với những người tạo ra phần mềm để kiếm sống. Bất kỳ khả năng và kiến thức của bất kỳ lập trình viên nào cũng có thể bao quát rất rộng rãi, cũng như các công cụ của họ (HĐH, ngôn ngữ và vâng, trình soạn thảo ưa thích) và sự đa dạng đó tạo ra nhiều nền văn hóa phụ trong phần mềm - như các lập trình viên tích cực sử dụng Stack Overflow và trang web này, so với nhiều người không.
Tôi tò mò muốn nghe từ những người khác những nền văn hóa phụ mà họ đã gặp, thuộc về, ngưỡng mộ, không thích hoặc thậm chí được tạo ra. Để bắt đầu, tôi đã gặp:
- Các công ty và nhà phát triển do Microsoft điều hành : toàn bộ ngăn xếp của họ là từ Redmond, WA. E-mail là Outlook là e-mail. Web là IE và IIS. Họ có các ràng buộc lớn của thuê bao MS Developer Network có đầy đủ nhiều phiên bản VB, .net, Visual Studio, v.v. Tránh làm việc với shell / dòng lệnh. Đừng xem những gì ồn ào với nguồn mở và tất cả là như vậy. Các công ty trung tâm MS có xu hướng 9-5 và khá đoàn thể (được điều hành bởi các nhà quản lý doanh nghiệp, không phải người làm phần mềm). Ngày nay (với sự sẵn có rộng rãi của các công cụ không phải MS), đây là phản đề của văn hóa hacker.
- Những người CS trường học cũ : họ thường biết rất rõ về Lisp và Unix; đôi khi, họ có thể đã tự viết một Lisp bán phổ biến hoặc một tiện ích hệ thống. Rất ít, nếu có, những thứ "công nghệ phần mềm" là mới đối với họ, và họ cũng không bị ấn tượng bởi điều đó. Biết các tài liệu tham khảo, lịch sử và ý nghĩa cấp cao hơn của các ngôn ngữ lập trình như Lisp, C, Prolog và Smalltalk. Có thể cay đắng về kết quả AI của thập niên 80 và 90. Có xu hướng là người dùng Emacs. Có thể gõ các lệnh shell nhiều dòng mà không chớp mắt. Lời khuyên của họ có thể bằng mật mã, nhưng chứa vàng một khi đã hiểu.
- Các nhà phát triển web trường học mới : chơi với máy tính và trò chơi video lớn lên, nhưng thường chỉ thực sự bắt đầu lập trình vào cuối thập niên 90 hoặc đầu '00. Thoải mái với 1 đến 1,5 kịch bản / ngôn ngữ động; nghĩ rằng C và các ngôn ngữ bên ngoài Ruby / Perl / Python là không cần thiết / ma thuật. Có thể đã coi HTML là lập trình ban đầu. Có xu hướng lấy Mac và cuồng tín / phi lý về nó. Sử dụng các khung nhiều hơn là xây dựng chúng. Thường quá nhiệt tình về NoQuery và / hoặc Ruby On Rails.
- CS trường học mới : rất nhiều khóa đào tạo về thống kê, mô hình Bayes và suy luận; đừng nói "AI", hãy nói "học máy." Nhiều Java hơn Lisp, nhưng cũng có thể là chuyên gia lập trình Haskell. Nhìn thấy những thành công lớn trong thế giới thực của các chuyên gia trong lĩnh vực của họ (Google, tài chính / người thuê) thường khiến họ (hơn) tự tin. Nhưng dữ liệu lớn, và việc xử lý phân tán như vậy, thực sự đang thay đổi thế giới.
Các ví dụ trên không có nghĩa là hoàn thành, chính xác, trực giao hoặc khách quan. :) Chỉ là những gì tôi đã nhìn thấy cá nhân, và cung cấp để châm ngòi cho một số cuộc thảo luận và phác thảo của câu hỏi rộng hơn. Hãy đồng ý!