Filhantering i C++?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
4kTRB
Inlägg: 20702
Blev medlem: 16 augusti 2009, 19:04:48

Re: Filhantering i C++?

Inlägg av 4kTRB »

I Lund håller de på med ett projekt att få ner Javakoden till maskinkod för
inbyggda system. Man går via C då det finns så gott om C-kompilatorer.
http://sv.wikipedia.org/wiki/Realtidsjava
http://www.robot.lth.se/java/
Användarvisningsbild
Carmis
Inlägg: 72
Blev medlem: 2 december 2008, 16:54:53
Ort: Växjö

Re: Filhantering i C++?

Inlägg av Carmis »

När det gäller Java finns det en stor tröskel att ta sig över innan man kan använda det enkelt. Det finns färdiga bibliotek för nästan allt och behöver man OS specifika saker kan det göras via JNI eller JNA. Men gäller det små program är det oftast inte lönt om det är mycket som går att göra enkelt i C++ eller liknande.

Men angående QT så finns det en IDE som heter QT creator som jag precis har börjat använda så kan inte säga så mycket om den.
Sen ska det gå i windows att integrera QT designer i visual studio, mer än så vet jag inte..
Borde finnas många andra miljöer eftersom det är ett väldigt populärt bibliotek som används i t ex VirtualBox.
Användarvisningsbild
4kTRB
Inlägg: 20702
Blev medlem: 16 augusti 2009, 19:04:48

Re: Filhantering i C++?

Inlägg av 4kTRB »

Kan hålla med om att tröskeln finns där.
Läste 2 st 7.5p kurser i Java och jag har läst
ordinär högnivåprogrammering innan (Pascal och lite C)
och när det började handla om klasser, arv, superklasser
och allt annat nytt så blev det väldigt jobbigt helt enkelt
och detta trots att vi använde BlueJ och boken Objects First
with Java som ska vara en bra start, även om jag tycker
det finns betydligt bättre böcker (boken är rörigt upplagd men
har en del bra innehåll ändå). Fast när man väl ser helheten så
är Java väldigt snyggt.
sodjan
EF Sponsor
Inlägg: 43249
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Filhantering i C++?

Inlägg av sodjan »

> Fast när man väl ser helheten så är Java väldigt snyggt.

Som jag sa alltså... :-)

Visst är Java "snyggt", "modernt" o.s.v. Men speciellt bra blir det sällan
i en produktionsmiljö (alltså utöver en vanlig desktop 1-användarmiljö).
Skalbarhet brister rent generellt och det kan vara svårt att uppskatta/beräkna
hur det skalar i förväg. Kopplingen mellan det man gör i koden och prestandan
är svår att se o.s.v. Alltså till skillnad från mer traditionella programmeringsspråk
där en van programmerare nästan kan säga i maskincykler vad olika operationer tar.
T.ex en van COBOL programmerare på en IBM mainframe kan säga vad en MOVE
motsvarar i 360-assembler... :-)

Det finns många stora projeket under senaste 10 åren som har kraschat
bl.a p.g.a av att man inte har haft koll på prestandan/skalbarheten.
I många fall har det ingått "moderna" verktyg som t.ex Java.

Den som sitter hemma och skriver Java kod på sin PC eller Linux maskin
ser naturligstvis ingenting av detta.
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Filhantering i C++?

Inlägg av Nerre »

jesse skrev: njaeeeä.... Atmel har ju ett "standardbibliotek" för AVR som man i princip räknar med ska ingå. Där finns all I/O och t.ex. interrupt-hantering.
Hur kan de veta hur jag har kopplat in min display och mitt tangentbord?



Sen Java... hela Android bygger ju på java?
Användarvisningsbild
AndLi
Inlägg: 18257
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Filhantering i C++?

Inlägg av AndLi »

Jag var helt övertygad om att Android var byggt på linux kärna, och den är skriven i C. Det väll typ appar och annar grafiskt pill som är java...
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Filhantering i C++?

