Практичний аспект ruby
У будь-якій справі варто, аргументувати свої слова. Я спробую показати нам всю красу мови, чому ми його так рубаємо і плекаємо.

Ruby високорівнева мова програмування (ЯП). Ruby дозволяє змістити акцент при написанні коду більше в бік «що робити», і піти від пояснення тупому комп'ютера «як це робити». Як говорить Matzчеловек повинен управляти, а машина підкорятися.
Поясненням того, як виконати ваше бажання займається перекладач - інтерпретатор мови Ruby. Японці дуже гордий народ, народ нащадків самураїв, в якому все ще тліють феодальні замашки.
Мови, коди яких перетворюються в програму називаються компільовані. Прикладами таких мов служить (C / C ++. C #, GO)
Різниця полягає в тому, що компільовані програми компілюються один раз для множинного використання, а програми написані на інтерпретованих мовах інтерпретуються кожен раз при своєму запуску, через що є більш повільними, але завжди з відкритим вихідним кодом: D
Швидкість важлива, але це не найголовніше. Ruby набагато повільніше Сі і ще повільніше Asembler'а, але це не заважає Ruby купувати все нових і нових шанувальників, які спалюють образи своїх старих богів, ламають бубни і звертаються в нову світлу релігію Ruby-программізма.
Ruby дозволяє писати програми так швидко, що ви збанкрутуєте наймаючи спец загін програмістів на Сі, які напишуть програму виконує ті ж дії. Крім того, якщо вам потрібно порахувати до завтра який-небудь фінансовий розрахунок, то чи має для вас різницю то, буде він вважатися 10 секунд або 0.1 секунду?
Навіть якщо для вас буде дійсно важлива продуктивність, то у Ruby є величезна кількість драйверів до бібліотек написаним на Сі, до різних баз даних і до решти програмного забезпечення, таким чином отримуєте швидкість Сі, при цьому пишіть код на Ruby.
Ruby також дозволяє писати розширення на Сі для критичних ділянок коду, тобто таких, де продуктивність вкрай важлива (все це тому, що Ruby сам написаний на Сі, в повному обсязі, але досить великий своєю частиною). Вам варто звикнути до того, що немає універсальної мови програмування, знаючи який, вам більше нічого не потрібно буде знати.
Ruby - динамічний мову програмування. Це означає, що програми на Ruby є динамічними, вони можуть змінюватися безпосередньо в момент виконання. Не потрібно ставити обмеження при створенні. І ви ніколи не переповнені числовий тип даних.
Ruby володіє дуже широкими можливостями метапрограмування, такими, що їм позаздрить будь-яку мову. Головне полягає в тому, що це абстрація, а це реально ефективний підхід до програмування, який дозволяє писати реально потужні, багаті і функціональні додатки.
Ruby - об'єктно-орієнтована мова програмування. Об'єктно-Орієнтований підхід до программірванію вже зовсім не новий і довів не тільки своє право на життя, але і свою ефективність! Об'єктно-орієнтоване програмування (ООП) давно вважається синонімом якості і масштабованості коду.
ООП досить популярний підхід до розробки програмного забезпечення, який спрощує і прискорює розробку, робить код більш зрозумілим і структурованим і розширюваним. Все створюється за допомогою абстракцій, як ніби об'єкти наших моделей реальні. В Ruby ООП реалізовано особливо витончено, не обійшлося без магії на рівні базових класів, проте це не так уже й важливо беручи до уваги реалізація мови в загальному.
Ruby - проста мова програмування. Ruby простий для розуміння мовою програмування, простий для розробки, але не для вивчення :). Зрозуміло, додаток виводить на екран класичну фразу «hello world» ви можете написати вже в першу секунду знайомства, до речі ось вона: puts «helo word!», Проте щоб домогтися справжнього майстерності, вам слід витратити роки!
Не можна порівнювати Ruby з PHP, це як порівнювати елегантного лобода з якимось гусаком, проте я піду на таку жертву і зроблю це. Сам по собі мова Ruby не на багато складніше PHP в вивченні, проте на багато зручніше його і логічніше. Складніше сама екосистема Ruby, так як Ruby програмісти звикли все автоматизувати, і я напевно скажу не просто правду, а й істину, коли повідомлю вам, що Ruby'істи просунулися в цьому куди далі, ніж будь-яке інше співтовариство програмістів. Ця автоматизація змушує розробника вивчати безліч сторонніх технологій, зате спрощує і скорочує витрати часу на побічні процеси розробки (тестування, розгортання програми на сервері, і так далі). У PHP всього цього немає, або все це зовсім примітивно! Найцікавіше, що близько 25% PHP програмістів не користуються фреймворками і тонами плодять говнокод, спробуйте знайти Ruby програміста, який не знайомий з фреймворком Rails!
Головне пам'ятайте більшість Ruby програмістів є експертами, професіоналами в розробці. І вам завжди потрібно до цього прагнути. Тільки так і не інакше, тільки радикальний підхід до цієї справи. Не можна бути бути поганим програмістом на Ruby, або ти професіонал, або не рубіст!
Ruby і Rails тілі-тілі тісто! Rails, або Ruby on Rails - це фреймворк для створення веб додатків, який написаний на Ruby. Rails - це реально переворот в світі веб розробки. Rails - це дуже потужний фреймворк, який використовує по максимуму всі можливості Ruby, який володіє величезним співтовариством професійних програмістів, який плодять якісний розширення для і так багатого функціоналу.
Ruby - це все-таки мейнстрім технологія! Багато хто говорить, що Ruby це мало популярна мова програмування, проте він в ходить в 10 найпопулярніших ЯП, має величезне співтовариство і величезна кількість бібліотек - rubygems.
До речі, наявність у Ruby gem'ов - ще одна його перевага над PHP! У PHP є сумний Pear, який пишеться обез'янамі які вдають із себе космонавтів, про це можна судити по тому, що в кодах Pear знайдено багато посліду схожого на людський, але ми то знаємо, що люди на це не здатні.
І взагалі я тільки що згрішив порівнюючи RubyGems і Pear. На Ruby реалізовано величезна кількість великих успішних проектів, що доводить вдалий вибір Ruby в якості складової ланки про побудові бізнесу заснованого на веб проект. Ruby, як і Python також входить в 10 найпопулярніших мов програмування, позбавлений одного дуже великого вади мейнстрімних технологій - Ruby НЕ перенасичений програмістами, програмісти на Ruby все ще дефіцит, а значить ваша майбутня зарплата в ролі Ruby програміста буде набагато більше за порівняння з тими , хто програмує на PHP або Java. Навіть якщо попит на Ruby програмістів буде повністю задоволений, Ruby програміст буде заробляти більше тому, що є два дуже важливих фактора: більш висока якість коду і більш висока продуктивність праці.
Rubyist'и - сама тестолюбівая тусовка. Я не знаю, чи так це, але те, що програмісти на Ruby просунулися явно дуже далеко в тестуванні власного коду - це факт! Кожен більш-менш досвідчений Ruby програміст пише специфікації і / або тести для свого коду. Це робить код на Ruby більш надійним і якісним.
Не кожен, хто програмує на Ruby вартий звання програміста, наприклад я не гідний, тому, що маю вкрай малий досвід і зовсім недостатній набір знань, проте, якщо брати середню температуру по лікарні, то спільнота Ruby значно перевершує спільноту PHP. Не буду говорити про інші мови програмування, так як Python, Java, і Perl є основними експортерами нових членів до спільноти Ruby, тобто многії програмісти на Ruby домоглися своєї майстерності працюючи з іншими мовами програмування і набравши достатній багаж знань і досвіду звернулися в релігію Ruby . Крім того, багато людей, які програмують на Ruby програмують і на Python і на Perl і на Java, Сі, Objective-C, j # 097; vascript, і, ви навіть не повірите, на PHP.все для dle фільми і серіали онлайн hd автоматичний обмін webmoney на приват24 android ігри, додатки, інструкції, огляди