Có phải không phải ai cũng có thể là một lập trình viên đã được nghiên cứu?


182

Một câu ngạn ngữ cũ mà nhiều lập trình viên gắn bó là "Cần một loại tâm trí nhất định để học lập trình, và không phải ai cũng làm được."

Bây giờ tôi chắc chắn rằng tất cả chúng ta đều có kho bằng chứng giai thoại của riêng mình, nhưng điều này đã được nghiên cứu một cách khoa học chưa?


63
Âm thanh như một câu hỏi hoài nghi tốt.
Chad Harrison

10
Học cách lập trình rất khác so với việc thực sự có thể trở thành một lập trình viên có giá trị . Lập trình rất đơn giản cho hầu hết các phần. Đọc thông số kỹ thuật, thực hiện cho phù hợp. Kiểm tra. Nói lại. Vâng, tất cả mọi người có thể là một lập trình viên. Không phải ai cũng có thể trở thành một lập trình viên có giá trị . Đặc biệt một số nhiệm vụ nhất định đòi hỏi nhiều suy nghĩ và thử nghiệm hơn những nhiệm vụ khác. Những điều như vậy là tốt nhất để lại cho những người thực sự thích làm điều đó. Một ví dụ có thể đang thực hiện các cấu trúc mức thấp, đếm chu kỳ xung nhịp, bit và byte mà không cần bất kỳ công cụ lập trình hiện đại hay bất cứ thứ gì. Không phải ai cũng có thể xử lý điều đó.
zxcdw

9
@zxcdw - Tôi không thực sự đặt câu hỏi "Không phải ai cũng có thể trở thành một lập trình viên giỏi / có giá trị". Đó là một điều được đưa ra vì "Không phải ai cũng có thể là một X tốt / có giá trị" là một sự thật phổ quát cho hầu hết mọi giá trị của X như một ơn gọi. Điều tôi đang thắc mắc là khả năng học lập trình và quấn đầu xung quanh nó cho người bình thường.
Hệ thống xuống

37
Câu ngạn ngữ được chứng minh là đúng mỗi ngày trên Lập trình viên <thở dài>
yannis

15
Tôi nghĩ rằng tinh thần của câu hỏi này không phải là về chất lượng lập trình viên, tôi nghĩ rằng đó là về "mọi người có thể được đào tạo để đưa ra một vấn đề và phác thảo một giải pháp hợp lý bằng ngôn ngữ không phải con người", mà đôi khi tôi nghĩ là không điều mà mọi người đều có thể làm Các khái niệm về thiết kế logic để ra lệnh cho các hành vi phi thực thể của một cỗ máy không phải con người là vô cùng trừu tượng, mức độ trừu tượng này đòi hỏi người ta phải có khả năng tuân theo nhiều chỉ dẫn logic về mặt tinh thần vì bạn không thể chạm vào các sản phẩm của từng loại bước bằng tay của bạn.
Jimmy Hoffa

Câu trả lời:


87

Một nghiên cứu khác, Điều tra khả năng tồn tại của các mô hình tinh thần được tổ chức bởi các lập trình viên mới làm quen :

Bài viết này mô tả một cuộc điều tra về khả năng tồn tại của các mô hình tinh thần được sử dụng bởi các lập trình viên mới làm quen vào cuối khóa học lập trình Java năm đầu tiên. Các phát hiện định tính xác định phạm vi của các mô hình tinh thần về giá trị và phân công tham chiếu được tổ chức bởi những người tham gia. Phân tích định lượng cho thấy khoảng một phần ba sinh viên nắm giữ các mô hình tinh thần không khả thi về việc gán giá trị và chỉ có 17% ​​sinh viên nắm giữ một mô hình tinh thần khả thi về chuyển nhượng tham chiếu. Hơn nữa, về mặt so sánh giữa các mô hình tinh thần của người tham gia và hiệu suất của họ trong các đánh giá trong khóa học và kiểm tra cuối khóa, người ta thấy rằng các sinh viên với các mô hình tinh thần khả thi thực hiện tốt hơn đáng kể so với những người có mô hình không khả thi. Những phát hiện này được sử dụng để đề xuất một "kiến tạo" hơn

