Convert Figma logo to code with AI

EbookFoundation logofree-programming-books

:books: Freely available programming books

333,460
61,110
333,460
39

Top Related Projects

323,302

😎 Awesome lists about all kinds of interesting topics

An opinionated list of awesome Python frameworks, libraries, software and resources.

128,386

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

323,302

😎 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.

128,386

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

List of Free Learning Resources In Many Languages

Awesome  License: CC BY 4.0  Hacktoberfest 2023 stats

Search the list at https://ebookfoundation.github.io/free-programming-books-search/ https://ebookfoundation.github.io/free-programming-books-search/.

This page is available as an easy-to-read website. Access it by clicking on https://ebookfoundation.github.io/free-programming-books/.

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.

GitHub repo forks  GitHub repo stars  GitHub repo contributors
GitHub org sponsors  GitHub repo watchers  GitHub repo size

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 Contributor Covenant 1.3 Code of Conduct too (translations also available).

Click on these badges to see how you might be able to help:

GitHub repo Issues  GitHub repo Good Issues for newbies  GitHub Help Wanted issues
GitHub repo PRs  GitHub repo Merged PRs  GitHub Help Wanted PRs

How To Share

Resources

This project lists books and other resources grouped by genres:

Books

English, By Programming Language

English, By Subject

Other Languages

Cheat Sheets

Free Online Courses

Interactive Programming Resources

Problem Sets and Competitive Programming

Podcast - Screencast

Free Podcasts and Screencasts:

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.

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.