Mulai uji coba gratis
Searching...
SoBrief
Bahasa Indonesia
EnglishEnglish
EspañolSpanish
简体中文Chinese
繁體中文Chinese (Traditional)
FrançaisFrench
DeutschGerman
日本語Japanese
PortuguêsPortuguese
ItalianoItalian
한국어Korean
РусскийRussian
NederlandsDutch
العربيةArabic
PolskiPolish
हिन्दीHindi
Tiếng ViệtVietnamese
SvenskaSwedish
ΕλληνικάGreek
TürkçeTurkish
ไทยThai
ČeštinaCzech
RomânăRomanian
MagyarHungarian
УкраїнськаUkrainian
Bahasa IndonesiaIndonesian
DanskDanish
SuomiFinnish
БългарскиBulgarian
עבריתHebrew
NorskNorwegian
HrvatskiCroatian
CatalàCatalan
SlovenčinaSlovak
LietuviųLithuanian
SlovenščinaSlovenian
СрпскиSerbian
EestiEstonian
LatviešuLatvian
فارسیPersian
മലയാളംMalayalam
தமிழ்Tamil
اردوUrdu
The Programmer's Brain

The Programmer's Brain

oleh Felienne Hermans 2021 256 halaman
3.85
416 penilaian
Dengarkan
Coba Akses Penuh Selama 3 Hari
Buka fitur mendengarkan & lainnya!
Lanjutkan

Poin Penting

1. Kebingungan adalah bagian alami dari pemrograman, yang muncul dari kekurangan pengetahuan, minimnya informasi, atau keterbatasan pemrosesan.

Kebingungan adalah bagian dari pemrograman.

Tiga Jenis Kebingungan. Dalam pemrograman, kebingungan sering terjadi, baik karena sintaks yang belum dikenal, algoritma yang rumit, maupun konsep domain yang baru. Mengenali sumber kebingungan adalah langkah awal untuk mengatasinya. Ada tiga jenis kebingungan utama:

  • Kekurangan pengetahuan: Tidak mengetahui arti suatu istilah atau konsep tertentu.
  • Kekurangan informasi: Tidak memiliki akses langsung ke semua detail yang dibutuhkan untuk memahami kode.
  • Keterbatasan daya pemrosesan: Kode terlalu kompleks untuk dilacak secara mental tanpa bantuan eksternal.

Mengurai Kebingungan. Dengan mengidentifikasi jenis kebingungan, programmer dapat menerapkan strategi yang tepat untuk mengatasinya. Misalnya, jika kebingungan berasal dari kurangnya pengetahuan, programmer bisa mencari tahu konsep yang belum dipahami. Jika karena kurangnya informasi, programmer dapat menelusuri definisi kode yang relevan. Jika karena keterbatasan pemrosesan, programmer bisa menggunakan alat bantu memori untuk melacak eksekusi kode.

Terima Prosesnya. Penting untuk diingat bahwa kebingungan adalah bagian normal dari proses belajar. Dengan mengenali berbagai jenis kebingungan dan menerapkan strategi yang sesuai, programmer dapat menjadi lebih efektif dalam memahami dan bekerja dengan kode.

2. Memori Jangka Panjang (LTM), Memori Jangka Pendek (STM), dan Memori Kerja bekerja sama saat coding.

Panah bernomor 1 menunjukkan informasi yang masuk ke otak Anda. Panah bernomor 2 menunjukkan informasi yang masuk ke STM Anda. Panah 3 menunjukkan informasi yang berpindah dari STM ke memori kerja, di mana informasi tersebut digabungkan dengan informasi dari LTM (panah 4). Memori kerja adalah tempat informasi diproses saat Anda memikirkannya.

Sistem Memori. Tiga proses kognitif penting dalam pemrograman adalah Memori Jangka Panjang (LTM), Memori Jangka Pendek (STM), dan Memori Kerja. Masing-masing memiliki peran berbeda dalam cara kita memproses dan berinteraksi dengan kode.

  • LTM menyimpan pengetahuan dan pengalaman dalam jangka waktu lama.
  • STM menyimpan informasi yang masuk secara singkat.
  • Memori Kerja memproses informasi dari LTM dan STM untuk memecahkan masalah.

Kerja Sama yang Penting. Sistem memori ini tidak bekerja sendiri-sendiri. Mereka saling berkolaborasi agar programmer dapat membaca, memahami, dan menulis kode. Misalnya, saat membaca nama variabel, STM menyimpan nama tersebut sementara, sedangkan LTM menyediakan makna dan konteksnya. Memori Kerja kemudian menggunakan informasi ini untuk memahami tujuan kode.

