Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование

Языки, которые мы потеряли

Карабин, 6x60 мм.
Размеры: 6x60 мм. Материал: металл. Упаковка: блистер.
44 руб
Раздел: Карабины для ошейников и поводков
Гуашь "Классика", 12 цветов.
Гуашевые краски изготавливаются на основе натуральных компонентов и высококачестсвенных пигментов с добавлением консервантов, не
170 руб
Раздел: 7 и более цветов
Чашка "Неваляшка".
Ваши дети во время приёма пищи вечно проливают что-то на ковёр и пол, пачкают руки, а Вы потом тратите уйму времени на выведение пятен с
222 руб
Раздел: Тарелки

Крис Касперски Позади нас осталось целое кладбище языков, не прижившихся парадигм, вымерших концепций, идей, опередивших свое время. Для будущего не осталось ничего. Все, что только было можно придумать, - уже придумано, реализовано, опробовано и. Выброшено на свалку за ненадобностью. Эпоха великих открытий давно прошла, и нам осталось лишь обезьянничать, двигаясь от золотого века в деградирующую тьму чудовищных лингвистических решений. Назад возврата нет. А все потому, что. Язык определяет мышление, а мышление формирует язык, в результате чего язык начинает стремительно развиваться, приобретая новые, ранее не свойственные ему черты, не только позволяющие программисту выражать инженерную мысль во всей ее полноте, но и порождающие совершенно новые мысли, вытекающие из свойств языка. Появление абстрактных типов переменных (не имеющих прямого машинного воплощения) —довольно наглядный тому пример. Программисты каменной эры, высекающие программы долотом (долотом в прямом смысле—на перфокартах), мыслили в конкретной плоскости—включить мотор дисковода, прочитать сектор, положить данные в ячейку размеров в -слов, расположенную в памяти по адресу Р. Современные языки отошли от железа и мыслят категориями абстрактных концепций, позволяя сравнивать переменные А и В, одна из которых представляет файл на диске, а другая—сетевой локатор. Хорошо это или плохо?! Все намного хуже, чем вы предполагаете. Абстрактное мышление смертоносно, ибо провоцирует программиста на решение задачи в общем виде на сто тысяч строк исходного кода, в то время как частное решение (отвечающее ТЗ) уложилось бы и в десяток. Но это еще не самое страшное, истина в том, что. Явление Си народу Язык Си (а вместе с ним и его многочисленные «преемники») уже давно не является объектно-ориентированным языком и доэволюционировал до метапрограммирования, более известного как программирование с использованием шаблонов (хотя шаблоны — всего лишь одно из средств его реализации). Конечная цель метапрограммирования—создание программ, создающих другие программы как результат своей работы, т. е., другими словами, язык престает быть сущностью, полностью подчиненной авторскому замыслу, и приобретает определенную самостоятельность, значительно упрощающую решение поставленной задачи, но вместе с тем вносящую большую долю неопределенности и неуправляемости. Например, вместо того, чтобы писать десяток функций, сравнивающих переменные различных типов, достаточно запрограммировать один-единственный шаблон. Правда, тут же возникает вопрос: а как он себя поведет, если ему «скормить» нечисловые переменные? Ответ—шаблон вообще ничего не знает ни о типах, ни о размерностях. Он просто обращается к методам соответствующих классов, которые могут быть реализованы как угодно либо же не реализованы вовсе, и тогда программа даст сбой. До тех пор пока использовались только статические абстрактные типы, «перекладываемые» на машинное представление еще на стадии компиляции, транслятор легко отлавливал подобные ошибки, но с появлением динамических типов, обрабатываемых в реальном времени, язык стал вообще неконтролируемым и программы начали падать в случайное время.

И ведь никто не виноват!!! Программист, реализующий шаблон, тут, естественно, не причем, ведь он написал, что-то вроде: IF (a>b) HE RE UR A; ELSE RE UR В, переложив реализацию процедуры сравнения на разработчиков классов, которым, возможно, и в голову не могло прийти, что их классы кому-то понадобится сравнивать. Взять хотя бы класс shape, реализующий различные геометрические фигуры: отрезки, круги. треугольники. Можно ли сравнивать два экземпляра класса shape друг с другом? А почему бы и нет! Это может соответствовать длинам отрезков и площадям фигур. Но ведь. может и не соответствовать!!! Проблема объектного- и метапрограммирования в том, что абстрагируясь от «ненужных» технических подробностей, они скрывают информацию о своем поведении от программиста. Программист каменной эры, глядя на запись А=А В, мог однозначно сказать, что она выдаст при любых значениях А и В (даже с учетом переполнения переменных). А сейчас? Возьмем две переменные типа «символ» и попытаемся их сложить. Вопрос: как поведет себя реализующий их класс? Будет ли он добавлять код одного символа к другому, оперируя с ними как с целочисленными переменными (поведение по умолчанию), или скомбинирует их в двухсимвольную строку? А если взять экземпляры класса share, то это вообще конец определенности. Математически можно складывать только отрезки (да и то с той лишь оговоркой, что задано их направление, т.е. мы оперируем с отрезком, как с вектором), но сложение квадрата с треугольником— бессмысленно. Зато в графическом аспекте сложение может быть уподоблено наложению, что, кстати говоря, тут же нарушит коммутативное свойство, т. е. А В совсем не то же самое, что В А! Вот и попробуй после этого вносить в программу изменения. У программистов каменной эпохи подобных проблем просто не возникало, поскольку язык не давал возможности оперировать абстрактными концепциями и в каждой точке программы приходилось выражать законченную техническую мысль. Конечно, это приводило к дублированию кода, снижало наглядность листинга, но зато исключало неоднозначности его интерпретации. Абстрагируясь от базовых концепций, мы усиливаем лексическую мощь языка (там где раньше приходилось писать тысячу команд, сейчас достаточно одной), но вместе с нею увеличиваем количество взаимодействий между различными компонентами, которые как-то нужно учитывать. В результате за кажущуюся легкость программирования приходится расплачиваться многократно возросшей сложностью проектирования. Язык невозможно осваивать последовательно, шаг за шагом, как это было раньше. Если на Бейсике первая программа состояла всего из одной строки «PRI 'hello'», то теперь даже минимально работающая программа (с шаблонами, естественно) этих строк насчитывает десятки! Создавая новый экземпляр класса, мы должны обработать ситуацию с нехваткой памяти, установить обработчики исключений (ну или хотя бы «заглушки») и заблаговременно предусмотреть реакцию программы на ситуации, которые в рамках древнего процедурного программирования просто не возникали. Кстати, тот, кто считает, метапрограммирование достижением последних десятилетий, — жестоко ошибается.

Да, в языке Си оно появилось совсем недавно и в полном объеме (описанном в последних редакциях Стандарта) не реализовано ни в одном реально существующем компиляторе, a emerle и R# (языки программирования для платформы . e со встроенной поддержкой метапрограммирования)—вообще младенцы, но на самом деле концепция метапрограммирования возникла еще во времена палеолита. Lisp, появившийся в далеком 1958 г., —хороший пример языка, естественным образом поддерживающий метапрограммирование, одной из задач которого является создание программы, выводящей точную копию своего собственного исходного текста—так называемый куин (англ, qui e). На Lisp'e он записывается так: (fu call (lambda (x) (appe d x (lis (lis 'quo e x)))) '(fu call (lambda (x) (appe d x (lis (lis 'quo e x)))))) На Си так: #i clude&l ;s dio.h> char i=" i clude&l ;s dio.h>", =' ',q="", p= «%s%cchar i=%c%c%s%c, ='%c ',q='%c', p= %c%c%s%c, m=%c%c%s%c%c;%s%c", m= «i mai () {re ur Ipri f (p,i l, ,q, i,i ,q, i,q, ,q,p,q, ,q,m,q, ,m, );}" ;i mai (){re ur !pri f(p,i l, ,q, i,i ,q, i,q, ,q,p,q, ,q,m,q, ,m, );} Атеперь попробуйте реализовать тоже самое на Си с использованием шаблонов и посмотрите, насколько сильно они вам «помогут». Парадигма метапрограммирования, красиво реализованная в Lisp'e, была заброшена на полвека именно из-за потери управляемости языком, но затем восстала из пепла в ужасной реинкарнации, уходящей своими корнями в директивы препроцессора языка Си. Но это уже совсем другая история. Язык Си оказал огромное влияние как на мышление программистов, так и на развитие всех последующих языков, став стандартом де-факто. Никто, естественно, не говорит, что ООП- и метапрограммирование— это плохо. Почему обязательно плохо?! Очень даже хорошо! Местами. Но вот мысль о том, что ООП — единственно правильный подход—ужасна. Самолеты и космические корабли мирно сосуществуют с велосипедами и автомобилями. Никому ведь и в голову не придет летать за сигаретами на ракете, особенно если сигареты продаются в киоске на соседнем углу. Но ведь это же неправильно! Появление ракет должно перевернуть наше мышление! Поэтому—строим киоск за орбитой Плутона и каждому даем по ракете, чтобы туда летать, а горючее покупаем за деньги, вырученные от строительства космодромов и продаж ракет. Кто не может строить ракеты — пусть учит других, как на них летать. Сколько создается новых рабочих мест и главное, что все в бизнесе. Вот тут уж действительно, возврата в прошлое нет. Сигареты стоят миллиарды долларов, и деньги в индустрию вращаются просто огромные. Кто же захочет от них отказываться?! Напротив, ракеты будут стремительно «совершенствоваться», чтобы за сигаретами можно было летать даже на Альфу Центавра. Говорите, что это нелогично и невозможно? Но ведь именно такая ситуация сложилась с Си . Судите сами—реализация компиляторов языка Си очень сложная и дорогостоящая задача, а сам язык настолько обширен и объемен, что его изучение требует невероятных усилий. Чтобы окупить средства, вложенные в разработку компиляторов, фирмы вынуждены «подсаживать» на него миллионы программистов, которые, пройдя длительный (и ужасно мучительный) путь обучения Си , просто не могут признаться себе в том, что напрасно убили десять лет своей жизни (данной человеку лишь однажды!) и что стоящие передними задачи с ничуть не меньшей эффективностью реализуются на чистом Си и других процедурных языках, легко осваиваемых на ходу без отрыва от производства.

