Hvorfor Linux er min IDE

Oppdag hvordan du kan bruke Linux som et effektivt programmeringsmiljø ved å utnytte separate apper, tilpasse verktøyene dine, og opprettholde en smidig arbeidsflyt.

Du kan programere uten programmeringsverktøy, og integrerte utviklingsmiljøer (IDE-er) er populære blant utviklere. Jeg tar en annen tilnærming. Jeg behandler Linux-systemet mitt, med sitt utvalg av programmeringsverktøy, som et IDE i seg selv.

Ett vindu for ett jobb

Jeg vil ikke ha en allsidig utviklingsapp

IDE-er er populære blant utviklere fordi de gir tilgang til alle verktøyene deres, inkludert en editor, en tolk eller kompilator, en feilsøker, og til og med dokumentasjon. Jeg kan forstå hvorfor de fleste utviklere ønsker å ha verktøyene sine samlet på ett sted. Jeg tror jeg kan oppnå en lignende opplevelse ved å ha separate apper i Linux-miljøet.

Jeg liker ideen om Unix-filosofien, om at et lite verktøy gjør én jobb godt. Det er kanskje ikke lett å oppnå i praksis, men jeg tror det er noe verdt å strekke seg etter.

Det er tydelig at IDE-er har blomstret mest på plattformer som ikke er Linux eller Unix, spesielt Windows. Windows har brukt mindre av kommandolinjeverktøy, og det å starte prosesser er ressurskrevende, så det finnes en insentiv til å favorisere større programmer som gjør mer, inkludert større utviklingssystemer.

Den tradisjonelle Unix-tilnærmingen med separate programmer fungerer godt for meg. Jeg kan ha ett skallvindu som kjører Vim, et annet for å teste programmet, og enda et annet for å kjøre filbehandlingsprogrammer. Jeg kan få effekten av et IDE med smidigere, mindre programmer i stedet for ett stort.

Hvis jeg trenger å utføre en annen oppgave, kan jeg bare åpne et annet terminalvindu og kjøre den uten å miste rytmen.

Arbeidsflyten min er bedre egnet til separate apper

Hold ting i rom

Jeg vil være den første til å innrømme at jeg ikke er en profesjonell programmerer. Programmering er ikke min yrke, men det er en morsom og stimulerende hobby. Mens IDE-er er tilpasset profesjonelle utviklere, er bruken min forskjellig fra mange andre "ekte" programmerere.

Python er mitt språklige valg, og jeg pleier å skrive mindre skript eller bruke interaktiv Python. Dette betyr enten den innstilte interaktive tolken eller IPython. Jeg er en av de som bruker Python som min skrivebordskalkulator. Jeg trenger ikke å starte opp et helt IDE bare for å gjøre noen beregninger.

En av mine hovedbruksområder for Python er statistikk og dataanalyse. Jeg bruker hovedsakelig interaktiv Python, spesielt IPython som jeg har satt opp med mitt Mamba-miljø. Jeg ser også på dokumentasjonen, enten i IPython eller på internett. Hvis jeg vil ha en oversikt over hva jeg gjør, for eksempel for å dele senere, åpner jeg en Jupyter-notatblokk. Siden jeg hovedsakelig arbeider interaktivt, har jeg ikke mye bruk for feilsøkere. Jeg kan vanligvis feilsøke eventuelle feilmeldinger umiddelbart.

Å bruke et IDE ville bety å installere komponenter jeg ikke bruker. En feilsøker ville stort sett vært bortkastet for det jeg gjør. Og det samme ville et fullverdig IDE.

Jeg kan bytte ut apper når jeg vil

Jeg vil aldri føle meg fast

Mange utviklere skryter av at integrerte utviklingsmiljøer er, vel, integrerte, med viktige verktøy som redaktører, kompilatorer, feilsøkere, og andre ting som linters og feilsøkingsverktøy. I Linux kan jeg installere redaktører, kompilatorer, feilsøkere, linters, og feilsøkingsverktøy gjennom pakkebehandleren min.

Jeg er ikke begrenset til hva IDE-utvikleren tenkte å inkludere. Hvis jeg ikke liker redaktøren, kan jeg bare bytte til en annen. Jeg har blitt ganske komfortabel med Vim. Tastekombinasjonene føles bedre, i det minste på de små tastaturene som datamaskinprodusentene ser ut til å favorisere for tiden.

Et verktøy som jeg byttet ut var Python-tolkeren. Python-tolkeren er nyttig i seg selv siden jeg kan teste ut kodeideer (og bruke den som kalkulator), men IPython er enda bedre, siden den har syntaksutheving og enkel gjenkalling, samt muligheten til å kjøre systemkommandoer direkte fra IPython.

