Før vi begynner, vil jeg gjerne minne deg på en viktig ting. Java er ikke bare et programmeringsspråk.
Dette er hele miljøet rundt Java Virtual Machine (JVM), og i dag skal vi bare diskutere en liten del av den. Husk at din prosjekt kan være casespesifikke og ikke matche alle elementene som vi skal dekke i denne artikkelen.
Lang historie kort
Java ble introdusert i 1995 av Sun Microsystem. Hovedmålene for utviklerne var å skape et språk som skulle være enkelt, sikkert og uavhengig av arkitektur. På den tiden var objektorientert programmering (OOP) et av de heteste moteordene i IT-bransjen.
La meg utdype det litt for å forstå hva det betyr:
-
Enkelt - Java ble utviklet som et språk med enkel og brukervennlig syntaks. Språket skal dessuten være enkelt å utvide i fremtiden, både syntaktisk og operasjonelt;
-
Sikker - I dette tilfellet bør språket unngå "magi". Alt skal være eksplisitt og åpenbart. Alle operasjoner som skjer i CPU-en, bør gjenspeiles i kilden kode;
-
Arkitektonisk uavhengighet - programvare skal ikke være avhengig av CPU- og OS-arkitektur. Alle konstruksjoner i koden skal være arkitekturagnostiske, og språket skal ikke inneholde konstruksjoner som oppfører seg ulikt på ulike maskiner.
Disse forutsetningene innebærer at språket bør kjøres på en slags virtuell maskin (VM) som skiller Java-programmer fra kjøretidsmiljøet. Dette tilsier at den virtuelle maskinen selv bør være høytytende. Til slutt innebærer dette at VM-en bør støtte en eller annen form for flertråding og fungere i dynamisk og tolket modus. Husk at det var i 1995.
Etter 27 år vet vi at Java og JVM oppnådde disse målene, men på den annen side må vi bære kostnadene ved visse beslutninger og gjøre noen innrømmelser. I denne artikkelen vil jeg diskutere hvordan Java kan støtte virksomheten din, og når du bør velge en annen teknologi, for eksempel Ruby.
Javas stabile vei til stabil virksomhet
Når vi starter en ny virksomhet, har vi mange måter å støtte utviklingen vår på når det gjelder IT-relaterte aspekter, for eksempel ved å kjøpe programvare fra et eksisterende selskap. Disse pakkeløsningene er utviklet for generisk bruk innenfor sitt virkeområde. Tekstredigeringsprogrammer, regneark og operativsystemer er de beste eksemplene på denne typen programvare. Våre beslutninger avhenger av økonomi, personlige preferanser og/eller programvarekompatibilitet. Noen ganger er vi tvunget til å kjøpe en gitt programvare fordi den er en profesjonell standard eller har de nødvendige sertifikatene.
En annen måte er å outsource utarbeidelse av programvare som er basert på eksisterende løsninger. Et veldig godt eksempel på dette er å bygge et nettsted, e-handel eller adresseliste. Leverandøren tilpasser den eksisterende programvaren og gir deg en løsning som passer til dine behov.
Det finnes imidlertid en annen måte. Vi kan utvikle programvare fra bunnen av. Ingen forventer selvfølgelig at du skal lage en programvareutvikling divisjon i selskapet ditt.
I dag finnes det mange måter å finne løsninger som passer til dine behov, for eksempel
outsourcing av java-utviklere eller velge samarbeid med en programvareutviklingsselskap.
Hvor kommer Java inn i bildet her?
Når du velger det siste alternativet, er en av de viktigste beslutningene du må ta, teknologipakken din. Selv om du ikke er teknisk anlagt, er det bra å vite hvordan teknologien påvirker virksomhetens fremtid.
Java ser gammelt ut, men hvis du sammenligner det med andre populære språk, som Python (1991), JavaScript (1995), C# (2000), C++ (1983) eller PHP (1995), vil du oppdage at de fleste av dem mer eller mindre er Javas "søsken" eller, for å bruke et bedre ord, "søskenbarn". Alle disse språkene baserer seg dessuten mer eller mindre på C-språkets syntaks, alle er OOP-språk, og med unntak av C++ kjører de alle i tolkede miljøer.
Det betyr noe mer. I løpet av alle disse årene, Java innført eller tatt i bruk mange standarder som har utviklet seg til profesjonelle standarder. Så hvis du ønsker å skape en profesjonell virksomhet som er fokusert på samarbeid med mange andre selskaper, Java tilbyr ferdige løsninger for slike integrasjoner.
Modenhet er ikke det eneste verktøyet i verktøykassen som skal være full av nyttige, bruksklare løsninger. Det innebærer også stabilitet og veldefinerte prosesser. Av gode grunner har forfattere av mange bøker om god praksis, moderne programvareutviklingog programvaredesignmønstre bruker Java som hovedspråk for sine eksempler. Den sterke teoretiske bakgrunnen til programvareutvikling i Java verden er en av de største fordelene. Selv utviklere i begynnelsen av karrieren har en solid bakgrunn og mange kilder til kunnskap om Java. Et vell av undervisningsmateriell, veiledninger, kurs og et generelt høyt nivå på Java-relatert dokumentasjon gir deg et solid grunnlag for å bygge stabile løsninger. Leverandører og vedlikeholdere kan nesten alltid finne løsninger og hjelpe deg.
Sist, men ikke minst, betyr ikke modenhet at bibliotekene og løsningene er så godt som forlatt. Mange prosjekter utvikles og vedlikeholdes aktivt. Det har to hovedfordeler. For det første er alle disse prosjektene oppdatert når det gjelder sikkerhet. Det beste eksemplet her er de siste log4j-problemene. Mange uavhengige Java-utviklere og OSS-organisasjoner oppdaterte raskt programvaren sin. Dessuten er log4j team har gitt ut oppdateringer i løpet av noen få dager. Og vi snakker her om et bibliotek som er aktivt vedlikeholdt i løpet av 20 år. Det andre er å være oppdatert med moderne løsninger. Spring Framework har for eksempel støttet GraphQL siden den teknologien hadde en offisiell spesifikasjon.
Javas COBOL i det 21. århundre
Men alt er ikke gull og grønne skoger i Java verden. Stabilitet og modenhet i Java har en kostnad. Når vi gjør forretninger, er en av de viktigste måleparameterne tid til marked. Prosessene gjør at vi raskt kan levere en ny programvareversjon til kundene våre, men Java som språk har noen begrensninger når det gjelder å gjøre svært dyptgripende endringer i forretningsideen vår.
Pivoterer, leverer POC (bevis på konseptet) eller ombygging programvare fra bunnen av i hver iterasjon er ikke noe som Java er bra for. Det finnes bedre løsninger som kjører på JVM, som Kotlin eller Clojure-språk, som fungerer fint i slike tilfeller. Hvorfor det? Vi må huske begynnelsen av denne artikkelen. Java er 27 år gammel. Noen av begrepene programvareutvikling som var gyldige på midten av 90-tallet, samsvarer ikke med dagens behov. Noen av dem eksisterte til og med ikke den gangen. Hvem visste om mobilspill med geoposisjonering (Pokémon GO)? Men for slike tilfeller har vi moderne språk som jeg nevnte tidligere.
Et språks modenhet innebærer modenhet i applikasjonene. En trussel mot virksomheten er alle kostnadene knyttet til HR og rekruttering av medarbeidere. Det er vanskeligere å finne folk som jobber med eldre kode, særlig fordi slikt arbeid krever større involvering på det kognitive nivået. Som utvikler må jeg forstå forretningsprosessen og hvordan koden beskriver den. Dessuten må jeg gjenskape tankesettet til forfatteren av koden. Det er vanskelig, og det er ikke alle som liker det. Ekstrakostnadene her er en direkte sysselsettingskostnad.
Endelig finnes det en ganske stor gruppe utviklere som ikke ønsker å lære seg "gammel teknologi". Det betyr at det kan bli vanskelig å gjennomføre planene dine om intern opplæring av ansatte, for eksempel i form av faglige utviklingsprogrammer for nybegynnere. Men det finnes mange Java-utvikling selskaper som vil gi deg den beste støtten eller hjelpe deg outsource Java-utviklere.
Hvis du sliter med å finne Java-utviklere, bør du lese artikkelen vår om dette emnet her.
Sammendrag
Java er en moden og stabil løsning som bidrar til å utvikle en virksomhet. Dette er ikke en sølvkule som kan løse alle dine problemer, men takket være hele økosystemet som har dannet seg gjennom årene, kan vi levere programvare av høy kvalitet. Dette er et levende og vitalt miljø som bringer mennesker sammen.
Den Java Advanced Management Console og Java SE-abonnement er nøkkelkomponenter i dette økosystemet, særlig for bedrift prosjekter. De plattformuavhengighet at gjør Java et allsidig valg for både personlig bruk og profesjonelle applikasjoner gjør det mulig for utviklere å kjøre applikasjoner på tvers av ulike miljøer på en sømløs måte. Den Java Runtime er sentralt i dette, og gir det nødvendige miljøet for å kjøre applikasjoner effektivt og sikkert.
I tillegg, Java som en programmeringsspråk fortsetter å utvikle seg, og støtter et bredt spekter av utviklingsverktøy som øker produktiviteten og kapasiteten til utviklere. Disse utviklingsverktøy er en integrert del av Java-økosystemet, og tilbyr avanserte funksjoner for oppretting, testing og distribusjon av applikasjoner. Med Java Runtime er en kritisk komponent i dette oppsettet, og sørger for at applikasjonene fungerer optimalt på tvers av ulike plattformer.
For å oppsummere, Java og tilhørende teknologier, inkludert Java Runtime, Java SE-abonnementog en overflod av utviklingsverktøygir et robust grunnlag for bedriftsprosjekter og personlig innsats. Den skiller seg ut som en programmeringsspråk er kjent for sin pålitelighet, allsidighet og mange funksjoner, noe som har gjort det til et varig valg i programvareutviklingsverdenen.