Массовое переселение покоренных народов из их родной страны в страну победителя было обычным явлением в древнем мире. Система эта иногда действовала с большим успехом, и, благодаря ей, целые народы теряли свой этнографический тип и язык и расплывались в среде окружающего чужого населения, как это случилось с народом северн. Израильского царства, который окончательно потерялся в плену ассирийском, не оставив никаких следов своего существования. Иудейский народ, благодаря своему более развитому национальному и религиозному самосознанию, сумел сохранить свою этнографическую самостоятельность, хотя, конечно, и на нем плен оставил некоторые следы. Для поселения пленников в Вавилоне был отведен особый квартал, хотя большая их часть была отправлена в другие города, с предоставлением им там участков земли. Состояние иудеев в вавилонском плену было несколько похоже на состояние их предков в Египте. Масса пленного народа несомненно употреблялась на земляные и другие тяжелые работы. На вавилоноассирийских памятниках наглядно изображается в многочисленных барельефах этот труд пленников (особенно на барельефах в Куюнджике; снимки с них в 9 изд. «Ист. древн. Вост.»Ленормана, т. IV, 396 и 397)

1. Мир в котором мы живем (путешествие в глубь материи)

2. Мир, в котором мы живем

3. Законы и правила по которым мы играем

4. Кадры, которые мы нанимаем. Анализ потребности в персонале

5. Сон "есть закон природы, которого не знаем мы и который кричит в нас" (по роману Ф. М. Достоевского "Преступление и наказание")

6. Зачем мы учим буквы и алфавит? (заметки историка языка и мамы дочки-первоклассницы)
7. Одиноки ли мы во Вселенной?
8. Два часа, которые потрясли мир

9. Билеты по всемирной истории для 11 класса на украинском языке

10. Деловой язык и культура речи юриста - тема "Разработка стратегии общения"

11. Міграція робочої сили (юридичний аспект) (WinWord 97 (на укр языке))

12. Топики для сдачи экзамена по английскому языку в 11-ом классе (Шпаргалка)

13. География и окружающая среда Англии, Уэльса, Северной Ирландии и Шотландии (на английском языке)

14. Введение новых правил в орфографии в немецком языке

15. Топики по английскому языку за 11 класс

16. Алкоголь(на немецком языке)

Подставка для колец Zoola "Кошка", хром.
Серия стильных и функциональных держателей для украшений от Umbra. Они предназначены как для хранения украшений, так и общего декора
590 руб
Раздел: Подставки для украшений
Набор "Магазин мороженого".
Комплектация: маленькая ложка (2 шт.), шарики мороженого (5 шт.), касса со сканером, рожок для мороженого голубой (2 шт.), рожок для
899 руб
Раздел: Магазины, супермаркеты
Ручка-стилус шариковая "Супер-папа!".
Перед Вами готовый подарок в стильной упаковке — шариковая ручка со стилусом. Она имеет прочный металлический корпус, а надпись нанесена с
415 руб
Раздел: Металлические ручки

17. Топики по английскому языку на тему "Я ученый"

18. Образцы писем делового характера по английскому языку

