Có lợi gì khi nghiên cứu qua những điều cơ bản của ngôn ngữ cốt lõi khi mục tiêu chính là dựa vào khuôn khổ của nó? [đóng cửa]


10

Xin lưu ý rằng đây không phải là một ' Tôi nên biết bao nhiêu [ ngôn ngữ lập trình chèn ở đây ] trước khi chuyển sang [ chèn khung ở đây ]?' Điều tôi muốn biết là việc học những khái niệm nâng cao của ngôn ngữ lập trình có ích như thế nào khi ý định của bạn chủ yếu dựa vào khuôn khổ của nó trong phần lớn thời gian. Vì vậy, ví dụ tôi đã bắt đầu sử dụng jQuery và trước tiên đã dành thời gian để thực sự nắm bắt các khái niệm cốt lõi của Javascript. Ngoài ra, tôi còn có một vài cuốn sách cơ bản (ví dụ như Bí mật của Ninja Ninja) trên kệ thực sự đi sâu vào ngôn ngữ. Khi tôi lướt qua các trang mặc dù tôi thấy rằng một chút công bằng của nó không chuyển sang jQuery vì ý định chính của tôi là thao tác DOM.

Điều tương tự có thể được nói cho Ruby và RoR. Những cuốn sách này sẽ làm cho tôi một lập trình viên tốt hơn tổng thể? Có lẽ. Những chủ đề này có thể giúp tôi trở nên tốt hơn nhiều với khuôn khổ của nó không? Đó là những gì tôi đang có một thời gian khó hiểu.


7
Khi gỡ lỗi, nó thường giúp nếu bạn hiểu những gì đang xảy ra đằng sau bức màn. Ngoài ra, tôi chủ yếu học những thứ mới khi tôi cần, và tôi thích nó.
marczellm

2
Tôi thuộc loại marczellm về điều này. Quan điểm chung của tôi là bạn chỉ có rất nhiều mã mà bạn sẽ có thể tạo ra trong cuộc sống của mình, và ngôn ngữ, phương ngữ và khung công tác sẽ phát triển nhanh hơn bạn có thể viết mã. Nếu bạn đã có thể làm việc với một số ngôn ngữ và khung, thì có lẽ bạn muốn nghiên cứu chúng trên cơ sở cần biết hoặc muốn biết, chứ không phải là các rãnh ngày càng tăng trong vành đai của bạn.
Panzercrisis

Tôi sẽ nói rằng đây một câu hỏi "Bao nhiêu" - nó chắc chắn có cùng một câu trả lời đó là thang điểm trượt tùy thuộc vào hoàn cảnh chính xác của bạn.
jmoreno

jQuery là một chút của một trường hợp đặc biệt. Nó gần như là một ngôn ngữ cụ thể miền khác được nhúng trong Javascript. (gần như không yên tĩnh). Tôi tự hỏi là vì sự đặc biệt này, câu hỏi này sẽ được viết tốt hơn về jQuery và Javascript (chứ không phải là jQuery và javascript chỉ là một ví dụ)
Lyndon White

Câu trả lời:


27

Đó là quan trọng hơn để nghiên cứu ngôn ngữ hơn là để nghiên cứu khuôn khổ. Học tốt ngôn ngữ và bạn sẽ sử dụng khung tốt.

Theo thứ tự quan trọng (quan trọng nhất trước tiên):

  1. Nguyên tắc lập trình cơ bản - Thuật toán, cấu trúc dữ liệu, v.v.
  2. Mô hình ngôn ngữ - OOP, Chức năng, v.v.
  3. Đặc điểm ngôn ngữ.
  4. Cú pháp và khung.

2
Nhiều người ủng hộ điều này nếu tôi có thể. Một lập trình viên sẽ bị giới hạn cả về thiết kế và khả năng cho công việc nâng cao bởi những gì họ không biết.
Peter Smith

8
5. Mã thành ngữ. Đọc mã của người khác và tìm hiểu phong cách của ngôn ngữ cụ thể này.
Joshua Taylor

5
@JoshuaTaylor Tôi nghĩ rằng tôi đã đặt nó trước tầm quan trọng, vì mã thành ngữ có thể được sử dụng với khung và học riêng chúng sẽ hữu ích hơn - các thành ngữ ngôn ngữ không phải là một phần của khung và người dùng của khung có thể được thêm vào
Izkata

Nâng cao bởi vì nó xác nhận những thành kiến ​​cá nhân của tôi. Tuy nhiên, muốn có nguồn của bạn xin vui lòng.
Aaron Hall

5

Tất nhiên. Câu hỏi đặt ra là "lợi ích đó có đáng để đầu tư thời gian không?". Tôi sẽ lập luận rằng nó luôn như vậy, nhưng nó chắc chắn phụ thuộc vào bạn và môi trường của bạn vì chúng sẽ ảnh hưởng đến lợi ích (môi trường của bạn sẽ thu được bao nhiêu từ kiến ​​thức của bạn) so với chi phí (bạn mất bao lâu để học và bạn học tốt như thế nào tiếp thu kiến ​​thức).