Inlägg av Nerre »

Ja men det var ju det jag menade, alla appar är skrivna i java. Jag tror inte ens det går att skriva appar i C. (Däremot är det väl C/C++ som gäller för iPhone.)

Linux-kerneln och det är ju bara för att ha nåt att köra java ovanpå liksom.

Det var alltså en kommentar mot Jesses "En av orsakerna är att java är sämre än alla andra språk på just hårdvarukompabilitet... man måste ha OS-beroende specialkod för nästan varje grej, och det är ändå ofta det inte fungerar..."

Android-appar är skrivna i Java och funkar på massor med olika hårdvara utan problem.

Det är ju samma sak med "vanliga" java-spel till mobiler. Det finns ju betyligt fler spel skrivna i java än vad det finns spel skrivna i nåt annat språk.

Java har utvecklats en hel del på senare år.

(Är inte stora delar av OpenOffice.org skrivet i java också?)
Användarvisningsbild
Carmis
Inlägg: 72
Blev medlem: 2 december 2008, 16:54:53
Ort: Växjö

Re: Filhantering i C++?

Inlägg av Carmis »

Det känns som om många på detta forumet ogillar Java.

Att Java inte har hårdvarukompabilitet är fel. Inga standard bibliotek är skrivna för saker som behöver extra OS specifika funktioner, men dessa går att nå via JNI vilket är en koppling mellan Java och C/C++. Men anledningen att detta undviks är att konceptet kompilera en gång kör överallt försvinner då.

Det finns mängder med stora projekt som är skrivna i Java och funkar utmärkt även prestandamässigt. Det som kan göras fel i ett Javaprojekt är att analys fasen av projektet missas eller görs dåligt och då kan projekt i vilket språk som helst bli dåligt.
Programmerar man klokt på en modern dator och inte ska göra det mest prestandakrävande så har Java inga problem att klara stora projekt.
Det Sodjan sa att Java passar bäst för desktop miljöer med en användare håller jag inte med om. Majoriteten av alla nya projekt med Java skulle jag säga är molnet tjänster och webbapplikationer som körs på en server med mängder av användare och där kommer Javas bra tråd egenskaper in.

Men ska man göra prestanda krävande program eller program med enbart OS funktioner så är det nog bättre att kolla på det språket som passar OSet bäst.
jbulow
Inlägg: 114
Blev medlem: 22 juni 2006, 21:35:26
Ort: Malmö

Re: Filhantering i C++?

Inlägg av jbulow »

Android-appar kan skrivas i fler språk än java. Kolla Android NDK och Scripting Layer for Android (SL4A).

iPhone-appar skrivs mestadels i Objective-C. C/C++ kan användas där man finner det lämpligt.

Det stora problemet med Java enligt vissa är att det har en tendens att attrahera mediokra programmerare i allmänhet.

I övrigt tycker jag Sodjan sammanfattar frågan med bra poänger.
Användarvisningsbild
Icecap
Inlägg: 26636
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Filhantering i C++?

Inlägg av Icecap »

Jag har taskiga erfarenheter med Java, jag satt i fel ända av ett projekt där det skulle kommuniceras mellan en enhet och en PC medelst en seriell port. vi utarbetade ett protokoll i gemenskap (Java-programmören o jag) och jag implementerade det i min ända men fan om det fungerade.

Efter en hel del felsökning visade det sig att Java-ändan inte kunde sända bytes, bara words i form av 2 bytes. Och de words som skulle vara words kom i fel ordning osv.

Då jag satt med C kunde jag anpassa till det nya protokoll vi de-facto behövde och precis där föll Java totalt på golvet för mig. Måste man anpassa ett kommunikationsprotokoll till programmeringsspråket är det fel på språket helt enkelt.

Sedan kan det vara att just den version av språket hade brister, det har jag inte forskat speciellt i då språket är synnerligt ointressant för mig i och med denna upplevelse.