19. Билеты по немецкому языку за 11 класс (2001 год)

20. Использование интегрированных курсов при изучении иностранного языка

21. Категория "противоположность" в английском языке

22. Куча топиков по английскому языку
23. Переводы по английскому языку из учебника Л.Н. Адрианова
24. Политическая система государства /на англ. языке/

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

26. Топики для сдачи экзаменов по английскому языку

27. Топики по английскому языку

28. Формы обращения в английском языке

29. Южнодунайские диалекты румынского языка

30. Грамматические трансформации при устном переводе с русского языка на английский

31. Синтаксические и функционально-семантические особенности употребления условного наклонения в итальянском языке

32. Учебное сотрудничество как средство оптимизации обучения иностранному языку

Фоторамка "Poster blue" (30х40 см).
Рамка может располагаться как вертикально, так и горизонтально. Для фотографий размером: 30х40см. Материал: пластик.
331 руб
Раздел: Размер 30x40
Магнитные истории "Что мне надеть".
Игра научит ребенка: ориентироваться по ситуации, внимательности, развития мелкой моторики, фантазии, аккуратности, усидчивости. В
499 руб
Раздел: Игры на магнитах
Набор цветных карандашей Trio, 12 цветов.
Тонкий карандаш с трехгранной формой корпуса. Грифель 2,5 мм. 12 цветов.
443 руб
Раздел: 7-12 цветов

33. Способы перевода просторечия, использованного в романе А. Силлитоу "Ключ от двери", на русский язык

34. Формирование навыка говорения на иностранном языке и критерии его автоматизированности

35. Контрольная работа по английскому языку (Тюмень)

36. Билеты по английскому языку для 9 класса (2002г.)

37. Региональная культура и история на уроках немецкого языка в средней школе

38. Роль поэзии в обучении немецкому языку
39. Стилистическое значение устоявшихся выражений в немецком языке. Крылатые выражения и высказывания в "Фаусе" Гете
40. Способы выражения сомнения в современном немецком языке

41. Местоимения и слова-заместители в современном английском языке

42. Функционирование пословиц и поговорок в немецком языке, отражающих межличностные отношения

43. Сопоставительный анализ фразеологических единиц с компонентом “mund”/”рот” в немецком и русском языках

44. Лексические особенности французского языка в Канаде

45. Билеты по английскому языку за 11-класс (Украина)

46. Основные лексические и грамматические различия между британским и американским вариантом английского языка

47. История японского языка

48. Косвенные речевые акты в современном английском языке

Этажерка "Грация" прямоугольная четырехсекционная длинная.
Легкие и практичные этажерки идеально подходят для ванной комнаты, кухни или прихожей. Вместительные полки применяются для хранения
647 руб
Раздел: Полки напольные, стеллажи
Бумага для офисной техники "IQ Selection", А4, 120 г/м2, 500 листов.
Прекрасное качество печати на любой копировально-множительной технике, великолепное качество при двухстороннем копировании. Формат:
760 руб
Раздел: Формата А4 и меньше
Бейджи, 90х57 мм горизонтальные, с клипсой и булавкой, 50 штук.
•Горизонтальный. •Застежки – клипса и булавка. •Изготовлен из прозрачного пластика. •Размер - 57х90 мм.
383 руб
Раздел: Бейджи, держатели, этикетки

49. Шпаргалки по английскому языку

50. Сниженная лексика английского языка и ее перевод на русский язык (на примере переводов романа С. Кинга “Долгий путь”)

51. Специфика преподавания иностранного языка и метод проектов

52. Синтактико-семантический анализ составляющих сложносоставных слов в английском языке

53. Использование видео на уроках английского языка

54. Сравнительное описание слоговых структур английского и каракалпакского языков
55. Контроль в обучении поисковому чтению на среднем этапе обучения иностранного языка в школе
56. Английский язык в Южной Африке

57. Времена глаголов в английском языке

58. Новообразования в языке современной немецкой рекламы

59. Русская иконопись. Язык икон

60. Режиссура "Кадр - основа аудиовизуального языка"

61. Особенности русского языка эпохи 1917г.

62. Новое в словообразовательной системе современного французского языка

63. Официально-деловой стиль русского языка

64. Стилистика русского языка

