Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Code Is Not Text - How Graph Technologies Can Help Us to Understand Our Code Better

EuroPython Conference via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Reviews

Start your review of Code Is Not Text - How Graph Technologies Can Help Us to Understand Our Code Better

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.