Tại sao dường như có rất nhiều nỗi sợ hãi trong việc lựa chọn ngôn ngữ của người Sai để học? [đóng cửa]


28

Có lẽ đó chỉ là tôi, nhưng là một sinh viên CS hiện tại, tôi đã bắt gặp rất nhiều câu hỏi trên trang web này và những nơi khác về không chỉ "Tôi nên sử dụng ngôn ngữ nào cho x?" nhưng cũng "Có ai còn sử dụng ngôn ngữ Y không?" Lớp CS đầu tiên của tôi được dạy trong Scheme, nếu tôi không nhầm thì không được sử dụng rộng rãi (ít nhất là so với các ngôn ngữ như Java, PHP, Python, v.v.). Nhiều bạn cùng lớp của tôi chùn bước trước ý tưởng phải học một ngôn ngữ mà họ sẽ không bao giờ phải sử dụng lại, nhưng tôi hoàn toàn không hiểu nỗi sợ học ngôn ngữ ít phổ biến này đến từ đâu. Không, tôi không thể sử dụng Scheme trong bất kỳ công việc nào tôi nhận được, nhưng tôi chắc chắn không hối hận vì đã học cách sử dụng nó (mặc dù ở một người mới bắt đầu, không chuyên sâu trong một học kỳ đó). Tôi đang tham gia một lớp công cụ tìm kiếm trong học kỳ này, được thực hiện ở Perl và một lần nữa tôi lại thấy các bạn cùng lớp phàn nàn về lựa chọn ngôn ngữ. Tôi có thể hiểu rằng có một ngôn ngữ yêu thích và không thích người khác nhưng tại sao một số người lại làm việc hơn khi học nó ngay từ đầu? Bạn thực sự có thể học ngôn ngữ "sai"? Không học một cái gì đó như Scheme hay Haskell tập thể dục tinh thần tốt nếu không có gì khác, và ít nhất là hữu ích để tiếp xúc với các cách giải quyết vấn đề khác nhau?


Thật thú vị, hai năm đầu tiên của tôi về giáo dục CS chỉ liên quan đến C # và Java và đoán xem cuối cùng tôi đã sử dụng cái gì trong vị trí hợp tác đầu tiên của mình? Từ có bốn chữ cái, bắt đầu bằng "P".
Anon.

6
@Shewbox, bạn đúng, họ sai, bạn sẽ có được lợi thế học tập chéo, họ sẽ không. Kết thúc câu chuyện.
ocodo

7
Họ đang làm SEO (tối ưu hóa công cụ tìm kiếm) với các nhà quản lý tuyển dụng.
rwong

1
....

1
@JB: 99% mọi người làm cho những người khác trông giống như họ đang hôn nhau.
Michael K

Câu trả lời:


27

Quan điểm của bằng cấp CS là không dạy bạn C # và Java, bạn có thể tự học những thứ đó. Nó để dạy bạn về lập trình và tính toán. Ngôn ngữ chỉ là một chi tiết. Trong suốt sự nghiệp lập trình, bạn sẽ sử dụng nhiều ngôn ngữ. Ngày nay, nó có thể là Java hoặc C # nhưng 10 hoặc 15 năm nữa, nó có thể là Erlang hoặc thứ gì đó thậm chí chưa được phát minh. Học các phong cách lập trình khác nhau và các cách khác nhau để tấn công một vấn đề quan trọng hơn nhiều so với học bất kỳ một ngôn ngữ nào.


Chính xác - bằng cấp của tôi có trước C ++ chứ đừng nói đến Java hoặc C #. Mặc dù chúng tôi được dạy chủ yếu bằng Pascal, chúng tôi đã gặp vấn đề với nhiều ngôn ngữ từ giai đoạn đầu và trong năm thứ hai có khóa học "ngôn ngữ của tháng", simula (được sử dụng để thực hiện mô phỏng) vẫn là bộ nhớ yêu thích nhất của tôi - mặc dù bây giờ không có cơ hội tôi có thể viết bất kỳ mã simula nào - chủ yếu là do OOP nó đã dạy tôi (mặc dù lúc đó tôi không biết nó)
Murph

