is_реклам:

пошук, категорії та ін. показати ▼

математика проти лінгвістики

математика проти лінгвістики
автор опубліковано

Розмова на тему програмування

Одне із правил програмування каже: якщо Ви не можете сказати це українською, то Ви не зможете виконати це і на С++.

Тепер стає зрозуміло, чому підступний викладач вимагає пояснення коду при захисті лабораторного чи курсового проекту. Очевидні дії чи дружня допомога одногрупників або всезнаючого інтернету, випадковість чи дійсно свідомо написаний код. Знову ж таки, безкінечні звіти і бунт - навіщо вони. Жодного коментаря - чи прокоментований кожний рядок?

Для мене теж довгий час було секретом як старші вчителі, які писали тільки на ФОРТРАН і не завжди за комп'ютером, легко і невимушено розуміють коди на високорівневих мовах з використанням надсучасних технологій.

Не останнім пунктом при оцінюванні служить опис роботи програми. Не завчений віршик, не шаблонні фрази, а просто озвучування коду українською мовою. Чи потрібно це? - Так. Тим
більше, в майбутньому може саме Вам знадобиться писати описову документацію до програми, яка переверне уявлення про світ.

Тільки з досвідом викладання, прийшло розуміння тих викладачів, які ніколи не писали навіть на С. У різноманітті тих мов, які знаю я, і тих, на яких пишуть мої студенти, самі мови відходять на задній план. Не важливо з якої мови Ви починаєте вчити програмування, це не має жодної різниці, адже Ви вчите програмування, а не мову. Можете малювати блок-схемами, або писати чорнильною ручкою на листочку в лінійку, але, якщо цей алгоритм робочий - Ви завжди будете на рівень вище за тих, хто знає синтаксис та конструкції, хай навіть ста мов програмування.

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

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

Акт запису українською мовою того, що робить програма, і що робіть кожна функція в програмі, є критичним кроком в мислиннєвому процесі. Добре побудоване, граматично правильне речення - признак ясного мислення. Якщо Ви не можете це записати, то велика імовірність того, що Ви не повністю продумали проблему або розв'язок. Погана граматика і побудова речень є також показниками нечіткого мислення. Тому перший крок в написанні будь-якої програми - записати те, що робить програма, і як вона це робить. Певно для цього така кількість лекцій і книжок з програмування.

Є різні думки на рахунок можливості мислення поза мовою, але аналітичне мислення того типу, який потрібен в комп'ютерному програмуванні, тісно пов'язане з мовними навиками. Я не думаю, що є випадковістю те, що багато із знайомих мені кращих програмістів мають дипломи по історії, філології і схожим наукам. Згадаймо хоча б Павла Дурова, автора соціальної мережі Вконтакті, філолога. Також, не є випадковістю те, що деякі із бачених мною найгірших програм були написані інженерам, фізиками і математиками, які затратили в університеті масу енергії на те, щоб триматися як можна далі від занять по мові і літературі.

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

Тут є відмінність між інформатикою (computer science) - математичним аналізом комп'ютерних програм - і програмуванням або розробкою програмного забезпечення - дисципліною, що цікавиться написанням комп'ютерних програм. Програмування вимагає організаційних можливостей і мовної підготовки, а не абстрактного мислення, необхідного для занять математичним аналізом. В університеті мене заставляли два роки проходити лекції по математичному аналізу, але я ніколи із нього нічого не використовувала ні на заняттях по інформатиці, хоча для них матаналіз був необхідною умовою, ні в реальному житті.

Є багато таких прикладів, але цікаво, що серед наукової еліти, основоположна робота по теорії мови, яка зробила можливим написання компіляторів, була виконана в Масачусетському технологічному інституті лінгвістом Наумом Хомським, а не математиком. Тут варто згадати граматики Хомського. Ось де прикладна лінгвістика, яку вивчають на філологічному факультеті.

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

схоже за тегами

