Файл: Техникоэкономический колледж при нао карагандинский индустриальный унивеситет.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 05.05.2024
Просмотров: 38
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Ruby является языком сверх высокого уровня. У него простой и чистый синтаксис. Ruby обеспечивает хорошую масштабированность и легкое сопровождение. Как и PHP он позволяет разрабатывать ecommerce платформы. Язык могут начать изучать новички. Основным недостатком является плохая документация и медленные рост популярности.
Преимущества Ruby:
-
открытая разработка; -
работает на многих платформах, может внедряться в HTML-разметку; -
относится к языкам программирования сверхвысокого уровня (VHLL), то есть обладает высоким уровнем абстракции и предметным подходом в реализации алгоритмов; -
реализует концептуально чистую объектно-ориентированную парадигму; -
предоставляет продвинутые методы манипуляции строками и текстом; -
легко интегрирует в свои программы высокопроизводительные серверы баз данных (DB2, MySQL, Oracleи Sybase); -
благодаря VHLL программы на Ruby хорошо масштабируются и легко сопровождаются; -
простой и чистый синтаксис значительно облегчает программистам первые шаги в обучении этому языку; -
имеется простой программный интерфейс для создания многопоточных приложений; -
имеет продвинутые средства для работы с массивами; -
возможности языка можно расширить при помощи библиотек, написанных на C или Ruby; -
зарезервированные слова могут являться идентификаторами, если это не создаёт неоднозначности для парсера; -
дополнительные возможности для обеспечения безопасности; -
встроенный отладчик.
Недостатки Ruby: обучение языку выше начального уровня может оказаться непростым; информационных ресурсов, посвящённых Ruby, явно недостаточно; Ruby менее производителен по сравнению со многими другими языками, применяемыми в веб-разработке; Ruby относительно медленно разрабатывается и развивается.[29]
2.9. Swift и Objective-C
Objective-C был разработан еще в начале 90х годов. Это симбиоз на то время языка программирования C и Smalltalk. Компилируемый объектно-ориентированный язык программирования, используемый корпорацией Apple, построенный на основе языка Си и парадигм Smalltalk. Язык Objective-C является надмножеством языка Си, поэтому Си-код полностью понятен компилятору Objective-C. Язык используется в первую очередь для Mac OS X (Cocoa) и GNUstep – реализаций объектно-ориентированного интерфейса OpenStep. Также язык используется для iOS (Cocoa Touch). Он имел большой успех в свое время, но постепенно начал терять популярность. На смену этого языка пришел Swift, но многие разработчики не спешат прощаться с Objective-c.
Swift – открытый мультипарадигмальный компилируемый язык программирования общего назначения. Создан компанией Apple в первую очередь для разработчиков iOS и OS X. Swift работает с фреймворками Cocoa и Cocoa Touch и совместим с основной кодовой базой Apple, написанной на Objective-C. Swift задумывался как более легкий для чтения и устойчивый к ошибкам программиста язык, нежели предшествовавший ему Objective-C. Swift заимствовал довольно многое из Objective-C, однако он определяется не указателями, а типами переменных, которые обрабатывает компилятор. По аналогичному принципу работают многие скриптовые языки.
Swift имеет улучшенную читабельность кода, больше возможностей по сравнению objective-c и повышенную безопасность. Он набирает популярность и сейчас превосходит objective-c. На мой взгляд это язык программирования имеет хорошие перспективы.
Преимущества Swift над Objective-C:
1. Apple и IBM. Apple и IBM объединили свои усилия и вместе инвестируют в Swift. IBM Cloud предоставляет возможности не только разрабатывать и применять, но также делиться ресурсами и использовать Swift Sandbox для быстрых экспериментов. Таким образом, Objective-C оказался вне игры. Практически все изменения, которые вносились в Objective-C в последнее время, делались для того, чтобы упростить импорт данных в Swift.
2. Меньше кода. Swift – более компактный язык программирования. Но, это вовсе не означает, что код простой. Иногда он очень даже сложный. Но в то же время, он обеспечивает преимущества, которыми не может похвастаться Objective-C.
3. Меньше ошибок. Синтаксис и строение языка исключают несколько типов ошибок, которые потенциально возможны в Objective-C. Эта стабильность языка помогает разработчику избежать нежелательных погрешностей.
4. Скорость. Производительность Swift приближается к С++. Apple постоянно работает над улучшением скорости Свифт. Objective-C работает медленнее.
5. Общедоступность. Созданный для платформ Apple, Swift потихоьньку распространяется на другие платформы. В данный момент он достиг только Linux. Но прогнозируется, что этот язык станет еще более портативным и будет переноситься на другие платформы. Говорят, что в планах автора Криса Латтнера есть идея сделать его совместимым с Android.
6. Интерактивность. Инструмент Swift Playgrounds предоставил новые возможности разработчикам. Он позволяет тестировать код в режиме реального времени без составления больших кусков или всего приложения. Эта функция отлично подходит для экспериментов с кодом.
7. Swift ближе к другим платформам. Современный язык программирования Apple легче понять разработчикам, не работающим с iOS. Это положительно влияет на продуктивность и скорость работы. Swift предоставляет уникальную возможность – он может быть использован для всех целей iOS программирования.
Основные преимущества Objective-C:
-
Код, написанный на Objective-C и С, может использоваться в Swift. Но не наоборот. -
Код С++ может использоваться в Objective-C, но не в Swift. -
Objective-C может компилироваться в статические библиотеки и динамические фреймворки. -
Синтаксис Objective-C стабильный. В то время, как синтаксис Swift все еще улучшается. -
Приложения, написанные на версиях Swift до 3.0 на 10-20 Мб больше, чем аналогичные приложения, написанные на Objective-C. -
Компилятор Swift 2.1 нестабильный. Иногда он дает сбои, чего практически никогда не случается с Objective-C. -
Xcode не поддерживает перепроектирования Swift-кода.
2.10. Новые современные языки программирования
В настоящее время число новых языков программирования увеличивается постоянно. Таким образом, на данный момент известно более двух с половиной тысяч языков программирования. Существуют два главных требования для языков программирования: их близость к обычному профессиональному языку определенной сферы деятельности и простота реализации. Противоречивость требований стимулирует непрерывный процесс создания новых языков и доработки существующих. В Приложении 1 рассмотрены современные языки программирования.
Многие из этих языков еще находятся на стадии разработки, тем самым можно сделать вывод о том, что в настоящее время, имея базу из двух с половиной тысяч языков программирования нет ни одного универсального.
На сегодняшний день существуют несколько языков программирования, которые имеют перспективные направления для развития. К их числу относятся: Elm, Rust, Kotlin, Crystal, Elixir. Они доказали свою состоятельность путем создания сильных сообществ, но они до сих пор не используются большинством консервативных IT-компаний.
В будущем можно ожидать новые операционные системы и языки программирования, разработанные с внедрением технологий виртуализации, так как они внедрилась не только в процесс создания прикладных программ, но и в процесс разработки оборудования. Но на данном этапе, можно предположить, что хотя бы один из рассмотренных перспективных языков в будущем заменит существующие стандартные языки программирования.
ЗАКЛЮЧЕНИЕ
В настоящее время существует огромное количество языков программирования. Их более 2500, но наиболее значимых – около 700, и это без учета их диалектов. Споры от том, какой среди них лучший, ведутся давно. Существует объективно наблюдаемая разница в работе программ, написанных на разных языках. В каждом языке имеет место определенная зависимость между выразительностью языка и его эффективностью, а также существует множество других критериев, по которым можно оценить язык программирования. Таким образом, задача выбора языка программирования является сложной, многокритериальной задачей с большим (теоретически бесконечным) количеством оцениваемых объектов.
Выбор «живого» перспективного языка важен и для обучения, и для написания оптимальной программы, как по производительности, так и по скорости написания и удобству дальнейшего сопровождения. С необходимостью выбора языка программирования чаще всего сталкиваются программисты при изучении первого языка программирования. В конечном счете, все зависит от того, какую область деятельность выбрать. Если работать непосредственно с железом, писать драйверы и различные приложения, для которых требуется максимальная производительность, – тогда подойдут только C или C++. Если основная цель – приложения для мобильников, стоит изучить Java или Objective C, C#. Для веб-серверов необходимы go, python и php; для веб-приложений – JavaScript.
На мой взгляд, настоящий программист никогда не ограничивается знанием только одного языка. И даже если в будущем вы собираетесь писать драйвера и системные приложения, вам всё равно пригодится какой-нибудь из скриптовых языков, таких как perl или python. Более того, знание скриптовых языков сейчас просто необходимо для любого программиста, несмотря на его специализацию.
СПИСОК ЛИТЕРАТУРЫ
-
Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c. -
Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c. -
Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c. -
Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c. -
Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c. -
Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c. -
Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c. -
Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c. -
Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c. -
Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c. -
Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с. -
Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c. -
Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21. -
Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c. -
McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018) -
Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018) -
Koenig J., Rustan K., Leino M. Programming Language Features for Refinement. EPTCS 209. – 2016. – pp. 87-106.
ПРИЛОЖЕНИЕ