Файл: Техникоэкономический колледж при нао карагандинский индустриальный унивеситет.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:

  1. Код, написанный на Objective-C и С, может использоваться в Swift. Но не наоборот.

  2. Код С++ может использоваться в Objective-C, но не в Swift.

  3. Objective-C может компилироваться в статические библиотеки и динамические фреймворки.

  4. Синтаксис Objective-C стабильный. В то время, как синтаксис Swift все еще улучшается.

  5. Приложения, написанные на версиях Swift до 3.0 на 10-20 Мб больше, чем аналогичные приложения, написанные на Objective-C.

  6. Компилятор Swift 2.1 нестабильный. Иногда он дает сбои, чего практически никогда не случается с Objective-C.

  7. 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. Более того, знание скриптовых языков сейчас просто необходимо для любого программиста, несмотря на его специализацию.

СПИСОК ЛИТЕРАТУРЫ

  1. Аткинсон MySQL. Библиотека профессионала / Аткинсон, Леон. - М.: Вильямс, 2016. - 624 c.

  2. Ашарина И.В. Основы программирования на языках С и С++: Курс лекций для высших учебных заведений / И.В. Ашарина. — М.: Гор. линия-Телеком, 2015. — 208 c.

  3. Баженова И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. — М.: ИЦ Академия, 2017. — 368 c.

  4. Берд, Барри Java для чайников / Барри Берд. - М.: Диалектика / Вильямс, 2013. - 521 c.

  5. Гавриков М.М. Теоретические основы разработки и реализации языков программирования: Учебное пособие / М.М. Гавриков, А.Н. Иванченко, Д.В. Гринченков. — М.: КноРус, 2015. — 184 c.

  6. Головин И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. — М.: ИЦ Академия, 2012. — 304 c.

  7. Дронов В. PHP, MySQL и Dreamweaver. Разработка интерактивных Web-сайтов; БХВ-Петербург - М., 2017. - 480 c.

  8. Зыков С.В. Основы современного программирования: Учебное пособие для вузов / С.В. Зыков. - М.: ГЛТ , 2014. - 444 c.

  9. Кауфман В.Ш. Языки программирования. Концепции и принципы / В.Ш. Кауфман. — М.: ДМК, 2014. — 464 c.

  10. Кундиус В.А. Теоретические основы разработки и реализации языков программирования / В.А. Кундиус. - М.: КноРус, 2013. - 184 c.

  11. Лутц М. Изучаем Python, 4-е издание. – Пер. с англ. – СПб.: Символ-Плюс, 2015. – 1280 с.

  12. Семакин И.Г. Основы алгоритмизации и программирования. Практикум: Учебное пос. для студ. учреждений сред. проф. образования / И.Г. Семакин, А.П. Шестаков . - М.: ИЦ Академия, 2016. - 144 c.

  13. Хэл Фултон. Программирование на языке Ruby. — 2-е изд. — М.: ДМК Пресс, 2017. — С. 21.

  14. Черпаков И.В. Основы программирования: Учебник и практикум для СПО / И.В. Черпаков. - Люберцы: Юрайт, 2016. - 219 c.

  15. McALLISTER N. InfoWorld. «10 языков программирования, которые могут перевернуть мир IT» // Компьютерные вести [Электронный ресурс]. URL: http://www.kv.by/content/325498-10- yazykovprogrammirovaniya-kotorye-mogut-perevernut-mir-it (дата обращения: 11.07.2018)

  16. Симакова В.Е., Бедняк С.Г. Новые информационные технологии. Виртуализация // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. VII междунар. студ. науч.-практ. конф. № 7. URL: http://sibac.info/archive/technic/7.pdf (дата обращения: 15.07.2018)

  17. Koenig J., Rustan K., Leino M. Programming Language Features for Refinement. EPTCS 209. – 2016. – pp. 87-106.




ПРИЛОЖЕНИЕ