Proses Kognitif. Memahami bagaimana proses kognitif ini saling berinteraksi dapat membantu programmer mengoptimalkan alur kerja dan meningkatkan kemampuan coding. Dengan mengenali keterbatasan tiap sistem memori, programmer dapat mengembangkan strategi untuk mengurangi beban kognitif dan meningkatkan kemampuan memproses informasi secara efektif.

3. Membaca kode dengan cepat melibatkan chunking, yaitu otak mengelompokkan informasi agar melewati batas STM.

Alasan paling penting adalah kapasitas STM yang terbatas.

Keterbatasan STM. Memori Jangka Pendek (STM) memiliki kapasitas terbatas, biasanya hanya mampu menyimpan beberapa item sekaligus. Keterbatasan ini menyulitkan pemrosesan informasi dalam jumlah besar, seperti kode yang kompleks.

Chunking untuk Mengatasi Batasan. Chunking adalah strategi kognitif di mana otak mengelompokkan potongan informasi menjadi unit bermakna. Ini memungkinkan STM menyimpan lebih banyak informasi dengan memperlakukan setiap kelompok sebagai satu item. Programmer ahli dapat mengingat lebih banyak kode karena mereka mampu mengelompokkan kode menjadi unit yang lebih besar dan bermakna.

Contoh Chunking.

  • Mengenali pola desain: Alih-alih melihat baris kode satu per satu, programmer ahli mungkin mengenali "factory pattern" dan memperlakukannya sebagai satu kelompok.
  • Memahami idiom umum: Mengetahui struktur kode yang sering digunakan memungkinkan programmer cepat memahami tujuannya.
  • Menggunakan pengetahuan domain: Familiaritas dengan domain masalah membantu programmer mengelompokkan elemen kode yang terkait.

4. Penguasaan sintaks sangat penting; flashcard dan pengulangan terjadwal meningkatkan daya ingat.

Oleh karena itu, menghafal sintaks pemrograman, konsep, dan struktur data akan membantu Anda memproses kode lebih cepat.

Pengetahuan Sintaks. Menghafal sintaks mengurangi kebutuhan untuk terus-menerus mencari informasi, meminimalkan gangguan, dan meningkatkan fokus. Hal ini sangat penting untuk coding yang efisien.

Flashcard untuk Pembelajaran Cepat. Flashcard adalah alat efektif untuk belajar dan menghafal sintaks dengan cepat. Dengan menulis konsep di satu sisi dan kode yang sesuai di sisi lain, programmer dapat menguji pengetahuan secara aktif dan memperkuat ingatan.

Pengulangan Terjadwal. Untuk mengatasi lupa, teknik pengulangan terjadwal sangat berguna. Dengan mengulang flashcard pada interval yang semakin panjang, programmer dapat memperkuat memori jangka panjang dan memastikan pengetahuan sintaks tetap mudah diakses.

5. Refactoring dan alat bantu memori mengurangi beban kognitif saat memahami kode kompleks.

Fakta bahwa Anda merasa perlu melakukan ini berarti otak Anda kekurangan kapasitas untuk memproses kode tersebut.

Kelebihan Beban Memori Kerja. Kode yang kompleks mudah membebani memori kerja, sehingga sulit untuk dipahami dan dianalisis. Kelebihan beban ini dapat menyebabkan kesalahan dan frustrasi.

Refactoring untuk Kejelasan. Refactoring adalah proses merestrukturisasi kode agar lebih mudah dibaca dan dipelihara tanpa mengubah fungsinya. Dengan menyederhanakan kode yang rumit, refactoring mengurangi beban kognitif dan memudahkan pemahaman.

Alat Bantu Memori. Saat memori kerja penuh, alat bantu memori eksternal bisa sangat membantu. Contohnya:

  • Grafik dependensi: Representasi visual hubungan antar bagian kode.
  • Tabel status: Tabel yang melacak nilai variabel pada berbagai titik eksekusi kode.

6. Memahami peran variabel dan struktur kode memperdalam pemahaman.

Memahami jenis informasi yang disimpan variabel adalah kunci untuk bisa menganalisis dan mengubah kode.

Peran Variabel. Variabel memiliki peran berbeda dalam program, seperti nilai tetap, penghitung, penanda, dan penyimpan utama. Mengenali peran ini membantu programmer memahami tujuan dan perilaku variabel.

