Trong nhiều năm, tôi đã cân nhắc đào sâu vào những gì tôi coi là ngôn ngữ "cấp thấp". Đối với tôi điều này có nghĩa là C và lắp ráp. Tuy nhiên tôi không có thời gian cho việc này, nó cũng không cần thiết.
Bây giờ vì tôi không thấy bất kỳ sự cần thiết nào phát sinh, tôi cảm thấy mình chỉ nên sắp xếp thời gian để học môn học hoặc bỏ kế hoạch mãi mãi.
Vị trí của tôi
Trong 4 năm qua tôi đã tập trung vào "công nghệ web", có thể thay đổi và tôi là nhà phát triển ứng dụng, không có khả năng thay đổi.
Trong phát triển ứng dụng, tôi nghĩ khả năng sử dụng là điều quan trọng nhất. Bạn viết các ứng dụng sẽ được "tiêu thụ" bởi người dùng. Các ứng dụng đó càng có thể sử dụng được, bạn càng tạo ra nhiều giá trị.
Để đạt được khả năng sử dụng tốt, tôi tin rằng những điều sau đây là khả thi
- Thiết kế tốt : Các tính năng được cân nhắc kỹ lưỡng có thể truy cập thông qua giao diện người dùng chu đáo.
- Tính chính xác : Thiết kế tốt nhất không có giá trị gì, nếu không được thực hiện đúng.
- Tính linh hoạt : Một ứng dụng A cần liên tục phát triển, để người dùng không cần chuyển sang một ứng dụng B khác, có các tính năng mới, mà A có thể thực hiện. Các ứng dụng giải quyết cùng một vấn đề không nên khác nhau về tính năng nhưng về triết lý.
- Hiệu suất : Hiệu suất đóng góp cho trải nghiệm người dùng tốt. Một ứng dụng lý tưởng luôn đáp ứng và thực hiện các nhiệm vụ của nó một cách hợp lý nhanh chóng (dựa trên tần số của chúng). Giá trị của tối ưu hóa hiệu suất vượt quá điểm mà người dùng có thể nhận thấy là đáng nghi ngờ.
Tôi nghĩ rằng lập trình cấp thấp sẽ không giúp tôi điều đó, ngoại trừ hiệu suất. Nhưng viết toàn bộ ứng dụng bằng ngôn ngữ cấp thấp vì mục đích hiệu suất là tối ưu hóa sớm đối với tôi.
Câu hỏi của tôi
Những gì lập trình cấp thấp có thể dạy tôi, những ngôn ngữ khác sẽ không dạy tôi? Tôi có thiếu một cái gì đó không, hay nó chỉ là một kỹ năng, được sử dụng rất ít để phát triển ứng dụng? Xin hãy hiểu rằng tôi không đặt câu hỏi về giá trị của C và lắp ráp. Chỉ là trong cuộc sống hàng ngày của tôi, tôi khá vui khi tất cả những điều phức tạp của thế giới đó được trừu tượng hóa và quản lý cho tôi (chủ yếu là các lớp được viết bằng C / C ++ và tự lắp ráp). Tôi chỉ không thấy bất kỳ khái niệm nào, có thể là mới đối với tôi, chỉ có chi tiết tôi sẽ phải nhét đầu vào. Vì vậy, những gì trong đó cho tôi?
Kết luận của tôi
Cảm ơn tất cả mọi người cho câu trả lời của họ. Tôi phải nói rằng, không ai thực sự làm tôi ngạc nhiên, nhưng ít nhất bây giờ tôi khá chắc chắn rằng tôi sẽ bỏ lĩnh vực quan tâm này cho đến khi có nhu cầu về nó.
Theo hiểu biết của tôi, việc viết lắp ráp ngày nay cho các bộ xử lý khi chúng được sử dụng trong các CPU ngày nay không chỉ phức tạp một cách bất thường mà còn có nguy cơ dẫn đến hiệu năng thời gian chạy kém hơn so với đối tác C. Tối ưu hóa bằng tay gần như là không thể do OOE, trong khi bạn không nhận được tất cả các loại tối ưu hóa mà trình biên dịch có thể thực hiện tự động. Ngoài ra, mã này là di động, bởi vì nó sử dụng một tập hợp nhỏ các lệnh có sẵn hoặc được tối ưu hóa, nhưng sau đó nó có thể chỉ hoạt động trên một kiến trúc.
Viết C gần như không cần thiết nữa, như trong quá khứ. Nếu tôi viết một ứng dụng bằng C, tôi sẽ sử dụng nhiều thư viện và khung đã được kiểm tra và thiết lập, điều đó sẽ giúp tôi thực hiện các thói quen sao chép chuỗi, sắp xếp các thuật toán và các công cụ khác phục vụ như bài tập ở trường đại học. Mã riêng của tôi sẽ thực thi nhanh hơn với chi phí an toàn loại. Tôi không quan tâm đến việc tái cấu trúc bánh xe trong quá trình phát triển ứng dụng thông thường, cũng không cố gắng gỡ lỗi bằng cách xem xét các bãi rác cốt lõi: D
Tôi hiện đang thử nghiệm ngôn ngữ và thông dịch viên, vì vậy nếu có bất cứ điều gì tôi muốn xuất bản, tôi cho rằng tôi Sẽ chuyển một khái niệm hoạt động sang C, mặc dù C ++ cũng có thể thực hiện thủ thuật này.
Một lần nữa, cảm ơn mọi người vì câu trả lời và cái nhìn sâu sắc của bạn.