Ћекции.ќрг


ѕоиск:




 атегории:

јстрономи€
Ѕиологи€
√еографи€
ƒругие €зыки
»нтернет
»нформатика
»стори€
 ультура
Ћитература
Ћогика
ћатематика
ћедицина
ћеханика
ќхрана труда
ѕедагогика
ѕолитика
ѕраво
ѕсихологи€
–елиги€
–иторика
—оциологи€
—порт
—троительство
“ехнологи€
“ранспорт
‘изика
‘илософи€
‘инансы
’ими€
Ёкологи€
Ёкономика
Ёлектроника

 

 

 

 


»стори€ €зыков программировани€




 ак мы уже вы€снили, компьютер - примитивное создание, которое мыслит нул€ми и единицами, из которых складываютс€ числа. “ак что все, что может делать процессор, так это оперировать этими числами. “ак и программы Ц это тоже числа, которые воспринимаютс€ процессором как команды к выполнению каких-то действий.

ћы также вы€снили, что первые программисты писали программы в машинных кодах. “огда еще не было компил€торов и приходилось все писать числами. Ёто адский труд. ѕосто€нно держать в пам€ти таблицу машинных кодов - это тебе не таблица умножени€. Ќапример, тебе пон€тно число 8BC3. Ќет? ј это проста€ команда копировани€ между двум€ €чейками регистров. Ёто просто пример, потому что, тогда регистры были другие и процессоры были намного проще.

—о временем компьютер стал умнеть. ќн все так же оперировал числами, но делал это намного быстрее. Ќо программист - это человек, а не железка и ему очень т€жело создавать логику в числах. Ќамного легче работать с привычными словами. Ќапример, все ту же команду удобней записать словами типа "скопировать ebx в eax". Ќо что делать, если компьютер не понимает слов, а только числа? ¬ыход есть - написать такую программу, котора€ будет превращать текст в машинные коды. ѕусть компьютер сам создает байт-код. “акую программу назвали компил€тором. ј €зык, на котором писалс€ текст программы, назвали €зыком программировани€.

–ис.7.1 ѕрограмма в машинных кодах и Assembler

» вот был написан первый компил€тор. Ёту программу назвали Assembler (рис. 7.1), что переводитс€, как "сборщик". ѕисать на нем практически так же, как и в машинных кодах, только теперь уже использовались не числа, а пон€тные человеку слова. Ќапример, все та же команда копировани€ регистров теперь выгл€дела так: "mov eax, ebx". “о есть цифры заменились на пон€тные слова.

¬роде все прекрасно и удобно, но почему-то среди программистов возникли споры и разногласи€.  то-то восприн€л новый метод с удовольствием. ј кто-то говорил, что машинные коды лучше. Ћюбители €зыка Assembler хвалили компил€тор за то, что программировать стало проще и быстрее, а противники утверждали, что программа, написанна€ в кодах, работает быстрей. √овор€т, что эти споры доходили до драк и иногда лучшие друзь€ становились врагами. ј в принципе, и те и другие были правы. Ќа €зыке Assembler действительно программу писать легче и быстрей, а в машинных кодах программа работала быстрее.

“огда никто не мог себе представить, чем же все может закончитьс€. Ќо врем€ показало свое. — помощью Assembler программы писались быстрее, а это один из основных факторов успеха любой программы на рынке. Ћюди начинают пользоватьс€ тем продуктом, который выходит на рынок первым. ƒаже если более поздний вариант лучше, человека трудно переубедить перейти на другую версию. «десь играет большую роль фактор привычки.   тому же, к тому моменту, когда программист напишет свою первую версию в машинных кодах, программист на €зыке Assembler выпустит уже пару новых версий своего шедевра.

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

¬от тут началс€ бум. языки программировани€ стали по€вл€тьс€ один за другим. “ак по€вились —, ADA, FoxPro, Fortran, Basic, Pascal и другие. Ќекоторые из них были предназначены только дл€ детей, а некоторые и дл€ профессиональных программистов. » тут споры перенеслись в другую плоскость - какой €зык лучше. » этот спор длитс€ уже около 30 лет и конца ему не видно. Ќекоторые говорили, что это Pascal, другие утверждали что —, ну а кое-кто утверждал что это Visual Basic. Ётот спор разделилс€ на две части:

1.  акой €зык самый лучший?

2. „то лучше - €зык высокого уровн€ или низкого?