17

Bởi vì ngôn ngữ đầu tiên của bạn sẽ định hình cách bạn nghĩ, cho đến khi bạn học khác.

Nếu bạn không biết chữ (lập trình viên lần đầu) và ngôn ngữ đầu tiên bạn học quá "cơ bản", bạn có thể không biết các khái niệm bậc cao như định hướng đối tượng, nhiều công văn, kế thừa, hàm hạng nhất, lập trình meta, v.v.

Ngôn ngữ đầu tiên bạn học thường gắn liền với bước đột phá đầu tiên của bạn vào tư duy tính toán. Nếu ai đó nói với bạn, Jimmy, thế giới trước bạn bao gồm các ký hiệu A, B và C, tất cả suy nghĩ của bạn sẽ thuộc về A, B và C. Cho đến một ngày, một mọt sách kỳ lạ chế giễu bạn vì không biết X Khái niệm Y, và Z. Không có cách nào bạn có thể biết điều này chỉ biết ABC.

Những người quan tâm nhất đến ngôn ngữ đầu tiên của ai đó có lẽ là những lập trình viên đã giác ngộ, những người đã chiến đấu trong bóng tối. Ồ, bây giờ tôi biết chức năng hạng nhất là gì. Man, tôi muốn tôi biết về thừa kế và tiêm phụ thuộc hai năm trước!

Ngôn ngữ đầu tiên của bạn không quan trọng bằng thái độ của bạn đối với các ngôn ngữ tiếp theo. Nếu bạn có thể nhìn xa về phía trước để biết rằng có một thế giới nằm ngoài BASIC / C / Perl / PHP / etc, thì bạn đã vượt xa trò chơi. Đây là lý do tại sao nhiều người cuồng tín đối với các ngôn ngữ chức năng vì nhiều ngôn ngữ được phát triển tích cực đang hội tụ về phía họ.


1
Tất cả chúng ta cần phải bắt đầu từ những khái niệm cơ bản, mặc dù. Khi ai đó học được một khái niệm mới (lấy các mẫu thiết kế làm ví dụ), họ có xu hướng sử dụng nó ở mọi nơi trong một thời gian. Nếu tôi đã không dành 5 năm đầu tiên tôi đã lập trình cấu trúc chương trình học cơ bản và cách suy nghĩ như một lập trình viên, thì khi tôi đến OO, tôi đã rất bận rộn khi học phần thủ tục mà tôi không thể tập trung vào Phần OO. Điều đó đang được nói, +1 cho 'Ngôn ngữ đầu tiên của bạn không quan trọng bằng thái độ của bạn đối với các ngôn ngữ và khái niệm tiếp theo' .
Michael K

Tôi nghĩ về việc thêm nó vào. Tôi hoàn toàn không nói các ngôn ngữ cơ bản không có vị trí của chúng. Trong thực tế, họ làm (trong giai đoạn học tập sớm). Tôi chỉ không đề cập đến nó.
Đánh dấu Canlas

Ôi Michael, bản chỉnh sửa của bạn sang trọng hơn nhiều, hahahaha.
Mark Canlas

Nếu các bạn cùng lớp của OP lo ngại thì Đề án là ngôn ngữ sai để học, có lẽ họ không phải là người khai sáng. :)
David Moles

Một số ngôn ngữ có cú pháp phức tạp trong khi thực sự đơn giản (dẫn xuất C), một số ngôn ngữ khác có cú pháp đơn giản trong khi thực sự phức tạp (Groovy). Ý tôi là - trong C / C ++ hoặc Objective-C - mọi thứ khá mang tính khai báo và thủ tục trong bất kỳ phạm vi mã hoạt động nào, trong khi một cái gì đó như Groovy có rất nhiều điều "xảy ra dưới mui xe" bị "ẩn" bởi đường cú pháp. Đề nghị của tôi cho người mới nói chung là đi với các ngôn ngữ cú pháp khó phản ánh chặt chẽ hơn cách máy tính thực sự hoạt động - bởi vì kiến ​​thức đó đơn giản hóa việc sử dụng các ngôn ngữ khác.
dcgregorya

