Перекидайло · 10-Окт-11 15:29(13 лет 8 месяцев назад, ред. 10-Окт-11 19:14)
Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby) 3rd edition, updated for Ruby 1.9.2 Год: 2010 Автор: Thomas D., Fowler C., Hunt A. Жанр: Практическое пособие Издательство: Pragmatic ISBN: 978-1-934356-08-1 Серия: The Pragmatic Programmers Язык: Английский Формат: PDF Качество: Изначально компьютерное (eBook) Количество страниц: 916 Описание: Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way, instead of getting the work done? Are you using Rails, and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you! Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages such as Perl and Python. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of intelligent, forward-thinking programmers. The Pickaxe contains four major sections: An acclaimed tutorial on using Ruby.
The definitive reference to the language.
Complete documentation of all built-in classes, modules, and methods.
Complete descriptions of all 97 standard libraries.
This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9 and 1.9.2). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, and the new block declaration syntax, among other exciting new features. For the Tenth Anniversary Printing, we’ve removed the appendices on Extending Ruby and the Socket Library from the book—it was getting too big, and those appendices were only used by a few readers. These appendices are now available for free in PDF, mobi, and epub formats—see the contents listing below.
Примеры страниц
Оглавление
Facets of Ruby
Getting Started
Ruby.new
Classes, Objects, and Variables
Containers, Blocks, and Iterators
Sharing Functionality: Inheritance, Modules, and Mixins
Standard Types
Regular Expressions (download pdf)
More About Methods
Expressions
Exceptions, catch, and throw
Basic Input and Output
Fibers, Threads, and Processes
Unit Testing
When Trouble Strikes! Ruby in Its Setting
Ruby and Its World
Namespaces, Source Files, and Distribution (download pdf)
Character Encoding
Interactive Ruby Shell
Documenting Ruby
Ruby and the Web
Ruby and Microsoft Windows Ruby Crystallized
The Ruby Language
Duck Typing
Metaprogramming
Reflection, ObjectSpace, and Distributed Ruby
Locking Ruby in the Safe Ruby Library Reference
Built-in Classes and Modules (download pdf of the entry for class Array)
Standard Library
Перекидайло
Переименуйте файл в соответствии с правилами трекера, а именно: Thomas D., Fowler C., Hunt A. - Programming Ruby 1.9, updated for Ruby 1.9.2 (The Pragmatic Programmers) - 2010.pdf и перезалейте торрент.
Начал знакомство с Ruby именно с этой книги буквально несколько дней назад. Я профессиональный программист, в мой багаж входят C++, Java, Delphi, PHP, JavaScript, все из них применял в реальной работе. На первой работе работал с PL/SQL, на второй написал небольшой, но нужный скрипт на VBScript. Также знаю ассемблер IA-32 (MASM), но это, разумеется, уже из другой оперы, так как является машинно-ориентированным языком низкого уровня. Изучать новый для себя язык программирования - интересно и захватывающе. Мне бы хотелось этот свой багаж расширить еще на штук 5 языков. Так, за последний год я начинал знакомство с C#, F#, Python. К сожалению, рано или поздно "съезжал", но думаю, что ко всем трем языкам еще вернусь. Новый для меня язык программирования интересен мне не только как средство для решения каких-то задач, но и просто как сущность. С лета прошлого года имею опыт разработки самодельных интерпретаторов и трансляторов C-подобных языков. Что-то для себя, что-то на заказ для студенческих работ (успешно выполнил 4 работы, в том числе и диплом). Уже несколько месяцев к этому не приходилось возвращаться, но думаю, что впереди у меня будет интересный проект на эту тему. По крайней мере, есть некоторые соображения. Интересно осознавать, как та или иная возможность, концепция, инструмент реализованы в том или ином языке. В Ruby пока отмечу такую вещь как statement modifier:
Код:
square = square*square while square < 1000
Это короткая форма записи цикла while, когда его тело можно представить одной инструкцией. Такого пока не встречал ни в одном языке. Хотя, с другой стороны, это можно отнести к разряду "синтаксического сахара". Возможность, подобная этой:
Код:
42.even?
для меня не нова, подобное есть и в C#. Так, про саму книгу. Законченного мнения у меня пока нет. Пока что читается хорошо, те или иные примеры кода потихоньку пробую и научаюсь. Наверно, хорошо, что сначала идет некая дегустация языка, так как уже довольно скоро можно начать писать что-то реальное. Так, я решил уже на Ruby пару задачек с http://projecteuler.net Однако, наверное, к сожалению, во вступлении не хватает мотивации, кроме того, что Ruby - это true-ООЯП. То есть непонятно, для чего он вообще, какие задачи на нем можно успешно решать, что доступно в целом. Для сравнения, когда читал книгу по Python (автора назвать сейчас не могу), там предварительной мотивации был вагон и маленькая тележка - был обзор возможностей языка в целом, какие задачи не нем можно решать, как можно интегрировать с другими фреймворками. А подобного о Ruby, кроме того, что есть такой Ruby On Rails - вообще ничего не знаю.
Мое заявление о том, что я профессиональный программист, вовсе не основано на том количестве языков, которым я владею. Можно знать в два раза больше - и не иметь ни одного полезного законченного проекта. У меня же все с этим нормально.
55973564Мое заявление о том, что я профессиональный программист, вовсе не основано на том количестве языков, которым я владею. Можно знать в два раза больше - и не иметь ни одного полезного законченного проекта. У меня же все с этим нормально.
т.е. выходит владея одним или двумя языками, но большим количеством законченых проектов, можно считать себя проф. программистом?
да еще, что значит полезные проекты, что это означает и если можно, то пример?
Во-первых, я владею не одним-двумя, а пятью как минимум. Хорошо, наверное, стоит добавить, что с разной степенью проникновения. Программирование - это моя профессия, я работаю в ней с 2003 г., с окончания института. Не пытаюсь давать какие-то универсальные определения, но я считаю себя в праве называть профессиональным программистом. Возможно, Вы не так пытаетесь интерпретировать эпитет "профессиональный", как я имел в виду в своем сообщении. Под "профессиональный" я не имел в виду, что я какой-то там мега-супер-пупер. А просто, что работаю в этой профессии, и есть ощутимые результаты. Ну вот пример моих законченных проектов, которые я могу считать полезными: 1. Я работал несколько лет в государственном вычислительном центре, в котором производится расчет квартплаты, печать квитанций, обработка платежей населения, расчет с поставщиками услуг. Весь Санкт-Петербург, можете представить себе масштаб. Очень скоро мы начали зашиваться с печатью отчетности для бухгалтерий - платежи, начисления, в том числе и по каждому лицевому счету. Каждый л/c квартиросъемщика в Питере, на одном листе помещается информации не более, чем по десятку л/с (дебет, кредит и т.д.). Очень скоро мы (я работал в производственном отделе) стали зашиваться с печатью такой кипы документов. Вернее, именно с формированием самих отчетов, так как сам файлы на печать отдавали в отдел печати. Я в итоге написал пакет из двух программ для автоматического формирования всех этих документов, например, по району. Можно было оставить задание на ночь, а утром оставалось только передать уже готовые файлы в отдел печати. А иначе одному человеку пришлось бы потратить полдня на то, чтобы наклепать эти файлы вручную, щелкая кнопочки в программе, написанной отделом программистов. Я не работаю в этой организации уже несколько лет. Пару лет назад спрашивал у кого-то из бывших коллег, продолжают ли этой моей программой пользоваться. Человек ответил, что продолжают, правда, программисты хотят придумать что-то в корне новое, типа, работа с такими отчетами будет вестись как-то по-другому и очень оптимально, наверное, по объему трудозатрат. Этим летом пообщался с другой бывшей коллегой, так же поинтересовался, что происходит в этой сфере. Оказалось, что моей программой пользуются до сих пор. Раз так, думаю, что вполне полезная была мной произведена разработка, ведь отдел программистов так и не решил этой задачи другим способом. 2. Сейчас я работаю программистом в фирме такси, в основном занимаюсь разработкой Android-приложений. Моя программа для заказа такси фирмы опубликована в Google Play и служит на благо фирмы, через нее идут реальные заказы. Надеюсь, я ответил на Ваши вопросы.
Homez
Всё просто: профессиональная деятельность (программирование, например) является профессиональной (а не хобби), когда человек зарабатывает этим деньги. А уровень обсудить здесь (на форуме) толком не получится, да и незачем.