Ngoài ra, hãy xem nghiên cứu sau đó từ cùng các tác giả của nghiên cứu Sheep vs Dê (chưa bao giờ được công bố thực sự, để rõ ràng). Nghiên cứu cuối cùng và gần đây nhất của họ về chủ đề này từ năm 2009 là Phân tích tổng hợp về ảnh hưởng của tính nhất quán đối với thành công trong việc học lập trình sớm (pdf).

Một bài kiểm tra được thiết kế rõ ràng đã kiểm tra kiến ​​thức về bài tập và trình tự của một sinh viên trước khi khóa học đầu tiên về lập trình nhưng thực tế được thiết kế để nắm bắt các chiến lược lý luận của họ. Một thí nghiệm tìm thấy hai quần thể sinh viên riêng biệt: một người có thể xây dựng và áp dụng nhất quán một mô hình tinh thần thực hiện chương trình; mô hình khác xuất hiện hoặc không thể xây dựng mô hình hoặc áp dụng mô hình một cách nhất quán. Nhóm đầu tiên thực hiện tốt hơn rất nhiều trong kỳ kiểm tra cuối khóa của họ so với nhóm thứ hai về thành công hay thất bại. Bài kiểm tra không dự đoán chính xác mức độ hiệu suất, nhưng bằng cách kết hợp sáu kết quả của thí nghiệm, năm ở Anh và một ở Úc, chúng tôi cho thấy rằng tính nhất quán có tác động mạnh mẽ đến thành công trong việc học lập trình sớm - nhưng kinh nghiệm lập trình nền, mặt khác,


24
"... khóa học lập trình Java năm đầu tiên ..." <- Tôi thấy vấn đề của bạn.
Jon Galloway

4
Sinh ra, ngoài việc rút lại bài báo gốc, thảo luận về những nỗ lực tái tạo kết quả năm 2009 đối với tôi, họ dường như không đáng khích lệ: eis.mdx.ac.uk/staffpages/r_bornat/ con / khăn
Blaisorblade 15/03/2015

6
Như đã đề cập ở trên, bài báo gốc về điều này đã được rút lại: retractionwatch.com/2014/07/18/iêng
Spongeboy

92

Vâng, có một bài báo trực tuyến khá nổi tiếng được thiết kế để ít nhiều xác định "Ai được cắt ra để trở thành lập trình viên".

Một nghiên cứu nhận thức về việc học lập trình sớm - Giáo sư Richard Bornat, Tiến sĩ Ray Adams

Tất cả giáo viên lập trình thấy rằng kết quả của họ hiển thị một "bướu kép". Như thể có hai quần thể: những người có thể [chương trình] và những người không thể [chương trình], mỗi người có đường cong chuông độc lập của riêng mình.

Hầu như tất cả các nghiên cứu về dạy và học lập trình đều tập trung vào giảng dạy: thay đổi ngôn ngữ, thay đổi khu vực ứng dụng, sử dụng IDE và làm việc dựa trên động lực. Không có cái nào hoạt động, và cái bướu kép vẫn tồn tại.

Chúng tôi có một bài kiểm tra chọn ra dân số có thể lập trình, trước khi khóa học bắt đầu. Chúng ta có thể tách đôi bướu. Bạn có thể không tin điều này, nhưng bạn sẽ sau khi nghe bài nói chuyện. Chúng tôi không biết chính xác làm thế nào / tại sao nó hoạt động, nhưng chúng tôi có một số lý thuyết tốt.


Đây là một bài đăng trên blog của Jeff Atwood diễn giải kết quả và đặt một số điều vào bối cảnh.

Bất chấp những thay đổi to lớn đã xảy ra kể từ khi máy tính điện tử được phát minh vào những năm 1950, một số thứ vẫn ngoan cố như cũ. Đặc biệt, hầu hết mọi người không thể học lập trình: từ 30% đến 60% lượng nhập học của khoa khoa học máy tính của trường đại học không đạt được khóa học lập trình đầu tiên.