Varenda gång man kommer med en "fungerar till allt" tänker jag alltid på min panna: det är en kombi-panna som kan köra fastbränsle och olja (eller pellets som den gör nu) och den är lika usel på båda delar!
Nerre
Inlägg: 27205
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: Filhantering i C++?

Inlägg av Nerre »

Det ni hade var alltså ett klassiskt "endian-problem"?

Sen låter det ju som om killen i andra änden använde sig av fel funktioner för att kommunicera via serieporten. Jag kan inte föreställa mig att java skulle vara så låst att det inte kan kommunicera med vanliga bytes via serieporten. Troligtvis försökte han sända tecken i UTF-16 istället för att försöka skicka bytes.

Typiskt problem när den som programmerar inte kan ett skit om hårdvara.


Här står hur man hanterar serieportar i java.
http://java.sun.com/developer/Books/jav ... ook/11.pdf
och av exemplen där verkar det mer eller mindre vara default att java använder sig av vanliga bytes på serieporten....
Användarvisningsbild
AndLi
Inlägg: 18257
Blev medlem: 11 februari 2004, 18:17:59
Ort: Knivsta
Kontakt:

Re: Filhantering i C++?

Inlägg av AndLi »

jbulow skrev: Det stora problemet med Java enligt vissa är att det har en tendens att attrahera mediokra programmerare i allmänhet.
icecap skrev: Efter en hel del felsökning visade det sig att Java-ändan inte kunde sända bytes, bara words i form av 2 bytes. Och de words som skulle vara words kom i fel ordning osv.
Låter mer som du har kommit i kontakt med en av de mediokra programmerarna...
Användarvisningsbild
Carmis
Inlägg: 72
Blev medlem: 2 december 2008, 16:54:53
Ort: Växjö

Re: Filhantering i C++?

Inlägg av Carmis »

Java tillhandahåller inget äkta stöd för kommunikation via serieporten eftersom det görs olika på olika OS, förmodligen använde han ett dåligt bibliotek om det inte fanns normala funktioner.
RXTX biblioteket funkar utmärkt för att få "normal" seriekommunikation, vilket använder Javas comm api som länkades tidigare.
Användarvisningsbild
jesse
Inlägg: 9240
Blev medlem: 10 september 2007, 12:03:55
Ort: Alingsås

Re: Filhantering i C++?

Inlägg av jesse »

Jag gav Java en chans - jag höll på med det i över två år innan jag insåg det hoplösa med projektet och lade ner. Så nu är det C och C++ som gäller för min del. Och det hjälper inte hur många javaälskare som skriver i den här tråden om det: jag tänker inte ta upp det igen.

Räcker ju med att se alla halvkassa javaprogram som "borde" fungera, men av ungefär en miljon anledningar som programmeraren aldrig skulle kunna förutse, så funkar det just inte på min maskin. (vanlig PC). T.ex. enkla GUI där knapparna hamnar utanför fönstret, fonterna får inte plats i sina rutor så man ser bara halva tecken etc. etc. etc...

Skyll ni på dåliga programmerare, men jag skyller på java, för det återkommer ständigt med den enda gemensamma nämnaren: Java! Eller så är nästan alla programmerare som valt Java som språk av någon anledning väldigt dåliga programmerare.... Jag skulle varit en av dem om jag fortsatt med Java.

Men Java är OT i denna tråden, så vill ni fortsätta för- och emot Java så starta en ny tråd.

Ämnet var: Filhantering i C++
Användarvisningsbild
4kTRB
Inlägg: 20702
Blev medlem: 16 augusti 2009, 19:04:48

Re: Filhantering i C++?

Inlägg av 4kTRB »

Men inte kan den typen av filhantering vara speciellt svår.
I Java är det relativt simpelt och jag har svårt att tänka mig
att det skulle vara mycket svårare i C++.
Skriv svar