Expert Talk: Zig Programming Language & Linters • Andrew Kelley & Jeroen Engels • GOTO 2022
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
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.
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.
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
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.
I love it if Zig will take some of the Elm language ergonomics!
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
Someone should mention algebraic effects to Andrew.