Jeg var også i stand til å bytte ut pakkebehandleren selv for Mamba. Mamba er optimalisert for dataanalyse og datavitenskap, og tilbyr nyere pakker i mange tilfeller enn systemets pakkebehandler, og lar meg la system-Python være i fred.

Et standard IDE ville sannsynligvis ikke gitt meg denne typen fleksibilitet.

Min fremtid er i mine hender

Hvis du bruker Linux eller programmerer lenge nok, har du en tendens til å danne meninger om hvordan ting bør fungere. En av de tingene som mange, inkludert meg, blir meningsfulle om, er tekstredigereren. Jeg har en tendens til å favorisere Vim, selv om jeg gikk.

jeg har vært gjennom en Emacs-fase en stund, så jeg har erfaring med begge de store editorene.

IDE-tilnærmingen er fortsatt populær, selv blant miljøer som ikke blir ansett som IDE-er. Emacs-fans nevner ofte hvordan de kan kjøre verktøy som terminaler eller filbehandlere uten å forlate editoren. Jeg har aldri vært så imponert over den aspekten. Dette kan være fordi jeg nesten alltid har hatt tilgang til vindusbilleder og gjort mesteparten av programmeringsarbeidet mitt på plattformer der det er enkelt å starte prosesser.

Emacs ble opprinnelig designet for tegnbaserte terminaler. Det var ikke lett å starte nye oppgaver på disse terminalene, noe som er grunnen til at det var et insentiv for å bygge et program der du kunne ha alt du trengte på ett sted.

Hvis du bruker en IDE, er du ofte fastlåst med det utviklerne trodde du ville ha. Linux IDE-er er populære, så jeg antar at det er mange som ønsker det de tilbyr. Kanskje mine behov bare er annerledes enn andres. Andre utviklere kan beholde sine IDE-er, men jeg vil lykkelig bruke flere programmer.

Jeg har utviklet en komfort med verktøyene jeg bruker. Når jeg går over til et nytt system, kan jeg sette det opp raskt og være i et kjent miljø.

Jeg foretrekker å multitask med flere programmer

Flyt som en sommerfugl

Jeg tror jeg kanskje foretrekker "Unix-filosofien" når det kommer til utvikling. Dette er et resultat av designen av Unix-lignende operativsystemer som gjør det enklere å starte nye prosesser. Det er enklere i den forstand at jeg kan starte en ny terminal og kjøre en kommando lett. Hvis jeg vil ha en editor, kjører jeg bare Vim. Hvis jeg vil starte en interaktiv Python-økt, starter jeg mitt Mamba-miljø og åpner IPython.

Dette er en konsekvens av designen av Linux og andre Unix-lignende systemer, som jeg nevnte tidligere. Linux starter prosesser enkelt, mens det å gjøre det på Windows vanligvis har vært en mer ressurskrevende prosess. Når du har startet programmet ditt i et slikt system, er tråder mindre kostbare i forhold til ytelse. Dette er grunnen til at det er et driv for å putte mer funksjonalitet inn i et større program enn den tradisjonelle Unix-tilnærmingen med ett program som utfører en oppgave.

Det eneste problemet var brukergrensesnittet. Selv om Unix ble designet for å være multitasking, var det upraktisk å bytte mellom oppgaver. Jobbkontroll og virtuelle konsoller hjalp til med å løse dette problemet, men det var med tilgjengeligheten av vindussystemer som kjørte på arbeidsstasjoner og grafiske terminaler at tilnærmingen med å kjøre flere programmer i individuelle vinduer ble levedyktig. Alternativt kan terminalmultiplexer gjøre en rimelig god jobb, spesielt på eksterne forbindelser.

Med tilgjengeligheten av flere terminalvinduer, fane-terminaler og terminalmultiplexer kan jeg dra full nytte av denne lette utviklingsstilen. Jeg kan kjøre min interaktive Python-økt i ett vindu for eksperimentering, en Jupyter-notatbok i nettleseren min, og en editor i et annet vindu.

Utvikling min måte

Å bruke flere apper på Linux kan være mindre "integrert", men denne tilnærmingen fungerer for meg uten overhodet av en fullverdig IDE. Jeg tror innsatsen min betaler seg i et lettvekts programmeringsmiljø jeg kan stole på.

Hvis du vil lese flere artikler som Hvorfor Linux er min IDE, kan du besøke kategorien Linux.

Index
  1. Ett vindu for ett jobb
    1. Jeg vil ikke ha en allsidig utviklingsapp
  2. Arbeidsflyten min er bedre egnet til separate apper
    1. Hold ting i rom
  3. Jeg kan bytte ut apper når jeg vil
    1. Jeg vil aldri føle meg fast
    2. Min fremtid er i mine hender
  4. Jeg foretrekker å multitask med flere programmer
    1. Flyt som en sommerfugl
    2. Utvikling min måte

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Go up