Pengetahuan Teks vs. Rencana. Ada dua tingkat pemahaman kode: pengetahuan struktur teks (pemahaman permukaan tentang sintaks dan variabel) dan pengetahuan rencana (memahami maksud programmer dan struktur keseluruhan kode). Pengetahuan rencana penting untuk melakukan perubahan bermakna pada kode.

Strategi Memahami Teks. Strategi membaca bahasa alami, seperti mengaktifkan pengetahuan sebelumnya, memantau pemahaman, dan merangkum, juga dapat diterapkan saat membaca kode. Strategi ini membantu programmer memperoleh pemahaman lebih dalam tentang tujuan dan struktur kode.

7. Model mental dan mesin notional membantu pemecahan masalah dengan menyederhanakan konsep kode.

Model mental adalah representasi sederhana dari kenyataan, dan tujuan utama model adalah mendukung Anda dalam berpikir tentang masalah dan akhirnya menyelesaikannya.

Model Mental. Model mental adalah representasi internal tentang cara kerja sistem. Model ini memungkinkan programmer menganalisis kode dan memprediksi perilakunya tanpa harus menjalankannya.

Mesin Notional. Mesin notional adalah representasi abstrak tentang bagaimana komputer mengeksekusi kode. Mereka memberikan pandangan sederhana tentang perangkat keras dan perangkat lunak yang mendasari, sehingga memudahkan pemahaman konsep pemrograman.

Manfaat Model. Baik model mental maupun mesin notional membantu programmer menyederhanakan sistem kompleks dan mengurangi beban kognitif. Dengan menyediakan kerangka kerja untuk memahami kode, mereka memungkinkan programmer memecahkan masalah dengan lebih efektif.

8. Kesalahpahaman menghambat kemajuan; perubahan konseptual dan penekanan penting dalam berpikir debugging.

Ketika Anda yakin kode Anda akan berjalan, tapi tetap gagal, kemungkinan besar Anda mengalami kesalahpahaman.

Kesalahpahaman. Kesalahpahaman adalah asumsi keliru tentang kode yang dapat menyebabkan kesalahan dan bug. Sering kali berasal dari transfer negatif, yaitu pengetahuan dari bahasa pemrograman atau domain lain yang diterapkan secara salah.

Perubahan Konseptual. Untuk mengatasi kesalahpahaman, tidak cukup hanya menunjukkan kesalahan. Programmer perlu mengalami perubahan konseptual, mengganti asumsi keliru dengan pemahaman yang benar.

Menekan Kesalahpahaman. Meski sudah terjadi perubahan konseptual, kesalahpahaman lama bisa muncul kembali. Programmer harus aktif menekan kesalahpahaman tersebut dan memperkuat pemahaman yang benar melalui latihan dan pengujian.

9. Konvensi penamaan yang jelas mengurangi beban kognitif dan mencegah bug.

Nama yang jelas membantu LTM Anda.

Pentingnya Penamaan. Konvensi penamaan yang jelas dan konsisten sangat penting untuk pemahaman kode. Nama yang baik berfungsi sebagai petunjuk yang memandu pembaca kode dan mengurangi beban kognitif.

Aspek Kognitif Penamaan. Nama yang dipilih dengan baik mendukung memori jangka pendek dan jangka panjang. Mereka membantu STM mengelompokkan kode secara efektif dan memungkinkan LTM mengambil pengetahuan serta pengalaman yang relevan.

Gaya Penamaan. Berbagai gaya penamaan, seperti snake case dan camel case, memengaruhi keterbacaan dan kemudahan diingat. Memilih gaya yang konsisten dan menerapkannya di seluruh basis kode sangat penting.

10. Bau kode meningkatkan beban kognitif, sementara antipola linguistik menimbulkan kebingungan.

Mengapa kode dengan bau kode menciptakan beban kognitif yang besar.

Bau Kode. Bau kode adalah masalah struktural dalam kode yang menandakan potensi masalah. Mereka dapat meningkatkan beban kognitif dan membuat kode lebih sulit dipahami serta dipelihara.

Antipola Linguistik. Antipola linguistik adalah ketidaksesuaian antara nama elemen kode dan perilaku sebenarnya. Hal ini dapat menimbulkan kebingungan dan menyebabkan kesalahan.

