«For mye rot, for mye kode» - nå kan Java bli enklere

Foreslår mindre boilerplate-kode for å lage enkle programmer.

Det er mange konsepter å forholde seg til for nybegynnere som skal skrive "Hello, World" i Java. 📸: Kurt Lekanger
Det er mange konsepter å forholde seg til for nybegynnere som skal skrive "Hello, World" i Java. 📸: Kurt Lekanger Vis mer

Et nytt forslag til endringer i Java kan gjøre språket enklere å lære for studenter, skriver InfoWorld.

I Java Enhancement Proposal (JEP) 445 foreslås det flere endringer som skal redusere antall konsepter og boilerplate-kode man trenger å vite om når man skal skrive sine første, enkle programmer i Java.

Kort oppsummert foreslås det å introdusere fleksible main-metoder og anonyme main-klasser.

"Hello, World" er altfor komplisert

Målet med de foreslåtte endringene er ifølge JEP 445 å gjøre det mulig for studenter å skrive sine første Java-programmer uten å måtte forstå funksjonalitet i språket som er designet for store programmer.

I stedet for å måtte ty til en spesiell Java-"dialekt" vil forslaget gjøre det mulig for studenter å skrive enkle programmer med én klasse i vanlig Java. Deretter kan man så sømløst utvide programmet til å bruke mer avansert funksjonalitet etter hvert som man lærer mer.

Som eksempel på hvor vanskelig det kan være for nybegynnere, brukes dette klassiske "Hello, World"-eksempelet:

public class HelloWorld { 
    public static void main(String[] args) { 
        System.out.println("Hello, World!");
    }
}

– Det er for mye rot her - for mye kode, for mange konsepter, for mange konstruksjoner - for det programmet gjør, skriver forslagsstillerne.

Ved å innføre anonyme main-klasser vil den offentlige klassedeklarasjonen (public class) være implisitt. Nybegynnere trenger heller ikke forstå den "mystiske" static-modifikatoren, eller String[] args-parameteren som er der for å interface med en ekstern komponent – i dette tilfellet operativsystemets shell.

– Det er mystisk og lite hjelpsomt, spesielt siden det aldri brukes til noe, heter det i forslaget.

«Det er for mye rot her - for mye kode, for mange konsepter, for mange konstruksjoner.»

Slik er en enklere Hello World

Forslagsstillerne mener ferske programmerere møter på disse konseptene på verst tenkelige tidspunkt, før de lærer om variabler og kontrollflyt.

Dermed må lærere ofte si til studentene sine at dette ikke er noe de trenger å bry seg om, "du vil forstå det senere". Det kan være frustrerende for både lærere og studenter.

Med de foreslåtte endringene, vil et "Hello, World"-program i Java kunne skrives på denne enkle måten:

void main() {
    System.out.println("Hello, World!");
}

Dette vil redusere "seremonien" som trengs for å skrive enkle programmer, som skript eller kommandolinjeverktøy. Og selvfølgelig gjøre det mulig for studenter å skrive sine første programmer uten å måtte forstå konsepter beregnet på store programmer.

De foreslåtte endringene er tilgjengelig som preview-funksjonalitet som man kan prøve ut, før det eventuelt vil bli tilgjengelig i JDK 21 som ventes lansert i september. JEP 445 forklarer hvordan du kan teste det selv.