6 svar
159 visningar
Ygolopot behöver inte mer hjälp
Ygolopot 215
Postad: 2 mar 2022 09:13

Java setup på datorn

Hej!

Undrar hur ni som använder mycket Java brukar sätta upp det på datorn. När jag till exempel har en .py fil nedladdad så kan jag dubbelklicka och öppna den i VScode och köra filen och kolla hur den fungerar, men med Java och intelliJ verkar det inte alls fungera så.

Jag har hittills kört i intelliJ men tycker det känns väldigt segt. Ett program som endast printar "Hello" tar ibland 5-6 sekunder att köra. När jag kör ett program så skapas mappen out, jag fattar det som att den här innehålller byte code (kompilerad med javac?) i .class filerna, men för mig i alla fall så skapas inte bara mappen out utan följande mappar skapas:

out -> production -> <namnet på mappen jag skapade för projeketet> -> com och där ligger min fil.

Alltså, för att köra ett "projekt" med EN .java fil så får jag med mig typ 8 olika mappar (skapas flera undermappar till src med) vilket känns helt galet och hela mapstrukturen blir ju superful och ser oerhört stökig ut.

Jag fattar att python fungerar helt annorlunda med kompilering osv men när jag kör python är det ju en och endast en .py fil och den kan jag bara öppna och köra i t.ex VScode.

Jag gillar ju väldigt mycket att köra python i VScode eftersom allt jag behöver göra är att skapa en mapp och sen bygga på med mina .py filer och allt ser rent och enkelt ut men det kanske inte fungerar så med Java helt enkelt pga JVM?

Sen undrar jag också hur man gör med nedladdade filer, för att öppna och köra en source code fil, .java, måste jag skapa ett nytt projekt för det? Det låter också nämligen sjukt omständigt men kanske bara är så det är.

Har haft sjukt svårt att hitta svar på dessa frågor så tacksam för hjälp!

Mvh

Programmeraren 3390
Postad: 2 mar 2022 10:24

Vilket program som öppnar en fil beroende på ändelse är en inställning på datorn, har inte med utvecklingsmiljöerna att göra. Däremot brukar de under installation fråga om ändelserna ska kopplas. Däremot vet jag inte hur IntelliJ hanterar en "lös" fil utanför ett projekt.

"Riktiga" program består av många filer och utvecklingsmiljöer är skapade för professionell användning. Kan vara så att skillnaderna du upplever beror på att du jämför väldigt små program vilket inte är Javas huvudfokus.

Man kan ha ett "slaskprojekt" för alla små tester som ryms i en källkodsfil eller två.

De jag känner som kör IntelliJ verkar överlag nöjda men personligen är mitt tålamod mellan 5 och 6 tiondels sekund så jag kör "rått", emacs och maven. Tar dock lång tid att bli snabb på det sättet så jag rekommenderar det inte för nya utvecklare, integrerade utvecklingsmiljöer har massa autohjälp och stöd för bl a refaktorering.

Att kompilera en java-klass med overhead tar några tiondels sekunder, resten av tiden är troligen relaterat till hur miljön hanterar projekt, kollar beroenden etc. "Riktiga" program har enhetstester etc och då är en byggtid under 10 sekunder bra, du kommer märka att tiden inte växer speciellt mycket då du gör mer omfattande program. Men som sagt, mitt tålamod är sådant att jag brukar fråga de som använder musen istf kortkommandon om de tidrapporterar det som semester, alla sätt att kapa onödig tid är bra.

Innan man gör allt i en utvecklingsmiljö bör man förstå vad som händer, dvs kompilera något litet vid kommandoprompten och köra det. "Magin" in en integrerad utvecklingsmiljö är bra när man väl förstår det bakomliggande men innan dess kan den skymma sikten.

Laguna 30440
Postad: 2 mar 2022 19:52

Att det tar fem sekunder att kompilera programmet och sedan köra det är inget konstigt. Men om det är kompilerat redan ska det inte ta så lång tid.

Om programmeringsmiljön beter sig vettigt så kompilerar den om det behövs och annars inte.

Ygolopot 215
Postad: 3 mar 2022 08:41 Redigerad: 3 mar 2022 08:41

@Programmeraren:

Tack så mycket för svaret! Ska nog köra ett projekt som är likt det "slaskprojekt" du beskriver. I den kursen jag läser nu har det hittills bara varit spel som ryms inom en källkodsfil, även om man hade kunnat splitta det på olika. Det är däför det känts så overkill att dra igång ett helt intelliJ projekt för så små saker.

Men fattar bättre nu varför det tar sådan tid att köra projektet första gången när det inte är kompilerat!

Så tack båda för hjälpen!

Ygolopot 215
Postad: 4 mar 2022 09:47 Redigerad: 4 mar 2022 09:48

Hej igen, har en till fråga som är delvis på temat. Jag har riktigt kommit igång med git ännu och funderar på hur jag ska göra när jag ska köra git init. Eftersom intelliJ skapar tre folders och en fil varje gång man skapar ett projekt så funderade jag på vilken folder jag skulle köra git init i. Som jag förstår det så ska man alltid köra i root folder eftersom man kanske har andra filer man ska lägga till där. Min folder för projektet heter DB_part4, nät jag skapade det i intelliJ skapades:

Filen: DB_part4.iml

Foldern: out

Foldern: .idea

Foldern: src

I src ligger all source code och det är bara den jag vill pusha. Som jag förstått ska man då skapa en .gitignore fil i DB_part4 foldern (root foldern) och sen lista det man inte vill ha med i sina commit. Gör jag rätt om jag skriver in följande i .gitignore filen då (sen bilden)?

Tack på förhand!

Ygolopot 215
Postad: 4 mar 2022 10:29

Never mind min fråga ovan. Fungerade att göra så. Nu ligger dock src/com/company uppe istället för bara en folder med source code men det kankse är så det ska vara.

Programmeraren 3390
Postad: 4 mar 2022 18:02

Ja, du vill ha hela strukturen och helst byggfil (pom.xml om maven etc). Om någon clonar git-repot ska de kunna bygga utan att ändra nåt. Men det är inte viktigt i det här läget, det är så mycket nytt i början att man får ta det som behöver lösas som det kommer.

Svara
Close