Linux.
Không đến mức thay đổi hoàn toàn như #1 muốn nhưng sự phong phú các công cụ của nó cũng có thể thay đổi phần nào thói quen trong việc lập trình của chúng ta. Thay vì chỉ dựa vào một bộ công cụ do một hãng nào đó cung cấp thì bây giờ có rất nhiều tổ hợp các sự lựa chọn phù hợp cho từng cá nhân, dự án.
IDE = môi trường phát triển tích hợp.
Linux là một môi trường bao gồm đủ các loại tool hỗ trợ cho lập trình viên:
- Editor: vim, emac, ... muôn màu muôn vẻ, ai thích dùng gì thì dùng.
- Core utils như bash grep, sed, awk, find. Tool hỗ trợ cho việc edit, tìm kiếm code. Với grep thậm chí ta còn có thể tìm kiếm trong file object hoặc file thực thi.
- Các loại profiler như gperf, gcov, operf, perf, ... Giúp phân tích cặn kẽ mọi ngóc ngách của chương trình về mặt performance. Từ thời gian thực hiện của từng hàm, số instruction cho đến tỉ lệ cache hit/miss, tỉ lệ branch misspredict. Nếu muốn sâu hơn nữa thì cũng có tool vẽ hộ quá trình hoạt động của pipeline khi chạy chương trình để tìm xem nó bị tắc chỗ nào, qua đó tối ưu lại thứ tự thực hiện các phép toán,
- Các thể loại sanitizer cho phép phát hiện những thứ bất thường của chương trình: leak sanitizer, memory sanitizer, thread sanitizer, undefined behavior sanitizer.
- Và còn nhiều thứ nữa: debugger, build system.