11

Khi tôi học đại học, tôi biết nhiều người quyết định học chuyên ngành kinh tế không phải vì đó là điều họ đặc biệt quan tâm hoặc đam mê, mà vì họ nghĩ rằng nó sẽ giúp họ có một công việc tốt.

Tôi học chuyên ngành Đông Á bởi vì các lớp học mà tôi tham gia như là một tác dụng phụ của mối quan tâm ban đầu của tôi đối với môn Văn học đã lôi cuốn tôi. Tôi đã đến Đức vì tôi muốn thực hiện một chương trình trao đổi, nơi tôi dành phần lớn thời gian cho các chương trình Nhật Bản và Sinology. Tôi đã nghiên cứu những gì tôi quan tâm nhất. Tôi quyết định không sử dụng đại học để nghiên cứu những thứ liên quan đến máy tính, vì tôi đã bị hack khoảng một khoản kha khá trong thời thơ ấu, nhưng tôi đã dành thời gian lập trình và hiểu về internet, và cuối cùng, có lẽ là không thể , Tôi có một công việc tốt quản lý để kết hợp tất cả những sở thích đó.

Sự khác biệt là giữa Chuyên gia và một người học vì lợi ích của việc học. The Careerist lo lắng rằng họ sẽ nghiên cứu The Wrong Thing, và họ sẽ hối hận vì đó sẽ không phải là việc phải làm cho tôi một công việc. Người học vì lợi ích của việc học nhận ra rằng họ có 4 năm để dành thời gian khám phá tất cả các lĩnh vực với áp lực tương đối dễ quản lý; nhà chuyên môn nghĩ rằng công việc của trường là dạy họ một cái gì đó. Người học tìm hiểu mọi thứ khi họ đến vùng lãnh thổ xa lạ và có cơ hội tốt hơn để tìm đúng công việc phù hợp với họ. Careerist kết thúc một kế toán hạng hai tại một công ty cấp ba, trả các hóa đơn và phẫn nộ với ông chủ của họ.

Vâng, đây là những nguyên mẫu, và mọi người phải cân bằng tính thực dụng với niềm đam mê của mình, nhưng đó là sự khác biệt thiết yếu. Cấp, một người có thẩm mỹ lập trình cũng có thể đặt câu hỏi, nhưng nhiều hơn trong bối cảnh "cái nào sẽ được sử dụng ít lãng phí nhất thời gian của tôi." Nhưng tôi đoán rằng đó là sự thúc đẩy của người làm nghề khi đặt câu hỏi đó, bởi vì Người làm nghề sợ hãi hơn nhiều khi mắc lỗi so với Người học và Người học thường tạo ra một lập trình viên tốt hơn vì Người học không sợ sai lầm. Người học, giống như Lập trình viên, nắm lấy thất bại trong việc theo đuổi kỹ năng.


9

Có, học các ngôn ngữ chức năng như Scheme và Haskell là một phần giới thiệu về lập trình chức năng. Theo như các bạn cùng lớp phàn nàn về Perl, trong khi Perl không phổ biến như trước đây, nó chắc chắn vẫn là ngôn ngữ được sử dụng rộng rãi trong kinh doanh.

Tôi có thể hiểu các bạn cùng lớp của bạn muốn học các ngôn ngữ thực tế được sử dụng trong thế giới thực, nhưng tôi nghĩ rằng họ bỏ lỡ quan điểm rằng một khi bạn là một lập trình viên có kinh nghiệm và đã tiếp xúc với một số mô hình lập trình, học ngôn ngữ mới chủ yếu chỉ là vấn đề chọn cú pháp mới. Do đó, miễn là bạn tiếp xúc với các khái niệm, bạn có thể "chuyên môn hóa" bất kỳ ngôn ngữ nào mà chủ nhân cuối cùng của bạn ưa thích mà không gặp nhiều khó khăn.


