Code Coffee Compendium

    References - Last updated on Sun, Jun 21, 2020

    Reference material on programming languages, development frameworks, and other tech topics.

    • Homepage | Tutorials and Challenges | How-To Guides | Discussions and Articles | References

    References

    Programming Languages

    NameDescriptionSample Code

    1200px Python logo notext.svg

    Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability with its notable use of significant whitespace. Its language constructs and object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects. Source: Wikipedia.org

    age = 21
    print("Next year you will be " + str(age + 1))

    1200px Java programming language logo.svg

    Java is the name of a programming language created by Sun Microsystems. Java runs on many different operating systems, including Android, the world’s most popular mobile operating system. Source: Wikipedia.org

    int age = 21;
    System.out.print("Next year you will be " + (age + 1));

    JavaScript logo

    JavaScript is a high-level programming language. It was originally designed as a scripting language for websites but became widely adopted as a general-purpose programming language, and is currently the most popular programming language in use. JavaScript is usually found running in a web browser as interactive or automated content, ranging from popup messages and live clocks to large web applications. JavaScript is also commonly used in server-side programming through platforms like Node.js[2], or "embedded" in non-JavaScript applications where the base programming language lacks the high-level functionality that JavaScript offers. Source: Wikipedia.org

    let age = 21;
    console.log("Next year you will be " + (age + 1));

    1200px ISO C%2B%2B Logo.svg

    C is a computer programming language based on C. It was created for writing programs for many different purposes. In the 1990s, C became one of the most used programming languages in the world. Source: Wikipedia.org

    int age = 21;
    cout >> "Next year you will be " >> (age + 1);

    ?u=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F7%2F73%2FRuby logo.svg%2F1024px Ruby logo.svg

    Ruby is an interpreted, high-level, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan. Ruby is dynamically typed and uses garbage collection. It supports multiple programming paradigms, including procedural, object-oriented, and functional programming. Source: Wikipedia.org

    age = 21
    puts "Next year you will be " + (age + 1).to_s

    ?u=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F1%2F19%2FUnity Technologies logo.svg%2F800px Unity Technologies logo.svg

    Unity is a type of game engine that was developed by a video game development company called Unity Technologies. The Unity engine allows developers to make both 2D and 3D games. It currently supports only the C# programming language. It supports Direct3D, OpenGL, OpenGL ES, Metal, Vulkan, and proprietary API. Since 2016, Unity offers services on the cloud. Source: Wikipedia.org

    int age;
    
    void Start() {
         age = 21;
    }
    
    void Update() {
         Debug.Log("Next year you will be " + (age + 1));
    }

    ?u=https%3A%2F%2Fupload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F9%2F9d%2FSwift logo.svg%2F853px Swift logo.svg

    Swift is a general-purpose, multi-paradigm, compiled programming language developed by Apple Inc. for iOS, iPadOS, macOS, watchOS, tvOS, Linux, and z/OS. Swift is designed to work with Apple’s Cocoa and Cocoa Touch frameworks and the large body of existing Objective-C code written for Apple products. Source: Wikipedia.org

    var age = 21
    print("Next year you will be " + String(age + 1))

    1280px Haskell Logo.svg

    Haskell is an advanced purely-functional programming language. An open-source product of more than twenty years of cutting-edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable, high-quality software. Source: wiki.haskell.org

    nextYear :: Int -> Int
    nextYear x = x + 1
    
    main = do
      print $ nextYear 21

    Frameworks

    NameDescription

    ?u=https%3A%2F%2Fopensource.com%2Fsites%2Fdefault%2Ffiles%2Fstyles%2Fpanopoly image original%2Fpublic%2Fimages%2Flife uploads%2Flove

    LOVE is an awesome framework you can use to make 2D games in Lua. It’s free, open-source, and works on Windows, Mac OS X, Linux, Android and iOS. Source: love2d.org

    ?u=http%3A%2F%2Fitekblog.com%2Fwp content%2Fuploads%2F2012%2F08%2Fdjango logo positive

    Django is a Python-based free and open-source web framework, which follows the model-template-view (MTV) architectural pattern. Django’s primary goal is to ease the creation of complex, database-driven websites. The framework emphasizes reusability and "pluggability" of components, less code, low coupling, rapid development, and the principle of don’t repeat yourself. Source: Wikipedia.org

    ?u=https%3A%2F%2Ffiles.realpython.com%2Fmedia%2Fpygame logo.e78e57db3000

    Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. Source: Wikipedia.org

    1200px Node.js logo.svg

    Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside of a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user’s web browser. Consequently, Node.js represents a "JavaScript everywhere" paradigm, unifying web-application development around a single programming language, rather than different languages for server- and client-side scripts. Source: Wikipedia.org

    1200px React icon.svg

    React (also known as React.js or ReactJS) is a JavaScript library for building user interfaces. It is maintained by Facebook and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications. However, React is only concerned with rendering data to the DOM, and so creating React applications usually requires the use of additional libraries for state management and routing. Redux and React Router are respective examples of such libraries. Source: Wikipedia.org

    Command Line

    • Cookiecutter: A command-line utility for creating boilerplate project files from cookiecutters (project templates).

    • $ vimtutor

    Computer Science and Math

    Algorithms and Complexity

    • Sorting Algorithms Visualized

    • Sorting Algorithms Animations

    • All algorithms implemented in Python (for education)

    • big O cheat sheet

    • A Free Advanced Comprehensive Algorithm Textbook

    Data Structures

    Computer Architecture

    Discrete Math

    • An Undergrad Level Introduction to Discrete Math

    Linear Algebra

    • Computational Linear Algebra

    • Introduction to Applied Linear Algebra

    Statistics

    • An Introduction to Statistical Learning (with Applications in R)

    • Introduction to Discrete and Continious Probability and Statistics

    Logic

    Careers in Tech

    Software Engineering

    • Object oriented design patterns

    • 23 Design Patterns Implemented in Javascript

    • A collection of design patterns and idioms in Python

    Data Science

    • Data Science Roadmap

    Electrical Engineering

    Artificial Intelligence and Machine Learning

    • keras

    Game Development

    Information Security

    • Hacksplaining

    Version Control

    • Oh shit, git!

    • Think Like (a) Git

    Python

    • Rigorous Introductory Course to Python and Computer Science

    Pair Programming

    • Resources for pair programming remotely and on site

    • Tuple’s Pair Programming Guide

    System Design

    • The System Design Primer: Learn how to design large-scale systems. Prep for the system design interview.


    © 2020