Tôi làm việc chủ yếu với tư cách là nhà phát triển C (và Perl), vì ứng dụng đã trưởng thành, với lịch sử khá dài (tức là ban đầu được phát triển vào đầu những năm 90). Bộ ứng dụng ban đầu được phát triển cho các máy trạm đồ họa dựa trên Unix. Công việc trước đây của tôi là một tình huống tương tự, một ứng dụng phân tán trưởng thành được phát triển trên nhiều nền tảng Unix, ban đầu vào đầu những năm 1990, và do kích thước và độ trưởng thành của mã nguồn, sẽ rất khó để biện minh đơn giản. sang một ngôn ngữ phát triển mới hoặc thậm chí chuyển sang C++.
Tôi sẽ tưởng tượng vẫn còn một số lượng lớn các ứng dụng nội bộ (được sử dụng cho mục đích nội bộ, không được bán dưới dạng sản phẩm) được viết bằng C vẫn đang được duy trì. Không hoàn toàn không giống như các ứng dụng COBOL khổng lồ mà các công ty lớn (bảo hiểm, tài chính, ngân hàng) cũng đang được duy trì.
Đối phát triển mới trong C, những người khác đã đề cập đến thị trường hệ thống nhúng, nơi sự phát triển thường là dành cho phần mềm đưa vào ROM hoặc EEPROM bộ nhớ/flash, nơi nó được gọi là firmware, cho microcontrollers (Microchip PIC, Atmel AVR, 80C51, 68HC11, vv), nơi kích thước mã đối tượng, sử dụng RAM và các vấn đề về hiệu suất, do đó việc sử dụng ngôn ngữ lập trình có ít trừu tượng hoặc giả định chung hoặc giả định cao hơn là mong muốn.
Một điều quan trọng về những người lập trình C giỏi, là họ được mong đợi nếu không cần biết nhiều hơn về cấu trúc và thuật toán dữ liệu. Hàng đợi ưu tiên, Cây nhị phân, MergeSort, QuickSort, Knuth-Morris-Pratt và Karp-Rabin nên ít nhất là quen thuộc. Điều này là do ngôn ngữ C thiếu các thư viện STL, Boost, CPAN và các thư viện chuẩn khác có sẵn bằng các ngôn ngữ khác. Điều này là ít nhất một phần vì hầu hết các triển khai là kiểu cụ thể (do thiếu mẫu hoặc gõ động hoặc cơ chế tương tự) để có đủ các thói quen chung hữu ích trong thực tế.
Biết nhiều ngôn ngữ lập trình không phải là điều xấu, ngay cả khi bạn không cảm thấy đủ thoải mái để khẳng định đủ khả năng để lập trình trong các ngôn ngữ bổ sung chuyên nghiệp. Ngôn ngữ phát triển web "hiện đại" hoặc "hợp thời trang" có thể phù hợp. Perl, Python và Ruby là những ứng cử viên tiềm năng tốt.
Đối với kinh nghiệm lập trình, các ngôn ngữ chức năng như LISP, Đề án, Prolog *, ML, Caml mục tiêu, Haskell và Scala là những ứng cử viên tốt để làm cho bạn "nghĩ khác". Phải thừa nhận rằng Prolog thực sự là một ngôn ngữ lập trình logic khai báo, nhưng nó vẫn là kinh nghiệm lập trình mở rộng.
Tôi đoán sau câu hỏi ngớ ngẩn cuối cùng của bạn, bạn vẫn chưa đọc Câu hỏi thường gặp về đặt câu hỏi. Điều này không liên quan đến lập trình (tức là viết mã) ... nó liên quan đến việc trả tiền cho nó. – gnovice
lập trình là động từ, lần cuối tôi kiểm tra để trở thành lập trình viên bạn cần một công việc. –
Đơn giản chỉ cần sử dụng động từ "lập trình" trong câu hỏi của bạn không làm cho nó liên quan đến lập trình. Và không, bạn không cần một công việc để trở thành một lập trình viên ... một số làm điều đó như một sở thích. – gnovice