Giáo viên có kinh nghiệm mệt mỏi nhưng không bao giờ quên thực tế này; những người mới bắt đầu sáng dạ tin rằng những người cũ chắc đã làm sai điều đó học sự thật từ kinh nghiệm cay đắng; và do đó, nó đã được gần hai thế hệ, kể từ khi chủ đề bắt đầu vào những năm 1960.


46
Công bằng mà nói - nghiên cứu đó chứng minh rằng 30-60% số lượng trường học không thể bị làm phiền khi thực hiện bất kỳ công việc nào. Điều đó đã đúng trên tất cả các môn học và mọi thời đại!
Martin Beckett

15
Đây là một bài báo rất thú vị, và nó hỗ trợ ý tưởng rằng không phải ai cũng bị cắt ra để lập trình. Thật không may, tác phẩm sau này của các tác giả (cũng trên trang được liên kết) cho thấy thử nghiệm của họ ít dự đoán hơn so với suy nghĩ ban đầu. "Chúng tôi không thể tuyên bố sẽ tách những con dê lập trình ra khỏi con cừu không lập trình ... Thật không may là kết quả không đúng với lời hứa ban đầu, nhưng nó không hoàn toàn đóng cánh cửa khám phá của chúng tôi."
HỎI

26
Rõ ràng là bài báo đầu tiên từ năm 2006 chỉ là bản nháp và không bao giờ được xuất bản. Vì vậy, nó không chính xác được xem xét một cách khoa học. Có lẽ tốt hơn để xem xét các nghiên cứu sau này trên trang của tác giả .
Jeff Atwood

17
Điều tra thành công trong một khóa học là một cách kỳ lạ để nghiên cứu hiện tượng này. Đầu tiên, các bài giảng có lẽ là cách ít phù hợp nhất để dạy lập trình. Thứ hai, không phải ai cũng học (tốt) từ các bài giảng. Đó là quá nhiều thiên vị bởi thiết kế cho tôi ở đó.
Raphael

5
Giáo sư Bornat sau đó đã bận tâm rút lại bản dự thảo đó, bởi vì ông có vấn đề về sức khỏe tâm thần vào thời điểm đó. eis.mdx.ac.uk/staffpages/r_bornat/ con / khăn Hơn nữa, việc đọc Sec của tôi. 3 là những người khác đã thất bại trong việc sao chép kết quả, như họ nói, ngay cả kết luận siêu phân tích năm 2009 "cũng bị ảnh hưởng ít nhất bởi môi trường văn hóa và thực tiễn giáo dục ". Nhìn chung, dự đoán tốt nhất của tôi là khóa học rất tệ, điều này không gây ngạc nhiên vì "làm thế nào để dạy lập trình hiệu quả" là một vấn đề nghiên cứu.
Blaisorblade 15/03/2015

33

Bất cứ ai cũng có thể là một lập trình viên. Xem xét cách mọi người dễ dàng nắm bắt bảng tính. Xem xét việc Alan Kay dễ dàng giới thiệu cho trẻ lập trình bằng phương pháp thử nghiệm và khám phá trong môi trường lập trình.

Mọi người có thể học thành công trong các khóa học cấp đại học và kết luận "một số người không phù hợp để học lập trình". Tuy nhiên, một kết luận như vậy đã vượt qua giới hạn của các bằng chứng quan sát được. Thay vào đó, có bao nhiêu thất bại có thể được quy cho cách dạy lập trình (quá trừu tượng?), Hoặc kiểu dạy lập trình nào (quá bắt buộc?), Hoặc môi trường lập trình (biên dịch, không có phản hồi ngay lập tức?).

Điều này được hiểu rõ rằng mọi người nắm bắt trừu tượng một cách dễ dàng nhất sau khi họ đã làm việc với nhiều trường hợp cụ thể - tức là chúng ta không thể học được điều gì cho đến khi chúng ta gần như đã biết điều đó. Do đó, bắt đầu với bản tóm tắt là một cách hoàn toàn ngu ngốc để dạy lập trình. Nhiều người vấp ngã trước những "mô hình tinh thần" được phát hiện trước sẽ phát triển mạnh nếu được dạy trong một môi trường cụ thể hơn với phản hồi thời gian thực (ví dụ như trong Học viện Kahn cho CS ) sau đó khuyến khích leo lên bậc thang trừu tượng khi họ sẵn sàng. Lập trình có thể học được là một bài tiểu luận gần đây của Bret Victor thu hút sự chú ý đến những thách thức môi trường không cần thiết mà các lập trình viên phải đối mặt trong học tập.