Mengurangi Beban Kognitif. Dengan mengatasi bau kode dan antipola linguistik, programmer dapat mengurangi beban kognitif dan meningkatkan kualitas kode secara keseluruhan. Ini berujung pada lebih sedikit bug, pemeliharaan yang lebih mudah, dan kolaborasi yang lebih baik.

11. Otomatisasi dan belajar dari contoh meningkatkan kemampuan pemecahan masalah.

Meningkatkan memori implisit.

Otomatisasi. Otomatisasi adalah proses menjadikan keterampilan berjalan otomatis melalui pengulangan dan latihan. Dengan mengotomatisasi tugas coding yang umum, programmer dapat membebaskan sumber daya kognitif untuk pemecahan masalah yang lebih kompleks.

Belajar dari Contoh. Mempelajari contoh yang sudah dikerjakan, atau solusi untuk masalah serupa, membantu programmer mengembangkan strategi pemecahan masalah baru. Dengan menganalisis cara orang lain menyelesaikan masalah, programmer dapat memperluas teknik yang dimiliki dan meningkatkan kemampuan menghadapi tantangan baru.

Beban Germane. Beban germane adalah usaha kognitif yang diperlukan untuk menyimpan informasi baru dalam memori jangka panjang. Dengan mengurangi beban kognitif yang tidak perlu, programmer dapat meningkatkan beban germane dan memperbaiki kemampuan belajar serta mengingat pengetahuan baru.

12. Dimensi Kognitif Basis Kode (CDCB) membantu merancang sistem yang mudah digunakan dan dipelihara.

Memeriksa sifat-sifat basis kode.

Dimensi Kognitif. Dimensi Kognitif Basis Kode (CDCB) adalah kerangka kerja untuk mengevaluasi kegunaan dan kemudahan pemeliharaan basis kode. Faktor yang diperhatikan meliputi kecenderungan kesalahan, konsistensi, visibilitas, dan viskositas.

Manuver Desain. Manuver desain adalah perubahan pada basis kode yang meningkatkan dimensi kognitifnya. Dengan menerapkan manuver desain, programmer dapat membuat basis kode lebih mudah dipahami, digunakan, dan dipelihara.

Pertukaran. Meningkatkan satu dimensi kognitif terkadang berdampak negatif pada dimensi lain. Programmer perlu mempertimbangkan pertukaran ini dengan cermat saat membuat keputusan desain.

13. Onboarding yang efektif mendukung memori dan membatasi aktivitas pemrograman.

Mendukung memori orang yang baru bergabung.

Tantangan Onboarding. Mengajak developer baru bisa menjadi tantangan, terutama jika mereka belum familiar dengan basis kode atau bahasa pemrograman. Memberikan terlalu banyak informasi sekaligus dapat menyebabkan frustrasi dan kinerja yang buruk.

Mendukung Memori. Untuk memperbaiki proses onboarding, penting untuk mendukung memori pendatang baru. Ini bisa dilakukan dengan menyediakan dokumentasi yang jelas, contoh kode, dan kesempatan praktik langsung.

Membatasi Aktivitas. Pada tahap awal onboarding, sebaiknya batasi aktivitas pemrograman pendatang baru. Fokus pada satu atau dua tugas utama, seperti membaca kode atau memperbaiki bug kecil. Ini memungkinkan mereka membangun fondasi pengetahuan dan keterampilan yang kuat sebelum menangani tugas yang lebih kompleks.

Terakhir diperbarui:

Report Issue

Ringkasan Ulasan

3.85 dari 5
Rata-rata dari 416 penilaian dari Goodreads dan Amazon.

The Programmer's Brain mendapatkan ulasan yang sebagian besar positif karena pendekatannya yang unik dalam mengeksplorasi ilmu kognitif di bidang pemrograman. Para pembaca menghargai wawasan tentang bagaimana otak memproses kode, strategi untuk membaca dan menulis kode dengan lebih baik, serta tips dalam membimbing pengembang baru. Banyak yang merasa buku ini menarik dan mencerahkan, dengan saran praktis yang didukung oleh penelitian ilmiah. Namun, ada juga yang mengkritik buku ini karena penggunaan kata-kata yang berlebihan dan mempertanyakan relevansi beberapa saran yang diberikan. Secara keseluruhan, para pengulas merekomendasikan buku ini sebagai bacaan penting bagi para pemrogram, karena menawarkan perspektif berharga untuk meningkatkan keterampilan coding sekaligus memahami proses kognitif.

