Làm thế nào để bạn học khung / API / chức năng tiêu chuẩn của ngôn ngữ? [đóng cửa]


14

Tôi hiểu cách viết mã. Tôi biết làm thế nào để có được những điều cơ bản về ngôn ngữ tôi sử dụng thường xuyên. Tôi biết cách viết các biểu thức chính quy hơi cơ bản một chút, tôi có thể nói chuyện với cơ sở dữ liệu, tôi có thể chấp nhận đầu vào, đầu ra in, xử lý tệp, v.v. Tôi ít nhiều yên tâm về khả năng cơ bản của mình để nhổ mã nguồn cho chương trình phức tạp vừa phải.

Vấn đề của tôi là tôi không bao giờ cảm thấy như thế là đủ. Tôi cảm thấy như mình chỉ biết một phần nhỏ trong thư viện tiêu chuẩn của ngôn ngữ của mình, và cho đến khi tôi hiểu tất cả, ít nhất là khi vượt qua, tôi không có quyền thậm chí cố gắng để có được một công việc sử dụng nó. Tôi mới ra khỏi trường đại học (cộng đồng / thiếu niên / whathaveyou), và bạn bè của tôi đang kiếm được việc làm trong ngành, nhưng tôi vẫn cảm thấy như một kẻ giả mạo hoặc một người đặt ra và rằng tôi không đủ tốt.

Có một điểm đánh dấu nào cho "Tôi biết đủ" mà tôi có thể sử dụng để đảm bảo với bản thân rằng tôi có thể viết mã? Tôi có nên lấy thực tế là tôi ít nhất có khả năng mã hóa FizzBuzz như một chỉ báo cho thấy việc áp dụng cho mọi thứ là ổn? Làm cách nào tôi có thể tìm hiểu thêm về các thư viện, khung và / hoặc API tiêu chuẩn này tương đối dễ dàng? Tôi viết mã một cách thường xuyên, tôi đọc sách, nhưng kiến ​​thức của tôi vẫn cảm thấy rất nông cạn.

CỨU GIÚP!


3
bạn càng học nhiều bạn càng nhận ra bạn biết ít như thế nào. +1 cho một câu hỏi rất hay.
devnull

Tôi không chắc thứ này đáng để ghi nhớ. Rốt cuộc, bạn đã có một tài liệu có thể tìm kiếm, IDE thông minh, v.v. Sẽ tốt hơn nhiều khi sử dụng bộ não của bạn cho những điều quan trọng, cho kiến ​​thức cơ bản, giữ tất cả các API dễ bay hơi bên ngoài.
SK-logic

I feel like I only know a small portion of the standard library of my languagecâu này nên là phương châm chính thức của C ++ .
ZJR

Câu trả lời:


8

Người bạn giới thiệu của tôi:

ngừng suy nghĩ nhị phân (0/1, không biết / biết, không biết chữ / biết chữ) và bắt đầu suy nghĩ mờ nhạt (tôi biết ở một mức độ nào đó). Tất cả chúng ta đều biết một cái gì đó và ở một mức độ nào đó. Kiến thức là một sự liên tục và tất cả mọi người được đặt ở đâu đó giữa người mù chữ nhất và người hiểu biết nhất, tinh vi nhất. Bạn có thể làm công việc, nhưng ở cấp độ của bạn và dưới đó . Đây là quy tắc. Đừng sợ. Đừng chờ đợi một ngày khi bạn đã học mọi thứ trong khuôn khổ của mình và IMHO ngày đó sẽ không bao giờ đến. Ngay cả các nhà phát triển 20 năm kinh nghiệm vẫn đọc để tìm hiểu những điều mới. Lập trình có bản chất rộng đến mức bạn không nên (hoặc bạn không thể) lấy tất cả.

Hòa mình vào môi trường làm việc và đừng sợ hãi. Tất cả chúng ta đã có những ngày không thể làm gì đó. Đó không phải là một tội ác. Đó là một phần công việc của chúng tôi. Bạn không biết, bạn học, bạn cố gắng thực hiện công việc và bạn đã hoàn thành nó.

