Яку роль відіграє "мовна культурна історія" з платформою?


15

Я нещодавно натрапив на цестаття від декількох років тому. Він стверджує, що значні відмінності в культурі навколо VB та C #, а не фактичні відмінності в мові, сприяють тому, що кодери C #, як правило, більш талановиті, ніж кодери VB. Очевидно, що це спричинило багато вогняних воєн, і на питання, чи є C # ers або VBers, німовірними ніколи не дадуть відповіді. Однак, письменники стверджують, що культура навколо певної платформи сприяє якості колективу, але все-таки може бути правдоподібною. Наприклад, незважаючи на те, що Java на даний момент є більш ефективною для розробки програм, команда розробників Google Go, мабуть, буде в середньому вищого калібру, ніж команда розробників Java, оскільки, навчившись Go, розробник, ймовірно, має бути надчаровим усиновлювачем і прикордонним гавканням. Отже, коротко кажучи,як культура, яка відповідає тій чи іншій платформі, впливає на якість середнього розробника на цій платформі, якщо вона взагалі?


Це день C # проти VB.NET?

@ DeveloperArt- Це не мій намір. Насправді, питання, яке мені було цікаве, пояснюється тим, що стаття здається дуже датною сьогодні, але концепція може бути врятованою. У статті робиться враження, що C # devs - все генії. Я одна, тому я знаю з перших рук, що всі ми можемо бути такими ж неохайними, коли настрій нападає.
Морган Херлокер

1
@Developer Art: Я прочитав цю статтю лише вчора, і я впевнений, що посилання, розміщене у відповіді тут, спричинило мене до неї. Можливо, саме так пробився і професор Плюм - одне запитання C # проти VB.NET призводить до іншого. :-)
Carson63000

Відповіді:


8

Дійсно цікаве питання. Моя особиста думка полягає в тому, що це питання, про яке задають занадто часто і справді не тримає жодної води.

Діти з сценаріїв (і компанії, які їх наймають) дозволяють мові вибору диктувати свій статус серед ешелонів "програмістів". Хороші інженери не могли менше дбати про мову вибору, але сконцентрувались на вирішенні заданих завдань найбільш оптимальним чином (очевидно, оптимальним є загальне твердження і може застосовуватися до багатьох різних факторів). Невже це C #, VB, C ++, Python або рукописна збірка, не має значення, оскільки існує чітка користь від використання цієї технології для вирішення проблеми.

Отже, коротше кажучи, я думаю, що цінніше дивитись на складність проблем, які кожен вирішує регулярно, на відміну від мови, яку вони використовують для їх вирішення.

Всього два центи на цю тему :)


2
+1: Крім того, думка про існування культури VB, яка якимось чином виходить за межі компанії, є смішною. Як би збереглася ця культура? Таємні зустрічі серед програмістів VB поза роботою? "Союз" чи "гільдія" програмістів VB для забезпечення цієї "культури"? Провівши 30 років, підстрибуючи серед 100-х ІТ-магазинів, я можу сказати, що єдина культура, яку я коли-небудь бачив, - суто локалізована. Вибір мови не створює цієї "іншої" культури, на яку йдеться у питанні.
С.Лотт

1
Цікаво. Якщо ви поставили +1, поцікавтеся, хто голосував і чому: P
Дем'ян Брехт

1
@ S.Lott: Я поправляюся тоді (треба любити побічний продукт припущень;)). Більше разів я отримував відгуки на такі теми, як насправді, не отримуючи жодного відгуку, який іноді може бути цінним і надати мені інформацію, про яку я раніше не звертав уваги :)
Demian Brecht,

