• 1
  • 2
2018-05-10, 20:37
  #1
Avstängd
Tom.Of.Finlands avatar
Hej!

C och C++ är kända för att enkelt kunna tala med hårdvara. Men kan man inte göra samma sak i Java, trots att java körs på en virituell maskin?

Citera för svar!
Citera
2018-05-10, 20:44
  #2
Medlem
Neksnors avatar
Man kan väl, men det känns ungefär lika smidigt som att bygga om mormors vävstol till dator...
Citera
2018-05-10, 21:57
  #3
Avstängd
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av Neksnor
Man kan väl, men det känns ungefär lika smidigt som att bygga om mormors vävstol till dator...

Jaha? Är det inte bättre att kunna Java till 100% än Java 50% och C++ %? Då känns det som man är halvfärdig med språken?
Citera
2018-05-10, 22:11
  #4
Medlem
Citat:
Ursprungligen postat av Tom.Of.Finland
Jaha? Är det inte bättre att kunna Java till 100% än Java 50% och C++ %? Då känns det som man är halvfärdig med språken?

Du kommer aldrig att kunna java till 100%. Bättre att kunna fler språk då du då visar för arbetsgivare att du har lätt att lära dig nya saker.
Citera
2018-05-10, 22:15
  #5
Avstängd
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av Gottisborgen
Du kommer aldrig att kunna java till 100%. Bättre att kunna fler språk då du då visar för arbetsgivare att du har lätt att lära dig nya saker.

Okej.

Jag ska inte jobba som programmerare. Men på mitt jobb händer det ofta att jag kokar ihop ett program lite snabbt för att utföra beräkningar, läsa databas, skriva till databas, plotta, styra styrsystem, konfigurera osv.

Känner att C++ inte är det snabbaste verktyget då trots att java och c++ kan göra exakt det samma(nästan). Men jag har alltid undrat om det går att t.ex. skapa mjukvara för en enkel USB-hårdvara.

Jag talar inte om att kunna skriva program till CPU:er eller liknande. Mest bara program som kan prata seriellt mellan datorer.
__________________
Senast redigerad av Tom.Of.Finland 2018-05-10 kl. 22:25.
Citera
2018-05-10, 22:24
  #6
Medlem
Jag skulle rekommendera Python till det du vill göra.

Det är väldigt enkelt att t.ex. prata med serieportar i python. Tror det är betydligt enklare än i C i alla fall där man måste läsa manualen om hur minne skall hanteras.

Därav så går det snabbare att prototypa saker och göra enkla program för att t.ex. ladda upp / ned data från en enkortsdator.

Dessutom behöver man inte sätta upp ett jävla maven projekt och köra en jarfiler med batfiler som använder sig av miljövariabler och annat krafs som krävs med java.
__________________
Senast redigerad av krakelibrankel 2018-05-10 kl. 22:28.
Citera
2018-05-10, 22:47
  #7
Avstängd
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av krakelibrankel
Jag skulle rekommendera Python till det du vill göra.

Det är väldigt enkelt att t.ex. prata med serieportar i python. Tror det är betydligt enklare än i C i alla fall där man måste läsa manualen om hur minne, teckenkodning osv skall hanteras osv.

Därav så går det snabbare att prototypa saker och göra enkla program för att t.ex. ladda upp / ned data från en enkortsdator.

Dessutom behöver man inte sätta upp ett jävla maven projekt och köra en jarfiler med batfiler som använder sig av miljövariabler och annat krafs som krävs med java.

Python är ett bra språk. Problemet med Python är just språket har språk- och biblioteksproblem. Python 2 är inte samma som Python 3 och Python 2 vägrar dö ut trots att Python 3 är det som gäller. Deras bibliotek är skrivna av opensourceorganisationer och där verkar det inte finnas någon struktur.

Så Python som idé och språk älskar jag. Men hur språket misshandlas av billiga studenter som tror de kan "maskinlärning" bara för att de kan använda bibliotek som är skrivna av trogna matematiker, trycker jag är hemskt.