Tôi nghĩ rằng những gì bạn cần phải có bây giờ, không phải là kiến ​​thức nhiều hơn. Thay vào đó, nó chỉ đơn giản là sự tự tin.

Chúc may mắn


Tôi hiểu rằng đó là tất cả kiến ​​thức mờ nhạt và một số chi tiết JIT-Learning. Tôi chỉ không biết làm thế nào để đảm bảo với chính mình rằng tôi thậm chí còn có một sự hiểu biết mờ nhạt về những điều cơ bản. Tôi lo lắng rằng tôi đang thiếu một số thứ thực sự quan trọng hoàn toàn.
Ném đi

2

Tôi tin rằng bạn đang hỏi sai câu hỏi ở đây, và nếu bạn cho phép tôi một chút tâm lý không chính đáng, tôi nghĩ đó là vì bạn bị bối rối bởi một chút nghi ngờ bản thân và sự tự tin thấp.

Ngừng so sánh bản thân với người khác

Trước hết, bạn không thể so sánh bản thân ở mức độ rộng với các lập trình viên khác. Ngay cả những ngôi sao nhạc rock mà bạn có thể trông đợi ngay bây giờ cũng có thể có vấn đề (sự chậm chạp, cách làm việc khác và vấn đề về thái độ), vì vậy đừng lo lắng về việc bạn có so sánh với họ không. Thay vào đó, cách tiếp cận của bạn nên có được càng nhiều cố vấn càng tốt, lượm lặt tất cả kiến ​​thức có thể, và trở nên tốt hơn bằng cách xem và bắt chước các chuyên gia.

Học để học

Ngoài ra, cách tiếp cận tốt nhất để trở thành một lập trình viên và người học tốt hơn nói chung không phải là học những điều cụ thể, hoặc hiểu theo trí nhớ. IMO, học thuộc lòng là hình thức học tập thấp nhất. Nó giống như một chương trình thiếu bước "xử lý" quan trọng của Đầu vào-> Quá trình-> Đầu ra. Dạy cho bản thân các khái niệm giống như những gì bạn đã đề cập trong câu hỏi của bạn. Hiểu biết rộng về lập trình là nơi bạn cung cấp nhiều giá trị nhất. Học một ngôn ngữ mới trong các mô hình mà bạn quen thuộc là việc đi lại so với học cách giải quyết vấn đề.

Và bây giờ, đối với một số lời khuyên tồi từ một người chỉ lớn hơn bạn một chút

Một trong những sai lầm lớn nhất của tôi khi còn trẻ là tôi đã đưa ra quyết định của mọi người cho họ bằng cách cho rằng tôi không đủ tốt, và thời gian và tài năng của tôi không xứng đáng với thời gian và tiền bạc của họ. Tôi liên tục phát huy khả năng và tài năng của mình, mặc dù có thể vào thời điểm đó. Đây là một sai lầm rất lớn.

Những gì bạn cần hiểu là ngay cả một lập trình viên khá vừa phải cũng có vẻ giống như một phù thủy để bình thường hàng ngày. Họ có thể ghét bạn, họ có thể phát ốm vì luôn phải hỏi một mọt sách địa phương cách bật máy tính của họ, nhưng vì họ thiếu cái nhìn sâu sắc và hiểu về những gì bạn làm, cho dù điều đó có vẻ tầm thường và đơn giản với bạn, điều đó là không thể đối với họ.

Mọi người S pay trả cho bạn thời gian, tài năng và năng lượng của bạn. Có đủ các lập trình viên hoàn toàn khủng khiếp trong ngành công nghiệp của chúng ta đang giết chết chỉ vì họ có thể ngồi vào một chỗ và (được cho là) ​​viết các chương trình cơ bản. Chơi bài của bạn ngay bằng cách phát triển sự tự tin thông qua thành tích, rèn luyện khả năng nói và ngôn ngữ cơ thể, tiếp tục làm chủ nghề của bạn bằng cách luôn tìm kiếm những điều bạn không biết và chạy về phía những điều đó để tìm hiểu thêm và cuối cùng: ngừng chơi những kỹ năng bạn đã phát triển.