1
@prof: Чи справді автоматизація робить неповноцінною, чи ти вважаєш себе вищою, тому що вони розуміють, які ярлики можуть зробити для досягнення того ж результату, але ефективніше? :) Звичайно, це надмірне узагальнення і майже неможливо точно відповісти. Я начебто на паркані про те, що кодери Go є більш пристрасними. Ви все ще можете знайти людей, які так само пристрасно ставляться до Фортран. Однак, це змусить мене повірити, що програміст Go більше захоплюється новими технологіями та практикою, що є хорошою справою :)
Дем'ян Брехт

1
@Prof Plum: "вибір платформи / мови не має нічого спільного із середньою якістю розробника". Правильно. Як може бути інакше? Культура організації має більше значення. Кодери Google Go - самі - це лише люди. Організація обмежує людей VB або рекомендує їх використовувати Go. Люди - це всі люди.
С.Лотт

4

Якість коду, розробленого на кожній з цих мов, ґрунтується на цих фундаментальних філософіях, а менше - на окремих розробниках

Кожна мова має культуру навколо неї, тому що кожна мова була розроблена з якоїсь причини хтось із порядку денного та основоположною філософією, чому їхня мова стане кращою у чомусь, ніж те, що існувало на той час.

Як і релігії, мови програмування, як правило, приваблюють людей, які вже мають однакову схильність до основних принципів і філософій мовця.

Приклад щодо сприйнятої якості рішень

В одному з таборів Microsoft у вас є:

Філософія C # полягає в тому, що вона більш суто орієнтована на об'єкти, просуває більш сучасні ідіоми і вимагає більше знань, щоб правильно це зробити і, таким чином, повинна забезпечувати більш якісні рішення. Це те, що привертає людей до VB.

В іншому таборі Microsoft:

Філософія VB полягає в тому, що я можу швидко і з невеликими знаннями або зусиллями побудувати щось, що дозволить комусь натиснути кнопку і зробити щось корисне та ділового значення, як це не так важливо. Це те, що привертає людей до C #.

Ось кілька мов та щок, що стосуються мов та їх філософії:

Люди Perl, як правило, дбають про навпаки, про що дбають люди Python.

Люди на Java дбають про заробітки.

Мови JVM (Groovy, Scala) дбають про JMV, а не про мову Java.