Увлекательная настольная игра "Делиссимо", новая версия.
В этой милой игре вам предстоит немало потрудиться, так как вы работаете на известную и уважаемую итальянскую пиццерию «Делиссимо». Её
632 руб
Раздел: Карточные игры
Крышка силиконовая универсальная, 31 см.
Универсальная силиконовая крышка изготовлена из высококачественного пищевого силикона — экологичного и долговечного материала. Не теряет
318 руб
Раздел: Крышки
Форма разъемная для кулича Regent "Easy" круглая, 16x12,5 см.
Форма для выпечки разъемная из алюминия с антипригарным покрытием. Удобная застежка. Поверхность устойчива к царапинам. Размер: 16x12,5 см.
581 руб
Раздел: Формы и формочки для выпечки

65. Сопоставительный анализ фразеологизмов с анимализмами в немецком и русском языках

66. Медицинская терминология как составная часть украинского языка. История украинской медицинской терминологии (Медична термінологія як складова частина української лексики)

67. Иностранные заимствования в лексике английского языка

68. Экзамен по русскому языку для поступления в Бауманскую школу

69. Антиутопия к изучению романа Е. Замятина "Мы"

70. Диалектологический словарь русского языка
71. Значимость русского языка
72. Книга Г.О. Винокура "О языке художественной литературы"

73. Лексическая эквивалентность при переводе художественного текста с нидерландского языка на русский. Особенности перевода метафор. (на материале перевода отрывка из романа Анны Энквист "Тайна")

74. Новое в русском языке

75. Проза Д.И. Фонвизина в истории русского литературного языка

76. Способы образования неологизмов в терминологии в современном французском языке

77. Фразеологизмы новозаветного происхождения в современном русском языке

78. Глагол в русском языке

79. Конструкции имени существительного с прилагательным в романе Р. Кено «Chiendent»: грамматика писателя и грамматика языка

80. Экология русского языка

Игра-баланс "Морской мир".
Игра-баланс "Морской мир" от производителя "Жирафики" предназначена для мальчиков и девочек в возрасте от трех лет.
640 руб
Раздел: Сортеры, логические игрушки
Подгузники Libero Newborn, 24 штуки, 0-2,5 кг.
Первые в жизни подгузники для малыша должны быть особенно мягкими и комфортными. Подгузники "Libero Newborn" специально созданы
345 руб
Раздел: 0-5 кг
Фломастеры "Jungle Innovation" на подставке, 12 цветов.
Чернила легко смываются с рук и одежды. Эти фломастеры идеальны для раскрашивания, поскольку они долговечны, их краски насыщенны, хорошего
343 руб
Раздел: 7-12 цветов

81. Типы словарей, используемые в русском языке

82. Сопоставительный анализ употребления перформативных глаголов в русском и английском языках

83. Писатель, с которым я бы хотел встретиться

84. Иностранные заимствования в лексике английского языка

85. Замятин роман «Мы» (1920г.)

86. Лекции Л. И. Городнего по лексикологии английского языка
87. Город, в котором происходит действие "Ревизора"
88. Объективная обусловленность восприятия звукосимволичных слов языка и связь фонетической формы слова с его семантическим содержанием и денотатом

89. Использование кабинета для внеклассной работы по иностранному языку

90. Сниженная лексика в современном немецком языке; источники пополнения и особенности функционирования в молодежном сленге

91. Лексический состав поэтического языка А.С. Пушкина

92. Детерминантные свойства русского языка на фонетическом уровне

93. Лексико-семантическое поле "женщина" в современном английском языке

94. Синтаксические функции герундия в испанском языке. Проблема атрибутивного герундия

95. Диалект как основная форма существования языка

96. Формы обращения в английском языке

Масло Mommy care для отпугивания комаров, 50 мл, арт. MC_1696.
Масло для отпугивания комаров смесь натуральных и органических масел Москитуш обладает нежным ароматом, способным притуплять обоняние
890 руб
Раздел: Крем
Поильник–непроливайка Lubby "Русские мотивы" с трубочкой, 240 мл.
Мягкая силиконовая трубочка поильника нежно соприкасается с ртом Малыша. Оптимальная длина трубочки позволяет выпить все содержимое
387 руб
Раздел: Поильники, непроливайки
Бутылочка для кормления "Avent Classic+", 260 мл (розовая, рисунок: бабочка), от 1 месяца.
Ограниченная серия - бутылочка для кормления розовая c рисунком (бабочка), серия Classic+. Зарекомендовавшая себя серия Classic была
403 руб
Раздел: Бутылочки

97. Особенности формообразования и музыкального языка в хоровых сценах оперы "Псковитянка" Н.А. Римского-Корсакова

98. Русская эмиграция во Франции (на русском языке)

99. Потеря Северной Африки


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.