2008-10-18 31 views
10

Tôi hoàn toàn mới lập trình - sở thích của tôi nằm trong PHP & MySql để xây dựng một ứng dụng web động cho các mục đích Quản trị quân sự. tức là thông tin chung và mạng xã hội cho các thành viên + chức năng bổ sung cho nhóm quản lý để giao tiếp hiệu quả. OK vì vậy câu hỏi - khi tôi tìm hiểu thêm về PHP có những thuật ngữ được sử dụng mà tôi không hiểu rằng phải đến từ một cơ sở chung của sự quen thuộc giữa tất cả các ngôn ngữ, nghĩa là "stack overflow" có vẻ rõ ràng - "sử dụng quá nhiều hàm đệ quy có thể đập vỡ ngăn xếp "là một hàm khác.Kiến thức chung về lập trình?

Vì vậy, có một cuốn sách (một mồi có lẽ) về lập trình nói chung cho phép một người như tôi để có một sự hiểu biết tốt hơn về những gì tất cả điều này có nghĩa?

Ghi nhớ Tôi 57 tuổi (trẻ) và tôi thực sự mới bắt đầu.

Steve

Trả lời

1

Để có được một sự hiểu biết tốt về các hoạt động bên trong của phần cứng máy tính và phần mềm một cách rất dễ đọc (không quá kỹ thuật), tôi có thể khuyên Code,The Hidden Language of Computer Hardware and Software bởi Charles Petzold.

Các chương sau nói cụ thể về một số khái niệm lập trình tổng quát hơn có mặt ở hầu hết các ngôn ngữ lập trình. Các chương trước tập trung vào nhiều lịch sử của máy tính và phần mềm hơn, do đó không liên quan đến câu hỏi của bạn.

Tuy nhiên, đây không phải là một cuốn sách lớn nên việc đọc tất cả đều phải thú vị/hữu ích.

Có những cuốn sách tốt hơn nếu bạn đang tìm kiếm giới thiệu về lập trình PHP/MySQL cụ thể, tuy nhiên nếu bạn muốn có kiến ​​thức chung hơn về cách phần mềm và phần cứng hoạt động, Code rất tuyệt.

+0

Mã là một cuốn sách tuyệt vời, một trong những cuốn sách yêu thích của tôi, nhưng tôi nghĩ rằng nó có thể hơi quá thấp đối với một người quan tâm đến việc học PHP và MySQL. –

+0

Tôi đồng ý như xa như học PHP, MySQL, nhưng tôi nghĩ rằng một cuốn sách về "lập trình nói chung" sẽ có nghĩa là một cái gì đó nhiều hơn thì chỉ là một phần giới thiệu. sang PHP. – Ash

+0

Code thực sự không nói về lập trình nói chung, đó là về máy tính và cách họ giao tiếp bằng cách sử dụng ... well, codes. –

2

Nó không phải là cuốn sách về PHP nhưng tôi nghĩ rằng một cuốn sách như "Learn to program" từ Pragmatic Bookshelf có thể hữu ích cho ai đó trong trường hợp của bạn.

9

Wikipedia có lẽ là tài nguyên tốt nhất của bạn để có thông tin chung về thuật ngữ lập trình. Một phần lớn cộng đồng của họ trùng lặp với cộng đồng lập trình, vì vậy các trang liên quan đến công nghệ thường rất chính xác, giáo dục và cập nhật. Xem các trang của họ trên stack overflowsrecursion làm ví dụ.

Ngoài ra, PHP.net là nơi tốt nhất để tìm hiểu về PHP cụ thể, nhưng bỏ qua trang chính và go straight to the tutorial nếu bạn mới bắt đầu.

Cuối cùng, tôi đặc biệt khuyên bạn nên đọc sách Head First SQL để tìm hiểu về cơ sở dữ liệu. Tất cả các ví dụ trong cuốn sách đều sử dụng MySQL. Toàn bộ bộ phim Head First là tuyệt vời. Tôi nghe nói họ có một cuốn sách PHP, nhưng tôi chưa đọc cuốn sách đó.

Cập nhật: Head First PHP & MySQL hiện khả dụng.

0

Tôi không chắc liệu có một cuốn sách nào sẽ dạy cho bạn "Nguyên tắc cơ bản về lập trình" hay không. Cách duy nhất tôi biết về việc học tất cả những điều này chỉ đơn giản là thực hành. Nhận một hướng dẫn PHP và bắt đầu xây dựng mọi thứ. Luôn luôn giữ cho tâm trí của bạn cởi mở để học những điều mới. Khi bạn tìm thấy một cách tốt hơn để làm điều gì đó hơn là một hack rất không hiệu quả bạn đặt lại với nhau từ kiến ​​thức không đầy đủ, sau đó sử dụng nó và tìm hiểu nó và tích hợp nó vào kiến ​​thức của bạn ... sau một vài năm bạn sẽ được vàng.