ѕервый спор не может закончитьс€ до сих пор.  аждый пытаетс€ доказать, что его €зык программировани€ самый могучий, удобный и создаЄт самый быстрый код. Ётот спор не закончитс€ никогда. ¬ принципе, это хорошо, потому что, это своеобразна€ конкуренци€. Ѕлагодар€ этому происходит развитие, и мы летим вперед. “ак все же, какой €зык лучше? Ќаиболее интересным был спор: "„то лучше - €зык высокого уровн€ или низкого?". язык низкого уровн€ это тот, который наиболее приближен к командам процессора, то есть Assembler.   €зыкам высокого уровн€ относ€т —, Pascal, Basic и др. Ётот спор проходил в той же манере, как и спор между любител€ми Assembler и любител€ми программировани€ в машинных кодах. “олько теперь приверженцы Assembler утверждали, что их код самый быстрый, а любители €зыков высокого уровн€ утверждали, что они напишут программу быстрей, чем самый лучший программист на €зыке Assembler.

—пор продолжалс€ достаточно долгое врем€. » оп€ть победила скорость разработки и удобство €зыка программировани€. Ћюбител€м Assembler пришлось отступить, потому что теперь они превратились в Ђдогон€ющихї, и не смогли угнатьс€ за €зыками высокого уровн€.

 онечно же, нельз€ сказать, что машинные коды и Assembler насовсем ушли из нашей жизни. ќни используютс€ до сих пор, но в очень ограниченном количестве. язык Assembler используетс€ только в качестве вставок дл€ €зыков высокого уровн€, а машинные коды используютс€ дл€ написани€ того, чего нельз€ сделать компил€тором (да и дл€ написани€ самого компил€тора они нужны). ”шедшие технологии живут, и будут жить, но р€довой программист очень редко встречаетс€ с ними.

—ледующей ступенью стало объектно-ориентированное программирование. язык — превратилс€ в —++, Pascal превратилс€ в Object Pascal. » снова борьба. » снова скорость разработки против быстроты кода. ќп€ть споры. ¬ойна длилась несколько лет. —колько времени было потрачено в спорах в процессе доказательств крутизны именно его кода. ј результат - победила скорость и удобство разработки, т.е. объектно-ориентированное программирование (ќќѕ).

ѕоследней крупной революцией происход€щей в программировании считают переход на визуальное программирование. Ётот переход происходит пр€мо на наших глазах. ¬изуальность дает нам еще более удобные средства разработки дл€ более быстрого написани€ кода, но проигрывает ќќѕ по быстроте работы. ¬от многие начинающие и сто€т на перекрестке, какой €зык выбрать.

Ћидеров в визуальных €зыках €вл€етс€ Borland, а приверженцем ќќѕ остаетс€ Microsoft.  онечно же, Ѕилл √ейтс пытаетс€ встроить в свои €зыки визуальность, но она примитивна по сравнению с такими гигантами, как Delphi, Kylix или C++ Builder. Ёто св€зано с изначальной дырой MFC, котора€ не может работать визуально. Ќужна глобальна€ переработка кода, которую почему-то не хот€т делать.

ѕрогресс не будет сто€ть на месте и переход на новые технологии программировани€ рано или поздно состоитс€.

Ќекоторые считают сама€ лучша€ технологи€ - визуальность. “во€ среда разработки просто об€зана быть визуальной, потому что, за этим наше будущее.

ќсталось ответить на вопрос: " акой €зык программировани€ лучше?". ќкончательного решени€ нет. ƒаже у того же Visual C++ от Microsoft есть свои плюсы. ѕоложительные стороны есть у всех. ¬опрос остаетс€ только за тем, что ты будешь писать? ћожно дать примерно такую градацию:

1. ≈сли ты будешь писать базы данных, программы общего значени€ или утилиты, то твой €зык Delphi или C++ Builder.

2. ≈сли это игры, то желательно Visual C++ или Watcome C плюс знание Assembler. Ќо это не значит, что нельз€ использовать Delphi или C++ Builder. ¬ этих средах ты потер€ешь не намного больше в скорости работы, поэтому на большинстве игр можно не обращать внимани€ на эту потерю.

3. ≈сли это будут драйверы и работа с железом, то тут критичен размер файла, а значит твой €зык чистый — или Assembler.





ѕоделитьс€ с друзь€ми:


ƒата добавлени€: 2015-01-29; ћы поможем в написании ваших работ!; просмотров: 1323 | Ќарушение авторских прав


ѕоиск на сайте:

Ћучшие изречени€:

Ќаглость Ц это ругатьс€ с преподавателем по поводу четверки, хот€ перед экзаменом уверен, что не знаешь даже на два. © Ќеизвестно
==> читать все изречени€...

633 - | 428 -


© 2015-2023 lektsii.org -  онтакты - ѕоследнее добавление

√ен: 0.01 с.