Философия программирования


Программирование как часть кибернетики появилось только в двадцатом веке. Возникновение кибернетики, в свою очередь, было подготовлено рядом научных и естественнонаучных достижений в области теории автоматического регулирования и радиоэлектроники, позволивших сконструировать быстродействующие вычислительные устройства.

Вначале, когда программы для таких устройств были достаточно простыми, ими занимались сами изготовители вычислительных машин. Но с повышением сложности и увеличением объема программ стали требоваться люди со специальной подготовкой и, что особенно важно, с особым образом мышления, которым было под силу “вдохнуть жизнь” в становящийся все более интеллектуальным электронный “мозг”. Тогда и стали рассматривать написание программ для электронно-вычислительных машин как особый вид интеллектуальной деятельности, который иногда сравнивают с искусством.

В широком смысле слова под термином “программирование” понимается составление программ для технических устройств. Здесь будут рассмотрены вопросы составления программ для таких программно-управляемых вычислительных устройств как персональные компьютеры, которые наиболее доступны широкому кругу людей и которые достаточно развиты для так называемого “интеллектуального программирования”. Под термином “интеллектуальное программирование” здесь будет пониматься составление таких программ, которые могут соперничать с человеческим разумом или помогать ему в решении интеллектуальных задач.

Электронно-вычислительные машины, в отличие от устройств преобразующих энергию или вещество, оперируют информацией, которая не материальна. Понятие “информация” как совокупность знаний важно для понимания глубинных процессов программирования. Информация - это чистое знание, которое человек переложил из своего мозга на вещественный или электронный носитель. Управление этой информацией, переработка, преобразование одной в другую поиск в гигантских массивах знаний требует точного алгоритмического мышления и ясных указаний по проведению этой работы.

Однако нельзя не принимать во внимание и обратное воздействие электронно-вычислительной машины на человеческий разум. Как меняется образ жизни человека его поведение и духовные ценности под воздействием кибернетического прогресса. В данной работе будут рассмотрены вопросы влияния программ на человеческую личность и влияние самого человека на программы, морально-этические проблемы программирования и другие не менее важные вопросы.


Электронное воплощение человеческой мысли


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

До возникновения письменности знания, полученные людьми, передавались из уст в уста, от отца к сыну, от деда к внуку, перерастая в легенды сказки и былины, все больше теряя нить объективного знания и приобретая налет личных переживаний каждого рассказчика.

С появлением письменности произошел коренной перелом в изучении природы и природных явлений. Знания стали накапливаться и передаваться следующим поколениям точно, без искажений. На основе этих знаний возникали науки, базирующиеся не на опыте конкретной личности, а аккумулирующие в себе опыт сотен и тысяч людей. Человеку уже не нужно было познавать мир методом проб и ошибок, можно было изучив записанный опыт предыдущих поколений представить себе картину окружающего мира, затратив на это несоизмеримо меньше времени и сил.

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

С появлением электронно-вычислительных машин были предприняты попытки переложить большую часть рутинной работы по сбору и обработке информации на “железные плечи”. Но только в наши дни, когда персональные ЭВМ есть практически в каждом доме, можно с уверенностью сказать, что компьютеры захватили и удерживают пальму первенства в работе с информацией.

Сначала ЭВМ выполняли только рутинные счетные и поисковые операции, далее программы для ЭВМ становились все более сложными, их логика работы стала приближаться к работе человеческого мозга. Уже сейчас компьютерные программы играют в такие высокоинтеллектуальные игры как шахматы лучше человека. Примером тому служит победа программы “Deep Blue” в шахматном матче против чемпиона мира Гарри Каспарова.

На низшем уровне программа - это собрание миллиардов простых битов информации, нулей и единиц. Вычислительная машина преобразует эти биты информации во внутренний логический алгоритм, который с возрастанием объема программы становится все более сложным. Так же работает человеческий мозг. Его деятельность основана на электрических импульсах, пульсирующих между нейронами, которые преобразуются в мысли и команды человеческим органам. Но есть огромная разница между работой компьютера и человеческого мозга. Программа написана один раз одним или несколькими людьми и запущена в компьютере. А человек изменяет свою “программу” поведения ежесекундно, на одни и те же раздражители он может реагировать по разному, деятельность мозга, постоянно само совершенствующего свою внутреннюю программу не поддается описанию. Именно человеческая мысль вложена в электронные “мозги” четко описанная, разложенная по миллиардами бит информации и больше, чем вложено человеком взяться просто неоткуда. Можно привести простой пример. Программа - это большая книга написанная людьми и совершенно новых страниц, которые никем не написаны, там не будет никогда. Можно добавить несколько новых страниц или даже поручить это сделать компьютеру, но и в таком случае новые страницы будут скомпонованы из того что уже есть внутри “железного ума”.