2010-03-31 93 views
5

Khi bạn học một ngôn ngữ, việc học một giây trở nên dễ dàng hơn và có các cặp ngôn ngữ đi cùng nhau không? Ngoài ra, bạn còn có thể học thêm một ngôn ngữ nữa không?Học nhiều ngôn ngữ

Trả lời

19

Học nhiều hơn một ngôn ngữ là một tuyệt vời ý tưởng - không chỉ nào đó cung cấp cho bạn sự linh hoạt mà nhiều hơn nữa trong công việc săn & c, nhưng nó chỉ đơn giản mở rộng tâm trí của bạn, bạn tầm nhìn về những gì chương trình là tất cả về.

Ngôn ngữ thứ hai thường là ngôn ngữ khó nhất - vì ngôn ngữ đầu tiên của bạn đã thực hiện rất nhiều để định hình suy nghĩ và hoạt động của bạn khi lập trình. Trường hợp khó nhất là khi hai ngôn ngữ giống nhau về mặt bề ngoài nhưng có sự khác biệt sâu sắc, tinh tế: thật khó để nhận biết, hiểu và học những khác biệt tinh tế, khi sự tương đồng bề mặt làm bạn mù quáng.

Nếu bạn nắm vững hai ngôn ngữ cách nhau xa nhau, ngôn ngữ thứ ba sẽ dễ dàng hơn ... và sau này sẽ dễ dàng và dễ dàng hơn. Một cặp ngôn ngữ tuyệt vời để bắt đầu là một ngôn ngữ cấp cao (như Ruby hoặc Python) và một ngôn ngữ khá thấp (đặc biệt là C); tuy nhiên, một ngôn ngữ chức năng như Haskell, và một ngôn ngữ rất giống với chức năng như Java, cũng nên hoạt động, gần như là tốt.

+2

Đề xuất tìm hiểu các ngôn ngữ rất khác nhau là tất cả đều tốt. Rất nhiều người chỉ học rất nhiều ngôn ngữ rất giống nhau và thậm chí một khi họ đã học được tất cả những khác biệt tinh tế giữa những thứ đó, họ đã không thực sự học được nhiều cách khác nhau để làm việc. (Ví dụ, những người biết nhiều ngôn ngữ cấp cao vẫn bị bối rối bởi các tính năng cấp thấp, hoặc lập trình hướng đối tượng cảm thấy như chân của họ bị cắt đứt khi họ buộc phải viết mã chức năng.) – Chuck

+0