5

Có lẽ bởi vì mọi người đã bị ảnh hưởng bởi những câu nói như trò trolling kinh điển của Edsger Dijkstra, "Thực tế không thể dạy lập trình tốt cho những sinh viên đã từng tiếp xúc với BASIC: vì các lập trình viên tiềm năng họ bị cắt xén tinh thần ngoài hy vọng tái sinh." ( liên kết )

Nó dẫn đến nỗi sợ bị tổn thương não vĩnh viễn nếu bạn học ngôn ngữ "sai". Ví dụ Perl của bạn không có gì đáng ngạc nhiên, vì Perl là một trong những ngôn ngữ thường viện dẫn những lời chỉ trích như thế này từ những kẻ gièm pha.


5

Ngôn ngữ đầu tiên của bạn nên tập trung vào các khái niệm, không phải cú pháp hoặc thành ngữ. Sử dụng điều đó như một hướng dẫn:

  • Perl có nghĩa là rất nhiều tra cứu các biến đặc biệt và cú pháp phức tạp
  • PHP có nghĩa là pha trộn các khái niệm vì sự tăng trưởng hữu cơ của nó
  • Java có nghĩa là một chút nhầm lẫn vì không phải mọi thứ thực sự là một đối tượng
  • Hội / C / C ++ có nghĩa là một tấn các công cụ cấp thấp, rất tốt nếu bạn muốn thực hiện phát triển hệ thống nhúng nhưng làm mất đi các khái niệm cấp cao hơn
  • SQL rất hữu ích để xem làm thế nào ngôn ngữ tự nhiên có thể (và không thể) được ánh xạ tới cấu trúc mã và dữ liệu
  • Visual Basic for Application tập trung vào các mục đích đặc biệt, vứt bỏ và do đó làm cho quá dễ dàng để bỏ qua các khái niệm quan trọng như xử lý lỗi và tái cấu trúc đúng
  • LISP trông giống như cú pháp đơn giản, nhưng cũng có quá nhiều biểu thức tốc ký hoàn toàn vô nghĩa nếu không có kiến ​​thức chi tiết về tên đầy đủ của chúng
  • Haskell thường trông rất giống toán học, nhưng có thể nhanh chóng thoái hóa thành cú pháp súp
  • Python ... Thật ra, Python là ngôn ngữ duy nhất tôi không thể tìm thấy bất kỳ sự phản đối nghiêm trọng nào đối với người mới bắt đầu. Có lẽ đơn giản vì đó là ngôn ngữ cuối cùng tôi đã học và ngôn ngữ tiếp theo sẽ dạy tôi lỗi theo cách của tôi.

Tôi nhận thấy bạn đã không viết bất cứ điều gì về C # hoặc VB.Net.
HK1

4

Hỏi bạn cùng lớp về cách họ biết một ngôn ngữ là "sai" nếu họ không sử dụng ngôn ngữ đó. Bạn chỉ có thể tìm ra những gì bạn thích bằng cách sử dụng nhiều ngôn ngữ.

Nhiều bạn cùng lớp của tôi chùn bước trước ý tưởng phải học một ngôn ngữ mà họ sẽ không bao giờ phải sử dụng lại, nhưng tôi hoàn toàn không hiểu nỗi sợ học ngôn ngữ ít phổ biến này đến từ đâu.

Không biết họ tôi không thể nói chắc chắn tại sao họ lại cảm thấy như vậy. Có lẽ họ lười biếng. Có lẽ họ đã sử dụng ngôn ngữ này trước đây và không thích nó. Có lẽ họ sợ thử ngôn ngữ khác. Ai biết. Những gì tôi biết là là một sinh viên CS, nhà nghiên cứu và đã làm việc trong ngành công nghiệp, biết nhiều ngôn ngữ, là một tài sản lớn và bạn không bao giờ biết bạn sẽ sử dụng cái gì hay không. Ví dụ: Khi tôi mới học C, giáo viên của tôi đã giới thiệu cho chúng tôi về shell script và các tiện ích dòng lệnh như grepawk. Bạn bè của tôi đã không bận tâm để học những điều này đến một mức độ năng lực. Bây giờ tôi sử dụng chúng trong công việc hàng ngày.

