[Hỏi] Cách tiếp cận một ngôn ngữ lập trình mới của mọi người?
Mọi người có thể chia sẽ giúp mình và các bạn cùng quan điểm cách tiếp cận ngôn ngữ lập trình mới được không ạ.
- Bắt đầu từ đâu?
- Học như thế nào?
- Và ứng dụng trong công việc? Mình mong lung quá.
8 ANSWERS
Chào người anh em, trước tiên thì xin chúc mừng cho quyết định của bạn, chưa biết kết quả ra sao nhưng dám dũng cảm bắt đầu đã là một điều tuyệt vời rồi.
Mình nghĩ đầu tiên bạn nên trả lời thêm câu hỏi là bạn học lập trình để làm gì nào ? Làm web, làm app... ?? Backend hay Frontend ??
Cái này rất quan trọng đó nhé, bởi vì rút kinh nghiệm từ chính bản thân mình, mình có năng khiếu về thẩm mỹ và làm front-end nhưng lại đi học back-end, thành ra khi khởi đầu khá vất vả, tốn rất nhiều thời gian bạn à.
Tiếp theo bạn phải xác định là sẽ có những lúc cực kỳ nản chí, khiến cho mình cảm thấy nghi ngờ chính quyết định của bản thân và muốn bỏ cuộc, hãy cố gắng vượt qua khoảng thời gian đó. Và sau khi học xong những thứ cơ bản, nghĩ mình có tí kiến thức rồi, thì tiếp theo bạn sẽ bị vùi dập ở những lần đi xin pv xin việc, quá trình này bạn sẽ học thêm được một số thứ nữa.
Đó, sau khi đã rõ ràng những thứ bạn sẽ phải đối mặt thì tiếp theo hãy chọn cho mình "vũ khí" để chiến đấu với nó.
Mình khuyên bạn nên học cơ bản HTML, CSS và JS. Đây là thứ mà dù bạn làm back-end hay front-end thì cũng phải làm việc cùng , cộng với việc kết quả hiển thị ngay lập tức trên màn hình sẽ khiến bạn hứng thú hơn. Đây là thứ nền móng cơ sở nhất cho bạn tiếp tục những điều cao siêu hơn, đừng nghĩ rằng chỉ cần học 1 ngôn ngữ là đủ vì điều đó sẽ không bao giờ xảy ra.
Với khoảng 2h/1day trong vòng 1 tháng là mình nghĩ đủ ok rồi, kết quả của cái quá trình này phụ thuộc vào sự mày mò của bạn. Sau đó bạn có thể nhìn vào list mình viết ở dưới để quyết định xem sẽ học gì tiếp theo nhé:
-
Hướng Front - end: Học Jquery, Bootstrap, sau đó là Framework React hoặc Vue, muốn làm app nữa thì học thêm React Native
-
Hướng Back - end:
- Học về Mysql, phần cơ sở dữ liệu này rất rất rất rất quan trọng, hãy cố gắng nắm vững nó rồi quyết định học ngôn ngữ lập trình sau.
- Thuật toán: Bạn chỉ cần tìm hiểu những định nghĩa và thuật toán cơ bản nhất, ban đầu bạn sẽ thấy học cái này khá vô dụng, có cũng được mà không có cũng chả sao, nhưng rồi càng lên cao thì nó sẽ càng quan trọng, và cái này sẽ quyết định bạn đứng ở vị trí nào so với những người cùng năng lực và cùng vị trí ngay từ lúc bắt đầu. Ngôn ngữ lập trình k phải là tất cả và cũng k phải thứ quan trọng nhất, đừng hiểu lầm nhé.
- Ngôn ngữ lập trình: Nếu làm cho khách hàng Nhật, bạn có thể học Ruby + Framework Ruby On Rails, còn lại thì PHP + Lavarel hoặc Java + Eclipse, C# + VisualStudio, làm game hoặc máy móc thì C và C++. Ngoài ra còn một số ngôn ngữ lập trình khác nữa như Go, Python... thì mình khuyên bạn nếu có hứng thú với những điều mà truyền thông nói về nó thì cũng nên để tìm hiểu sau, vì nó chưa thực tế với những gì đang diễn ra ở Việt Nam, cơ hội việc làm vẫn còn ít, và sẽ rất khó có cơ hôi cho những newbie
Đó là về mặt chuyên môn, ngoài ra bạn sẽ còn phải trau dồi nhiều kỹ năng khác nữa nhé, điều QUAN TRỌNG nhất là bạn phải TIN TƯỞNG VÀO QUYẾT ĐỊNH VÀ LỰA CHỌN CỦA BẠN, con đường này không dễ để đi, nhất là khoảng thời gian bắt đầu, bạn sẽ bế tắc và vấp ngã liên tục, nhưng như mình đã nói ở trên, ĐỪNG BỎ CUỘC.
Một vài website mà mình tham khảo: Webcoban.vn, Thachpham.com, Freetuts.net, W3schools.com, Youtube, và trên Viblo cũng có rất nhiều bài hay. Sau khi bạn đã nắm được cơ bản của tất cả những thứ ở trên, đó là khoảng 1 năm sau nếu bạn bắt đầu từ bây giờ, thì đó là lúc bạn đi sâu vào document của từng thứ một như một số anh em đã trả lời.
Good Luck Bro, Keep The Move !!!
Bài viết rất hay, chi tiết và đầy đủ. Cảm ơn anh. Chúc anh một ngày làm việc vui vẽ.
hay
Theo mình hiểu thì ý bạn đang hỏi là "TỰ HỌC" đúng không (vì nếu đi học ở trung tâm thì sẽ có 1 lộ trình đào tạo bài bản).
Còn nếu tự học thì mình nghĩ trước hết bạn nên lên trang chủ để tìm hiểu về document (tất nhiên là những phần cơ bản thôi chứ ko tải hết luôn được đâu), sau đó thì tìm source code demo trên mạng để tham khảo, từ đó tìm hiểu được để làm chức năng này thì mình cần biết cái gì, ...
Còn về việc ứng dụng trong công việc thì tùy vào nơi bạn làm việc thôi, và cụ thể là nhu cầu của khách hàng, họ muốn bạn làm bằng ngôn ngữ, công nghệ nào!
Cảm ơn anh. Chúc anh một ngày làm việc vui vẽ
@huyad không có gì, rất vui nếu có thể giúp được em!
Bạn nên học các môn học lập trình cấu trúc xử lý các bài toàn (tin học cơ sở 4 của các trường đại học). Ngôn ngữ lập trình ở đây ưu tiên python, C, C++, golang. Tiếp theo bạn học lập trình hướng đối tượng (môn học lập trình hướng đối tượng OOP) lúc đó sẽ học java, PHP. Song hành cùng với đó, bạn nên học cấu trúc dữ liệu và giải thuật để học các bài toán về danh sách liên kết đơn đôi, cây node, bảng băm..... Tiếp cao hơn bạn học thêm thu thập phân tích yêu cầu, và phân tích thiết kế hệ thống kết hợp lựa chọn đi sâu 1 số ngành như: Web, Mobile, AI/Big Data(riêng ông AI/Big Data cần học thêm như toán ma trận, tích phân, forum machinelearning cơ bản để đi theo). Lập trình viên như chúng ta kĩ năng quan trọng nhất vẫn là Google search keyword đọc được tài liệu tiếng anh tìm ra solution cần thiết nhất.
Cảm ơn bạn. Bạn giỏi thật đấy,mình follow bạn từ những bài hướng dẫn vuejs. Chúc bạn một ngày làm việc vui vẽ
@huyad ngại quá, mình chủ yếu là dịch lại mấy bài nâng cao của Vuejs cho nhớ thôi
Bắt đầu thì nên từ base của ngôn ngữ đó rồi.
Cách học thì mình thầy bạn có thể học qua documentation của ngôn ngữ đó hoặc search những video tutorials để xem và học theo. Mình thấy việc xem video sẽ giúp học khá nhanh nhưng có thể dẫn đến việc bạn làm được mà không hiểu sâu. Vậy nên theo mình thì bạn nên đọc documentation kĩ càng và kết hợp với xem những ví dụ thực tế
Và cuối cùng thì 'practice makes perfect'. Cứ chăm chỉ thực hành thôi.
Mình cảm ơn bạn. Chúc bạn một ngày làm việc vui vẽ
Theo mình thì đầu tiên khi học 1 ngôn ngữ thì sẽ tìm hiểu điểm mạnh, điểm yếu của nó, rồi học những kiến thức căn bản nhất, nếu bạn tốt tiếng anh thì nên đọc document trên trang chủ của ngôn ngữ đó. Chắc kiến thức nền rồi thì mới bay cao bay xa ) chúc bạn thành công
Cảm ơn bạn đã trả lời câu hỏi của mình. Chúc bạn một ngày làm việc vui vẽ
Cá nhân mình thường khi muốn tiếp cận một ngôn ngữ lập trình mới thì sẽ không nhảy vào đọc docs luôn, bởi theo mình biết một số docs viết không hề dễ hiểu chút nào + đọc lý thuyết xuông sẽ rất nhanh chán. Thường khi bắt đầu mình sẽ học từ tutorials như tutorialspoint, những trang này tuy không đầy đủ, nhưng nó sẽ đưa ra kiến thức căn bản và quan trọng của ngôn ngữ + ví dụ nên dễ hiểu hơn, cũng hỗ trợ cả platform cho mình thực hành... Sau khi đọc hết tutorials thì mình mới vọc zô docs và đọc. Còn ứng dụng thế nào thì còn phải tùy vào hoàn cảnh cũng như công việc của bạn, chỉ cần biết google xíu là sẽ ok thôi. )
Cảm ơn bạn đã chia sẽ. Chúc bạn một ngày làm việc vui vẽ.
Trước hết cho mình hỏi là bạn đã từng học qua một ngôn ngữ lập trình nào chưa ? Hay là bạn mới học lập trình và hỏi để bắt đầu
Nếu đã học rồi thì
- Bắt đầu từ đâu: mỗi ngôn ngữ lập trình mình thấy đều có cái giống nhau, như if/else, vòng lặp, mảng, collection, hàm, biến, ... Mình đã học C, C++, Java r giờ là Kotlin, cũng qua về Javascript và thấy vậy. Nên thấy chỉ là cú pháp khác nhau, ý tưởng vẫn vậy. Cơ bản thôi nhé, vì mỗi ngôn ngữ còn có cái riêng
- Học như thế nào: thì theo lộ trình như trên. Mình nhắc lại là khác về " cú pháp ", ý tưởng, tư duy cơ bản là giống nhau. Nên cứ thế mà triển thôi. Có rất nhiều tài liệu trên mạng Và ứng dụng trong công việc: bạn có thể tham khảo ứng dụng của ngôn ngữ đó trên mạng mà.
Còn nếu mới thì comment để mình trả lời tiếp
Mình cảm ơn bạn. Hiện tại mình đã học rồi, Mình chỉ mỗi PHP vs Mysql biết mức độ là "Đơn giản" có thể làm được việc với ngôn ngữ lập trình đó. Mình muốn biết mọi ngượi học qua ngôn ngữ mới sẽ như thế nào? Lộ trình đi như thế nào thì đạt hiểu quả? Những cái Mình vừa thắc mắc thì cũng đã có rất nhiều ý kiến và hướng dẫn cách tiếp cận ở trên.
@huyad à ok b, vậy bạn có thể như mình bảo ở trên. PHP thì mình thấy làm backend nhiều, cty mình thường kết hợp nó vs html, css các thứ để làm full luôn. Bạn cũng nên học thêm các framework của PHP như Laravel, ... Mình ko code PHP nên ko đi sâu dk. MySql thì bạn phải học kĩ, rất kĩ, xử lý câu lệnh, tối ưu, logic các thứ. Nên đọc về ORM - khá hay
@trungcnn-1883 Mình cảm ơn ạ. Mình sẽ tìm hiểu thêm về những keys bạn cũng cấp. Chúc bạn một ngày làm việc vui vẽ nhé.
@huyad ok b
Bạn mới học lập trình đúng ko, khuyên bạn học ở 1 trung tâm nào khoảng 3 tháng, nắm đc cơ bản rồi tự học.
Những bước đầu mà tự học tốn thời gian lắm.
còn đang ngồi trên ghế nhà trường thì cứ tự mày mò cũng đc, rèn đc độ lì và khả năng research
Cảm ơn bạn. Chúc bạn một ngày làm việc vui vẽ.
Bạn có thể xem qua bài mình viết: https://viblo.asia/p/tu-hoc-lap-trinh-the-nao-bJzKmjzrZ9N Khi mới học thì bạn chỉ cần chọn một ngôn ngữ mình thích và lao vào học và thực hành thôi. Thường thì sẽ bắt đầu bằng C/C++ để có tư duy lập trình và hệ thống máy tính hoạt động. Hoặc cũng có thể chọn php, python hay những ngôn ngữ khác để học. Điều quan trọng là phải thực hành nhiều
Mình cảm ơn bạn.