Code Is Not Text - How Graph Technologies Can Help Us to Understand Our Code Better
Offered By: EuroPython Conference via YouTube
Course Description
Overview
Explore how graph technologies can revolutionize code understanding and software development in this EuroPython 2015 conference talk. Discover why treating code as text is limiting and learn about the benefits of viewing code as a graph structure. Examine specific examples of how this approach can improve comprehension of large codebases, enhance code quality, and automate aspects of software development. Gain insights into querying and navigating code graphs, analyzing code complexity, exploring dependencies, and performing semantic diffs. Consider the speaker's vision for the future of programming, moving beyond simple text editors. Delve into topics such as abstract syntax trees, Merkle trees, pattern matching, and the challenges of tree isomorphism in diff algorithms.
Syllabus
Intro
How we usually think about code
Our Journey
Graphs explained in 30 seconds
Graphs in Programming
Building the Code Graph
Storing the Graph: Merkle Trees
AST Example
Efficieny of this Approach
Querying & Navigation
Examples (contd.)
Example: Code Complexity The cyclomatic complexity is a quantitative measure of the number of linearly
Example: Flask
Exploring Dependencies in a Code Base
Pattern Matching: Text vs. Graphs
Example: Building a Code Checker
Adding an exception to the rule
Example: Diff from Django Project
Basic Problem: Tree Isomorphism (NP-complete!)
Similar Problem: Chemical Similarity Benzene
Applications
Example: Semantic Diff
Summary: Text vs. Graphs
Taught by
EuroPython Conference
Related Courses
The Merkle Tree and CryptocurrenciesUniversity of California, Irvine via Coursera Blockchain
University of California, Irvine via Coursera Blockchain – Principles and Practices
Pluralsight Blockchain nedir ? Nasıl yazılır? Sırları ve tüm altyapısı..
Udemy Cryptocurrency
Brilliant