Tôi đang tham gia một lớp công cụ tìm kiếm trong học kỳ này, được thực hiện ở Perl và một lần nữa tôi thấy các bạn cùng lớp phàn nàn về sự lựa chọn ngôn ngữ.

Perl rất mạnh mẽ và nếu bạn biết cách sử dụng nó, nó có thể làm cho cuộc sống của bạn dễ dàng hơn rất nhiều. Nó cũng tương tự như Python và Python được sử dụng nhiều tại một trong những nhà tuyển dụng hàng đầu của sinh viên CS: Google. Bạn cùng lớp của bạn nên ăn này lên. FWIW, tôi biết perl và python ở cấp độ trung cấp (không phải là người mới bắt đầu nhưng không phải là chuyên gia).

Tôi có thể hiểu có một ngôn ngữ yêu thích và không thích người khác nhưng tại sao một số người lại làm việc hơn khi học nó ngay từ đầu?

Trẻ và vô ích? Tôi cũng vậy. Nhưng "sự khó chịu" của tôi là nhiều hơn trong lĩnh vực toán học. Vì vậy, từ kinh nghiệm đó, tôi cá rằng họ đã làm việc về nó bởi vì họ không thích học những điều mới hoặc những ngôn ngữ mới khó học đối với họ. (Nhưng sau đó, bất cứ điều gì đáng để biết sẽ không rơi vào lòng bạn, tôi nói vậy)

Bạn thực sự có thể học ngôn ngữ "sai"? Không học được điều gì như Scheme hay Haskell tập thể dục tinh thần tốt nếu không có gì khác, và ít nhất là hữu ích để tiếp xúc với các cách giải quyết vấn đề khác nhau?

Đến câu đầu tiên: Không, nhưng bạn chắc chắn có thể học các ngôn ngữ mà bạn không muốn có + ho + Lisp + ho + =)

Để phần còn lại: Có! Bạn nên học càng nhiều ngôn ngữ càng tốt để tìm ra những gì bạn thích và mở rộng tầm nhìn của bạn. Không có yêu cầu để làm chủ tất cả, nhưng có kiến ​​thức làm việc luôn hữu ích. Bạn không bao giờ biết khi nào một ngôn ngữ bạn nghĩ sẽ lãng phí thời gian để học có ích.


1
Có chuyện gì với Lisp vậy?!?! :)
Michael K

1
+1 cho 'học càng nhiều ngôn ngữ càng tốt'. Nếu bạn biết nhiều ngôn ngữ khác nhau, việc chọn một ngôn ngữ cho một nhiệm vụ nhất định sẽ trở nên tầm thường.
Michael K

1
@Michael: Hơn nữa, nó dễ dàng hơn để tìm hiểu một cái mới, vì bạn sẽ biết hầu hết các khái niệm đã có.
David Thornley

@Michael: Không có gì sai với Lisp =). Tôi chỉ không phải là một người ngôn ngữ lập trình chức năng. Thêm vào đó, rất nhiều dấu ngoặc đơn !! Tuy nhiên, tôi đã thấy một số giải pháp RẤT thanh lịch được triển khai trong Lisp. Rất nhiều sự tôn trọng dành cho Scheme và Lisp gurus.
aqua

3

Bởi vì tuyển dụng lập trình viên là một quá trình tùy tiện, thất thường, nên thực tế đơn giản là nếu bạn chọn sai công nghệ, bạn có thể thấy mình đi theo con đường của dodo