5

Có vẻ như bạn đang thiếu một số nguyên tắc cơ bản được đề cập trong chương trình khoa học máy tính. Không phải lo lắng, thông tin có sẵn. Bạn không phải trả tiền cho ai đó để dạy nó (mặc dù đôi khi nó tốt đẹp). Mục nhập computer science của Wikipedia không quá tệ để làm nổi bật các trường chính bạn có khả năng gặp phải. Chủ đề có lợi cho biết:

  • toán rời rạc (Giúp hiểu logic hình thức, thuật toán phức tạp, xác suất)
  • nguyên tắc cơ bản Lập trình (âm thanh như bạn có thể có một khởi đầu tốt bằng các)
  • cấu trúc dữ liệu (Ví dụ, tại sao sử dụng một hashtable so với một mảng so với một danh sách liên kết? Từ danh sách của bạn, ngăn xếp trong một stackoverflow là một cấu trúc dữ liệu.)
  • Thuật toán (Thao tác của bạn cấu trúc dữ liệu theo cách hiệu quả nhất có thể hoặc ít nhất là biết chi phí. Từ danh sách của bạn, sử dụng quá nhiều niềm vui đệ quy ction để "đập vỡ ngăn xếp" là một lựa chọn thuật toán.)
  • Kiến trúc máy tính (Hiểu điều gì thực sự xảy ra với mã của bạn sau khi được biên soạn hoặc giải thích.)
  • Mạng (Tìm hiểu giao thức, điều gì xảy ra với phần mềm của bạn khi nó muốn nói chuyện với một máy mà nó không chạy)
  • Ngôn ngữ lập trình so sánh (PHP chỉ là một cách để làm da mèo.
  • Hệ điều hành (Biết cách phần cứng tương tác với phần mềm của bạn là tốt nhưng có lẽ quan trọng hơn là phải hiểu cách nó tương tác với hệ điều hành của nó. quản lý, quản lý bộ nhớ, bảo mật)
  • Ngôn ngữ chính thức/Lý thuyết tính toán (Mô hình tính toán, ngữ pháp [được sử dụng để xác thực và diễn giải mã], giới hạn của máy tính. Thường không được sử dụng hàng ngày như một kỹ sư phần mềm. biểu thức cuối cùng có ý nghĩa sau lớp này.)
  • Phương pháp thiết kế phần mềm và vòng đời (Hãy thận trọng về thiết kế, mã hóa, kiểm tra, phát hành và duy trì phần mềm của bạn.)

Theo như sách, tôi bắt đầu bằng cách kiểm tra đọc chương trình khoa học máy tính của trường đáng tin cậy.

Stanford cung cấp một tập hợp các lớp học trực tuyến miễn phí: http://see.stanford.edu/see/courses.aspx

MIT cho phép bạn tải về tài liệu học miễn phí: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/

Kiểm tra youtube cho khoa học máy tính bài giảng liên quan.

Nếu bạn muốn tập trung vào trường học, tìm kiếm nhanh trên Amazon với bất kỳ chủ đề nào ở trên sẽ cung cấp cho bạn kết quả với đánh giá của người dùng.

Rõ ràng, được kết hợp với nhau, danh sách này không thực sự là phần giới thiệu. Tôi bắt đầu với một chủ đề nghe có vẻ thú vị và nhảy vào.

0

Đã một vài năm kể từ khi tôi đọc nó, nhưng Programming PHP đã làm một công việc tốt đẹp khi giới thiệu các khái niệm lập trình cơ bản trên đường đi. Nó không giúp ích gì nhiều cho việc giúp hiểu các khái niệm nâng cao hơn, như MVC (rất hiếm trong thế giới PHP), giống như arrays, functions, callbacks, classes, v.v.

0

Tôi thích nhận xét của Corbin, nhưng tôi sẽ thực hiện cách tiếp cận ngược lại.

Về cơ bản, với các hệ thống hiện nay, bạn thực sự không cần biết tất cả các chi tiết cấp thấp của hệ thống. Thực sự, bạn không.

Nếu bạn thấy nội dung này thú vị, toàn bộ internet là tùy ý của bạn - và chỉ đơn giản là để bạn hướng dẫn bên trong hướng dẫn bạn thông qua sự cần thiết hoặc sự tò mò đơn giản. Bạn có thể đi sâu hoặc cao như bạn muốn.

Sự thật là, tính toán ngày nay đơn giản là SO tuyệt vời mà dự án bạn muốn bắt tay chỉ là một cơ hội hoàn hảo để tìm hiểu thêm về thế giới máy tính phức tạp. Thực tế là mọi người có thể nhận được như xa như họ có thể "mà không có một đầu mối" là minh chứng cho bao xa lĩnh vực đã nâng cao. Đó là một điều tốt.

Có phải là điều tốt để hiểu được quá trình canh thành hạt? Chắc chắn rồi. Bạn có thực sự CẦN rằng sự hiểu biết có hiệu quả và có được kết quả hữu ích từ đầu tư thời gian của bạn không? Không, bạn không.

Và, khi bạn tiến bộ, nếu bạn thực sự thích công việc này (bạn cũng có thể không), trường sẽ mở rộng như bạn muốn.

Tính toán ngày nay giống như "Home Depot". Bạn có thể làm được, chúng tôi có thể giúp bạn. Có hàng trăm diễn đàn và hàng ngàn trang tài liệu, sách, blog và thảo luận có sẵn cho hầu hết mọi chủ đề.

Điều quan trọng cần tập trung vào đơn giản là hoàn thành công việc của bạn. Đừng lo lắng về việc làm cho nó hoàn hảo, đừng lo lắng về "làm điều đó đúng cách", không "kỹ sư" nó. Chỉ cần bit bit với nhau cho đến khi bạn nhận được một cái gì đó gần giống với những gì bạn muốn được thực hiện bằng cách sử dụng bất cứ điều gì bạn xảy ra để tìm hoặc intuit chính mình. Bởi vì đó là cách dễ nhất để tìm hiểu những gì bạn không biết và cách không làm những việc trong ứng dụng của bạn. Hãy thử nó và xem.

Bạn sẽ bị mù bởi các tùy chọn, kỹ thuật, mẫu, khung, vv Không chỉ có "nhiều hơn một cách để làm điều đó", có hàng trăm cách "để làm điều đó". Bỏ qua hàng trăm, và tập trung vào "làm điều đó", tuy nhiên có vẻ tự nhiên với bạn.

Và đừng để các yahoo trong tháp ngà của họ poo-poo câu hỏi của bạn, hoặc cắt nhỏ thiết kế của bạn. Trừ khi tên của họ là "Babbage" hoặc họ đã cắt bánh răng cho các máy tính pháo binh trở lại trong Thế chiến II, tất cả chúng ta đang đứng trên vai của những người khổng lồ ở đây, và tất cả chúng ta bắt đầu ở đâu đó. Những lời chỉ trích trung thực nên luôn luôn được chào đón, nhưng một số người dường như vượt ra ngoài việc có thể cung cấp điều đó và thay vào đó là nghỉ mát để chê trách.

Tôi ngạc nhiên trước các ứng dụng tôi đã thấy "bị tấn công", "bị giết" và "OMG" cùng nhau để mọi người sử dụng thực tế và thực tế - và đó là tên thật của trò chơi.

Chúc bạn may mắn trên hành trình của mình. Thành công trong mọi nỗ lực của bạn.

0

Học tập khá cá nhân, vì vậy số dặm của bạn có thể thay đổi, nhưng tôi thấy rằng việc đặt câu hỏi trong diễn đàn công cộng là rất hữu ích. Nếu bạn không biết nhiều về chủ đề thì thật dễ dàng để đặt câu hỏi sai, hoặc bằng cách nào đó tập trung vào những điều sai trái. Nhận phản hồi trực tiếp từ người nào đó có kinh nghiệm hơn thường giúp với điều đó. PHP được ban phước vì nó có một cộng đồng rất lớn và thân thiện. Hơn nữa, rất nhiều người dùng của nó là những người nghiệp dư hoặc những lập trình viên thiếu kinh nghiệm, có nghĩa là có một nền văn hóa hỏi những câu hỏi cơ bản về thuật ngữ và những thứ tương tự. Tôi khuyên bạn nên nhấn vào nguồn này.

Một nơi để bắt đầu có thể là tại sitepoint, nhưng có những nơi khác

0

Nếu bạn có nhiều của một người học thị giác tôi sẽ kiểm tra một số video hướng dẫn. Bắt đầu với những thứ như khái niệm lập trình cơ bản và sau đó chuyển lên tiêu đề như Up and Running với PHP và PHP nâng cao và MySQL. Sau đó, tôi muốn đề xuất một khuôn khổ MVC như codeigniter.

Bạn có thể tìm thấy các video hướng dẫn tuyệt vời trên Lynda.com hoặc Pluralsight.com và một số địa điểm khác.

Các vấn đề liên quan