Python saknar dessutom en vettig GUI-miljö. Här igen får man leta efter tredjepartsbibliotek. GUI är något som JavaFX är kung på.

Däremot ett vettigt och framgångsrikt bibliotek är SymPy. Men det kör jag via GNU Octave för symbolisk matematik.

Men i övrigt så tycker jag att Python borde ha mer struktur på standard IDE, bättre GUI standardbibliotek och krav på att de som skriver bibliotek i Python ska göra det i Python 3.

Exempel:

För java behöver du ETT bibliotek för att vetenskapliga beräkningar(Apache Commons). I Python behöver du TVÅ bibliotek(NumPy, SciPy). Varför inte allt i ett?

Samma sak som Excel för Python. Finns några att välja mellan: http://www.python-excel.org/

För Java så finns det endast ett att använda: https://poi.apache.org/

Däremot håller jag med om att det går snabbare att utveckla i Python än i Java. Men frågan är hur mycket man vinner?

Jag tror att Pythons popularitet grundar sig på "hipster-nördar" som saknar kunskap om hur programmering ska gå till på riktigt. Denna kunskap får man mest med C-baserade språk.

Jarfiler kan du sätta som körbara så du slipper .bat filer.
__________________
Senast redigerad av Tom.Of.Finland 2018-05-10 kl. 22:50.
Citera
2018-05-10, 23:28
  #8
Medlem
Neksnors avatar
Citat:
Ursprungligen postat av Tom.Of.Finland
Okej.

Jag ska inte jobba som programmerare. Men på mitt jobb händer det ofta att jag kokar ihop ett program lite snabbt för att utföra beräkningar, läsa databas, skriva till databas, plotta, styra styrsystem, konfigurera osv.

Känner att C++ inte är det snabbaste verktyget då trots att java och c++ kan göra exakt det samma(nästan). Men jag har alltid undrat om det går att t.ex. skapa mjukvara för en enkel USB-hårdvara.

Jag talar inte om att kunna skriva program till CPU:er eller liknande. Mest bara program som kan prata seriellt mellan datorer.
Alla programmeringsspråk kan göra exakt samma saker, frågar är bara hur smidigt det är.
Citera
2018-05-10, 23:41
  #9
Avstängd
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av Neksnor
Alla programmeringsspråk kan göra exakt samma saker, frågar är bara hur smidigt det är.

Om man kan Java så finns det väll ingen anledning att välja C++ då?

Jag resonerar så här:
Datorprogram = Java
Hårdvara = C

Med tanke på att C++ och Java gör samma sak, skillnaden är att C++ är inte portabelt, men snabbare/svårare och java är portabelt, men segare/lättare.
Citera
2018-05-10, 23:44
  #10
Medlem
Du har samma "versionsproblem" med java egentligen.
Vissa javaprojekt behöver en specifik version av java installerat på burken.
Citera
2018-05-10, 23:46
  #11
Medlem
Neksnors avatar
Citat:
Ursprungligen postat av Tom.Of.Finland
Om man kan Java så finns det väll ingen anledning att välja C++ då?

Jag resonerar så här:
Datorprogram = Java
Hårdvara = C

Med tanke på att C++ och Java gör samma sak, skillnaden är att C++ är inte portabelt, men snabbare/svårare och java är portabelt, men segare/lättare.
Beror väl på vad du ska göra?

Sedan skulle jag undvika att vara så svartvit.
Snarare:
Vanliga datorprogram: Java
Vanlig hårdvara: C
Citera
2018-05-10, 23:49
  #12
Avstängd
Tom.Of.Finlands avatar
Citat:
Ursprungligen postat av Neksnor
Beror väl på vad du ska göra?

Sedan skulle jag undvika att vara så svartvit.
Snarare:
Vanliga datorprogram: Java
Vanlig hårdvara: C

Vad är definitionen på vanlig hårdvara och vanliga program?
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in