В серии: Библиотека alt м. В. Сысоева, И. В. Сысоев
Download 0.87 Mb.
|
Боши Лекция Парадигма и методы программирование
1.4 Области программированияСледует понимать, что в сложившейся в наши дни программной индустрии различные языки программирования заняли разные ниши. Некоторые из них достигли успеха именно благодаря специализации, яркие примеры: JavaScript и PHP. Другие, как Python и Java — существенно более универсальны и получили признание и распространение за счёт возможности сходными средствами решать разные задачи. Но ни один современный язык, в том числе широко рекламируемые C# и C++, не может эффективно использоваться для решения любых задач. В настоящее время программирование применяется в самых различных областях человеческой деятельности, таких как: Системное программирование Написание операционных систем, компиляторов, интерпретаторов, виртуальных машин. В этой области требования к быстродействию и потреблению памяти очень велики, а создание переносимых программ затруднено необходимостью тесно и напрямую взаимодействовать с конкретным оборудованием («железом»). Основные языки программирования в этой области: ассемблер, а также компилируемые языки, компиляторы которых написаны на них самих методом постепенной самораскрутки (всегда имеют платформозависимое ассемблерное ядро): C, C++, Objective C, Pascal, Ada. Программирование встраиваемых устройств Создание операционных систем и прикладных программ для разных «малых» вычислительных машин: станков с программным управлением, сетевых маршрутизаторов, модемов, автомобильной и авиационной электроники. По сути, эта область примыкает к системному программированию и потому здесь используются примерно те же средства: ассемблер, Forth, некоторые компилируемые языки. Программирование видеокарт Видеоускорители имеют весьма специфические аппаратные особенности: они не могут работать напрямую с устройствами ввода/вывода, не могут сами динамически выделять память, часто способны работать эффективно только с действительными числами одинарной точности (4 байта), эффективно могут выполнять одинаковые инструкции над разными данными, но очень теряют в производительности при необходимости глобальной проверки условий и частой синхронизации потоков. Поэтому для них созданы специализированные языки: OpenCL и CUDA. Программирование высоко нагруженных серверов Задача состоит в управлении большим числом (часто 10 тысяч и более в секунду) запросов, поступающих как локально с этого же компьютера, так и, Download 0.87 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling