Top Related Projects
😎 Awesome lists about all kinds of interesting topics
An opinionated list of awesome Python frameworks, libraries, software and resources.
A curated list of awesome Go frameworks, libraries and software
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
A complete computer science study plan to become a software engineer.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Quick Overview
The EbookFoundation/free-programming-books repository is a comprehensive collection of free learning resources for various programming languages, computer science topics, and software development tools. It serves as a curated list of freely available ebooks, online courses, and educational materials for programmers and aspiring developers.
Pros
- Extensive collection covering a wide range of programming languages and topics
- Regularly updated with new resources and community contributions
- Well-organized structure, making it easy to find resources for specific subjects
- Available in multiple languages, making it accessible to a global audience
Cons
- Quality of resources may vary, as they are not all vetted or reviewed
- Some links may become outdated or broken over time
- Can be overwhelming for beginners due to the sheer volume of resources
- Lacks a standardized format for resource descriptions across all sections
Note: As this is not a code library, the code example and quick start sections have been omitted.
Competitor Comparisons
😎 Awesome lists about all kinds of interesting topics
Pros of awesome
- Broader scope, covering various topics beyond programming
- More frequently updated with new resources
- Better organized with a clear hierarchy and categorization
Cons of awesome
- Less focused on educational resources specifically for programming
- May include some outdated or less relevant links due to its vast scope
- Requires more navigation to find specific programming-related content
Code comparison
While both repositories primarily consist of markdown files with lists of resources, awesome includes a more structured approach to organizing its content:
# awesome
- [Platform](#platform)
- [Programming Languages](#programming-languages)
- [Front-End Development](#front-end-development)
## Platform
- [Node.js](https://github.com/sindresorhus/awesome-nodejs#readme)
- [Cross-Platform](https://github.com/bcoe/awesome-cross-platform-nodejs#readme)
free-programming-books uses a simpler structure:
# List of Free Learning Resources In Many Languages
## Categories
- [Languages](free-programming-books-langs.md)
- [Platforms](free-programming-books-subjects.md#platforms)
- [Subject](free-programming-books-subjects.md)
Both repositories serve as valuable resources for developers, with awesome offering a wider range of topics and free-programming-books focusing specifically on educational materials for programming.
An opinionated list of awesome Python frameworks, libraries, software and resources.
Pros of awesome-python
- Focused specifically on Python resources, making it more targeted for Python developers
- Includes a wider variety of resource types, such as frameworks, libraries, and tools
- More frequently updated, with a larger number of contributors
Cons of awesome-python
- Limited to Python-related resources, lacking the breadth of programming languages covered in free-programming-books
- May be overwhelming for beginners due to the extensive list of advanced tools and libraries
- Less emphasis on free educational materials like books and courses
Code Comparison
While both repositories primarily consist of curated lists rather than code, here's a brief comparison of their README structures:
free-programming-books:
## Books
### Python
- [Book Title](http://example.com)
awesome-python:
## Web Frameworks
- [Django](https://www.djangoproject.com/) - The most popular...
- [Flask](https://flask.palletsprojects.com/) - A lightweight...
Both repositories use Markdown for organization, but awesome-python tends to include brief descriptions for each resource, while free-programming-books typically only provides links.
A curated list of awesome Go frameworks, libraries and software
Pros of awesome-go
- Focused specifically on Go programming resources
- Regularly updated with new Go libraries, frameworks, and tools
- Well-organized into categories for easy navigation
Cons of awesome-go
- Limited to Go-related content only
- Lacks comprehensive learning resources like full books or courses
- May not be as beginner-friendly for those new to programming
Code comparison
While both repositories primarily contain lists of resources rather than code, here's a sample of how they might differ in structure:
awesome-go:
## Web Frameworks
* [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go.
* [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework.
free-programming-books:
### Go
* [An Introduction to Programming in Go](http://www.golang-book.com/)
* [Build Web Application with Golang](https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/)
The awesome-go repository focuses on categorizing and listing Go-specific tools and libraries, while free-programming-books provides links to full books and learning resources across multiple programming languages.
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Pros of developer-roadmap
- Provides visual roadmaps for different tech career paths
- Offers a structured learning approach with clear progression
- Includes interactive versions of roadmaps for better user experience
Cons of developer-roadmap
- Less comprehensive in terms of free resources compared to free-programming-books
- Focuses mainly on web development and related technologies
- May not be as frequently updated as free-programming-books
Code comparison
While both repositories don't contain significant code samples, developer-roadmap includes some HTML for interactive roadmaps:
<map name="image-map">
<area target="" alt="Internet" title="Internet" href="https://roadmap.sh/guides/what-is-internet"
coords="243,233,31" shape="circle">
<area target="" alt="DNS" title="DNS" href="https://roadmap.sh/guides/dns-in-one-picture"
coords="376,275,29" shape="circle">
</map>
free-programming-books, being a curated list, primarily consists of markdown:
### Index
* [0 - Meta-Lists](#0---meta-lists)
* [1 - Programming Languages](#1---programming-languages)
* [2 - Frameworks and Libraries](#2---frameworks-and-libraries)
* [3 - Theory](#3---theory)
Both repositories serve different purposes: developer-roadmap provides structured learning paths, while free-programming-books offers a vast collection of free programming resources across various topics and languages.
A complete computer science study plan to become a software engineer.
Pros of coding-interview-university
- Focused curriculum specifically for coding interviews
- Structured learning path with clear goals and milestones
- Includes practice problems and mock interview preparation
Cons of coding-interview-university
- Less comprehensive in terms of general programming resources
- May not cover as wide a range of programming languages
- More time-intensive and requires dedicated study
Code Comparison
While both repositories primarily contain learning resources rather than code, coding-interview-university does include some code examples for data structures and algorithms. Here's a brief comparison:
coding-interview-university:
class Node:
def __init__(self, data):
self.data = data
self.next = None
class LinkedList:
def __init__(self):
self.head = None
free-programming-books:
No direct code examples available. This repository focuses on curating links to free programming books and resources.
The coding-interview-university repository provides code implementations for various data structures and algorithms, while free-programming-books is a curated list of resources without direct code examples.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Pros of system-design-primer
- Focused on system design and scalability concepts
- Includes visual diagrams and illustrations
- Provides interactive coding challenges and exercises
Cons of system-design-primer
- Limited to system design topics, less broad coverage
- May be more advanced for beginners
- Fewer external resources and links compared to free-programming-books
Code Comparison
While both repositories primarily contain educational content rather than code, system-design-primer does include some code examples:
system-design-primer:
class LRUCache:
def __init__(self, capacity):
self.capacity = capacity
self.cache = OrderedDict()
def get(self, key):
if key not in self.cache:
return -1
self.cache.move_to_end(key)
return self.cache[key]
free-programming-books does not typically include code snippets, as it's a curated list of external resources.
Summary
system-design-primer is a focused resource for learning system design concepts with interactive elements and visual aids. free-programming-books offers a broader range of programming topics through curated external links. Choose based on your learning goals and preferred style of content.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
List of Free Learning Resources In Many Languages
Search the list at https://ebookfoundation.github.io/free-programming-books-search/ .
This page is available as an easy-to-read website. Access it by clicking on .
Intro
This list was originally a clone of StackOverflow - List of Freely Available Programming Books with contributions from Karan Bhangui and George Stocker.
The list was moved to GitHub by Victor Felder for collaborative updating and maintenance. It has grown to become one of GitHub's most popular repositories.
The Free Ebook Foundation now administers the repo, a not-for-profit organization devoted to promoting the creation, distribution, archiving, and sustainability of free ebooks. Donations to the Free Ebook Foundation are tax-deductible in the US.
How To Contribute
Please read CONTRIBUTING. If you're new to GitHub, welcome! Remember to abide by our adapted from Code of Conduct too (translations also available).
Click on these badges to see how you might be able to help:
How To Share
Share on LinkedIn
Share on Mastodon/Fediverse
Share on Telegram
Share on ð (Twitter)
Resources
This project lists books and other resources grouped by genres:
Books
English, By Programming Language
Other Languages
- Arabic / al arabiya / اÙعربÙØ©
- Armenian / ÕÕ¡ÕµÕ¥ÖÕ¥Õ¶
- Azerbaijani / ÐзÓÑбаÑҹан дили / آذرباÙجاÙجا دÙÙÙ
- Bengali / বাà¦à¦²à¦¾
- Bulgarian / бÑлгаÑÑки
- Burmese / áá¼ááºáá¬áá¬áá¬
- Chinese / ä¸æ
- Czech / ÄeÅ¡tina / Äeský jazyk
- Catalan / catalan/ catalÃ
- Danish / dansk
- Dutch / Nederlands
- Estonian / eesti keel
- Finnish / suomi / suomen kieli
- French / français
- German / Deutsch
- Greek / ελληνικά
- Hebrew / ×¢×ר×ת
- Hindi / हिनà¥à¤¦à¥
- Hungarian / magyar / magyar nyelv
- Indonesian / Bahasa Indonesia
- Italian / italiano
- Japanese / æ¥æ¬èª
- Korean / íêµì´
- Latvian / Latviešu
- Malayalam / മലയാളà´
- Norwegian / Norsk
- Persian / Farsi (Iran) / ÙارسÙ
- Polish / polski / jÄzyk polski / polszczyzna
- Portuguese (Brazil)
- Portuguese (Portugal)
- Romanian (Romania) / limba românÄ / român
- Russian / Ð ÑÑÑкий ÑзÑк
- Serbian / ÑÑпÑки Ñезик / srpski jezik
- Slovak / slovenÄina
- Spanish / español / castellano
- Swedish / Svenska
- Tamil / தமிழà¯
- Telugu / à°¤à±à°²à±à°à±
- Thai / à¹à¸à¸¢
- Turkish / Türkçe
- Ukrainian / УкÑаÑнÑÑка
- Vietnamese / Tiếng Viá»t
Cheat Sheets
Free Online Courses
- Arabic / al arabiya / اÙعربÙØ©
- Bengali / বাà¦à¦²à¦¾
- Bulgarian / бÑлгаÑÑки
- Burmese / áá¼ááºáá¬áá¬áá¬
- Chinese / ä¸æ
- English
- Finnish / suomi / suomen kieli
- French / français
- German / Deutsch
- Greek / ελληνικά
- Hebrew / ×¢×ר×ת
- Hindi / हिà¤à¤¦à¥
- Indonesian / Bahasa Indonesia
- Italian / italiano
- Japanese / æ¥æ¬èª
- Kannada/à²à²¨à³à²¨à²¡
- Kazakh / ÒазаÒÑа
- Khmer / áá¶áá¶ááááá
- Korean / íêµì´
- Malayalam / മലയാളà´
- Marathi / मराठà¥
- Nepali / नà¥à¤ªà¤¾à¤²à¥
- Norwegian / Norsk
- Persian / Farsi (Iran) / ÙارسÙ
- Polish / polski / jÄzyk polski / polszczyzna
- Portuguese (Brazil)
- Portuguese (Portugal)
- Russian / Ð ÑÑÑкий ÑзÑк
- Sinhala / à·à·à¶à·à¶½
- Spanish / español / castellano
- Swedish / svenska
- Tamil / தமிழà¯
- Telugu / à°¤à±à°²à±à°à±
- Thai / ภาษาà¹à¸à¸¢
- Turkish / Türkçe
- Ukrainian / УкÑаÑнÑÑка
- Urdu / اردÙ
- Vietnamese / Tiếng Viá»t
Interactive Programming Resources
Problem Sets and Competitive Programming
Podcast - Screencast
Free Podcasts and Screencasts:
- Arabic / al Arabiya / اÙعربÙØ©
- Burmese / áá¼ááºáá¬áá¬áá¬
- Chinese / ä¸æ
- Czech / ÄeÅ¡tina / Äeský jazyk
- Dutch / Nederlands
- English
- Finnish / Suomi
- French / français
- German / Deutsch
- Hebrew / ×¢×ר×ת
- Indonesian / Bahasa Indonesia
- Persian / Farsi (Iran) / ÙارسÙ
- Polish / polski / jÄzyk polski / polszczyzna
- Portuguese (Brazil)
- Portuguese (Portugal)
- Russian / Ð ÑÑÑкий ÑзÑк
- Sinhala / à·à·à¶à·à¶½
- Spanish / español / castellano
- Swedish / Svenska
- Turkish / Türkçe
- Ukrainian / УкÑаÑнÑÑка
Programming Playgrounds
Write, compile, and run your code within a browser. Try it out!
Translations
Volunteers have translated many of our Contributing, How-to, and Code of Conduct documents into languages covered by our lists.
- English
- ... More languages ...
You might notice that there are some missing translations here - perhaps you would like to help out by contributing a translation?
License
Each file included in this repository is licensed under the CC BY License.
Top Related Projects
😎 Awesome lists about all kinds of interesting topics
An opinionated list of awesome Python frameworks, libraries, software and resources.
A curated list of awesome Go frameworks, libraries and software
Interactive roadmaps, guides and other educational content to help developers grow in their careers.
A complete computer science study plan to become a software engineer.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot