ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Чи є математика частиною інформатики ?
         

     

    Інформатика, програмування

    Чи є математика частиною інформатики?

    Цейтін Г.

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

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

    Але ні самоусвідомлення області, піонери якої були й вважали себе фахівцями у інших областях, ні виділення їй місця під сонцем у ряду інших спеціальностей, не могли бути простими. Нова область потребує виділення їй окремих ресурсів, і людських, і матеріальних, а це не могло відбуватися безконфліктно і цілком сумлінно. Я маю на увазі не тільки СРСР, де всі ці проблеми багато разів посилювалися науковим монополізмом і породжені нею інтригами. Ці проблеми існували і в більш благополучних країнах.

    Нового предмета, відмінного від усього, що було раніше, інформатика не створила. Програма цілком підходить під математичне поняття алгоритму (з деякими уточненнями через паралельного виконання або недетермінірованності), то де ж новий предмет? І представники традиційних областей, намагаючись утримати під своїм контролем ресурси, виділення яких на нові програми диктувалося практичними потребами, користувалися цим аргументом. Як казав один мій колега-матфізік: "І чого це все так носяться з цим системним програмуванням? Це ж всього-на-всього програмування для системи машин! "А інший колега, переглядаючи проект навчальних програм з інформатики, заявляв: "Це якась еклектика, просто зібрані разом шматочки, що належать іншим дисциплін ". Втім, подібна аргументація відома ще з пушкінської "Казки про царя Салтана", де "ткаля з куховаркою, з сватів бабою Бабаріхой "розвінчували (і небеcкористно) одне за одним всі чудеса, про які розповідали заморські гості.

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

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

    А необхідність в такому усвідомленні є. Дійсно, комп'ютерна програма може розглядатися як різновид алгоритму, але чому в такому випадку виникають все нові і нові мови програмування і нові концепції, наприклад, об'єктно-орієнтоване програмування? Адже в принципі будь-яка програма еквівалентна деякій машині Тьюринга, так що начебто нічого нового всі ці мови не несуть! А справа в тому, що навіть в одному і той самий предмет з різних точок зору можуть бути важливі різні боку, і те, що важливо з точки зору математики, не збігається з тим, що важливо з точки зору інформатики. Різниця між математикою та інформатикою в оціночних критеріях свого часу досить чітко описав Ласло Кальмар *, що прийшов в програмування з математичної логіки.

    Головна відмінність від математики, хоча б і розглядалися одні й ті ж об'єкти, полягає, на мій погляд, в тому, що в інформатиці визначальним є людський фактор. Програми пишуться людьми, часто великими колективами; навіть якщо програму пише одна людина, він користується отриманими від інших людей знаннями і прийомами, і, можливо, одержав початкове завдання від когось іншого. Програма має життєвий цикл: після створення вона може модифікуватися, переноситься в інше середовище, стикуватися з іншими програмами, і в кінці -решт виходити з ужитку (теж з різних причин). Чи враховує ці реальності математичне поняття, що претендує на визначення програми? Хіба може алгоритм (в точному математичному розумінні) мінятися? Якщо щось зміниться, це буде просто інший алгоритм, який не треба плутати з першим. Якщо ж ми хочемо, щоб програма, наприклад, адаптується до іншого оточення, залишалася тим же самим об'єктом, то поняття програми має суттєво змінитися (загалом, деякі математичні підходи до опису цього теж можливі, але ніколи теоретики з боку математики цього не пропонували). Важливою особливістю програм є те, що вони можуть мати помилки, і, по Принаймні, необхідні заходи для зменшення їх числа і збитків від них. Це теж не з математики. Згадаймо, до речі, і про проблему двохтисячного року.

    Для чого придумуються нові й нові мови програмування? "Для більшої зручності ", можливо, дадуть відповідь. А що таке зручність? Це знову людський фактор. Якщо серйозно, то це більш точну відповідність елементів пропонованого мови і тих понять і знань, якими користується людина, ставлячи й розв'язуючи ту ж завдання. Значить, треба розуміти структуру людського знання і людського мислення. Цілий ряд особливостей мов програмування нових, можливо, здавалися спочатку випадковими вдалими знахідками, відбиває глибокі риси організації людських знань і людської мови. Але достатньої уваги цьому не приділяється. (Один мій колега з промисловості, потребував в фахівцях з мов програмування, питав мене, не на філологічному Чи факультеті їх шукати.)

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

    Коли став широко входити в життя Інтернет, стала нагальною потребою розробка підходів, що забезпечують правильне взаємодія великого числа незалежно розроблених програм (або їх елементів). Водночас збільшення швидкості машин економію зробило менш суттєвою команд на нижньому рівні. У сумі це призвело до використання структур даних, які раніше вважалися б неприйнятними через неефективність, і, відповідно, до нової організації мов. Широке поширення модульності разом з прийнятною великих накладних витрат на міжмодульних взаємодія призвело до зменшення розмірів окремих модулів, і, як наслідок, до спрощення синтаксису мов. До речі, в цьому я бачу й причину створення та подальшого широкого розповсюдження мови Java.

    Кому ж займатися дослідженням людських і соціальних факторів в інформатиці? Знову здається мені вказуючий перст чиновного скептика, що вселяє, що ця справа таких-то і таких-то вже існуючих наук: психології, соціології, і т.п. Чи не вийде! І не тільки тому, що у всіх цих науках є свої інтереси і переваги, а їх представники можуть і не зрозуміти важливість проблем, що диктуються завданнями інформатики (у мене є певний негативний досвід). Досить розглянути, до чого призвело ототожнення інформатики з математикою.

    Інформатика отримала від математики ряд результатів і теорій, що знайшли широке застосування, в особливо в теорії мов і трансляції, а також (у меншій мірі) по верифікації програм. Разом з тим, оскільки це математики робили (або люди, відносили себе до математики) вибору завдань диктувався бажанням отримати результати, які будуть цікавими математичному сенсі, а інші, не менш важливі для інформатики, завдання залишалися без уваги. Теорія мов і трансляції, наприклад, виявилася занадто роздутою, а питання модульності (що на сьогодні важливіше) не отримали належного розвитку. Перебільшена була і роль логічної верифікації - на практиці вимоги до програм рідко оформляються у логічних поняттях. Негативну роль зіграла і орієнтація на "діссертабельность". Програмістські роботи, що містили достатній творчий внесок, що володіли і новизною, і корисністю, і робили її автора гідним вченого ступеня, штучно підводилися, зважаючи на відсутність належних рубрик, під обчислювальну математику, експериментальну фізику і т.п., і люди, причетні до проходження роботи, закривали очі на те, що вона заявленої спеціальністю не відповідає. Це, у свою чергу, призводило до появи, в силу прецеденту, дисертацій, не містили серйозного вкладу ні в "титульну" область, ні в інформатику. З іншого боку, програмістські роботи іноді забезпечувалися "орнаментального" математикою, коли визначення штучно стілізовивалісь під математичні теорії.

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

    Список літератури

    Для підготовки даної роботи були використані матеріали з сайту http://en.edu.ru/

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status