Trong một số trường hợp, chính các sinh viên thất bại trong lớp học của họ. Sự lười biếng trí tuệ và sự thờ ơ cố ý sẽ tồn tại trong bất kỳ nhóm lớn nào của con người. Dân gian thông minh cũng không ngoại lệ, vì bất cứ ai đã tranh luận với một tay quay xuất sắc đều có thể chứng thực. Nhưng, đặc biệt đối với lập trình và toán học, nó thường là các lớp đang làm học sinh thất bại.


7
Tôi nghĩ rằng bất cứ ai cũng có thể học mã hóa thô sơ giống như họ có thể học nhạc cơ bản. Tuy nhiên, kiếm sống từ nó là một vấn đề khác. Ví dụ, tôi thích chơi ghi-ta nhưng tôi sẽ không tham gia một chuyến tham quan sân vận động nhiều thành phố hoặc xuất hiện trong một album phòng thu lớn bất cứ lúc nào sớm.
jfrankcarr

4
Hãy nhìn vào bài báo liên kết trong câu trả lời của Serg. Ngay cả khi nó không rõ ràng như họ nghĩ ban đầu, sự thật là một số người không thể quấn đầu với các khái niệm lập trình cơ bản nhất, ngay cả sau một hoặc hai tháng học - ví dụ: x = 1; y = x;và câu hỏi là " Các giá trị của xvà là ygì? "
Izkata

3
Xin chào và chào mừng! Bạn có thể không biết điều này, vì bạn rất mới, nhưng chúng tôi thực sự không thích các câu hỏi kết thúc mở và / hoặc thảo luận-y. Tôi đã xóa Is it true that not everyone can learn how to program?dòng khỏi câu hỏi, các thành viên giàu kinh nghiệm hơn của chúng tôi đã bỏ qua nó, nhận ra rằng nó không phù hợp với hướng dẫn của chúng tôi và tập trung câu trả lời của họ vào các khía cạnh nghiên cứu / khoa học của câu hỏi. Bạn có thể vui lòng làm như vậy?
yannis

3
@jfrankcarr - Bất kỳ kỹ năng nào, ở cấp độ chuyên nghiệp hoặc cạnh tranh, sẽ khiến nhiều học viên bị bỏ lại phía sau. Hầu hết mọi người không thể nói hoặc viết thậm chí ngôn ngữ tự nhiên một cách chuyên nghiệp.
dmbarbour

3
@Izkata - Tờ giấy Serg liên kết có giá trị khoa học đáng ngờ; kết quả tương tự sẽ đạt được từ bất kỳ lớp học kém nào: những người đã hiểu rõ về chủ đề này. Và liên quan đến câu hỏi ví dụ của bạn: phổ biến hơn là những câu hỏi giả định ngữ nghĩa bắt buộc, chắc chắn không trực quan. Bạn thậm chí có thể trả lời câu hỏi của riêng bạn nếu bạn không thể cho rằng sự vắng mặt của sự tương tranh?
dmbarbour

19

Có thể đây là giai thoại, nhưng khi tôi dạy lập trình giới thiệu cho vài trăm sinh viên nghệ thuật tự do, tôi không tìm thấy "bướu kép" như vậy. Dường như với tôi tất cả họ đều có khả năng, mặc dù một số người làm việc chăm chỉ hơn những người khác, và một số rất ít cố gắng vượt qua.

Rất nhiều điều phải làm với cách nó được dạy.

Rất nhiều điều phải làm với mong muốn - một số không tìm thấy lập trình ít thú vị nhất. Nhưng ngay cả như vậy, họ có thể học nó nếu họ nỗ lực trung thực.


5
Tôi thường tự hỏi ham muốn chơi ở đâu, tất cả chúng ta đều biết lập trình hoàn toàn không thú vị như thế nào đối với đại đa số dân chúng, khiến tôi tự hỏi có bao nhiêu người cố gắng kiếm tiền nhưng những người bình thường hoàn toàn không quan tâm đến cách máy tính hoạt động.
Jimmy Hoffa

