Философия джава брюса эккеля: Скачать Брюс Эккель «Философия Java» (4-е полное издание)
Читать онлайн «Философия java» автора Эккель Брюс — RuLit
Читать онлайн «Философия java» автора Эккель Брюс — RuLit — Страница 1
|
Предисловие 13
Java SE5 и SE6 14
Благодарности 14
Глава 1. Введение в объекты 17
Развитие абстракции 18
Объект имеет интерфейс 20
Объект предоставляет услуги 22
Скрытая реализация 23
Повторное использование реализации 24
Наследование 25
Взаимозаменяемые объекты и полиморфизм 29
Однокорневая иерархия 33
Контейнеры 33
Параметризованные типы 35
Создание, использование объектов и время их жизни 36
Обработка исключений: борьба с ошибками 38
Параллельное выполнение 38
Java и Интернет 39
Резюме 47
Глава 2. Все является объектом 48
Для работы с объектами используются ссылки 48
Все объекты должны создаваться явно 49
Объекты никогда не приходится удалять 53
Создание новых типов данных 54
Методы, аргументы и возвращаемые значения 56
Создание программы на Java 58
Ключевое слово static 60
Наша первая программа на Java 61
Комментарии и встроенная документация 64
Стиль оформления программ 70
Резюме 70
Глава 3. Операторы 71
Простые команды печати 71
Операторы Java 72
Литералы 82
В Java отсутствует sizeof() 92
Резюме 100
Глава 4. Управляющие конструкции 101
Синтаксис foreach 105
return, 107
break и continue 108
Нехорошая команда goto 109
Резюме 115
Глава 5. Инициализация и завершение 116
Конструктор гарантирует инициализацию 116
Перегрузка методов 118
Очистка: финализация и сборка мусора 130
Инициализация членов класса 137
Инициализация конструктором 140
Инициализация массивов 146
Резюме 151
Глава 6. Управление доступом 152
Пакет как библиотечный модуль 153
Спецификаторы доступа Java 159
Интерфейс и реализация 163
Доступ к классам 164
Резюме 167
Глава 7. Повторное использование классов 169
Синтаксис композиции 170
Синтаксис наследования 172
Делегирование 176
Сочетание композиции и наследования 178
Композиция в сравнении с наследованием 184
protected 185
Восходящее преобразование типов 186
Ключевое слово final 188
Инициализация и загрузка классов 195
Резюме 197
Глава 8. Полиморфизм 198
Снова о восходящем преобразовании. . . > 199
Особенности 201
Конструкторы и полиморфизм 208
Ковариантность возвращаемых типов 216
Разработка с наследованием 217
Резюме 220
Глава 9. Интерфейсы 221
Абстрактные классы и методы 221
Интерфейсы 224
Отделение интерфейса от реализации 227
Расширение интерфейса через наследование 233
Интерфейсы как средство адаптации 236
Вложенные интерфейсы 239
Интерфейсы и фабрики 242
Резюме 244
Глава 10. Внутренние классы 245
Создание внутренних классов 245
Связь с внешним классом 246
Конструкции .this и .new 248
Внутренние классы и восходящее преобразование 249
Безымянные внутренние классы 253
Внутренние классы: зачем? 261
Наследование от внутренних классов 272
Можно ли переопределить внутренний класс? 272
Локальные внутренние классы 274
Резюме 276
Глава 11. Коллекции объектов 277
Параметризованные и типизованные контейнеры 277
Основные концепции 280
Добавление групп элементов 281
List 285
Итераторы 288
LinkedList 291
Стек 292
Множество 294
Карта 296
Очередь 298
PriorityQueue 299
Collection и Iterator 301
Идиома «метод-адаптер» 306
Резюме 309
Глава 12. Обработка ошибок и исключения 310
Основные исключения 310
Перехват исключений 312
Создание собственных исключений 314
Спецификации исключений 319
Перехват произвольных исключений 320
Стандартные исключения Java 328
Завершение с помощью finally 330
Использование finally с return 334
Ограничения при использовании исключений 336
Конструкторы 339
Идентификация исключений 343
Альтернативные решения 344
Резюме 351
Глава 13. Информация о типах 352
Необходимость в динамическом определении типов (RTTI) 352
Регистрация фабрик 372
Рефлексия: динамическая информация о классе 376
Динамические посредники 380
Объекты с неопределенным состоянием 384
Интерфейсы и информация о типах 390
Резюме 394
Глава 14. Параметризация 397
Простая параметризация 398
Параметризованные интерфейсы 404
Параметризованные методы 407
Построение сложных моделей 419
Ограничения 437
Метасимволы 440
Резюме 452
Глава 15. Массивы 454
Особенности массивов 454
Массив как объект 456
Возврат массива 458
Многомерные массивы 460
Массивы и параметризация 463
Создание тестовых данных 465
Создание массивов с использованием генераторов 470
Вспомогательный инструментарий Arrays 474
Резюме 482
Глава 16. Система ввода/вывода Java 483
Класс File 484
Ввод и вывод 489
Добавление атрибутов и интерфейсов 491
Классы Reader и Writer 494
RandomAccessFile: сам по себе 497
Типичное использование потоков ввода/вывода 498
Средства чтения и записи файлов 505
Стандартный ввод/вывод 507
Новый ввод/вывод (nio) 510
Сжатие данных 531
Сериализация объектов 536
Предпочтения 553
Резюме 555
Глава 17. Параллельное выполнение 557
Класс Thread 559
Исполнители 561
Совместное использование ресурсов 578
Взаимодействие между потоками 598
Взаимная блокировка 602
Новые библиотечные компоненты 607
CountDownLatch 607
CyclicBarrier 609
DelayQueue 611
PriorityBlockingQueue 614
Семафоры 619
Exchanger 623
Моделирование 624
Резюме 629
Алфавитный указатель 631
Введение в объекты
Мы препарируем природу, преобразуем ее в концепции и приписываем им смысл так, как мы это делаем во многом, потому что все мы являемся участниками соглашения, которое имеет силу в обществе, связанном речью, и которое закреплено в структуре языка… Мы не можем общаться вовсе, кроме как согласившись с установленными этим соглашением организацией и классификацией данных.
Бенджамин Ли Ворф (1897-1941)
Возникновением компьютерной революции мы обязаны машине. Поэтому наши языки программирования стараются быть ближе к этой машине.
Но в то же время компьютеры не столько механизмы, сколько средства уси¬ления мысли («велосипеды для ума», как любит говорить Стив Джобе), и еще одно средство самовыражения. В результате инструменты программирования все меньше склоняются к машинам и все больше тяготеют к нашим умам, также как и к другим формам выражения человеческих устремлений, как-то: литера¬тура, живопись, скульптура, анимация и кинематограф. Объектно-ориентиро- ванное программирование (ООП) — часть превращения компьютера в средство самовыражения.
Эта глава познакомит вас с основами ООП, включая рассмотрение основ¬ных методов разработки программ. Она, и книга вообще, подразумевает нали¬чие у вас опыта программирования на процедурном языке, не обязательно С. Если вам покажется, что перед прочтением этой книги вам не хватает познаний в программировании и синтаксисе С, воспользуйтесь мультимедийным семина¬ром Thinking in С, который можно загрузить с сайта www.MindView.net.
~ 1 ~
Следующая страница
Книга: Философия java — ЛитВек — Читать онлайн — читать полностью
Чтобы изменить документ по умолчанию, отредактируйте файл «blank.fb2» вручную.
Содержание
Предисловие 13
Java SE5 и SE6 14
Благодарности 14
Глава 1. Введение в объекты 17
Развитие абстракции 18
Объект имеет интерфейс 20
Объект предоставляет услуги 22
Скрытая реализация 23
Повторное использование реализации 24
Наследование 25
Взаимозаменяемые объекты и полиморфизм 29
Однокорневая иерархия 33
Контейнеры 33
Параметризованные типы 35
Создание, использование объектов и время их жизни 36
Обработка исключений: борьба с ошибками 38
Параллельное выполнение 38
Java и Интернет 39
Резюме 47
Глава 2. Все является объектом 48
Для работы с объектами используются ссылки 48
Все объекты должны создаваться явно 49
Объекты никогда не приходится удалять 53
Создание новых типов данных 54
Методы, аргументы и возвращаемые значения 56
Создание программы на Java 58
Ключевое слово static 60
Наша первая программа на Java 61
Комментарии и встроенная документация 64
Стиль оформления программ 70
Резюме 70
Глава 3. Операторы 71
Простые команды печати 71
Операторы Java 72
Литералы 82
В Java отсутствует sizeof() 92
Резюме 100
Глава 4. Управляющие конструкции 101
Синтаксис foreach 105
return, 107
break и continue 108
Нехорошая команда goto 109
Резюме 115
Глава 5. Инициализация и завершение 116
Конструктор гарантирует инициализацию 116
Перегрузка методов 118
Очистка: финализация и сборка мусора 130
Инициализация членов класса 137
Инициализация конструктором 140
Инициализация массивов 146
Резюме 151
Глава 6. Управление доступом 152
Пакет как библиотечный модуль 153
Спецификаторы доступа Java 159
Интерфейс и реализация 163
Доступ к классам 164
Резюме 167
Глава 7. Повторное использование классов 169
Синтаксис композиции 170
Синтаксис наследования 172
Делегирование 176
Сочетание композиции и наследования 178
Композиция в сравнении с наследованием 184
protected 185
Восходящее преобразование типов 186
Ключевое слово final 188
Инициализация и загрузка классов 195
Резюме 197
Глава 8. Полиморфизм 198
Снова о восходящем преобразовании. . . > 199
Особенности 201
Конструкторы и полиморфизм 208
Ковариантность возвращаемых типов 216
Разработка с наследованием 217
Резюме 220
Глава 9. Интерфейсы 221
Абстрактные классы и методы 221
Интерфейсы 224
Отделение интерфейса от реализации 227
Расширение интерфейса через наследование 233
Интерфейсы как средство адаптации 236
Вложенные интерфейсы 239
Интерфейсы и фабрики 242
Резюме 244
Глава 10. Внутренние классы 245
Создание внутренних классов 245
Связь с внешним классом 246
Конструкции .this и .new 248
Внутренние классы и восходящее преобразование 249
Безымянные внутренние классы 253
Внутренние классы: зачем? 261
Наследование от внутренних классов 272
Можно ли переопределить внутренний класс? 272
Локальные внутренние классы 274
Резюме 276
Глава 11. Коллекции объектов 277
Параметризованные и типизованные контейнеры 277
Основные концепции 280
Добавление групп элементов 281
List 285
Итераторы 288
LinkedList 291
Стек 292
Множество 294
Карта 296
Очередь 298
PriorityQueue 299
Collection и Iterator 301
Идиома «метод-адаптер» 306
Резюме 309
Глава 12. Обработка ошибок и исключения 310
Основные исключения 310
Перехват исключений 312
Создание собственных исключений 314
Спецификации исключений 319
Перехват произвольных исключений 320
Стандартные исключения Java 328
Завершение с помощью finally 330
Использование finally с return 334
Ограничения при использовании исключений 336
Конструкторы 339
Идентификация исключений 343
Альтернативные решения 344
Резюме 351
Глава 13. Информация о типах 352
Необходимость в динамическом определении типов (RTTI) 352
Регистрация фабрик 372
Рефлексия: динамическая информация о классе 376
Динамические посредники 380
Объекты с неопределенным состоянием 384
Интерфейсы и информация о типах 390
Резюме 394
Глава 14. Параметризация 397
Простая параметризация 398
Параметризованные интерфейсы 404
Параметризованные методы 407
Построение сложных моделей 419
Ограничения 437
Метасимволы 440
Резюме 452
Глава 15. Массивы 454
Особенности массивов 454
Массив как объект 456
Возврат массива 458
Многомерные массивы 460
Массивы и параметризация 463
Создание тестовых данных 465
Создание массивов с использованием генераторов 470
Вспомогательный инструментарий Arrays 474
Резюме 482
Глава 16. Система ввода/вывода Java 483
Класс File 484
Ввод и вывод 489
Добавление атрибутов и интерфейсов 491
Классы Reader и Writer 494
RandomAccessFile: сам по себе 497
Типичное использование потоков ввода/вывода 498
Средства чтения и записи файлов 505
Стандартный ввод/вывод 507
Новый ввод/вывод (nio) 510
Сжатие данных 531
Сериализация объектов 536
Предпочтения 553
Резюме 555
Глава 17. Параллельное выполнение 557
онлайн | Tararam Невеста плейбоя Роман понравился в большинстве своём. Адекватность героев и их трезвый взгляд на происходящее сыграло немалую роль. Чувство юмора и сарказм добавили очарования действующим лицам. А маленькие комические |
Натали Подонок Как всегда у автора все книги перемешаны в одной, а конец книги вообще удивил своим быстрым завершением | |
Мики Огни другого мира (СИ) Читая, сюжет ассоциировался с историями других книг. Та же книга «Город ящеров», чем-то напоминает данную книгу.
| |
Judi Танцы на цепях [СИ] Мне книга понравилась. Я бы отнесла книгу к жанру героическое фэнтези, любовной линии как таковой нет (может в продолжении) Буду читать вторую часть, меня заинтересовала история. | |
tamarales Попасть – не напасть [litres] Прочитала с удовольствием! | |
tamarales Маруся-3. Попасть не напасть [СИ] Замечательная книга. Прочитала все три части. Мне все три понравились. | |
artikk Дымка в зеркалах Очень понравилось |
Читать онлайн «Философия java» автора Эккель Брюс — RuLit
Настоящая глава содержит подготовительный и дополнительный материалы. Многие читатели предпочитают сначала представить себе общую картину, а уже потом разбираться в тонкостях ООП. Поэтому многие идеи в данной главе слу¬жат тому, чтобы дать вам цельное представление об ООП. Однако многие люди не воспринимают общей идеи до тех пор, пока не увидят конкретно, как все ра¬ботает; такие люди нередко вязнут в общих словах, не имея перед собой приме¬ров. Если вы принадлежите к последним и горите желанием приступить к осно¬вам языка, можете сразу перейти к следующей главе — пропуск этой не будет препятствием для написания программ или изучения языка. И все же чуть позже вам стоит вернуться к этой главе, чтобы расширить свой кругозор и по¬нять, почему так важны объекты и какое место они занимают при проектирова¬нии программ.
Развитие абстракции
Все языки программирования построены на абстракции. Возможно, трудность решаемых задач напрямую зависит от типа и качества абстракции. Под словом «тип» я имею в виду: «Что конкретно мы абстрагируем?» Язык ассемблера есть небольшая абстракция от компьютера, на базе которого он работает. Мно¬гие так называемые «командные» языки, созданные вслед за ним (такие,* как Fortran, BASIC и С), представляли собой абстракции следующего уровня. Эти языки обладали значительным преимуществом по сравнению с ассемблером, но их основная абстракция по-прежнему заставляет думать вас о структуре компьютера, а не о решаемой задаче. Программист должен установить связь ме¬жду моделью машины (в «пространстве решения», которое представляет место, где реализуется решение, — например, компьютер) и моделью задачи, которую и нужно решать (в «пространстве задачи», которое является местом существо¬вания задачи — например, прикладной областью). Для установления связи тре¬буются усилия, оторванные от собственно языка программирования; в резуль¬тате появляются программы, которые трудно писать и тяжело поддерживать. Мало того, это еще создало целую отрасль «методологий программирования».
Альтернативой моделированию машины является моделирование решаемой задачи. Ранние языки, подобные LISP и APL, выбирали особый подход к моде¬лированию окружающего мира («Все задачи решаются списками» или «Алго¬ритмы решают все» соответственно). PROLOG трактует все проблемы как це¬почки решений. Были созданы языки для программирования, основанного на сис¬теме ограничений, и специальные языки, в которых программирование осуще¬ствлялось посредством манипуляций с графическими конструкциями (область применения последних оказалась слишком узкой). Каждый из этих подходов хорош в определенной области решаемых задач, но стоит выйти из этой сферы, как использовать их становится затруднительно.
Объектный подход делает шаг вперед, предоставляя программисту средства для представления задачи в ее пространстве. Такой подход имеет достаточно общий характер и не накладывает ограничений на тип решаемой проблемы. Элементы пространства задачи и их представления в пространстве решения на¬зываются «объектами». (Вероятно, вам понадобятся и другие объекты, не имеющие аналогов в пространстве задачи.) Идея состоит в том, что програм¬ма может адаптироваться к специфике задачи посредством создания новых ти¬пов объектов так, что во время чтения кода, решающего задачу, вы одновремен¬но видите слова, ее описывающие. Это более гибкая и мощная абстракция, превосходящая по своим возможностям все, что существовало ранее . Таким
Развитие абстракции 19
образом, ООП позволяет описать задачу в контексте самой задачи, а не в кон¬тексте компьютера, на котором будет исполнено решение. Впрочем, связь с компьютером все же сохранилась. Каждый объект похож на маленький ком¬пьютер; у него есть состояние и операции, которые он позволяет проводить. Та¬кая аналогия неплохо сочетается с внешним миром, который есть «реальность, данная нам в объектах», имеющих характеристики и поведение.
Алан Кей подвел итог и вывел пять основных черт языка Smalltalk — перво¬го удачного объектно-ориентированного языка, одного из предшественников Java. Эти характеристики представляют «чистый», академический подход к объектно-ориентированному программированию:
• Все является объектом. Представляйте себе объект как усовершенство¬ванную переменную; он хранит данные, но вы можете «обращаться с за¬просами» к объекту, требуя у него выполнить операции над собой. Теоре¬тически абсолютно любой компонент решаемой задачи (собака, здание, услуга и т. п.) может быть представлен в виде объекта.
• Программа — это группа объектов, указывающих друг другу, что де¬лать, посредством сообщений. Чтобы обратиться с запросом к объекту, вы «посылаете ему сообщение». Более наглядно можно представить сооб¬щение как вызов метода, принадлежащего определенному объекту.
• Каждый объект имеет собственную «память», состоящую из других объектов. Иными словами, вы создаете новый объект с помощью встраи¬вания в него уже существующих объектов. Таким образом, можно сконст¬руировать сколь угодно сложную программу, скрыв общую сложность за простотой отдельных объектов.
• У каждого объекта есть тип. В других терминах, каждый объект являет¬ся экземпляром класса, где «класс» является аналогом слова «тип». Важ¬нейшее отличие классов друг от друга как раз и заключается в ответе на вопрос: «Какие сообщения можно посылать объекту?»
• Все объекты определенного типа могут получать одинаковые сообще¬ния. Как мы вскоре убедимся, это очень важное обстоятельство. Так как объект типа «круг» также является объектом типа «фигура», справедливо утверждение, что «круг» заведомо способен принимать сообщения для «фигуры». А это значит, что можно писать код для фигур и быть уверен¬ным в том, что он подойдет для всего, что попадает под понятие фигуры. Взаимозаменяемость представляет одно из самых мощных понятий ООП.
Буч предложил еще более лаконичное описание объекта:
Объект обладает состоянием, поведением и индивидуальностью.
Суть сказанного в том, что объект может иметь в своем распоряжении внут¬ренние данные (которые и есть состояние объекта), методы (которые опреде¬ляют поведение), и каждый объект можно уникальным образом отличить от любого другого объекта — говоря более конкретно, каждый объект обладает уникальным адресом в памяти .
Объект имеет интерфейс
Вероятно, Аристотель был первым, кто внимательно изучил понятие типа\ он говорил о «классе рыб и классе птиц». Концепция, что все объекты, будучи уникальными, в то же время являются частью класса объектов со сходными ха¬рактеристиками и поведением, была использована в первом объектно-ориенти¬рованном языке Simula-67, с введением фундаментального ключевого слова class, которое вводило новый тип в программу.
Язык Simula, как подразумевает его имя, был создан для развития и модели¬рования ситуаций, подобных классической задаче «банковский кассир». У вас есть группы кассиров, клиентов, счетов, платежей и денежных единиц — много «объектов». Объекты, идентичные во всем, кроме внутреннего состояния во время работы программы, группируются в «классы объектов». Отсюда и пришло ключевое слово class. Создание абстрактных типов данных есть фун¬даментальное понятие во всем объектно-ориентированном программировании. Абстрактные типы данных действуют почти так же, как и встроенные типы: вы можете создавать переменные типов (называемые объектами или экземплярами в терминах ООП) и манипулировать ими (что называется посылкой сообщений или запросом; вы производите запрос, и объект решает, что с ним делать). Чле¬ны (элементы) каждого класса обладают сходством: у каждого счета имеется баланс, каждый кассир принимает депозиты, и т. п. В то же время все члены от¬личаются внутренним состоянием: у каждого счета баланс индивидуален, каж¬дый кассир имеет человеческое имя. Поэтому все кассиры, заказчики, счета, пе¬реводы и прочее могут быть представлены уникальными сущностями внутри компьютерной программы. Это и есть суть объекта, и каждый объект принад¬лежит к определенному классу, который определяет его характеристики и по¬ведение.
Какие книги стоит читать новичку по Java, кроме Эккеля (Философия Java)? — Хабр Q&A
1. Брюс Эккель. Философия Java. Перевод с 3-его «английского» издания. Ориг.название «Thinking in
Java». Издательство Питер. Количество страниц 976. Год выпуска 2003. Книга посвящена java 1.4.
Вроде не совсем полное издание (а может и полное), но с нормальным переводом.
2. Брюс Эккель. Философия Java. Перевод с 4-его «английского» издания. Ориг.название Thinking in Java.
Количество страниц 640. Год выпуск 2009. Издательство Питер. Обрезанное в 2 раза издание с
ужасным переводом. Книга посвящена java 1.5.
3. Брюс Эккель. Философия Java. Перевод с 4-его «английского» издания. Ориг.название Thinking in Java.
Количество страниц 640. Год выпуск 2011. Издательство Питер. Обрезанное в 2 раза издание с
ужасным переводом. Книга посвящена java 1.5.
4. Брюс Эккель. Философия Java. Перевод с 4-его «английского» издания. Ориг.название Thinking in Java.
Количество страниц 640. Год выпуск 2013. Издательство Питер. Обрезанное в 2 раза издание с
ужасным переводом. Книга посвящена java 1.5.
5. Брюс Эккель — Философия Java. Перевод с 4-го «английского» издания. Год издания — 2015.
Издательство «Питер». Количество страниц — 1165. Книга посвящена java 1.5. Так называемое полное
издание. Вроде перевод не очень.
6. Брюс Эккель — Философия Java. Перевод с 4-го «английского» издания. Год издания — 2017.
Количество страниц 1168. Перевод хороший. Книга посвящена java 1.5.
Также многие советуют читать следующие книги (продолжаю сплошную нумерацию):
7. Двухтомник по Core Java: Java Библиотека профессионала. Кей С. Хорстманн, Гари Корнелл.
Том 1: Основы. Том 2: Расширенные средства программирования. Год выпуска 2014-2015 (девятое
издание, java 1.7). До девятого издания включительно этот двухтомник выходил под авторством Кей С.
Хорстманн и Гари Корнелл, потом его стал издавать только Кей С. Хорстманн.
8. Тот же двухтомник, но под авторством Кей С. Хорстманна. Том 1: Основы. Том 2: Расширенные средства
программирования. Год выпуска 2017 (десятое издание, java 1.8).
Также у Хорстманна есть 2 маленькие книжки (продолжаю нумерацию):
9. Java SE 8. Базовый курс. Ориг.название Core Java for the Impatient. Кей С. Хорстманн, 464 стр., 2016.
10. Java SE 8. Вводный курс. Java SE 8 for the Really Impatient. Кей С. Хорстманн, 208 стр., 2014.
Мышление на Java 4,16 средняя оценка — 2058 оценок | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на C ++, Том первый: Введение в стандартный C ++ 4,12 средняя оценка — 385 оценок | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на C ++, Vol. 2: Практическое программирование 4,14 средняя оценка — 202 оценки | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на C ++ 4,09 средняя оценка — 130 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Атомная Скала 3.90 средняя оценка — 41 оценка | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на Python 3,46 средняя оценка — 24 оценки | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на Java с экспериментами на Java: Введение в лабораторное руководство. 4,17 средняя оценка — 18 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
C ++ внутри и снаружи 3.86 средняя оценка — 7 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на C # 4,33 средняя оценка — 6 оценок | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Использование C ++ 3,12 средняя оценка — 8 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Первые шаги в Flex 3,29 средняя оценка — 7 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
На Java 8 4.50 средняя оценка — 4 оценки | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление шаблонами 4,33 средняя оценка — 3 оценки | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на Java и Eval Online Resrces P это было потрясающе. Средняя оценка 5,00 — 1 оценка | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Черный пояс C ++ очень понравилось 4.00 средняя оценка — 1 оценка | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Программирование на C ++ 0.00 средняя оценка — 0 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Java 编程 思想 (第 4 версии) 0.00 средний рейтинг — 0 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Thinking In C Plus Plus 2Nd Edition 0.00 средняя оценка — 0 оценок | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мышление на Java (Том 3: графический интерфейс Concorrenza e) 0.00 средняя оценка — 0 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Мыслим в языке C + 0.00 средний рейтинг — 0 оценок | Книга оценок ошибок. Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг | |
Java в коробке 0.00 средняя оценка — 0 оценок | Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг |
.
Thinking in Java by Bruce Eckel
Thinking in Java — это печатная версия онлайн-материалов Брюса Эккеля, которая дает полезную перспективу в освоении Java для тех, кто уже имеет опыт программирования. Взгляд автора на сущность Java как нового языка программирования и подробное введение в функции Java делают это руководство полезным.
«Мышление на Java» начинается немного эзотерически, wi
«Мышление на Java» — это печатная версия онлайн-материалов Брюса Эккеля, которая дает полезный взгляд на освоение Java для тех, кто уже имеет опыт программирования.Взгляд автора на сущность Java как нового языка программирования и подробное введение в функции Java делают это руководство полезным.
Мышление на Java начинается немного эзотерически, с размышлений автора о том, почему Java является новой и лучше. (Выбор шрифта для заголовков глав в этой книге очень труден для глаз.) Автор излагает свои мысли о том, почему Java без всяких сложностей сделает из вас лучшего программиста. Книга лучше, когда в нем представлены актуальные языковые особенности.Есть руководство по основным типам, ключевым словам и операторам Java. Руководство включает обширный исходный код, который иногда пугает (например, в примере кода автора для все операторы Java в одном листинге). Таким образом, этот текст будет наиболее полезен для опытного разработчика.
Затем текст переходит к вопросам дизайна класса, когда использовать наследование и композицию, а также связанным темам, связанным с сокрытием информации и полиморфизмом. (Обработка внутренних классов и области видимости, вероятно, покажется большинству читателей немного преувеличенной.Глава о классах коллекций Java как для Java Developer’s Kit (JDK) 1.1, так и для новых классов, таких как наборы, списки и карты, намного лучше. В этой главе есть материал, который вы вряд ли найдете где-либо еще.
Также стоит упомянуть главы об обработке исключений и программировании с информацией о типах, равно как и главы о новых классах интерфейса Swing и сетевом программировании. Хотя здесь используется несколько смешанный подход, Thinking in Java содержит отличный материал для объектно-ориентированного разработчика, который хочет понять, из-за чего вся суета связана с Java.
.
Вычислительные мысли
30 июля 2020 г.
— 4 минуты чтения
Я вместе со Светланой Исаковой являюсь автором книги Atomic Kotlin.
Я подозреваю, что большинство людей, живущих в настоящее время, познакомились с концепцией нуля на довольно раннем этапе своего развития — достаточно рано, чтобы усвоить его как основополагающий принцип и не задавать ему вопросов. Кроме того, многие люди, вероятно, знают, что ноль был изобретен после первоначальной системы счисления.У древних греков не было нуля, и это озадачило их: «Как ничто не может быть чем-то?
Читать дальше →
9 февраля 2020 г.
— 5 минут на чтение
Я впервые услышал о ценообразовании на основе ценности от бухгалтера, который создавал стартап на основе этой идеи. Он рассказывает историю о консультации с семьей, унаследовавшей поместье. Благодаря обширным знаниям бухгалтера он смог дать совет, который спас семье миллион или больше.Однако он заряжал только свое время, пару часов. История гласит, что, чтобы сэкономить эту сумму, семья была бы счастлива заплатить больше — сумму, основанную на стоимости работы, а не на затраченном времени.
Читать дальше →
24 декабря 2019 г.
— 4 минуты чтения
Что касается Atomic Kotlin, я боролся с «атомом» (очень маленькая глава) в течение последних двух месяцев. Он посвящен объектно-ориентированному дизайну, и он вызвал у меня много чувств по поводу некоторых принципов и рекомендаций по дизайну, появившихся в последние десятилетия с тех пор, как объектно-ориентированный дизайн стал мейнстримом.Я не мог понять, что меня беспокоило в этих дизайнерских идеях. Затем @codingunicorn сделал это за меня, написав пост под названием «Гибкий код, который считается вредным».
Читать дальше →
14 октября 2019 г.
— 1 минута чтения
Недавнее интервью подкасту The Six Figure Developer. Я говорю о том, насколько мне нравится дизайн Kotlin при написании Atomic Kotlin, а также о своем эксперименте по созданию консалтинговой фирмы по программному обеспечению «Бирюзового цвета».
30 августа 2019 г.
— 4 минуты чтения
Недавний выезд разработчиков состоялся 20-26 августа. Мы организовали это, потому что мой друг Лучано Рамальо (мыслитель и автор бестселлера Fluent Python) совершал поездку с несколькими остановками в США (из своей родной Бразилии) и у него был пробел в расписании, поэтому он хотел приехать Хохлатый Бьютт и отступление. Кажется, это стало закономерностью: кто-то, кого я знаю, хотел бы приехать сюда, и мы в конечном итоге организовываем ретрит вокруг их поездки.
Читать дальше →
29 августа 2019 г.
— 1 минута чтения
Это презентация, которую я сделал на конференции Geecon в Кракове, Польша, в мае прошлого года:
.
Мышление на Java 4,16 средняя оценка — 2058 оценок | Хочу почитать
Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Мышление на C ++, Том первый: Введение в стандартный C ++ 4,12 средняя оценка — 385 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Мышление на C ++, Vol. 2: Практическое программирование Брюс Экель, Чак Д. Эллисон, Чак Эллисон 4,14 средняя оценка — 202 оценки | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Мышление на C ++ Брюс Экель, Мона Помпилли (редактор), Алан Апт 4,09 средняя оценка — 130 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Атомная Скала 3.90 средняя оценка — 41 оценка | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Мышление на Python 3,46 средняя оценка — 24 оценки | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Мышление на Java с экспериментами на Java: Введение в лабораторное руководство. 4,17 средняя оценка — 18 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
C ++ внутри и снаружи 3,86 средняя оценка — 7 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Использование C ++ 3,13 средняя оценка — 8 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд | |
Первые шаги в Flex Брюс Экель, Джеймс Уорд 3,29 средняя оценка — 7 оценок | Хочу почитать Книга оценок ошибок.Обновите и попробуйте еще раз. Оценить книгу Очистить рейтинг 1 из 5 звезд2 из 5 звезд3 из 5 звезд4 из 5 звезд5 из 5 звезд |
.