2

"Tôi biết đủ" và "Tôi tốt cho công việc này" hoàn toàn khác nhau.

IMO "Tôi tốt cho công việc này" gần hơn với "Tôi biết những điều cơ bản và tôi biết - học gì / tìm kiếm ở đâu / hỏi ai / đọc gì - để hoàn thành nhiệm vụ của mình".

(điều này không có nghĩa là họ sẽ thuê bạn nếu bạn cần 1-2 tháng để học ví dụ: viết / đọc trong các tệp XML. Tôi hy vọng bạn hiểu ý của tôi.)

Ngoài ra, tôi không nghĩ bất kỳ lập trình viên nào sẽ nói "Tôi biết đủ." (có thể "đủ để có được công việc", "đủ để giàu có", "đủ để ...", nhưng không "đủ". :))

EDIT: Khi tôi nói "cơ bản", ý tôi là

  1. Khái niệm cơ bản về lập trình (bit, byte, biến, hàm, tham số, vòng lặp, điều kiện, đệ quy)
  2. Khái niệm cơ bản về ngôn ngữ lập trình mà bạn sẽ làm việc (cách biên dịch chương trình, cách gỡ lỗi chương trình; cách sử dụng IDE; 90% từ khóa và biết chúng làm gì, khi nào sử dụng, cách sử dụng chúng; loại; cách sử dụng những thứ từ 1 trong ngôn ngữ; thư viện hữu ích nhất; xử lý lỗi)
  3. "Kết nối 1 và 2 với máu của bạn" :)

(Có thể bạn sẽ cần sử dụng 2-3 ngôn ngữ trong công việc của bạn)

Tôi đồng ý với Saeed, lao vào công việc, làm việc là cách tốt nhất để học hỏi mọi thứ, bạn làm việc với những người biết nhiều hơn bạn, bạn học hỏi từ họ, xem cách họ làm việc, nhưng họ bắt đầu giống như bạn (hoặc có thể họ bắt đầu với ít kiến ​​thức hơn bạn có bây giờ).


Tôi sẽ không mất một tháng để đọc và viết các tệp XML, mặc dù tôi vẫn nghĩ rằng nó có thể sẽ khiến tôi mất một ngày. Bạn có thể giải thích về "những điều cơ bản" không? Đây thực sự là lực đẩy chính cho câu hỏi của tôi, vì tôi không biết rằng tôi biết những điều cơ bản. Tôi chắc chắn biết một số điều cơ bản, nhưng tôi thực sự lo lắng rằng tôi đang thiếu một số khoảng trống thực sự cơ bản.
Ném đi

1

Bạn có một thái độ tuyệt vời! Một trong những yếu tố cơ bản để thành công là không bao giờ tự mãn. Không bao giờ ổn định. Đừng bao giờ thỏa hiệp với chính mình. Điều đó nói rằng, rất khó để nhận ra chính xác làm thế nào để làm điều đó (ví dụ: biết 'thực hành tốt nhất' để thực hiện nhiệm vụ X không đơn giản như việc Google vì mọi người đều có ý kiến ​​riêng của họ).

Tốt nhất là học cách xác định mã tốt và lý do đằng sau nó ( làm thế nàotại sao ). Đối với điều này, tôi khuyên bạn nên đọc blog của các chuyên gia có uy tín trong lĩnh vực của chúng tôi vì điều này sẽ đưa bạn đến loại tư duy cần tìm. Đóng góp cho một dự án nguồn mở cũng là một cách để nhảy vào tận cùng, tuy nhiên, nó sẽ cho bạn cơ hội học hỏi từ những người khác khi nó đang tiến triển.


Cảm ơn. Tôi không nghĩ rằng tôi nhận ra rằng tôi cần bao nhiêu để nghe những lời khen ngợi như vậy.
Ném đi

0