6
@Jimmy: Tôi đã cố gắng làm cho nó trở nên thú vị bằng cách cho họ tham gia các dự án cá nhân về trò chơi, khoa học, tài chính, âm nhạc, bất cứ điều gì hấp dẫn họ. Lập trình thú vị hơn nhiều khi nó kết thúc.
Mike Dunlavey

2
@Den: Chà, họ phải làm những chương trình nhỏ để làm bài tập về nhà, họ có những câu đố và bài kiểm tra, và mỗi người phải làm một dự án lập trình cá nhân quan trọng, tất cả đều được tôi chấm điểm. Khóa học được yêu cầu.
Mike Dunlavey

1
@MikeDunlavey Sinh viên luôn có những người bạn có thể lập trình và bài tập về nhà có thể dễ dàng bị lừa.
Sulthan

2
@Sulthan: Không phải trong lớp tôi, họ đã không làm thế. Một số đã cố gắng. Một số đã cố gắng sao chép từ những người khác trong một bài kiểm tra. Đó là điều hiển nhiên - mã này quá giống với mã của người khác, đồng thời chứa những lỗi rõ ràng. Đối với các dự án, không có hai cái nào giống nhau, và không có gì giương cờ đỏ như ai đó làm công việc tầm thường trong các câu đố và bài tập về nhà nhưng lại biến thành một dự án đẹp. Tôi chỉ làm một bài kiểm tra khác và đưa nó cho họ. Nếu họ rõ ràng không biết đường lên, tôi không có nghĩa vụ phải cho họ điểm cao. Ngoài ra, tôi có thể gọi một giáo sư khác.
Mike Dunlavey

7

Khi tôi bắt đầu, việc ngồi "kiểm tra năng khiếu" là điều bình thường trước khi bạn có một công việc lập trình. Không có nhiều sinh viên tốt nghiệp ngành khoa học máy tính, vì vậy việc tuyển dụng từ các ngành khác là điều phổ biến.

Các bài kiểm tra tương tự như những gì bạn thấy trong các bài kiểm tra IQ (số tiếp theo trong chuỗi, v.v.).

Bằng chứng giai thoại là trong khi không phải ai vượt qua bài kiểm tra đều trở thành một lập trình viên giỏi, không ai thất bại trong bài kiểm tra mà được thuê vì những lý do khác từng trở thành một lập trình viên giỏi.

Đáng buồn thay, máy bay không người lái HR không hiểu các bài kiểm tra này (và đã thất bại khi họ thực hiện chúng!), Vì vậy việc tuyển dụng ngày nay phụ thuộc vào những điều mà máy bay không người lái HR hiểu - kỹ năng giao tiếp, mặc quần áo tốt.

Đây là lý do khá nhiều lý do các phòng CNTT lớn có rất nhiều người giỏi trong các chương trình PowerPoint và rất ít lập trình viên giỏi.


1
+ Tôi rất biết ơn vì tôi chưa bao giờ (gần như) phải trải qua nhân sự.
Mike Dunlavey

4

Đối với những người trích dẫn nghiên cứu hai bướu hoặc dê-dê hoặc cừu của Dehnadi và Bornat, đáng để kiểm tra Mô hình tinh thần và Năng lực lập trình của Caspersen et al (2007) trong đó họ cố gắng sao chép nó:

Dự đoán sự thành công của sinh viên tham gia các khóa học lập trình giới thiệu đã là một lĩnh vực nghiên cứu tích cực trong hơn 25 năm. Cho đến gần đây, không có biến số hoặc thử nghiệm nào có sức mạnh dự đoán đáng kể. Tuy nhiên, Dehnadi và Bornat tuyên bố đã tìm thấy một bài kiểm tra đơn giản về khả năng lập trình để tách sạch cừu lập trình khỏi những con dê không lập trình. Chúng tôi trình bày ngắn gọn lý thuyết và công cụ kiểm tra của họ.