Tại sao tôi lại cho rằng nó có lợi? Bởi vì bạn sẽ không luôn ở trong khuôn khổ. Ngay cả khuôn khổ toàn diện nhất vẫn là một phần của hệ sinh thái lớn hơn. Bạn không thể thực hiện các cuộc gọi jQuery một mình. Bạn cần biết cách liên kết tập lệnh của mình vào trang, cách chạy, cách tương tác với nội dung bạn muốn làm. Đó có thể là "điều cơ bản" trong cuốn sách của bạn, nhưng tôi luôn thấy rằng kiến ​​thức sâu hơn đã giúp tôi tạo mã nhanh hơn và chắc chắn gỡ lỗi nhanh hơn. Khung hay không.

Ngoài ra, thế giới thực có một thói quen khó chịu khi xâm nhập vào các lập trình viên. Chắc chắn, nhiệm vụ của bạn hôm nay có thể là thực hiện một số thao tác DOM, nhưng ngày mai bạn có thể cần kết nối một số SWFObject. Có một nền tảng tốt sẽ cho phép bạn điều chỉnh dễ dàng hơn để thay đổi môi trường.

Và cuối cùng, mặc dù bạn chỉ muốn thực hiện thao tác DOM, rất ít lập trình viên làm việc một mình nữa. Các đồng nghiệp của bạn có thể sẽ làm những điều nâng cao hơn với ngôn ngữ lập trình. Bạn sẽ cần có thể đọc mã đó, hoặc ít nhất, không làm hỏng nó.


1

Có lẽ cần một chút cân bằng trong số tiền bạn nên học. Đó không phải là tất cả hoặc không có gì, vì vậy hãy dành nhiều thời gian cho nó nhất có thể. Bạn phải tự hỏi những rủi ro mà bạn đang chờ đợi để chấp nhận bằng cách dựa vào khuôn khổ.

Thật tuyệt nếu tất cả những gì bạn cần là để có được một số Sản phẩm khả thi tối thiểu được vận hành. Sẽ không có hiệu suất lớn hoặc gotchas yêu cầu phức tạp. Điều này giả định rằng bạn đã chọn một khung có thể xử lý những gì bạn đang cố gắng xây dựng.

Ở phía bên kia của quang phổ là nếu bạn đang làm việc trên một ứng dụng khá lớn / phức tạp và bạn tìm thấy một cái gì đó mà khung xử lý kém. Không có vấn đề gì lớn, vì vậy cuối cùng bạn phải học thêm JavaScript. Bạn sẽ phải dành thời gian đó cho nó nếu bạn học nó từ đầu. Nhưng bạn có thời gian không? Bạn sẽ có thể học các nguyên tắc cơ bản dưới sự căng thẳng của việc không hoàn thành công việc đúng hạn? Không ai có thể trả lời điều đó.

Cân bằng nó có lẽ là đặt cược tốt nhất. Tăng tốc cho bản thân. Tìm hiểu một số JavaScript nếu bạn có thể. Bạn có thể không trở thành một chuyên gia, nhưng đó không phải là lý do để bỏ qua nó. Các khung được tạo bởi những người cần giải quyết vấn đề tương tự như của bạn, nhưng không chính xác như của bạn.


1

Một lĩnh vực chung bị đào sâu trong (các) khung trước khi biết rõ ngôn ngữ cốt lõi là hiệu suất. Điều này đúng với tất cả các ngôn ngữ / nền tảng ( Hibernate n + 1 select, v.v.). Dưới đây là rất nhiều mẹo và thủ thuật của JQuery dựa trên kiến thức tốt về ngôn ngữ cốt lõi liên quan đến hiệu suất:

Sử dụng thay cho mỗi chức năng bản địa luôn nhanh hơn bất kỳ đối tác trợ giúp nào. Bất cứ khi nào bạn lặp qua một đối tượng nhận được dưới dạng JSON, bạn nên viết lại JSON của mình và làm cho nó trả về một mảng mà qua đó bạn có thể lặp dễ dàng hơn.

Sử dụng ID thay vì các lớp Sẽ tốt hơn nhiều khi chọn đối tượng theo ID vì hành vi của thư viện: jQuery sử dụng phương thức gốc của trình duyệt, getEuityByID (), để truy xuất đối tượng, dẫn đến truy vấn rất nhanh.


0

Tôi nghĩ rằng câu hỏi của bạn dựa trên một tiền đề sai. Bạn bắt đầu bằng cách nói rằng bạn dự định dựa vào một khung, và sau đó bạn hỏi liệu có ích gì khi học vượt ra ngoài khuôn khổ đó không. Vì vậy, tất nhiên bạn đi đến kết luận nó không đáng. Nhưng tiền đề đó là thiếu sót. Bạn không nên tập trung vào việc sử dụng một khung. Bạn nên tập trung vào việc sử dụng đúng công cụ cho đúng công việc . jQuery thực sự giỏi ở một số tác vụ nhất định và Ruby on Rails cũng như bất kỳ khung công tác nào khác. Nhưng chúng không phải luôn là công cụ phù hợp cho mọi thứ. Tìm hiểu về ngôn ngữ ngoài khuôn khổ và thậm chí tìm hiểu về các khung hoặc microframs khác hoặc các công cụ khác, giúp bạn xác định khi nào khung của bạn cản trở bạn hơn là giúp ích và nó cho bạn khả năng tìm kiếm khác,

Vì vậy, câu trả lời của tôi là: có, nó hoàn toàn xứng đáng vì khung không phải là công cụ phù hợp cho mọi công việc.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.