Hvorfor Ubuntu (Studio)

Årsaken er RAD Studio fra Embarcadero! What????

Jeg bruker RAD Studio som mitt favoritt utviklings verktøy, og programmerer i C++. RAD Studio er, etter min mening, et av de beste utviklingsverktøy på markedet. Du programmerer ett sted, og lager programmer for både Windows, Apple maskiner, Android og Linux.

Selve RAD Studio mener jeg er skrevet i (Delphi-) Pascal. Delphi kommer fra gamle Borland. Borland var opprinnelig kjent for sin gamle C++ kompiler og OWL biblioteket. De regjerte nesten fullstendig den gangen. Så prøvde de seg med C++ Builder, Java Builder og Delphi Pascal. Det er antagelig mest riktig å si bare «Delphi» og ikke «Delphi Pascal». Delphi er en objekt orientert utgave av Pascal.

Alt det som er nevnt ovenfor er mer eller mindre skrevet i Delphi, hele det som nå kalles RAD Studio. RAD Studio inneholder nå både C++ Builder og Delphi, men ikke Java Builder (vet ikke om den fortsatt eksisterer).

Ok, tilbake til Ubuntu, som er en Linux distro. Jeg nevnte du kan sitte på en Windows maskin og lage programmer for Windows , Apple maskiner, Android og Linux, men det er visse begrensninger. Det gjelder C++.

Disse gutta er noen av verdens beste Pascal og Delphi programmerere, det skal de ha. Delphi er derfor deres førstefødte, som vi sier. Alt nytt kommer først til Delphi, deretter etter en viss tid til C++ Builder. Dette må vi godta.

Det betyr at RAD Studio ikke har ferdig alle funksjonene. De har f.eks. ferdig Delphi for Linux, men ikke C++ Builder, og den Linux distroen de har valgt å starte med, er Ubuntu.

En annen og lignende begrensning er det for Android. Google forlanger nå 64-bits kode i programmet. Det har de også ferdig for Delphi, men ikke for C++ Builder.

Da ser du mitt dilemma. Jeg kjenner litt til OpenSUSE distroen, og det er først nå jeg prøver Ubuntu, men den er jeg altså nå nødt til å kjøre. I tillegg må jeg altså bruke Delphi (Pascal) som programmerings verktøy foreløpig.

Embarcadero vil ikke si når C++ Builder får 64-bits kode for Android og når vi får C++ Builder for linux. De vil heller ikke bekrefte om det kommer til å skje. Det skjærer dypt i en hardcore C++ programmerers hjerte å skulle gå over til Delphi (Pascal) 🙂 men vi får leve i håpet. Jeg ser det som en umulighet at ikke vi skal få 64-bits C++ for Android og C++ for Linux.

Forskjell på GCC og G++

I dag lærte jeg faktisk noe nytt om kompilatorene GCC og G++ under Linux. Jeg har lekt med OpenSuse tidligere, laget enkle programmer osv. men stort set brukt QT eller et eller annet IDE system. Nå har jeg av spesielle grunner tenkt å kjøre Ubuntu, og da datt jeg borti installasjon av både GCC og g++.

Aldri tenkt over det tidligere, men hva er forskjellen?

GCC betyr GNU Compiler Collection, noen kaller den også GNU C Compiler. Du vet at det er forskjell på C og C++? OK, GCC er en samling kompilatorer, C, C++, Fortran, osv. Dvs at bruker du denne, vil den kompilere kildekode med etternavnet «.C» som «C»-kode og «.CPP» som C++ kode.

G++ derimot vil kompilere både «.C» og «.CPP» som C-kode. Desstuten vil G++, om du bruker den for å linke objekt filene, vil den automatisk linke inn «std» (Standard Library) C++ biblioteket. GCC gjør ikke dette.

Mao, GCC og G++ er vel to frontends til den samme kompilatoren, kan vi vel si.

Interessant, har aldri tenkt over dette tidligere. Nå bør jeg kanskje begynne å bruke «.cpp» som etternavn på kildekoden min når jeg mener c++?

Ubuntu Studio Test

Jeg, en gammel, hardcore Windows-bruker har nå testkjørt Ubuntu og Ubuntu Studio, og hva synes jeg så om disse distroene? Synspunktene vil selvfølgelig være preget av hva jeg har jobbet med, programmering.

Linux distroer har kommet en lang veg mot brukervennlighet, og de er ikke lenger så langt vekk fra Windows.

Installasjon

Ubuntu ( og Ubuntu Studio) er begge helt greie å installere. Jeg kjører med to systemdisker, begge er SSD disker (M.2 interface), og derfor er det naturlig å kjøre dobbel-boot, Windows 10 på den ene, og Linux og annet system ræl på den andre.

Installasjonen er helt grei, ingen problemer, jeg må bare passe på å installere på riktig disk 🙂 . Installasjonen greier å lage en boot-menu ved oppstart, helt greit.

Ekstra programmer

Det vil alltid følge med NOEN programmer uansett om du velger Windows eller en Linux distro. På Ubuntu Studio finner du dem på menystolpen oppe helt til venstre. Litt omvendt av det du er vandt til, programtype i høyredelen og programmene til venstre:

Jeg har installert noen ekstra programmer for bl.a. programmering, jeg MÅ ha det. De installeres (stort sett) i gruppen «Development». Denne gruppen finnes ikke på forhånd!! Hvorfor er det viktig?

Se på neste bilde som viser installering av nye ekstra programmer. Der finnes det programgrupper, og du finner stort sett de programmene du trenger. Men hva med «Development»? Disse må installeres manuelt!

Neste bilde viser den letteste metoden av de manuelle. Denne kan brukes dersom repoene er kjente og standard.

Du ser det er tilogmed her to måter å gjøre det på. I Windows har alle programmer «exe» som etternavn. Hvis vi nå kaller det et pakkesystem, har linux to slike pakkesystemer, «deb» og «rpm». Og hvilken av disse to du skal bruke kan være forskjellig fra distro til distro.

Ubuntu og Ubuntu Studio bruker «deb» pakkesystemet, mens f.eks. Open Suse, som jeg har brukt noen ganger, bruker «rpm».

Konklusjon

Dette er en kortvarig test og mine synspunkter er nok farget av arbeidet som programmerer. Som sagt innledningsvis, har Linux distroer kommet en lang veg mot brukervennlighet, og de er ikke lenger så langt vekk fra Windows.

De fleste vil enkelt finne det de trenger til daglig bruk, men vær obs på at ingen programmer kan uten videre flyttes over til et linux system. Du mister f.eks. Adobe programmer som PhotoShop og MS Word fra Microsoft. Jeg mister minst to programmer, nemlig Lightwave, som jeg bruker for 3D modellering og RAD Studio for programmering.

Om jeg kan nevne ett problem: Ubuntu Studio fant hode-telefonene greit, men ikke høyttalerne i skjermen.

Ubuntu Studio distroen kan uten tvil anbefales.

Ubuntu Studio

Ubuntu Studio måtte være midt i blinken for meg, de viktigste programmene for video, lyd, musikk, osv ferdig installert.

Det tar vel 10 minutter å lage en USB-stick med installasjonen, litt fikling under installeringen, og så var Ubuntu Studio på lufta.

Nå skulle jeg bare installere software for programutvikling, en IDE, et par kompilere, editorer osv. men hvordan #¤»»&&&%%!!!*** skulle det gjøres? Den hadde bare et ferdig oppsett med noen spesielle programmer.

Etter 15 minutters fikling ga jeg opp den distroen. Da hadde jeg funnet Android Studio! Enten var jeg dum som en stokk, eller så var denne distroen noe av det dummeste jeg har sett. Jeg MÅ ha software for programutvikling!

Den distroen gikk rett i søppelbøtta.

Open SUSE og Ubuntu

Jeg driver og ser litt på et par Linux distribusjoner, Open SUSE og Ubuntu. Da går det fort et par dager uten nye poster her.

Jeg tenkte å prøve Delphi under Linux, men da må jeg forlate min kjære C++ og gå over til Delphi Pascal. Som gammel hardcore C++ programmerer skjærer det meg i hjertet å skulle bruke Pascal 🙂 Men tiden får vise.

I tillegg må jeg forlate min favoritt-distro, Open SUSE, og starte opp med Ubuntu. Delphi supporterer Ubuntu, men ikke Open SUSE.

Kanskje blir det litt QT i stedet, hvem vet?

Stiler, Styles

Jeg har lagt ut et lite eksemplel på hvordan du kan laste opp en stil ved runtime. Egentlig hadde jeg tenkt å bruke en INI-fil, men vi får se om jeg får tid og lyst til å gjøre det (skuffelsen med Firemonkey grafikk bibliotek som jeg nevnte 🙂 )

Siden med innlegget ligger her:

Eksempler->RAD Code Samples->Stiler, Styles

Edit Undo

Jeg har lagt ut en ny side med info om min løsning på en edit-undo. Dette løste jeg ved å opprette en «Stack» i dokument-klassen og rett og slett «stacke» den originale bitmapen.

Den er foreløpig i testversjon, men prinsippet ser ut til å virke 🙂

Siden ligger her:

Nytt C++ Eksempel

Har nettopp lagt ut et nytt eksempel vedr. gråtone bilde eller monochrome som Firemonkey kaller det.

Det er mye likt det som er skrevet i bloggen, men jeg synes det blir litt bedre strukturert i meny-sidene.

En annen forskjell (jeg KAN ta feil her) er at i sideoppsettet er det intet oppsett for f.eks. stikkord. Tar jeg feil her? Derfor nevner jeg noen av de nye sidene i bloggpost slik som her 🙂

Den nye siden finnes her:

Eksempler->RAD CodeSamples->Gråskala(Monochrome)

Code Samples

Har begynt å legge inn code samples. De finnes i hovedmenyen under:

Eksempler -> Code Samples

Den første som ble lagt inn var en «Properties Dialog». Jeg burde kanskje begynt forfra med program design, TForm-klassen, DocPage, osv. men jeg har egentlig ikke helt bestemt meg for om jeg skal gi ut hele design i full kode.

Vi får se etter hvert som tiden går hvor gavmild jeg blir 🙂

— sd —