Chúng tôi đã lặp lại bài kiểm tra của họ trong bối cảnh địa phương để xác minh và có thể khái quát hóa kết quả của họ, nhưng chúng tôi không thể chứng minh rằng bài kiểm tra dự đoán thành công của sinh viên trong khóa học giới thiệu chương trình giới thiệu của chúng tôi.

Dựa trên sự thất bại này của công cụ kiểm tra, chúng tôi thảo luận về các giải thích khác nhau cho các kết quả khác nhau của chúng tôi và đề xuất một phương pháp nghiên cứu để có thể khái quát hóa các kết quả địa phương trong lĩnh vực này. Hơn nữa, chúng tôi thảo luận và chỉ trích bài kiểm tra năng khiếu lập trình của Dehnadi và Bornat và đưa ra các công cụ kiểm tra thay thế.


4

Người ta có thể thực hiện các nghiên cứu về năng lực trừu tượng, hoặc kiến ​​thức hữu ích khác, nhưng định nghĩa về lập trình là không rõ ràng và tôi nghĩ rằng trích dẫn là không liên quan, bởi vì có những cách ngược lại để xem xét lập trình:

Loại thứ nhất: Ngôn ngữ lập trình là (hoặc nên là) một loại ngôn ngữ nào đó được tạo ra để mô tả một tác vụ cho máy tính thực thi, vì vậy mọi người nói chuyện đều có thể lập trình. Nó được gọi là scripting, BASIC, hệ thống sắp chữ TeX , v.v ... Ngôn ngữ hoặc hệ thống không thành vấn đề, đó là cách người sáng tạo và mọi người nhìn vào nó: "Kính gửi chương trình / máy tính, vui lòng in tên tôi" , thay vì "Hãy cho tôi không gian kích thước của mười một ký tự, sau đó cho tôi địa chỉ của không gian này, sau đó cho tôi lưu trữ, sau đó nhập mười một ký tự vào bộ nhớ này mà bạn có thể lấy ra khỏi bộ đệm bàn phím của mình (nhưng đừng quên làm sạch nó , Vân vân."

Trong trường hợp này, rõ ràng nghiên cứu sẽ là "Không phải mọi ngôn ngữ đều có thể bị đồng hóa nhanh chóng?".

Mặt khác, ngôn ngữ lập trình chỉ là một cách để mô tả cách thức máy tính hoạt động hoặc cách thức hoạt động của nó, cách nó được 'kết nối' nếu bạn nghĩ về máy tính của những năm 1950. Do đó, lập trình viên không thể làm bất cứ điều gì, ngay cả khi anh ta 'nói' ngôn ngữ lập trình một cách hoàn hảo, nếu trí thông minh của anh ta / cô ta không thể đạt đến mức trừu tượng này, nơi bạn thấy các byte ong được lưu trữ trong bộ nhớ, chuỗi như con trỏ, v.v. trở lại trái đất để liên kết nó với vấn đề. Do đó, không phải con người nào cũng có thể lập trình (bằng ngôn ngữ lắp ráp ...).

Ngoài ra, bạn sẽ cần tất cả các phẩm chất cần thiết để làm việc và sản xuất một cái gì đó: biết rất rõ những gì bạn muốn, giúp người khác dễ dàng hiểu / hoàn thành / đánh giá, tập trung vào mục tiêu của bạn, v.v ... Nhưng giống như một kiến ​​trúc sư, một nhà văn, một nhạc sĩ, một cô gái điếm..aehh nhà tiên tri, v.v.

Nhưng hầu hết con người có khả năng trừu tượng tốt, đặc biệt là trẻ em. Một số trường ở Đức đang dạy Haskell cho thanh thiếu niên (các ngôn ngữ lập trình như Pascal hoặc Delphi đang được dạy ở mọi trường học ở Đức).

Vì vậy, tôi sẽ nói rằng câu hỏi rất khó trả lời, và bất kỳ câu trả lời (hoặc nghiên cứu) có thể không liên quan.

Bạn sẽ tìm thấy một phân tích rất ngắn gọn về cách mọi người học lập trình trong bài viết Dạy bản thân lập trình trong mười năm của Peter Norvig. Ông dường như nghĩ rằng không có lập trình viên sinh ra.


