История языка Ruby

ruby

Приветствую Вас читали моего ресурса! Я начинаю новую серию статей по моему самому любимому языку программирования Ruby.

Как был создан язык Ruby

Ruby был создан Юкихиро Мацумото в Японии в середине 1990-х г. Он был разработан для повышения производительности программистов с идеей, что программирование должно быть интересно для программистов. Это подчеркивает необходимость того, чтобы программное обеспечение было понято людьми в первую очередь и компьютерами во вторую.

Ruby продолжает набирать популярность для его использования в разработке веб-приложений. Ruby имеет яркое и сильное сообщество, которое поддерживает новичков. Сообщество с энтузиазмом относится к созданию высококачественного кода.

Что такое абстракции

В программировании и информатике вообще существует понятие, называемое абстракцией. Абстракция гарантирует, что как пользователи, мы далеки от того, что происходит “под капотом”. Простой пример поможет проиллюстрировать эту концепцию.

Подумайте о мобильном телефоне, который вы используете каждый день, чтобы общаться с друзьями и близкими. В основном, вы хотите совершать и принимать звонки, отправлять/получать текстовые сообщения, проверять свой facebook/twitter и, возможно, делать некоторые фотографии. Как пользователь, вы заботитесь только об основных функциях, которые телефон делает доступными для общения. Иными словами, Вы имеете дело с интерфейсом, предоставленным производителем телефона.

Телефонный техник, с другой стороны, должен отремонтировать телефон и сталкивается с другим уровнем абстракции. Он хорошо разбирается в том, как различные компоненты взаимодействуют с различными подсистемами телефона. Далее, инженер-программист занимается операционной системой и имеет дело с еще одним уровнем абстракции.

Приведенный выше анализ аналогичен тому, что происходит с компьютерами. Пользователь или клиент использует компьютеры, чтобы слушать музыку, отправлять электронную почту, играть в игры и многое другое. Они взаимодействуют с приложениями, которые делают эти задачи возможными без каких-либо знаний о деталях низкого уровня. Программистам также предлагается уровень абстракции, используя язык программирования, такой как Ruby, который написан на C, который переводится на язык ассемблера, который переводится на машинный язык, чтобы перевести 0s и 1s в то, что понимает компьютер. Это означает, что каждый язык программирования основан на других более низких уровнях кода, которые делают его простым в использовании. Другой уровень абстракции-это то, как программисты Ruby используют язык программирования Ruby для разработки и создания языков более высокого уровня, называемых доменными языками или DSL, такими как Rails и Rspec. Нам не обязательно знать, как эти DSL реализуются, но мы знаем, что они существуют и знаем, как их использовать.

Как новичок, вы должны быть осведомлены об этих абстракциях, особенно в программировании и информатике. Они упрощают программирование и делают компьютеры простыми в использовании. Это часто сбивает с толку, например, читать Rails или код Rspec без понимания Ruby, потому что Rails и Rspec-это DSL, работающие на более высоком уровне абстракции.

Для кого предназначены эти статьи

Эта статьи написаны для неопытного или совершенно нового программиста. Если вы примените принципы и методы, описанные в этой книге, вы построите сильные базовые знания программирования в Ruby. Затем вы можете использовать эти знания для дальнейшего изучения более сложных концепций. Эта книга проведет вас через общие ловушки и временные провалы, которые могут возникнуть у новичка. Это даст вам много практики для фиксации базового синтаксиса Ruby в долгосрочной памяти, чтобы вы могли сосредоточиться на решении реальных проблем и создании реальных приложений.

Быть программистом часто воспринимается как трудная задача. Это не так. Oднако, требует определенного темперамента. Когда этот темперамент понят и принят, работа, которую делает программист, становится менее разочаровывающей, более веселой и довольно полезной. Восприятие трудности данной задачи обычно обратно пропорционально количеству терпения, которым обладает человек, пытающийся выполнить задачу. Если вы терпеливы к себе и готовы потратить время на выполнение упражнений и применение концепций, вы очень скоро обнаружите, что пишете программы и решаете проблемы с кодом. Произойдет сдвиг в мышлении, и вы разовьете способность глубоко и ясно думать о данной проблеме. Этот процесс часто называют “потоком” и может быть очень приятным и интересным. Это одна из привилегий программирования!

Как читать эти статьи

Чтение о программировании и  программировать – это очень разные вещи. Если вы прочитаете всю эту книгу, даже не написав ни одного фрагмента кода, очень вероятно, что вы “поймете” интеллектуально, как кодировать, не будучи в состоянии на самом деле это сделать. Затем, в следующий раз, когда вы окажетесь перед своим заказчиком с пустым экраном и кто-то попросит вас решить проблему с компьютерной программой, вы не сможете выполнить задачу.

Существует аспект мышечной памяти в компьютерном программировании, который часто можно упустить из виду. Из-за большого количества информации, которую должен запомнить компьютерный программист, практика определенных навыков, пока они не станут автоматическими, очень полезна для начинающих. Это не то, что требует больших усилий как таковых. Это то, что происходит естественно через повторение. Вы можете учиться с помощью пальцев.

Поэтому очень важно, чтобы вы выполняли все упражнения, описанные в этой книге. Дайте себе реальный шанс научиться кодировать. Если вы хотите научиться играть на музыкальном инструменте, вам придется играть на этом инструменте, чтобы развить мастерство. Программирование-это то же самое. Подумайте о выполнении упражнений, как если бы Вы были музыкантом, практикующим музыкальные гаммы. Практика закрепит основы в ваших пальцах, а выполнение определенных операций станет второй натурой и подсознанием, позволяя вашему мозгу сосредоточиться на абстракциях более высокого уровня.

Эти статьи написаны для начинающих. В мире компьютерного программирования существует бесконечное количество информации для изучения. Невозможно узнать все это. Статьи намеренно избегают определенных тем, которые не принесут пользы новичку. Доверьтесь этому факту, и вы будете прогрессировать гораздо быстрее. Легко заблудиться в кроличьей норе информации, доступной сегодня.

Приготовьтесь построить навыки, которые превратят вас в ruby программиста. Не волнуйтесь, я буду сдесь, чтобы тренировать вас по пути. Пристегнитесь и наслаждайтесь поездкой!

Перейти к верхней панели