Lint
Lint on staattisen analyysin ohjelma, joka on tarkoitettu havaitsemaan ohjelmointi- tai tyylivirheitä lähdekoodista. Nimitys on peräisin Unixille tehdystä C-kielen analyysiin tarkoitetusta ohjelmasta, jonka kehitti Stephen C. Johnson. Alkuperäistä ohjelmaa on seurannut useita muita samankaltaisia työkaluja, jotka laajentavat ominaisuuksia ja soveltuvat useille muille ohjelmointi- ja merkintäkielille. Ohjelman tarkoitus on havaita mahdollisia virheitä ja ohjelmointivirheitä sekä muita epätavallisia asioita jotka poikkeavat normaalista. Lint voi olla tiukempi tarkistuksessa kuin ohjelmointikielen kääntäjä ja varoittaa asioista, jotka kielessä ovat sallittuja mutta tehottomia tai virheherkkiä.[1][2][3][4]
Historia
[muokkaa | muokkaa wikitekstiä]Johnson kehitti Lintin tarkistamaan Yacc-ohjelman toimintaa ja Lintistä tuli tärkeä kun Unix-käyttöjärjestelmää siirrettiin 32-bittisille tietokoneille. Tuolloin C-kielestä puuttui tuki funktioiden prototyypeille, jonka vuoksi epäyhteensopivuudet olivat tavallisia virheitä. Varhaisista C-kielen kääntäjistä puuttui useita tarkistuksia, jotka niissä ovat nykyään mukana.[5] Johnson hyödynsi Lintin kehityksessä Portable C Compiler -kääntäjäänsä, ja Lint suoritti osittaisen käännöksen ohjelmasta tiukempien sääntöjen kanssa.[6][7]
Merkitys
[muokkaa | muokkaa wikitekstiä]Lintin tyyppiset työkalut ovat erityisen hyödyllisiä dynaamisesti tyypitettyjen kielien kanssa etenkin kun samaa ohjelmistoa kehittää useita henkilöitä yhtä aikaa.[8][9] Myös tulkattavat ohjelmointikielet kuten Python ja JavaScript hyötyvät Lintin käytöstä koska näissä ei käytetä käännösvaihetta virheiden havaitsemiseen.[1]
Lähteet
[muokkaa | muokkaa wikitekstiä]- 1 2 Gordon Saladino: What Is Linting + When to Use Lint Tools perforce.com. 30.1.2024. Viitattu 20.8.2025. (englanniksi)
- ↑ What is a linter jetbrains.com. Viitattu 20.8.2025. (englanniksi)
- ↑ About SublimeLinter Arkistoitu Viitattu 20.8.2025. (englanniksi)
- ↑ S. C. Johnson: Lint, a C Program Checker (PDF) 26.7.1978. Arkistoitu Viitattu 20.8.2025. (englanniksi)
- ↑ Richard Morris: Stephen Curtis Johnson: Geek of the Week red-gate.com. 1.10.2009. Viitattu 20.8.2025. (englanniksi)
- ↑ Ritchie, Dennis M.: The Development of the C Language bell-labs.com. Viitattu 24.7.2017.
- ↑ Ian F. Darwin & Ian Darwin & Geoffrey Collyer: A History of UNIX before Berkeley: UNIX Evolution: 1975-1984 darwinsys.com. 1984. Viitattu 2.1.2026. (englanniksi)
- ↑ ESLint – Customizable JavaScript linting tool (1) thecodecampus.de. Viitattu 20.8.2025. (englanniksi)
- ↑ Alex Zurek: Learn by Linting: Using Linters to Help Learn Programming Languages spin.atomicobject.com. 20.9.2018. Viitattu 20.8.2025. (englanniksi)