Your rating:
4.38
136 penilaian
Want to read the full book?

FAQ

What is The Programmer’s Brain by Felienne Hermans about?

  • Cognition in programming: The book explores how cognitive science principles apply to programming, focusing on how programmers read, understand, and write code.
  • Memory and code comprehension: It examines the roles of short-term memory (STM), long-term memory (LTM), and working memory in programming tasks.
  • Bridging research and practice: Felienne Hermans combines scientific research with practical advice, exercises, and examples to help programmers improve their skills.

Why should I read The Programmer’s Brain by Felienne Hermans?

  • Understand mental challenges: The book reveals why programming is mentally demanding and how cognitive overload impairs comprehension and productivity.
  • Evidence-based improvement: It offers scientifically backed techniques to improve code comprehension, naming, debugging, and problem-solving.
  • Enhance collaboration: Hermans addresses team dynamics, onboarding, and interruptions, helping readers work better with others and support newcomers.

What are the key takeaways from The Programmer’s Brain by Felienne Hermans?

  • Cognitive processes matter: Understanding how memory and cognition affect programming can help you read, write, and debug code more effectively.
  • Reduce cognitive load: Strategies like chunking, refactoring, and using memory aids can make complex code easier to understand.
  • Naming and code quality: Good naming conventions and avoiding code smells are crucial for maintainable, understandable code.
  • Learning and memory techniques: Methods like flashcards, spaced repetition, and worked examples help programmers retain knowledge and improve skills.

What are the main cognitive processes involved in programming according to Felienne Hermans?

  • Long-term memory (LTM): Stores permanent knowledge such as syntax, algorithms, and domain concepts, essential for code comprehension.
  • Short-term memory (STM): Temporarily holds new information like variable names or method calls, with a limited capacity.
  • Working memory: Where active thinking and processing happen, combining information from STM and LTM to solve problems and understand code.

How does The Programmer’s Brain by Felienne Hermans explain confusion and cognitive load in programming?

  • Three types of confusion: Confusion arises from lack of knowledge (LTM), lack of information (STM), or lack of processing power (working memory).
  • Cognitive load types: The book distinguishes between intrinsic load (inherent complexity) and extraneous load (accidental complexity), advising to reduce the latter through refactoring.
  • Practical strategies: Hermans provides techniques like dependency graphs and state tables to offload working memory and reduce confusion.

What is chunking in programming, and why is it important according to The Programmer’s Brain?

  • Chunking defined: Chunking is grouping information into meaningful units to overcome STM’s limited capacity, allowing programmers to remember larger code structures.
  • Expert vs. beginner: Experts chunk code into higher-level concepts, while beginners focus on individual lines or keywords.
  • Deliberate practice: The book suggests exercises like memorizing and reproducing code snippets to improve chunking ability and code comprehension.

How does Felienne Hermans recommend learning and remembering programming syntax in The Programmer’s Brain?

  • Flashcards and spaced repetition: Using flashcards and reviewing them over time strengthens long-term retention of syntax and concepts.
  • Retrieval and elaboration: Actively recalling syntax and connecting new information to existing knowledge deepens understanding.
  • Reduce workflow disruptions: Knowing syntax reduces the need to look things up, minimizing interruptions and improving productivity.

What advice does The Programmer’s Brain by Felienne Hermans give about naming in code?

  • Names as cognitive beacons: Good identifier names activate relevant knowledge in LTM, aiding comprehension and reducing cognitive load.
  • Consistency and clarity: The book emphasizes using clear, consistent, and meaningful names to reduce bugs and misunderstandings.
  • Naming challenges: Hermans discusses the difficulty of naming, low agreement among developers, and the cognitive impact of formatting choices.

What are code smells and linguistic antipatterns, and how do they affect programming cognition in The Programmer’s Brain?

  • Code smells: Structural issues like long methods or duplicated code that overload working memory and make code harder to understand.
  • Linguistic antipatterns: Misleading names or comments that cause confusion and “mischunking,” increasing mental effort and error likelihood.
  • Detection and mitigation: The book discusses tools and strategies for identifying and refactoring these issues to ease comprehension.

How does The Programmer’s Brain by Felienne Hermans address problem solving and memory in programming?

  • Domain-specific problem solving: Effective problem solving depends on prior knowledge stored in LTM, including procedural and semantic memories.
  • Automatization: Repeated practice of small tasks helps automatize skills, freeing cognitive resources for complex problems.
  • Worked examples: Studying code with explanations enhances learning and helps transfer knowledge to new situations.

