Hvorfor Linux er mit IDE

Indeks
  1. Et vindue til ét job
    1. Jeg vil ikke have en multifunktionel udviklingsapp
  2. Min arbejdsgang er bedre egnet til separate apps
    1. Hold ting i afskærmninger
  3. Jeg kan skifte apps, når jeg vil
    1. Jeg vil aldrig føle mig fast
    2. Min fremtid er i mine hænder
  4. Jeg foretrækker at multitaske med flere programmer
    1. Flyd som en sommerfugl
    2. Udvikling på min måde

Opdag, hvordan du kan programmere effektivt på Linux uden IDE'er ved at bruge separate, specialiserede værktøjer og udnytte Unix-filosofiens styrker for optimal arbejdsgang.

Du kan programmere uden programmerværktøjer, og integrerede udviklingsmiljøer (IDE'er) er populære blandt udviklere. Jeg tager en anden tilgang. Jeg behandler mit Linux-system, med dets forskellige programmeringsværktøjer, som et IDE i sig selv.

Et vindue til ét job

Jeg vil ikke have en multifunktionel udviklingsapp

IDE'er er populære blandt udviklere, fordi de giver adgang til alle deres værktøjer, inklusive en editor, en fortolker eller compiler, en debugger og endda dokumentation. Jeg kan forstå, hvorfor de fleste udviklere ønsker deres værktøjer samlet ét sted. Jeg mener, at jeg kan opnå en lignende oplevelse ved at have separate apps i Linux-miljøet.

Jeg kan godt lide ideen om Unix-filozofien, hvor ét lille værktøj gør ét job godt. Det er måske ikke nemt at opnå i praksis, men jeg mener, det er noget, der er værd at stræbe efter.

Det er sigende, at IDE'er har trives mest på ikke-Linux eller Unix platforme, især Windows. Windows har brugt mindre af kommandolinjeværktøjer, og lancering af processer kræver mange ressourcer, så der er et incitament til at favorisere større programmer, der gør mere, inklusive større udviklingssystemer.

Den traditionelle Unix-tilgang med separate programmer fungerer godt for mig. Jeg kan have ét shell-vindue, der kører Vim, et andet til at teste programmet, og endnu et til at køre filmanipulationsprogrammer. Jeg kan få effekten af et IDE med smidigere, mindre programmer i stedet for ét stort.

Hvis jeg skal køre en anden opgave, kan jeg bare åbne endnu et terminalvindue og køre det uden at miste fokus.

Min arbejdsgang er bedre egnet til separate apps

Hold ting i afskærmninger

Jeg vil være den første til at indrømme, at jeg ikke er en professionel programmør. Programmering er ikke mit erhverv, men det er en sjov og stimulerende hobby. Mens IDE'er er velegnede til professionelle udviklere, er min brug anderledes end mange andre "rigtige" programmører.

Python er mit valgte sprog, og jeg har en tendens til at skrive mindre scripts eller bruge interaktiv Python. Det betyder enten den standard interaktive fortolker eller IPython. Jeg er en af dem, der bruger Python som deres skrivebordsregner. Jeg har ikke brug for at starte hele IDE'en bare for at lave noget aritmetik.

En af mine hovedanvendelser til Python er statistik og dataanalyse. Jeg bruger primært interaktiv Python, især IPython, som jeg har sat op med mit Mamba-miljø. Jeg ser også på dokumentation, enten inden for IPython eller på internettet. Hvis jeg vil have en optegnelse over, hvad jeg laver, som jeg kan dele senere, åbner jeg en Jupyter-notebook. Da jeg hovedsageligt arbejder interaktivt, har jeg ikke meget brug for debuggere. Jeg kan normalt fejlsøge eventuelle fejlnotifikationer med det samme.

At bruge en IDE ville betyde at installere komponenter, jeg ikke brugte. En debugger ville for det meste være spildt på, hvad jeg laver. Og det samme gælder for et fuldt udviklingsmiljø.

Jeg kan skifte apps, når jeg vil

Jeg vil aldrig føle mig fast

Mange udviklere fremhæver, at integrerede udviklingsmiljøer er, ja, integrerede, inklusive essentielle værktøjer som editorer, compilere, debuggere og andre ting som linters og fejlkontrolere. I Linux kan jeg installere editorer, compilere, debuggere, linters og fejlkontrolere via min pakkeadministrator.

Jeg er ikke begrænset til, hvad IDE-udvikleren tænkte at inkludere. Hvis jeg ikke kan lide editoren, kan jeg blot skifte til en anden. Jeg er blevet ret komfortabel med Vim. Tasterne føles faktisk bedre, i det mindste på de chiclet-tastaturer, som bærbare producenter foretrækker i dag.

Et værktøj, jeg har skiftet ud, var Python-fortolkeren. Python-fortolkeren er nyttig i sig selv, da jeg kan teste kodeidéer (og bruge den som en regner), men IPython er endnu bedre, da det har syntaksfremhævning og nem genkaldelse, såvel som muligheden for at køre systemkommandoer direkte fra IPython.

Jeg kunne også skifte pakkeadministrator til Mamba. Mamba er optimeret til dataanalyse og datavidenskab, hvilket tilbyder nyere pakker i mange tilfælde end systemets pakkeadministrator og lader mig lade system-Python være i fred.

Et standard IDE ville sandsynligvis ikke tilbyde mig denne slags fleksibilitet.

Min fremtid er i mine hænder

Hvis du bruger Linux eller programmerer længe nok, dannes der meninger om, hvordan tingene skal fungere. En af de ting, som mange mennesker, inklusive mig, bliver bestemte omkring, er teksteditoren. Jeg har en tendens til at favorisere Vim, selvom jeg gik.

Jeg har haft en Emacs-fase i et stykke tid, så jeg har erfaring med begge større redaktører.

IDE-tilgangen er stadig populær, selv blandt miljøer, der ikke betragtes som IDE'er. Emacs-fans nævner ofte, hvordan de kan køre værktøjer som terminaler eller filbrowser uden at forlade redaktøren. Jeg har aldrig været så imponeret over den facet. Dette kan skyldes, at jeg næsten altid har haft adgang til vinduesmiljøer og har lavet det meste af mit programmeringsarbejde på platforme, hvor det er nemt at starte processer.

Emacs blev oprindeligt designet til karakterbaserede terminaler. Det var ikke nemt at starte nye opgaver på disse terminaler, hvilket er grunden til, at der var et incitament til at bygge et program, hvor du kunne have alt, hvad du behøvede, ét sted.

Hvis du bruger en IDE, er du ofte fastlåst til, hvad udviklerne troede, du ville have. Linux IDE'er er populære, så jeg formoder, at der er mange, der ønsker det, de tilbyder. Måske er mine behov bare anderledes end andres. Andre udviklere kan beholde deres IDE'er, men jeg vil lykkeligt bruge flere programmer.

Jeg har udviklet en komfort med de værktøjer, jeg bruger. Når jeg skifter til et nyt system, kan jeg hurtigt opsætte det og være i et velkendt miljø.

Jeg foretrækker at multitaske med flere programmer

Flyd som en sommerfugl

Jeg tror, jeg måske bare foretrækker "Unix-filosofien" i forhold til udvikling. Dette er en konsekvens af designet af Unix-lignende operativsystemer, som gør det lettere at starte nye processer. Det er lettere, idet jeg kan åbne en ny terminal og køre en kommando nemt. Hvis jeg vil have en redaktør, kører jeg bare Vim. Hvis jeg vil starte en interaktiv Python-session, starter jeg mit Mamba-miljø og åbner IPython.

Dette er en konsekvens af designet af Linux og andre Unix-lignende systemer, som jeg nævnte tidligere. Linux starter processer let, mens det at gøre det på Windows typisk har været en mere ressourcekrævende proces. Når du har startet dit program i et sådant system, er tråde mindre kostbare i forhold til ydeevne. Dette er grunden til, at der er et drive for at proppe mere funktionalitet ind i et større program end den traditionelle Unix-tilgang med ét program, der udfører én opgave.

Det eneste problem var brugergrænsefladen. Selvom Unix var designet til at være multitasking, var det akavet at skifte mellem opgaver. Jobkontrol og virtuelle konsoller hjalp med at løse dette problem, men det var med tilgængeligheden af vindussystemer, der kørte på arbejdsstationer og grafiske terminaler, at tilgangen til at køre flere programmer i individuelle vinduer blev levedygtig. Alternativt kan terminalmultiplexere gøre et rimeligt godt stykke arbejde, især ved fjernforbindelser.

Med tilgængeligheden af flere terminalvinduer, fanebaserede terminaler og terminalmultiplexere kan jeg udnytte denne lette stil af udvikling fuldt ud. Jeg kan køre min interaktive Python-session i ét vindue til eksperimentering, et Jupyter-notebook i min browser og en redaktør i et andet vindue.

Udvikling på min måde

At bruge flere apps på Linux er måske mindre "integreret," men denne tilgang fungerer for mig uden omkostningerne ved en fuld IDE. Jeg mener, at min indsats betaler sig i et letvægtsprogrammeringsmiljø, jeg kan stole på.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Go up