Trên trang nhất tại bất kỳ thời điểm nào, bạn sẽ thấy sự tôn sùng tôn giáo về những niềm tin như:

  1. Bằng đại học về khoa học máy tính là cần thiết để trở thành một lập trình viên giỏi.
  2. Bằng thạc sĩ về khoa học máy tính làm cho mọi người lập trình viên tồi.
  3. Giấy chứng nhận là hoàn toàn cần thiết để thăng tiến sự nghiệp của bạn.
  4. Giấy chứng nhận là một lá cờ đỏ chỉ ra một lập trình viên xấu.
  5. Bằng đại học trong một lĩnh vực khác ngoài khoa học máy tính có xu hướng dẫn đến các lập trình viên giỏi nhất.
  6. Bạn không phải là một lập trình viên giỏi trừ khi bạn cũng lập trình vào các buổi tối và cuối tuần.
  7. và nó đi

Một điểm bất biến là tất cả 99% các công ty ngoài kia muốn bạn có X năm kinh nghiệm với công nghệ Y ... Và vì một người chỉ có sẵn rất nhiều chu kỳ, nên họ dành những chu kỳ đó cho những vấn đề rất lớn.


2

Tôi nghĩ rằng nỗi sợ hãi trong việc lựa chọn ngôn ngữ của người Viking để học chủ yếu là do thiếu thông tinthiếu hướng dẫn , chẳng hạn như:

  • Sai lầm của viên đạn bạc . Quan niệm sai lầm rằng có Ngôn ngữ phù hợp cho công việc, môi trường hoặc dự án. Và nếu bạn chọn sai, bạn sẽ nướng.
  • Không hiểu rằng lập trình vượt qua các ngôn ngữ . Ngôn ngữ chỉ là một công cụ, như máy đánh chữ hoặc máy tính cho nhà văn. Đó không phải là về việc học các sắc thái của công cụ (cú pháp), mà là những gì công cụ cho phép (khái niệm, trừu tượng, v.v.) mà bạn tạo ra.

Đó là lý do tại sao Scheme là một ngôn ngữ giảng dạy tuyệt vời như vậy. Lập trình là về hai điều: trừu tượng và tái sử dụng. Lược đồ có chính xác hai tính năng: trừu tượng hóa chức năng và gọi chức năng (nghĩa là tái sử dụng). Heck, nó thậm chí không có cú pháp!
Jörg W Mittag

2

Chúng tôi tiếp xúc với nhiều ý kiến ​​hơn.

So với cách mọi thứ có thể được thực hiện trong quá khứ, có nhiều suy đoán thứ hai về cách chúng ta dành thời gian vì chúng ta tiếp xúc với nhiều ý kiến ​​hơn - mọi người đều có suy nghĩ về ngôn ngữ lập trình đầu tiên nên là gì và vì nó một chủ đề khó khăn như vậy, bất cứ ai cũng có thể biện minh cho bất cứ điều gì .

Do lối sống nhanh chóng của chúng tôi, mọi người đều có một nỗi sợ bẩm sinh là lãng phí thời gian của họ. Nỗi sợ hãi về việc học sai ngôn ngữ chỉ đơn giản là kết quả của việc mọi người dễ dàng tiếp xúc với vô số ý kiến.


1

Đó là sự không thích chung của việc học một cái gì đó có tính hữu dụng nghi vấn. Tôi có thể thấy sting ở đây thậm chí còn tồi tệ hơn vì đây là lớp học mà mọi người muốn học và họ vẫn học được thứ gì đó mà họ cho là vô dụng. Tôi biết rằng nếu tôi định cắt dán tôi sẽ muốn học một cái gì đó mà tôi có thể sử dụng trong thế giới thực.

Phần duy nhất mà tôi có thể không đồng ý với những người khác là khi một ngôn ngữ được sử dụng nhiều và họ chỉ không muốn đi ra khỏi bong bóng của mình để học nó. Chỉ sau đó, phàn nàn không có ý nghĩa.


1

