ій, які повинні бути виконані, і формує концепції, якими користується програміст, розмірковуючи про те, що робити. Першої мети ідеально відповідає мову, який настільки "близький до машини", що усіма основними машинними аспектами можна легко і просто оперувати досить очевидним для програміста чином. Другий мети ідеально відповідає мову, який настільки "близький до розв'язуваної задачі", щоб концепції її рішення можна було висловлювати прямо і коротко.
Тенденції розвитку мов програмування обумовлені наступними причинами:
1. Потреба у вирішенні більш складних і різноманітних завдань. Перші ЕОМ мали обмежені можливості, отже, і програми були простими. У процесі еволюції обчислювальної техніки від неї вимагалося рішення все більш складних і різноманітних завдань. Отже, мова програмування повинен був дозволяти писати програми для вирішення цих нових завдань. Це сприяло появі та розвитку в мовах програмування різних нових технологій. Наприклад, користується широкою популярністю технологія об'єктно-орієнтованого програмування.
2. Програми ставали складніше і більше за обсягом. З'явилося прагнення до підвищення ефективності процесу створення програм. Тому існує тенденція у розвитку мов програмування до швидкого написання програм. Тут також слід зазначити поява безлічі систем візуального програмування, в якійсь мірі полегшують працю програміста.
3. Бажання, щоб програми працювали на різних платформах, призвело до розвитку незалежності від ЕОМ мов системного програмування. Мови системного програмування, на яких створюються операційні системи, транслятори й інші системні програми, розвиваються в напрямку незалежності від ЕОМ. Так, наприклад, велика частина операційних систем написана мовою C, а не на асемблері. Наприклад, операційна система Unix практично повністю написана на C. p> 4. Великі проекти передбачають спільну працю безлічі програмістів. У можливості легкої командної роботи добре себе зарекомендувала технологія об'єктно-орієнтованого програмування. Тому більшість сучасних мов програмування підтримують ООП. p> Таким чином, мови програмування розвиваються в бік все більшої абстракції від реальних машинних команд. І самим очевидною перевагою тут є збільшення швидкості розробки програми. [4]
Також пріоритетним напрямком інформатики є розробка інтелектуальних систем. Інтелектуальна система (ІС, англ. intelligent system) - це технічна або програмна система, здатна вирішувати завдання, що традиційно вважаються творчими, належать конкретної предметної області, знання про яку зберігаються в пам'яті такої системи. Структура інтелектуальної системи включає три основні блоки - базу знань, вирішувач і інтелектуальний інтерфейс. [6]
Інтеллсіст - наукомістке виробництво інтелектуального програмного продукту. p> Принципи створення Інтеллсіст:
1. Оригінальний текст знань і завдань (або запитів) повинен бути максимально близьким до текстів безпосередніх користувачів, які є фахівцями в своїй галузі (Або областях) знань. Текст має складатися з термінів користувача, зібраних в лексикон даної галузі знань.
2. Кожен запит користувача приймається за істинний, виключаючи випадки формальних чи фундаментальних помилок або протиріч наявних знань, які спростовують істинність фраз знань або запиту.
3. Внутрішній код (Подання в пам'яті Інтеллсіст), що отримується в результаті трансляції вихідного тексту на внутрішнє уявлення, повинен відображати тільки необхідні несуперечливі, незалежні і по можливості повні знання. Причому процес відображення повинен проходити без втрати знання, або втрата відома користувачеві.
4. Різноманітність уявлень знань і даних має відповідати потребам користувача, правилам граматик ЕЯ, ПЄГ та мови Лейбніц.
5. Інтеллсіст повинна породжувати результати вирішення завдань тільки у відповідності зі знаннями, повідомленими їй через БЗ або запити, і з вимогами, які породжені в результаті обговорення недоліків ПП.
6. Повинна забезпечуватися надійність дозволу запитів: компілятор і відладчик знань повинні виявляти помилки, по можливості виправляти їх або підказувати шляхи їх виправлення, запитувати додаткові знання.
7. Кожна Інтеллсіст повинна бути максимально інтелектуальної (кожен крок пов'язаний з логічним висновком за правилами ІЛ), враховувати накопичені в інформатиці знання по інтерфейсу і діалогу з користувачем, а також має бути оцінена мірою інтелектуальності.
Користувач тільки орієнтується в можливостях Інтеллсіст, виконання запиту не вимагає спеціальних формулювань для вирішення того чи іншого класу задач, Інтеллсіст сама визначає клас розв'язуваних завдань, а користувач тільки з відповіді може судити до якого класу слід віднести цей запит. Слід зауважити, що в інструментарії передбачений діалог для введення параметрів точної характеристики кожного класу задач. Наприклад, користувачеві здається, що він сформулював теорему, ...