3
Xin chào và chào mừng! Tôi hơi bối rối về cách câu trả lời của bạn trả lời câu hỏi, điều này thực sự là về việc liệu điều này đã được nghiên cứu hay chưa ...
yannis

xin lỗi tôi đã làm rối với nút "gửi" ... Tôi hy vọng điều này có ý nghĩa hơn
Yves

Bạn đang đi đúng hướng nhưng bạn buộc chặt các ngôn ngữ lập trình với phần cứng (máy tính). Lập trình không chỉ dành riêng cho khả năng nói chuyện với máy tính. Lập trình là về việc mô tả một quá trình một cách nhất quán. Mô tả một quá trình cho người khác tương tự như mã hóa nó bằng ngôn ngữ lập trình cấp cao. Sự khác biệt lớn nhất là con người khoan dung hơn với sự mơ hồ.
Hoàng đế Orionii

Tôi không bảo vệ quan điểm này, nhưng đã cố gắng chỉ ra thực tế rằng mọi người có xu hướng nhìn thấy các ngôn ngữ lập trình và việc sử dụng chúng nên được sử dụng như là các mô tả nhiệm vụ (rất quan trọng đối với lập trình và viết kịch bản cấp cao), hoặc như mô tả "quy trình máy tính" (ví dụ: ngôn ngữ cấp thấp có vẻ gần với ngôn ngữ mô hình hóa VHDL hơn VB.NET, ngay cả khi chúng là ngôn ngữ lập trình). Hai cách tiếp cận này rất khác nhau và 2 mặt của cùng một đồng tiền. Họ nhấn mạnh vào các khía cạnh khác nhau của trí thông minh con người, rất khó để định lượng. Vì vậy, thật khó để nghiên cứu chúng.
Yves

3

Nhiều năm trước tôi đã làm một số khóa học bao gồm lý thuyết lãnh đạo quân sự. Một phần của lý thuyết là tồn tại sự liên tục lãnh đạo, từ những người lãnh đạo tự nhiên đến những người không thể dẫn dắt một con chó trên dây xích. Ý tưởng là mọi người được phân phối trên sự liên tục lãnh đạo này theo một đường cong hình chuông, với hầu hết mọi người đang ở đâu đó giữa hai thái cực. Ngoài số ít ở cực xa "không thể dẫn dắt một con chó", hầu hết mọi người đều có thể được dạy về nghệ thuật lãnh đạo. Số lượng nỗ lực cần thiết để biến ai đó thành một nhà lãnh đạo phụ thuộc vào nơi họ ngồi liên tục.

Tôi nghi ngờ lập trình có một liên tục tương tự và phân phối tương tự. Sẽ có những người chỉ cần có được nó một cách dễ dàng, và những người không bao giờ có thể có được nó nếu cuộc sống của họ phụ thuộc vào nó. Nhưng họ là số ít ở phần đuôi của đường cong hình chuông. Hầu hết mọi người ngồi giữa những thái cực trên liên tục. Họ có thể học lập trình nhưng nỗ lực cần thiết để dạy họ sẽ phụ thuộc vào nơi họ tiếp tục ngồi.


Tôi thấy nhiều người không dẫn dắt con chó một cách chính xác. Tôi đã từng có thể dắt chó đi dạo mà không cần dây xích, ngay cả trong thị trấn. Tôi luôn tự hỏi tại sao mọi người không làm cho con chó phiền.

2

Tôi không chắc đó chỉ là lập trình. Tôi đã thấy một loại hiện tượng tương tự với những người chỉ đơn giản là học cách sử dụng máy tính. Quay lại trường đại học, tôi là trợ lý phòng thí nghiệm trong phòng thí nghiệm tổ chức chương trình xóa mù chữ cho máy tính cho người cao niên.

Trong vòng hai tuần, tôi có thể xác định những người sẽ nhận được nó và những người sẽ không chính xác 100%. Bạn chấp nhận rằng đây là cách máy tính hoạt động hoặc bạn đập đầu vào nó cho cả lớp. Không có mặt bằng giữa. (Thực tế đó là một lớp người cao niên có nghĩa là chúng tôi có rất nhiều người đánh đầu khiến cho mô hình rõ ràng hơn nhiều.)

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.