Усі мови, що стосуються Microsoft (VB, C #, F #, керований C ++), як правило, дбають про заробітки в Windows.

Люди Ерланг дбають про речі, про які не мали потреби дбати всі інші, і не цінують те, чого вони не знають.

Людям Lisp не байдуже, що хтось думає, що їх хвилює.

Що ці групи піклується про форму мови, її розвитку та спільноти.

Філософії змінюються з досвідом і потребою

Я прийняв ASM та BASIC, тому що у 1983 році це було все, що ти мав. Я хотів писати ігри та демонстрації, це були інструменти для цього. Переважно ASM для демонстрацій.

Я прийняв C, а потім C ++ назад, коли це був єдиний спосіб написати такі речі, як 3D-рендерінг, і майже все інше, що було важливим для простору та часу. Це був не ASM, тому я дізнався це.

Я прийняв VB, щоб заробляти гроші, це було найближчим до середовищ розробки Scala, директора та CanDo, до якого я звик в Амізі. Я погодився з філософією швидкого розвитку

Я рано прийняв Java, щоб краще заробити гроші. Я заробляв гроші на VB до 1999 року і залишав його позаду, коли Java 1.2 стала стабільною і зрілою, і до того часу Інтернет повністю запустився, я мав 4 роки досвіду роботи Java, коли люди справді почали сприймати це серйозно. Я погодився з записом один раз, бігай куди завгодно, щоб чим більше місць мій код пробіг, тим легше було б його продати. філософія.

Я прийняв Python пізно на його часовій шкалі, 2005 рік, тому що він подряпив свербіж, що Java не зробив. Мені потрібно було швидко написати код, щоб використовувати деякі бібліотеки, які були доступні лише на C, а також мені потрібно було робити швидке прототипування веб-сервісів. Python був швидшим і менше коду, щоб зробити те ж саме в Java. Дещо пішло у виробництво, оскільки Java деякі залишилися Python, багато чого ніколи не потрапляло в дику природу. Я погодився з його батареями, окремими філософіями ідіоми, а також іншими.

Я прийняв Луа, коли мені потрібно було помістити легкий сценарій в мої програми C ++ та Java. Це було до того, як підтримка JSR233 на Java. Я погодився з вбудовою повнофункціональної мови сценаріїв, яка проста у використанні, повинна бути простою філософією Lua.

Я прийняв Ерланг в 2006 році, коли мені почали потребувати масштабної масштабованості та відносно безболісного багатоядерного виконання при дуже паралельних проблемах і крос-платформному виконанні. ** Я погоджуюся з його загальним станом, передачею повідомлень, незмінною філософією стану. * 8

Я застосував Objective-C, коли почав потребувати створення програм для OSX та iOS. Я погоджуюсь з його додаванням якраз права щодо Орієнтації на об'єкт до С, щоб покращити його філософію. Також краще заробляти гроші.

Я прийняв JavaScript офіційно в 2009 році, оскільки я погодився з філософією CouchDB, і він використовує JavaScript. Ще не подобається JavaScript, коли мені доводиться мати справу з DOM.

Я досі офіційно не прийняв Lisp, але я зрештою збираюся! Я погоджуюся з її тими, хто не знає лісу, засуджений переосмислити його філософію.


0

Дійсно цікаве питання. Це одна з тих, де ти розумієш відповідь на підсвідомому рівні, але прагнеш викласти її словами.

Найкраще це розглядається як петля причинності.

Культура відповідає за "етнічний" склад розробників, залучених до платформи. Цей склад, у свою чергу, визначає якості "середнього" програміста. Якість розробників, які зараз використовують платформу, впливає на культуру чи її сприйняття поза, що, отже, впливає на розробників, які приходять на платформу або залишають її. Значення "якості" змінюється в результаті.

Я намагався придумати конкретні правила, але мені важко узагальнити. Нам потрібно окремо дослідити кожну платформу. Кілька зауважень, які я зробив:

  • Швидкість, з якою конкретна платформа розробляється, розширюється, удосконалюється, має пряму кореляцію з якістю розробників. Постійний потік нових блискучих функцій та інструментів приваблює захоплених розробників (які в середньому здатні до якісної роботи) і відштовхує консервативні розуми, які дратуються постійними зусиллями в навчанні.

  • Менші обмеження, які пропонує платформа навіть ціною більшого ризику стріляти в ногу, однаково приваблює захоплений експериментальний розум

  • Більш складні речі - це те, що потрібно розуміти та опановувати, щоб використовувати платформу однаково залучає рішучих людей і відлякує ледачих розробників


Як ця культура виходить за межі компанії?
С.Лотт

1
Технологія @Lott майже завжди перетинає культурні межі. Існують величезні культурні розриви між різними користувачами ОС. Я знаю, що багато графічних дизайнерів та інженерів з аудіоінформації вважають, що це було можливим, щоб перейти до компанії, яка використовувала що-небудь крім Mac. Мак виховував культуру навколо цих двох груп, зокрема цілком відчутну. Мови програмування - це інструменти, як Photoshop та GIMP, тому це не дивно, що навколо них створені культури. Якби не вони, то у нас не було б полум'яних воєн.
Морган Херлокер

@Prof Plum: Ваші приклади не відповідають «культурі» на основі інструментів. Ваші приклади - навпаки. Фактична культура (аудіоінженери) вибирає загальні інструменти. Не все, що всі користувачі Logic Pro змушені стати аудіоінженерами, оскільки якось Logic Pro створює культуру. Я вважаю, що приклади у вашому коментарі (та сама робота -> подібні інструменти) є прекрасним доказом того, що немає "мовної культурної історії". Скоріше, існує загальна культура випадків використання або культура роботи кінцевого споживача.
S.Lott
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.