Cũng biết [(Tại sao) Tôi có nên học một ngôn ngữ lập trình mới không?] (Http://programmers.stackexchange.com/questions/136133/why-should-i-learn-a-new-programming-language) – stom

3

Tôi nghĩ điều quan trọng hơn là tìm hiểu các khái niệm thay vì cú pháp ngôn ngữ. Điều đó đang được nói, để thực sự làm chủ một ngôn ngữ, bạn thường phải có những cơn đau đớn với những cái bẫy của nó. Ngoài ra, một số ngôn ngữ có thể cung cấp hỗ trợ thư viện cho vay tốt hơn để giải quyết các vấn đề cụ thể. Học nhiều ngôn ngữ là mong muốn; bạn không chơi gôn chỉ với một câu lạc bộ, phải không?

2
  1. Có, khi bạn biết một ngôn ngữ rất tốt, bạn có thể dễ dàng học các ngôn ngữ khác vì bạn có thể lập bản đồ các kỹ thuật mà bạn biết đến các cú pháp khác nhau bằng ngôn ngữ khác. Điều này giả định cả hai ngôn ngữ đều có thể so sánh được - C++ sẽ không so sánh rõ ràng với Ruby, ví dụ.
  2. Bạn nên học nhiều ngôn ngữ. Bạn càng học nhiều ngôn ngữ, trải nghiệm của bạn càng rộng. Cuối cùng, bạn bắt đầu hiểu sự khác biệt về kiến ​​trúc cơ sở và thiết kế giữa các ngôn ngữ và tại sao một số có lợi thế hơn những người khác cho các nhiệm vụ lập trình cụ thể.
1

Có, có và có.

Khi học một ngôn ngữ, bạn sẽ tìm hiểu nhiều nguyên tắc cơ bản về lập trình, như được diễn đạt bằng ngôn ngữ đó. Nhiều ngôn ngữ sử dụng các khái niệm tương tự, hoặc thậm chí cùng một khuôn khổ và cấu trúc cơ bản. Điều này có thể làm cho việc học một ngôn ngữ "tương tự" thứ hai rất dễ dàng. Ví dụ, nếu bạn học C#, VB.NET rất dễ, vì nó sử dụng cùng một khung công tác và các khái niệm cơ bản giống nhau.

Học các ngôn ngữ khác nhau, tuy nhiên, cũng có thể buộc bạn phải tìm hiểu các cách khác nhau để "suy nghĩ" về một vấn đề. Điều này đặc biệt đúng nếu bạn đi từ một ngôn ngữ được gõ tĩnh sang một ngôn ngữ thông dịch, hoặc một ngôn ngữ lập trình hàm. Họ sẽ buộc bạn phải suy nghĩ lại cách bạn lập trình, điều này có thể giúp bạn trở thành một lập trình viên tổng thể tốt hơn.

3

Rất hữu ích khi biết nhiều ngôn ngữ. Trên thực tế, this very good book khuyên bạn nên học mỗi năm một lần. Việc học các ngôn ngữ mới trở nên dễ dàng hơn vì luôn có các khái niệm trùng lặp trong chúng.

1

Khi bạn tìm hiểu thêm ngôn ngữ, bạn có xu hướng nghĩ về mọi thứ theo khái niệm hoặc hình ảnh thay vì các tính năng cụ thể của ngôn ngữ yêu thích của bạn. Nó chắc chắn dễ dàng hơn để học một ngôn ngữ thứ ba hoặc thứ tư so với đầu tiên hoặc thứ hai của bạn, bởi vì bạn đã hiểu nhiều khái niệm (và có thể cú pháp) được giới thiệu bằng ngôn ngữ mới. Đó là một ý tưởng tuyệt vời để tìm hiểu thêm ngôn ngữ.

1

Có, khi bạn hiểu được cách để chia nhỏ sự cố để bạn có thể viết mã giải pháp và mã phổ biến, hãy học ngôn ngữ khác dễ dàng hơn. Một số khó hơn những người khác.

Tìm hiểu thêm ngôn ngữ lập trình là tốt theo cùng một cách học nhiều ngôn ngữ thực. Bạn học mọi thứ qua các ngôn ngữ, làm cho bạn tốt hơn trong cả hai. Bạn cũng có một kỹ năng khác để bán. Một số ngôn ngữ có thể áp dụng được đối với một số loại vấn đề nhất định ... biết nhiều ngôn ngữ hơn giúp bạn có thể giải quyết các vấn đề đó tốt hơn.

1

Phần lớn thời gian có. Một khi bạn hiểu ý tưởng chung về lập trình, bạn bắt đầu chọn các mẫu tương tự bằng các ngôn ngữ khác nhau. Đặc biệt nếu các ngôn ngữ là từ cùng một gia đình hoặc có cùng loại (ví dụ khi bạn học C hoặc C++ thì rất dễ học Java, Javascript, C#, PHP và vv). Tất nhiên nó có thể là khó khăn để làm chủ chúng, nhưng bạn sẽ nhận được 90% của mọi thứ một cách nhanh chóng.

Để tìm hiểu, tuy nhiên, tốt hơn bạn nên học 2 ngôn ngữ từ các gia đình khác nhau và với các nền tảng khác nhau, như C và Haskell. Nó sẽ mở rộng quan điểm của bạn và cho phép bạn đưa ra các giải pháp nằm ngoài khung hình thông thường của tâm trí cho những ngôn ngữ này.

1

Học các ngôn ngữ khác nhau giúp bạn suy nghĩ theo nhiều cách khác nhau. Những mô hình tư tưởng này thường có thể được sử dụng trong bất kỳ ngôn ngữ nào, vì vậy, bạn nên học nhiều hơn một ngôn ngữ.

Điều đó đang được nói, biết 5 ngôn ngữ bề ngoài, sẽ không bao giờ có giá trị tốt bằng việc biết một ngôn ngữ cho xương. Một lần nữa mặc dù nếu bạn đã biết một đến xương, biết thêm 5 sẽ cho phép bạn sap tủy.

Ngôn ngữ lập trình thường có rất ít từ và hầu hết các từ đều có thể được dịch từ nhiều ngôn ngữ khác nhau. Tuy nhiên, khi bạn học ngôn ngữ đầu tiên, cùng với việc học ngôn ngữ bạn phải học để suy nghĩ về mặt lập trình. Ngôn ngữ thứ hai dễ dàng hơn nhiều, thứ ba như nhau, đi dạo lần thứ tư trong công viên, với một miếng bánh và thứ sáu một miếng bánh tại một quán cà phê nhỏ xinh xắn, v.v., bạn sẽ có được bức ảnh :)

/B2S

4

Lặp lại tất cả các niềm tin trên, tôi mạnh mẽ ủng hộ quan điểm của việc học nhiều ngôn ngữ, và đạt được trình độ cao trong ít nhất hai ngôn ngữ rất khác nhau. Tôi thực sự nghĩ rằng việc biết năm ngôn ngữ bề ngoài là có lợi, nếu nó khơi gợi sự tò mò của bạn để tìm hiểu thêm, nhưng bạn vẫn nên làm chủ nhiều hơn một ngôn ngữ "cho xương".

Dưới đây là một số loại ngôn ngữ không độc quyền mà bạn có thể muốn xem xét.

  • Biên dịch (C, C++, ...)/Giải thích (Perl, Ruby, Python, PHP, ...)/JIT (Java)
  • cấp cao/thấp mức
  • Object-Oriented/thủ tục/Declarative/chức năng
  • Được thành lập/thực nghiệm
  • General/mục đích đặc biệt/miền cụ thể
  • mạnh gõ/loại lỏng lẻo

Hiểu sự cân bằng và triết lý đằng sau những ngôn ngữ này và việc triển khai của chúng sẽ nhất thiết làm cho bạn trở thành lập trình viên tốt hơn. Chắc chắn, nó có thể mất thời gian để thử nghiệm với tất cả chúng, và trở thành thành thạo trong một số người trong số họ. Nhưng kinh nghiệm là phần thưởng bắt đầu ngay cả ở bước đầu tiên, với sự hài lòng và lợi ích ngay lập tức, vì vậy bạn không nên tuyệt vọng bởi rất nhiều lựa chọn.

1

Rất nhiều lời khuyên tốt ở đây. Tôi sẽ đứng thứ hai nếu không phải tất cả.

Với kinh nghiệm của tôi, tôi thực sự khuyên bạn nên chọn ba ngôn ngữ. Tôi muốn chọn cái có vẻ dễ tiếp cận và hữu ích nhất để tìm hiểu đầu tiên, và tìm hiểu cú pháp đủ tốt để có thể phát hiện các vấn đề với mã hiện có, nhưng không cảm thấy như bạn phải làm chủ nó đến mức bạn viết chuyên gia, mã không có lỗi từ bộ nhớ. Sử dụng tài liệu và tài liệu tham khảo của bạn như một thiết bị tuyển nổi trong khi bạn làm việc và học hỏi. Dành nhiều thời gian hơn để nắm vững các khái niệm ... đặc biệt là gỡ lỗi! Và nhảy vào và thử mọi thứ, ngay cả khi những gì bạn gió xây dựng lúc đầu là khá xấu hoặc có thể không hoạt động chút nào. (Tôi cảm thấy như những khái niệm vững chắc nhất trong đầu của tôi là những khái niệm mà tôi gần như đã tự mình cố gắng sửa chữa, thay vì học bằng cách đọc kỹ các ý tưởng trước khi cố gắng viết mã.)

Khi bạn đã có ngôn ngữ xuống khá tốt, chuyển sang ngôn ngữ thứ hai, có lẽ là ngôn ngữ mà cú pháp càng khác càng tốt so với lần đầu tiên. Cách tiếp cận này làm cho tôi nhận thức rõ hơn về các khái niệm và xác nhận rằng tôi không cần phải là chuyên gia cú pháp để hoàn thành công việc. Sau khi tất cả, thường có tấn tài liệu, hướng dẫn và thảo luận có sẵn cho bất cứ ai và tất cả mọi người.

Sau đó, lấy ngôn ngữ thứ ba và đi sâu vào. Bạn sẽ ngạc nhiên rằng điều thứ ba dễ dàng hơn bao nhiêu. Bạn sẽ thấy nền tảng trung gian, cú pháp khôn ngoan, giữa hai thái cực bạn đã học được, và các khái niệm lập trình rất giống nhau.

Nếu muốn cực kỳ cạnh tranh và có thể bán được, bạn có thể chọn ngôn ngữ dựa trên sự đa dạng: ví dụ, một ngôn ngữ tốt cho web ở phía máy khách, một ứng dụng tốt cho phía máy chủ và phát triển nền tảng/thiết bị. Hoặc, chọn ngôn ngữ dựa trên những gì bạn biết bạn sẽ thích xây dựng. Tôi đã tìm thấy rằng để đạt được nhiều nhất và những gì giữ cho tôi quan tâm; tức là, nếu bạn biết bạn là người đam mê chơi trò chơi, chỉ cần học các ngôn ngữ sẽ cho phép bạn xây dựng và chuyển các trò chơi mạnh mẽ sang các nền tảng khác nhau và duy trì sự tập trung của bạn. Cuối cùng, đừng gây áp lực lên bản thân bằng cách so sánh bản thân với các nhà phát triển khác và làm cho bản thân cảm thấy như bạn phải giống như họ, hoặc học những gì họ đã làm, theo cách họ đã làm, nhanh như họ đã làm. Thử nghiệm và khám phá những gì phù hợp với bạn và gắn bó với nó.

Chỉ hai xu của tôi. Chúc may mắn!

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