What strategies does Felienne Hermans recommend for handling interruptions and maintaining flow in The Programmer’s Brain?

  • Interruptions are costly: Recovering from interruptions can take 15-20 minutes and increases cognitive load and errors.
  • Coping techniques: Storing mental models in notes, using to-do lists, and labeling subgoals help resume tasks more easily.
  • Flow management tools: Tools like FlowLight can detect cognitive load and signal when not to interrupt, helping maintain focus.

What is the Cognitive Dimensions of Notations (CDN) framework, and how does The Programmer’s Brain apply it to codebases?

  • CDN overview: CDN assesses cognitive aspects like error proneness, consistency, and diffuseness that affect code understandability.
  • Extension to codebases: Hermans generalizes CDN to analyze libraries and frameworks, identifying cognitive barriers and guiding design improvements.
  • Design trade-offs: The book discusses how improving one dimension (e.g., adding types) can affect others (e.g., increasing viscosity), helping programmers make informed design decisions.

Tentang Penulis

Felienne Hermans adalah seorang profesor madya di Universitas Leiden, Belanda. Selama sepuluh tahun terakhir, ia mendedikasikan dirinya untuk meneliti pemrograman, proses pembelajarannya, serta metode pengajarannya. Hermans memiliki latar belakang pendidikan di bidang Ilmu Komputer dan Rekayasa Perangkat Lunak. Karya-karyanya berfokus pada menjembatani kesenjangan antara ilmu kognitif dan pengembangan perangkat lunak, dengan menghadirkan strategi berbasis bukti untuk meningkatkan keterampilan pemrograman. Hermans dikenal karena pendekatannya yang unik dalam memahami bagaimana otak berinteraksi dengan kode, memberikan wawasan yang menantang pandangan tradisional tentang pendidikan dan praktik pemrograman. Penelitiannya bertujuan untuk membuat pemrograman lebih mudah diakses serta meningkatkan kemampuan kognitif para pengembang.

Follow
Dengarkan
Now playing
The Programmer's Brain
0:00
-0:00
Now playing
The Programmer's Brain
0:00
-0:00
1x
Queue
Home
Swipe
Library
Get App
Try Full Access for 3 Days
Listen, bookmark, and more
Compare Features Free Pro
📖 Read Summaries
Read unlimited summaries. Free users get 3 per month
🎧 Listen to Summaries
Listen to unlimited summaries in 40 languages
❤️ Unlimited Bookmarks
Free users are limited to 4
📜 Unlimited History
Free users are limited to 4
📥 Unlimited Downloads
Free users are limited to 1
Risk-Free Timeline
Hari Ini: Dapatkan Akses Instan
Dengarkan ringkasan lengkap dari 26.000+ buku. Itu 12.000+ jam audio!
Hari ke-2: Pengingat Uji Coba
Kami akan mengirimkan notifikasi bahwa uji coba Anda akan segera berakhir.
Hari ke-3: Langganan Anda dimulai
Anda akan dikenakan biaya pada Jun 13,
batalkan kapan saja sebelumnya.
Consume 2.8× More Books
2.8× more books Listening Reading
Our users love us
600,000+ readers
Trustpilot Rating
TrustPilot
4.6 Excellent
This site is a total game-changer. I've been flying through book summaries like never before. Highly, highly recommend.
— Dave G
Worth my money and time, and really well made. I've never seen this quality of summaries on other websites. Very helpful!
— Em
Highly recommended!! Fantastic service. Perfect for those that want a little more than a teaser but not all the intricate details of a full audio book.
— Greg M
Save 62%
Yearly
$119.88 $44.99/year/yr
$3.75/mo
Monthly
$9.99/mo
Start a 3-Day Free Trial
3 days free, then $44.99/year. Cancel anytime.
Unlock a world of fiction & nonfiction books
26,000+ books for the price of 2 books
Read any book in 10 minutes
Discover new books like Tinder
Request any book if it's not summarized
Read more books than anyone you know
#1 app for book lovers
Lifelike & immersive summaries
30-day money-back guarantee
Download summaries in EPUBs or PDFs
Cancel anytime in a few clicks
Scanner
Find a barcode to scan

We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel
Settings
General
Widget
Loading...
We have a special gift for you
Open
38% OFF
DISCOUNT FOR YOU
$79.99
$49.99/year
only $4.16 per month
Continue
2 taps to start, super easy to cancel