Коментарів 12

  1. Tatyana пише: Відповіcти

    Стаття – крутяк! Особливо про розв,язок проблеми при поясненні комусь чи, може, навіть собі))) Молодці!

  2. Freezer пише: Відповіcти

    Ну те щоб зовсім не було зв’язку між програмуванням та математикою це не так. Адже при написанні якогось складного алгоритму – час від часу доводиться згадувати прості “стандартні” алгоритми(напр. сортування, пробігання по файлам чи датасетам і т.п.) і використовувати їх у своєму алгоритмі. Це нагадує розв’язування прикладів для яких потрібно згадати більше ніж одну формулу. Але на цьому дійсно вся схожість закінчується, тому за статтю +1))

  3. Дарина пише: Відповіcти

    Без сумніву, стаття – цікава, змістовна та лаконічна! Йшлося про досить цікаві речі, якусь частинку про вище згадане, мені, як пересічній людині, доводилося зустрічати і не раз (мається на увазі елементарні речі), але найбільше мені до вподоби ремарочка про значення мови у порівнянні із володінням знань системою т. д. і т. п. Важливими на перший погляд є обидва фактори, але… не скажіть… :) Людина може володіти кількома мовами, легко та вправно як писати, так і розмовляти. А от, якщо говорити про математичні знання, то я вважаю, що тут складніше. Чому? Пояснюю. На мою думку, хист до точних наук – це дано не кожному із нас, тоді як правило чи абетку ми можемо,та хоч і зазубрити, і пам*ятати все життя. Кожен четвертий мабуть, пам*ятає ту чи іншу формулу, гіпотезу, теорему, чи інші відповідні розрахунки. Але все ж, цього замало буде, щоб провести якусь “комп*ютерну операцію” :) Отож, завжди можна прочитати будь що, на те і є словники та перекладачі, а от із комп*ютерною системою, думаю буде складніше. Добре, що є кому, мені прийти на поміч :)

    • Ангелина пише:

      Дякую за такий чудовий коментар!

  4. ernest пише: Відповіcти

    Цікава стаття. В мене син в 9 класі, має схильність до мов, з математикою трішки гірше але дає раду. І час вже думати куди далі вчитися. Є кафедра прикладної лінгвістики в політехніці. Але якось ніде не можу знайти інформації ким вони працюють після закінчення. Хоча ваша стаття трохи розвіяла туман. Дякую за статтю.

    • isBlog пише:

      Приємно, що стаття стала Вам в нагоді. Якщо у Вас є якісь питання (по тематиці блогу), на які поки не знайдено відповіді. Скористайтесь формою зв’язку (меню Контакт) і ми постараємось висвітлити їх у наступних наших постах.

    • Ангелина пише:

      Ернест, це просто супер, що Ви так оцінили нашу статтю, і вона Вам допомогла. Я думаю Вам варто підійти до когось з викладачів тієї кафедри і поцікавитися, якою наукою вони займаються, а не тільки які курси вони викладають. Думаю, ЦЕ БАГАТО ВАМ ДАСТЬ ІНФОРМАЦІЇ.

    • ernest пише:

      До Ангеліни. На кафедру я підійду звичайно. Але важливо отримати інформацію зі сторони. Викладачі люди зацікавлені, і в них розпитувати про професію, якої вони вчать студентів те саме що просити поради в продавця, який товар краще купити. Я сам торгую і, повірте мені, знайду багато причин запропонувати покупцю товар, який мені дуже треба продати. Знання також товар, і погані знання в тому числі. От тільки не хочеться купувати те що потім не придасться в житті а час буде втрачено. Я вже не кажу про кошти

  5. Ірина пише: Відповіcти

    афігеть! чесно кажучи вражена!) не думала, що все настільки пов’язано з філологією і іншими науками!)

  6. Ернест! Відвертість за відвертість. Я в політесі не була, і що вони там викладають не знаю. Але здогадуюсь що ця кафедра на філологічному факультеті. І чесно дуже сумніваюсь що з своїх абітурієнтів вони роблять реально прикладників. Скоріш за все з них роблять філологів. Це вже самостійно здобувши знання з інших дисциплін, таких як системне програмування чи теорія автоматів і граматик, можна застосувати свій диплом прикладного лінгвіста. І головне в тому не диплом, а логіка в серці і аналітика в голові.
    Я думаю що на будь-якому філ-фаці нормальну людину яка просто читає книжку, навчать не читати її а рахувати підмети, присудки, іменники і розділові знаки. Максимум що можна від них очікувати це досконалого володіння надсучасними комп”ютерними програмами для лінгвістів…

Залишити коментар:

Яндекс цитирования UA TOP Bloggers