Tại sao nó là 'nỗi sợ'. Tôi sẽ gọi đó là sự thù địch của việc bị ép ăn thứ gì đó bạn không muốn hoặc không cảm thấy nó quan trọng. Không có ngôn ngữ là sai nhưng chúng tôi có giới hạn thời gian để tập trung vào mọi thứ. Tôi đã phải thực hiện các lớp CS của mình với Java và không hài lòng về nó. Không phải vì tôi sợ Java là ngôn ngữ sai, nhưng đó không phải là nơi tập trung sự nghiệp của tôi.

Bây giờ Java rất hữu ích phải không? LOL Mọi người đều học Java. Đó là những gì bạn không muốn cạnh tranh. Sơ yếu lý lịch của bạn sẽ nằm trong một nhóm 1000 với tiêu đề CS tốt nghiệp gần đây biết Java. Bạn thực sự có thể tốt hơn trong việc tuyển dụng Schema học tập khôn ngoan vì đó là dấu hiệu bí mật cho thấy bạn đã đến một trường đại học ưu tú chứ không phải một trường cao đẳng cộng đồng tồi tệ.

Tôi cũng sẽ nói rằng sự thù địch này rộng hơn nhiều so với CS nói chung, nhưng chỉ ra về giáo dục đại học nói chung. Tôi chắc chắn rằng người hướng dẫn đã chọn Perl vì anh ta biết Perl, và có thể chấm điểm dễ dàng, và sợ học những ngôn ngữ mới hơn mà các sinh viên muốn học. Tôi nghĩ đó là giáo dục của riêng bạn và bạn sẽ có thể vạch ra những công nghệ mà bạn cảm thấy cần thiết cho sự thành công của chính bạn.

(PS MIT đã từ bỏ Schema và chuyển sang Python)


Hơi buồn về việc Mit từ bỏ Scheme, SICP là điều mà mọi lập trình viên nên đọc. Tôi có xu hướng thúc đẩy nó ở mọi cơ hội.
Zachary K

Điều này làm tôi nhớ đến những ngày đại học của tôi. Vài năm sau khi tôi bắt đầu, bộ phận CS đã chuyển từ C ++ sang Java làm ngôn ngữ giảng dạy chính. Một vài năm sau (khi tôi đang cố gắng dạy các hướng dẫn về cấu trúc dữ liệu), rõ ràng là không ai trong số các sinh viên hiểu bất cứ điều gì về phân bổ bộ nhớ (ví dụ, họ đã hoàn toàn bị mất trên stack so với heap). Do đó, họ không nắm bắt được các thao tác cơ bản trên cấu trúc dữ liệu mà chúng tôi đã cố gắng dạy cho họ. Không lâu sau đó, C ++ trở thành ngôn ngữ được ưa chuộng một lần nữa.
smithco

Trong thực tế - học ngôn ngữ mới là dễ dàng một khi bạn hiểu lập trình. Mọi người khuyên dùng các ngôn ngữ như C vì nó yêu cầu bạn khai báo con trỏ và phân bổ bộ nhớ và bảo vệ quyền truy cập ghi vào con trỏ của bạn ... khi bạn nghĩ theo các thuật ngữ này, mọi thứ khác đều khá dễ dàng vì bạn đã xem xét tất cả những điều này. Thật khó để làm điều ngược lại - bắt đầu với một ngôn ngữ trừu tượng hơn và sau đó xây dựng trải nghiệm để hiểu tất cả những điều cơ bản đang xảy ra.
dcgregorya

1

Thời gian là hàng hóa hiếm nhất trong tất cả, một khi bạn bước ra thế giới thực - và không ai muốn lãng phí thời gian vào những kỹ năng sẽ không mang lại cho họ bất kỳ lợi ích thực sự nào.

Điều đó đã được nói, tôi không nghĩ rằng có một ngôn ngữ 'sai' để học - nhưng tôi ước tôi đã phát hiện ra Ruby từ nhiều năm trước thay vì phải vật lộn với việc làm những thứ nâng cao trong PHP ...

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.