Tôi nghĩ rằng hầu hết chúng ta đã ở trong tình huống đó sớm hay muộn trong sự nghiệp. Và mỗi khi bạn chọn một ngôn ngữ mới, tất cả lại bắt đầu lại. Vì vậy, lời khuyên đầu tiên từ tôi sẽ là: Đừng tuyệt vọng, bạn không cô đơn. Và: có lẽ bạn tốt hơn bạn nghĩ, nếu chỉ vì thực tế là bạn tự phản ánh. Hãy nhớ câu ngạn ngữ cũ: Những kẻ ngốc vội vã ở nơi những thiên thần sợ hãi bước đi.

Ngày nay, hầu hết các ngôn ngữ đều có thư viện tiêu chuẩn đơn giản là quá lớn đối với bất kỳ cá nhân nào biết hoàn toàn trái tim. Thêm khung và API trên đầu trang và bạn không thể biết tất cả. Điều tốt nhất bạn có thể làm là biết những điều cơ bản và sau đó tìm ra nơi để tìm hiểu thêm. Nó trở nên tốt hơn với kinh nghiệm, vì vậy lời khuyên tốt nhất có lẽ là: chỉ cần đi và sử dụng công cụ!

Không có điểm đánh dấu "đàng hoàng" duy nhất. Tất cả phụ thuộc vào môi trường. Những gì sẽ là hoàn toàn đủ cho một công ty / dự án, có thể là cách cho một công ty khác. Nếu bạn thực sự có thể làm những gì bạn nói bạn có thể, tôi sẽ lớp cho bạn một học sinh khá tốt và bạn sẽ không gặp khó khăn gì trong việc tìm kiếm công việc tử tế.


[Sao chép / Dán từ nhận xét của tôi về nhận xét của @ e-MEE ở trên] Tôi sẽ không mất một tháng để đọc và viết các tệp XML, mặc dù tôi vẫn nghĩ rằng có thể tôi sẽ mất một ngày. Bạn có thể giải thích về "những điều cơ bản" không? Đây thực sự là lực đẩy chính cho câu hỏi của tôi, vì tôi không biết rằng tôi biết những điều cơ bản. Tôi chắc chắn biết một số điều cơ bản, nhưng tôi thực sự lo lắng rằng tôi đang thiếu một số khoảng trống thực sự cơ bản.
Ném đi

0

Dựa trên những gì bạn viết trong câu hỏi của mình, bạn thực sự có thể viết mã và bạn sẵn sàng cải thiện kỹ năng và kiến ​​thức của mình.

Mọi người, trong mỗi công việc, phải bắt đầu ít, như một người mới, và sau đó phát triển với kinh nghiệm.

Tốc độ tăng trưởng của bạn phụ thuộc vào bạn nhanh như thế nào, mọi người đều tăng trưởng với tốc độ khác nhau, điều quan trọng duy nhất là bạn không yêu cầu quá nhiều về bản thân.

Nếu điều gì đó bạn cảm thấy bạn chưa hiểu rõ, đừng lo lắng. Ngay sau đó bạn sẽ có thể có được hình ảnh.

Bạn có thể muốn bắt đầu làm việc trong ngành càng sớm càng tốt. Vì bạn đã có thể viết mã, bạn đã có thể bắt đầu làm việc. Điều này là do lý thuyết không đủ tốt, bạn cần thực hành và các vấn đề trong thế giới thực để giải quyết.

Đối với mối quan tâm về kiến ​​thức mã thư viện của bạn, nó sẽ đi cùng với thời gian, miễn là bạn tiếp tục nghiên cứu nó, đọc tài liệu và thực hành sử dụng nó. Trang web như thế này cũng rất hữu ích và bạn sẽ học nhanh hơn nếu bạn chủ động hỏi và trả lời các câu hỏi liên quan.

Một lời khuyên cá nhân: nếu bạn thực sự muốn nổi bật với nhiều người làm mã spaghetti, tự gọi mình là lập trình viên, hãy học những cách thực hành tốt nhất. Không quan trọng bạn đang học ngôn ngữ hoặc thư viện nào, học những cách thực hành tốt nhất. Điều này sẽ giúp bạn tiết kiệm rất nhiều thời gian, lỗi, trục trặc, đau đầu và sẽ giúp bạn cảm thấy một lập trình viên tốt hơn.

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.