Expert Talk: Zig Programming Language & Linters • Andrew Kelley & Jeroen Engels • GOTO 2022

Sdílet
Vložit
  • čas přidán 2. 06. 2024
  • This interview was recorded at GOTO Copenhagen for GOTO Unscripted. #GOTOcon #GOTOunscripted #GOTOcph
    gotopia.tech
    Read the full transcription of this interview here:
    gotopia.tech/articles/233/zig...
    Andrew Kelley - Creator of the Zig Programming Language
    Jeroen Engels - Author of Elm-review @jfmengels
    DESCRIPTION
    This conversation between Jeroen Engels, a software engineer at CrowdStrike, and Andrew Kelley, the president and lead software developer of the Zig Software Foundation, discusses the use of linters in programming languages.
    They talk about the challenges of refactoring code with custom macros and the need for improved refactoring tools and integration with compilers for programming languages. The conversation also covers the importance of error codes versus warning codes in linters, handling potentially null values, and the tradeoffs of having linting errors.
    Although the Zig compiler does not have a separate linter, they agree that a separate linter step from the compilation step is a viable option. The conversation highlighted the importance of enforcing linting in the continuous integration (CI) process and the need for programmers to cooperate to make functions work without side effects.
    TIMECODES
    00:00 Intro
    00:55 Linter overview & programming languages application
    06:05 Linters: Errors vs Warnings
    12:45 The Benefits of Prompts in Linter Auto-Fix
    19:06 The workflow of using linters
    25:04 Guarantees vs Power: A Comparison of Nim & Zig
    29:42 Linter errors & functional programming
    38:48 Outro
    RECOMMENDED BOOKS
    Dean Bocker • Don't Panic! I'm A Professional Zig Programmer • amzn.to/3ljKT8d
    Richard Feldman • Elm in Action • amzn.to/387kujI
    Jeremy Fairbank • Programming Elm • amzn.to/2WhZCE8
    Wolfgang Loder • Web Applications with Elm • amzn.to/3jblQ3q
    Cristian Salcescu • Functional Programming in JavaScript • amzn.to/3y75jBS
    Tim McNamara • Rust in Action • amzn.to/3ux2R9u
    / gotocon
    / goto-
    / gotoconferences
    #ZigLang #Linters #Linter #AndrewKelley #JeroenEngels #ElmLang #FunctionalProgramming #LinterTutorial #Crowdstrike #Humio #Programming #SoftwareEngineering #ProgrammingLanguage #ZigCode #ZigProject #ZigTutorial
    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket at gotopia.tech
    SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
    czcams.com/users/GotoConf...
  • Věda a technologie

Komentáře • 7

  • @WolfgangSchuster
    @WolfgangSchuster Před rokem +5

    The "600 line diff" view that Andrew mentions preferring is how I actually use elm-review most of the time. I run it with --fix-all and auto apply the fixes, then skim through the git diff. Makes it really easy to see what's happening at a large scale.

  • @krumbergify
    @krumbergify Před 10 měsíci +1

    Golangci-lint has a lint check for long lines which is good, but it also triggers on long lines which sometimes have to be long and sometimes they should be broken up.

  • @steveoc64
    @steveoc64 Před rokem +6

    Would be interesting to roll zls into the compiler executable- so it becomes a runtime param “zig ls”
    Then it would always be in synch with the compiler version, and benefit from the parser, hot code reload, etc

    • @devshmsec
      @devshmsec Před 9 dny

      they could include it in 1.0 version because everything is changing in the language right now that's why docs is not also complete.

  • @angeloceccato
    @angeloceccato Před rokem +6

    I love it if Zig will take some of the Elm language ergonomics!

  • @nathanfranck5822
    @nathanfranck5822 Před rokem +5

    Right into the part of zig that bothers me the most! I would love more nuanced language server support in Zig, though I realize it's a super tough job

  • @derschutz4737
    @derschutz4737 Před 8 měsíci

    Someone should mention algebraic effects to Andrew.