mboost-dp1

Hvilken form for programmering?


Gå til bund
Gravatar #1 - sm00king
2. feb. 2003 17:27
Jeg har programmeret i flere år i asp, javescript,sql og alt det der. Men hvilket program kan man kompilere og så kan de kører på ALLE operativsystemer, uden man skal til at ligge andre filer ind på computeren først?
FX i visual basic skal der være nogle bestemte filer på computeren der ikke ligger i alle former for operativsystemer, det samme gælder c++
What should i use?
Gravatar #2 - Acro
2. feb. 2003 23:36
#1:
Jeg ville vælge at udvikle på en server - og afvikle det derfra - til det formål kan HTML og Javascript (som clientside-sprog) være udemærkede - de kan tilføje en dynamisk brugerflade - ligesom gængse applikationer.

Grunden til det er at du er sikret det kører overalt - så må folk selv sørge for at have en Internet-browser, dog skal du være opmærksomhed på sikkerhedsmæssige aspekter o.lign.

Fordelen er - i mine øjne - at man kan lave et licenssystem hvor folk faktisk aldrig får muligheden for at piratkopiere softwaren - da de aldrig nogensinde får softwaren, men kun outputtet heraf.

Hvis vi så snakker serverside-sprog, så ville jeg klart vælge ASP.NET, da det ligeledes har en dynamik der er helt fortræffelig - og desuden kan det jo snart afvikles på *N?X-servere - så du ikke behøver at investere i Microsoft-licenser.

Alternativt kan du vælge Java, men jeg synes at den anden løsning er mere fordelagtig - da HTML - i mine øjne - er mere dynamisk, og man kun henter et minimum hver gang, desuden er man jo ikke sikret perfekte Java-moduler på alle systemer.
Gravatar #3 - annoia
3. feb. 2003 00:03
Acro - Du påstår vel forhåbentlig ikke at javascript er et programmeringssprog (!!) som man kan bruge til noget?
(læse læse...)

Ah... Til layout! Css all the way!

Ud over det, så har man da fuld adgang til alting med html og java / javascript. Ydermere kan man -altid- decompile java til pæn kode.

Mht din påstand om at man aldrig får muligheden for at piratkopiere, så sidder brugeren da med softwaren i hånden. Har du iøvrigt hørt om half-life? Der får man en key med, og alligevel kom der meget hurtigt en keygen ud! Dette er faktisk tilfældet med alle programmer der bruger disse systemer...

sm00king - Java er lavet til at kunne køre på alle systemer. Der skulle gerne være en engine til alle kendte platforme.
Gravatar #4 - Acro
7. feb. 2003 21:49
#3:
Jeg har forhåbentlig ikke skrevet at Javascript kan bruges til at programmere - jeg skrev at det kan benyttes til clientside-scripting, altså validering af de data der sendes - til at præsentere ting dynamisk, o.lign.

Og selvfølgelig skal man bruge CSS til layout - det har jeg slet ikke skrevet noget om, det kan folk selv vurdere - jeg fortalte om HTML som "designsprog" (så kan man selv eksporte så meget som muligt til CSS, og nøjes med HTML som strukturudbyder), og Javascript til den simple dynamik man ønsker.

Jeg ønsker ikke at bruge Java - pga. manglende kompatibilitet på nogle platforme, og dårlig understøttelse på andre - dette vil begrænse min målgruppe, og så kunne jeg ligeså godt vælge at lave et "kun Windows" program fra starten.

Og nej, brugeren sidder ikke med softwaren - ikke hvis man som jeg siger laver det serverside, brugeren vil få nogle felter til data - men vil aldrig få scriptet der ligger bag kalkulationer af et resultat. Men ja, de kan sagtens gemme de simple ting - men ikke til noget brugbart.

Jeg taler om at afvikle softwaren på en server via en browser. Det kan ikke kopieres - du kan kopiere outputtet, men ligeledes kan du tage screenshots af alm. applikationer. Du kan lave brugerlogin med CPR-nummer, klientcertifikater - eller andre ting, der gør at man skal have betalt og være registreret inden brug.

Desuden er Half-Life et dårligt eksempel, da det ikke afvikles på en server, men installeres på klienten.
Gravatar #5 - Yssing
2. maj 2003 10:38
Ok, her er jeg ikke lige med.
Mener du et egentligt program, eller mener du en web app ??

For et egentligt program, ville en løsning være C med SDL.
Men det kræver jo godt nok en kompiler til hvert OS.
Men SDL understøtter en lang række kendte og mindre kendte OS.

