.net - Hvad er et godt let programmeringssprog, der kompilerer til native Windows-kode?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg er en .Net-udvikler, men jeg har en situation, hvor jeg ikke kan garantere, at. Net Framework vil blive installeret på målmaskinen.


Jeg har set et par spørgsmål (her og her), der foreslår at bruge NGen til at kompilere til nativ kode. Både påpege, at du stadig har brug for rammen selv.


Jeg vil skrive en temmelig let app (grundlæggende GUI, ingen database, intet kompliceret) men af ​​forskellige grunde ønsker jeg ikke at skulle installere nogen rammer eller bytecode tolke.


Dette spørgsmål tyder på Python og Py2exe. Jeg er ikke bekendt med Python, men hvis det er det bedste værktøj til jobbet, kan jeg nok lære nok til at skrive denne app (jeg foretrækker det ikke). Jeg har også tænkt på at skrive det i DHTML og javascript - Jeg kan stole på, at maskinen har en relativt ny browser.


Jeg er bekendt med C-familien af ​​sprog, og jeg har dabbled i Java, PHP og Ruby.


Kan nogen foreslå et sprog, som jeg nemt kan kompilere til native Win32-kode?


Rediger: Afklaring


Der har været et par svar, der tyder på, at hvis jeg er bekendt med C-familien af ​​sprog, hvorfor ikke bare bruge C? Jeg bør nok afklare. Jeg bruger C # hver dag, og jeg blev opdraget på C + og C ++ (men haven ikke bruges enten i ganske få år).


Det ser ud som om C/C ++ kan være vejen at gå, men jeg skal opdatere min hukommelse på dem :)

Bedste reference


hvis det er let og intet kompliceret, og du er bekendt med C-familien af ​​sprog .. så hvorfor ikke C og Win32 Api? Det er sværere end at skrive .net eller java-programmer, men det går helt sikkert kompilere til native Windows-kode, og behøver ikke bytecode eller en tolk.


Du kan også være i stand til at bruge Mono til statisk at forbinde et C # -program med Mono-runtime. http://www.mono-project.com/Guide:Running\_Mono\_Applications[4]


Jeg ser, du skal børste op på C..here er en anden ide, så: Delphi. [5]


Der er nogle flere svar i denne tråd

Andre referencer 1


Jeg ville prøve C ++ med Qt ... Jeg synes det er en meget vigtig ramme for at lære, i betragtning af det er bare blevet LGPL.

Andre referencer 2


Hvis du er villig til at overveje en bytecode-tolk, der helt kan findes i din installation (som python-løsningen du nævner ville gøre), så kan du overveje at bruge Lua og noget som srlua til at bundle dit script sammen med tolken til en enkelt .EXE. For at få en hurtig GUI til at gå med Lua er IUP et godt valg, men der er også bindinger til andre GUI-rammer derude. [7] [8] [9]


Hvis problemet er mere en af ​​en ren installation uden mange systemafhængigheder i stedet for at forsøge at få en enkelt EXE uden DLL'er, så overvej at bruge Lua uden at bryde srlua om at pakke det. Det behøver ikke installeres på nogen magisk måde og kan leve i en enkelt mappe sammen med dit script og eventuelle nødvendige moduler i enten DLL eller script form.


Det er nemt at binde C-kaldbare funktioner til Lua-kernen, fordi forfatterne har designet det fra begyndelsen til at blive indlejret i en større applikation. Det kræver kun et par kædelængder til at oprette et Lua-kaldbart modul skrevet i C, som er distribueret i en DLL, for eksempel.


En nem måde at komme i gang med Lua sammen med et komplet sæt af nyttige moduler er Lua for Windows-projektet, som opretholder et 'batterier inkluderet' installationspakke til Lua. [10]

Andre referencer 3


Pascal/Delphi måske?


Faktisk, hvis du vil have kompatibilitet, er der ikke noget bedre end en Win32-app uden at bruge MFC. Ikke sikker på, om STL ikke sidder i nogle ekstra DLL installeret af VS.


På den anden side husker jeg, at meddelelser som VC ++ redistributables mangler ved installation, ikke sikker på om det refererede til MFC eller endda kernebiblioteker. Du må hellere ikke bruge MFC.


Du kan bruge WTL til GUI, det vil kompilere til din eksekverbare.

Andre referencer 4


Windows API selv er i C.


Hvis C ikke er let nok, kan du overveje C ++/MFC, hvilket er godt for at lave enkle GUI-programmer med minimal kodning fra din side.

Andre referencer 5


for mig dens powerbasic (www.powerbasic.com). det kompilerer native exe s (ægte, ikke byte kode med kompileren indlejret). Syntaxen er som gamle pds eller hurtig basic (men meget mere avanceret). Det tillader in-line assembler, objektorienterede klasser (valgfrit kan du Hvis du har en baggrund i c, skal du holde fast ved den. Hvis du kan lide basicy sprog, så er pb en no-brainer. Det er ligesom c med strenge. bortset fra det, hvis du kan lide pascal, delphi s compiler kan producere indfødte exes.


-Don

Andre referencer 6


NGen er designet til at optimere .NET kode ved at kompilere til native kode. Du skal stadig bruge .NET-rammen. NGen kører også i installationsprogrammet på klientmaskinen - du kan ikke distribuere indbygget kode.


Opret .NET installerprojektet, som kontrollerer rammerne og installerer det automatisk.

Andre referencer 7


Uden at vide, hvilken specifik applikationsgenre du skal skrive, er det lidt svært at sige endeligt ... men MFC (hvis du ved det) eller almindelig C/C ++ og Win32 API ville være et rimeligt valg baseret på den information du har givet.


MFC er bestemt en smule dateret .. men zillioner af apps, der leveres med det, og dets vorter til side gør det 'arbejde' til mange formål. Hvis du kan få ahold af en kopi af Visual C ++ 6.x er der masser af guider/etc, som vil hjælpe dig med at få en app ud hurtigt. Når det er sagt, ville jeg bestemt ikke foreslå at lære MFC bare til dette formål.

Andre referencer 8


På linje med C/C ++ kan du tage et kig på D-programmeringssproget. Det har størstedelen af ​​fordelen med D, herunder native binaries som standard, men er meget tættere på C # eller Java i funktionerne. Desværre mangler i værktøjet og i mindre grad libs domæne det (selvom det ændrer sig ret hurtigt). [11]

Andre referencer 9


Enten C + + eller VB6 vil fungere for dig. Tag et kig på VB6. Det er ret nemt at lære og er meget nemt at lave GUI'er med.

Andre referencer 10


Jeg elskede C ++ Builder. .NET Framework blev designet af nogle af de samme mennesker, der gjorde Borlands Visual Component Library, så hvis du går den rute, vil det virke meget kendt for dig.

Andre referencer 11


En anden mulighed er at holde fast med/.Net og bruge en. Net linker som Salamander. NET Linker eller Thinstall - på denne måde behøver du ikke bekymre dig om hvad der er på klientmaskinen.