Файл: Классификация языков программирования( Критерии выбора среды и языка разработки программ).pdf
Добавлен: 15.05.2023
Просмотров: 376
Скачиваний: 2
Инструментальные наборы для разработки приложений клиент-сервер необходимо выбирать, исходя из следующих критериев : наличие объектно-ориентированной инфраструктуры, возможности распределения приложений между клиентом и сервером, обеспечена ли поддержка мониторов транзакций, доступность CASE-репозитария, возможность переноса приложений и контроль версий. При этом следует выяснить, насколько опыт разработчиков предприятия соответствует требованиям продукта, важна ли переносимость приложений на другие аппаратные платформы и базы данных, какая степень интеграции приложений устроит заказчика и нужно ли будет в дальнейшем подключать к приложению дополнительных пользователей, функции и данные.
Кроме того, развитие современных программных средств приводит к расширению их функциональных возможностей, в результате чего программные обеспечения разных типов конкурируют друг с другом. Так, продукт Borland C++ Builder превращающий компилятор Borland Visual C++ в полноценную среду разработки приложений в архитектуре клиент-сервер. Предлагаемый продукт дополняет C++ визуальными "дизайнерами", интуитивными "мастерами" и средствами доступа к объектно-ориентированным данным, сохраняя знакомое окружение Visual C++.
Мощное средство Oracle Forms из набора Developer/2000 предназначено для создания приложений баз данных в среде клиент/сервер, которые могут быть перенесены на платформы с различными графическими и символьными пользовательскими интерфейсами. Oracle Forms является частью Developer/2000, который поддерживает разработку приложений во время всего жизненного цикла. Приложения, созданные с помощью Developer/2000, полностью масштабируемы и применимы на любом уровне: от систем поддержки принятия решений для небольших рабочих групп до проектов с большим объемом транзакций, которые поддерживают сотни пользователей. Приложения, созданные с помощью Developer/2000, оптимизированы с целью использования всех преимуществ сервера Oracle7, поэтому они должны быть основными средствами при разработке приложений в среде Oracle7.
Инструментальная среда NewEra для СУБД Informix обладает всеми свойствами для эффективной разработки приложений в этой среде. Дополнительные преимущества - возможность интеграции с программами на С и многоплатформенность - делают ее пригодной не только при разработке приложений для СУБД Informix, но и для других систем. Следует заметить, что вопрос интероперабельности Informix-Oracle решен неудовлетворительно.
Uniface поддерживает интерфейс практически со всеми известными программно-аппаратными платформами, протоколами, СУБД и мониторами транзакций. Это средство необходимо использовать при разработке и сопровождении типовых комплексов приложений с высокой тиражируемостью. Платой за универсализм является высокая стоимость продукта.
Анализ и апробация возможностей MS Access показал, что это инструментальное средство хорошо зарекомендовало себя как в разработке файл-серверных приложений, так и для разработки клиентской части приложений в архитектуре клиент/сервер, наличие поддержки языка SQL и интерфейса ODBC открывает доступ к SQL-серверам БД. Имеется средство для миграции приложений MS Access в среду MS SQL Server. К достоинствам Access следует отнести и пониженные требования к ресурсам. К сожалению, последние версии пакета ориентированы лишь на офисную автоматизацию и не содержат runtime-компонент для создания законченного информационного приложения.
Средство JAM имеет недостаточную разрядность и может быть использовано только в приложениях, не требующих высокой точности, например для создания аналитических систем. Но его отличает многоплатформенность и поддержка мониторов транзакций.
Пакет Oracle Power Object предназначен для разработчиков, впервые приступающих к разработке приложений клиент-сервер и переходящих от таких систем, как FoxPro или Clipper, и наиболее пригоден для создания прототипов больших систем.
Система Delphi чрезвычайно удобна для разработки приложений локальных баз данных, которые при необходимости могут быть конвертированы в приложения типа клиент-сервер. Delphi следует использовать для создания масштабируемых приложений для рабочих групп, для разработки средств доступа к различным БД, для создания аналитических систем, для создания одиночных и групповых приложений, критичных по времени выполнения.
Все три средства - JAM, Oracle Power Object и Delphi - пригодны для создания быстрых прототипов, и их использование в таком качестве может иметь определенные достоинства
Далее происходит загрузка программы в оперативную память компьютера и ее выполнение. С момента начала выполнения компьютер под управлением своего ЦПУ (центральное процессорное устройство) начинает последовательно выполнять в каждый момент времени по одной команде программы. Эти моменты времени носят название такт, каждый процессор имеет свою тактовую частоту, которую задает его внутренний тактовый генератор. Чем более высокая частота работы вашего процессора, тем, соответственно, лучше и тем быстрее выполняются ваши программы[5].
Бурное развитие вычислительной техники, потребность в эффективных средствах разработки программного обеспечения привели к появлению сред программирования, ориентированных на так называемую "быструю разработку". В основе систем быстрой разработки или RAD-систем (Rapid Application Development — среда быстрой разработки приложений) лежит технология визуального проектирования и событийного программирования. Суть RAD-систем заключается в том, что среда разработки берет на себя большую часть рутины, позволяя программисту уделить больше времени и внимания на разработку логики приложения и на создание функций обработки событий, а не на создание и «рисование» интерфейса и кнопок. Производительность программиста при использовании RAD-систем очень велика. Одной из широко используемых RAD-систем является Borland C++Builder. Builder позволяет создавать различные программы: от простейших однооконных приложений до программ управления распределенными базами данных. В качестве языка программирования в среде Borland C++Builder используется C++. Borland C++Builder использует богатую библиотеку готовых компонентов VCL (Visual Component Library), которая постоянно расширяется с выходом каждой новой версии продукта. Библиотека визуальных компонентов VCL инкапсулирует сложные, трудоемкие интерфейсы Windows API в удобные, расширяемые компоненты многократного применения. Она полностью интегрирована в среду разработки и это облегчает управление свойствами и методами компонентов через программный код.
Другой известной RAD-системой является Microsoft Visual Studio. Microsoft разработали свои модели компонентов – windows forms, с# которые являются конкурентом модели VLC.
Однако каждая из этих сред имеет свои достоинства и недостатки. И для каждого программиста они индивидуальны. Кому-то важна VCL с богатым выбором функционала, а для кого-то – быстродействующая и мощная windows forms или c#.
Для разработки пакета прикладных программ РПДП было решено в качестве среды разработки выбрать среду Borland C++Builder, так как эта среда позволяет разрабатывать приложения в наикратчайшие сроки и обладает богатым функционалом.
Сперва нужно определиться с целями. Например, на какой платформе (в какой среде) хочется работать: веб, мобильные устройства, игры и 3Д-графика или крупные корпорации. В веб-разработке нужно выбирать из нескольких сфер ответственности: front-end, back-end, full-stack. Front-end разработчики отвечают за скорость загрузки сайта и правильную работу кода, back-end - написание серверного кода, а full-stack специалисты могут в одиночку выполнить все требования заказчика. Full-stack разработчики сегодня являются самыми востребованными на рынке труда. Три кита Front-end разработчика – это JavaScript, HTML и CSS. Кроме того, нужно ориентироваться в последних интернет-тенденциях и уметь их применять в повседневной работе. РНР – это базовые знания для back-end специалистов. Это не единственный инструмент, но основа всей back-end разработки. В качестве второго языка нужно учить Ruby или Python. Еще пригодится опыт работы с базами данных, азы JavaScript и SQL. Кроме самих языков программирования нужно изучить все прилагающиеся надстройки.
Для разработки мобильных приложений используются JavaScript для Андроид и Objective-C для iOS. Полезно посетить официальные ресурсы для разработчиков, а в случае работы с iOS еще и познакомиться с интерфейсом и функционалом Xcode – бесплатной среды для создания приложений. Для игр и 3Д-анимации нужен С++.
Тем, кто в перспективе хочет устроиться в одну из высокотехнологичных корпораций и больше не беспокоиться о благополучии завтрашнего дня, хорошо выполняя свои обязанности, нужно исходить из выбора этой самой корпорации. Windows работают с C#, Google и Фейсбук – с Python, а Apple – это Objective-C. Выбор языка программирования должен основываться на следующих факторах: Востребованность на рынке труда. Легкость изучения. Долгосрочные перспективы. Какие проекты можно разработать на этом языке (выбор языка и среды программирования). Если с последним пунктом – платформы и подходящие языки программирования кратко перечислены выше – все более или менее понятно, то как быть с остальными пунктами? Indeed.com – ведущий сайт поиска работы в мире – время от времени публикует статистические данные по вакансиям (соотношение предложений и соискателей). Выбор языка программирования хорошо бы делать, основываясь именно на этих данных, но одной только сухой статистикой тоже руководствоваться не стоит. Итак, на одно место разработчика Python, Java, Objective-C или РНР приходится 2,7 специалиста. Если взять данные по JavaScript, то видно, что это определенно рынок продавца – на одно место приходится всего 0,6 программиста. Кроме того, JavaScript развивается куда быстрее, чем любой другой язык, что открывает прекрасные долгосрочные перспективы. Обоснование выбора языка программирования C ++, С#, Objective-C, РНР или любого другого строится и на легкости изучения. Новичок, особенно тот, который учит язык по книгам или курсам, вряд ли справится со сложными С++ или Java. Сравнительно легко учатся Python, JavaScript или Ruby. Ruby и Python читабельны и отличаются одними из самых активных сообществ.
В том случае, если программирование представляется очень сложной задачей, начать стоит с чего-то более легкого, например, HTML или CSS. HTML не является языком программирования в полном понимании, скорее это язык разметки веб-страниц. CSS – это более современный «помощник» HTML, который позволяет делать страницы более приятными глазу, играть со шрифтами, добавлять дизайнерские элементы оформления сайтов и так далее.
Любой, кто когда-то писал статьи на заказ, наверняка уже сталкивался с HTML, а тем, кто пытался вести свой блог, возможно, знаком и CSS. Да и любой курс основ программирования начинается именно с этих двух элементов, так что знания азов лишними не будут. Учить можно по книгам: Б.Лоурсон, Р.Шарп «Изучаем HTML 5». К.Шмитт «CSS. Рецепты программирования». Раньше с парой умных книг по CSS и HTML можно было уже претендовать на какую-то должность, сейчас – это плацдарм, с которого нужно двигаться дальше.
Выбор языка программирования PHP или JavaScript – это для веб-разработчиков. Чтобы делать интернет-ресурсы красивее, интереснее и функциональнее понадобится JavaScript. С помощью него можно сделать довольно много очень разных вещей в пользовательском интерфейсе. Наилучшее обоснование выбора языка программирования PHP - именно веб-разработка. Если речь идет о серверной части, подойдут PHP, Python, Ruby и тот же JavaScript. Выбор языка программирования С # - тоже хорошая идея. На С# работают в Microsoft, Python похож на Лего, а Ruby– на пластилин.
Дизайнеры – творческие люди, которые могут считать себя далекими от точных наук. Но писать код – это как писать картину, так что сомнения, касательно того стоит ли вообще учить программирование, нужно отбросить сразу. Есть мнение, что лучше быть первоклассным дизайнером, чем второстепенным программистом, но дизайнеру стоит знать JavaScript хотя бы для воплощения своих идей. Еще подойдут относительно простые Python или Ruby.
Приложения на "Андроид", как правило, разрабатываются в Java. Работать можно на любой операционной системе – распространенность "Андроид"-смартфонов сделала разработку приложений на них очень популярной. Среду для разработки можно установить и на Windows, и на iOS. Что касается Apple, так тут разработка куда более требовательна к инструментам. Нужно учить Objective-C, комплект средств разработки и инструкцию разработчика от Apple. Работать можно только с «яблочных» устройств – Mac с версией операционной системы от 10.7 и выше.
Ребенок вполне в состоянии самостоятельно создать короткий мультфильм или незамысловатую игру. Программирование дается детям не сложнее, чем иностранные языки, а еще это открывает больше перспектив уже в подростковом возрасте. Начать можно со Scratch. Этот сервис ориентирован на детей от 8 лет и позволит создавать мультфильмы, игры, анимацию. Среда распространяется бесплатно. Скорее всего, ребенку даже не понадобится помощь родителей, разобраться в сервисе довольно просто.
Есть один секрет, который поможет стать лучшим не только в сфере программирования, а вообще где угодно. Нужно просто делать что-нибудь. Хороший способ – найти проблему, которую нужно решить. Возможно, нужно сделать сайт-визитку для собственного бизнеса, найти удобный инструмент для контроля финансов или автоматизировать рассылку твитов своим подписчикам? Далее стоит убедиться, что цель достижима, ведь без опыта и команды сделать клон Call of Duty вряд ли получится. Теперь пора выбрать набор технологий, которые позволят решить проблему. В конце концов, никогда нельзя надеяться стать настоящим профессионалом за месяц или даже год. Некоторым программирование дается очень легко, другие изучают тонны информации и делают с десяток приложений, пока полностью не поймут наконец, как работает та или иная команда. И тот, и другой путь верный. Нужно просто делать что-нибудь. Да и на самом деле совсем неважно, какой выбирать язык программирования. Все равно придется учить их несколько. Тем более, что многие инструменты и техники в разных языках похожи. Перейти на что-то другое, доучить проблемные темы потом будет проще, чем было вычить первый язык. И это, безусловно, радует.
5. ЗАКЛЮЧЕНИЕ
Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. Поверьте мне это не сарказм вы только посмотрите как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования «высочайшего» уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где нибудь в Запорожье, Амстердаме, Токио или Иерусалиме, перед стареньким 133MHz горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.