http://www.libsdl.org/index.php
Gravatar #6 - sguft
2. maj 2003 17:35
#1: Hvis du snakker om rigtige applikationer er Java stortset det eneste der idag kan køre på alle platforme, uden du nødvendigvis skal lave ændringer i din kode. Det kræves dog at brugeren har installeret en VM for at kunne afvikle java programmerne.

.NET platformen vinder meget frem i disse dage og personligt satser jeg kraftigt på .NET både til applikation og webudvikling. .NET programmer er en smule mere bundne til et bestemt OS hvis du ønsker GUI design end Java, men til at udvikle serverapplikationer fungerer det ligesom java med "one-compile - run anywhere" princippet. (Som lidt mere teknisk håndteres igennem en JIT compiler). .NET programmer kræver dog ligesom Java at der er en VM installeret på maskinen.

C++ er også en mulighed, her slipper du for at skulle installere noget som helst på det pågældende OS. Tilgengæld skal applikationerne så skrives specifict til det OS du ønsker at afvikle programmet under (native kode), hvilket betyder at du skal lave en udgave af dit software til hvert OS.

Som en sidste mulighed findes Delphi/Kylix der fungerer meget ligesom C++ (compiler også til native kode), MEN i de nye udgaver er det muligt at skrive koden så man uden nogen ændringer i koden kan compile en udgave til henholdsvis Windows og Linux (Skyldes at borlands framework fra Delphi 6 og opefter har support for begge operativsystemer), skal du kode til andre operativsystemer end disse eller til mobile devices etc. er du dog ude i samme problematik som C++.

Konklusion:
Der findes idag ikke noget der er istand til at udføre det du efterlyser.
Man er nødt til at vælge imellem platformsuafhængigheden, men hvor der så skal installeres en VM.
Eller et OS specifict program, hvor der ikke skal installeres noget, men hvor det så også kun kan køre på det specifikke OS.
Ellers skal du ud i en løsning som den Acro omtaler, hvor du istedet for en rigtig applikation udvikler en webløsning, som så dog kræver at der er en browser installeret (men det burde vist idag ikke være noget problem ;) og der kan jeg ligesom Acro også kun varmt anbefale ASP.NET til udformningen af denne. (Som en lille sidebemærkning kan det nævnes at Jubii og Lycos faktisk er ved at omlægge deres sites til ASP.NET)

Så alt i alt .. valget er dit, der findes ikke nogen universalløsning eller sprog, man må vælge det der passer bedst til den ønskede opgave. Håber du ku bruge ovenstående til noget :)
Gravatar #7 - Simm
3. maj 2003 12:28
Jeg vil lige fremhæve MONO, som er et forsøg på at porte .NET framework'et til Linux. Jeg har endnu ikke prøvet at kode noget i det, der skulle bruges på både Windows og Linux med det, men det skulle efter sigende ikke være noget, der kræver de store ændringer.

MONO er stadig under udvikling, og derfor ikke helt fejlfri, men det kan snildt bruges til udviklingsformål - og et fint alternativ til Java..

http://www.go-mono.com/
Gravatar #8 - sguft
3. maj 2003 14:46
#7: Mono er intet andet end en implementering af de standarder som idag hører under ECMA, hvilket vil sige CLR, CTS etc. og selvfølgelig frameworket, som er de samme standarder Microsofts .NET udgave følger (og som selvfølgelig også er defineret af Microsoft). Du kan med andre ord se på det som at standarderne for CLR, CTS etc er toppen af hiarkiet der definerer hvordan implementationerne skal foretages og Microsofts .NET, samt Mono er således implementationer af disse definationer, som det ligger enhver frit for at lave deres egne implementeringer af (dog er der nogle restriktioner men det vil jeg ikke komme nærmere ind på her). Mono projektet er dermed ikke en port af Microsoft .NET, men en implementation på linie med Microsoft .NET der bygger på de samme standarder, bare med henblik på Linux platformen.

Så i bund og grund tilfører Mono ikke andet end muligheden for at afvikle .NET programmer under Linux, og Mono er dermed underlagt de samme restriktioner som jeg beskrev i mit tidligere indlæg omkring .NET. Derfor gør det hverken fra eller til i forhold til den løsning sm00king efterlyser.
Gravatar #9 - Acro
3. maj 2003 16:00
MONO, .NET - tja, vi kan vel sammenligne det med at programmet er et websted, og webstedet kan ses med forskellige browsere, det er jo ret basalt hvad der sker - browseren sørger så for at fortolke tingene på den måde det er nødvendigt på den aktuelle platform.

Hvis man laver et .NET-program, så bruger man .NET for at afvikle det på Windows, og MONO for at afvikle det på eks. Linux. Ligesom jeg bruger Internet Explorer til at se www.newz.dk på min Windows-maskine, og Mozilla på min FreeBSD.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login