Mischsprache aus Java & C#

G

Gast2

Gast
Moin,

ich suche eine Möglichkeit Java und C# gleichzeitig zu entwickeln ... im Prinzip geht es nur darum das ich intern ein kleines Framework habe - welches den Zugriff auf die "übliche" Hardware beschleunigt ... nun setzt ich je nach Bedarf C# oder Java ein ... die logische Konsequenz daraus sind unterschiedliche DLL bzw JAR Dateien ... was in dem einen gefixt ist, ist in dem anderem noch kaputt ... neue Hardware muss natürlich doppelt implementiert werden

kann mir jemand ein Lösung empfehlen?

hand, mogel
 
T

Tomate_Salat

Gast
Das hat mich auch bereits schon interessiert. Ich versuche mit JNA C#-libs anzusprechen, bisher hatte ich aber noch nicht die Zeit, etwas lauffähiges zu entwickeln, aber ich denke dass sollte in die Richtung gehen, die du willst.
 
T

Tomate_Salat

Gast
Ist wahrscheinlich einfacher als C# in Java.
C#-erstellte-DLLs sind der Horror. Ich kriegs einfach nicht hin, diese in Java mittels JNA zu verwenden :-/.
 
G

Gast2

Gast
Alternativ geht es andersherum, Java in .NET -> IKVM.NET Home Page
nicht ganz was ich suche ... im Grunde such ich einen "Übersetzer" von einer "wilden" Hochsprache ... der mit daraus Java-Klassen bzw. C#-Klassen erstellt ... diese kann ich ja dann durch die entsprechenden Compiler jagen ... in korregiere dann nur in der "wilden" Hochsprache - übersetze es nach Java & C# - habe in beiden Sprachen den Fehler raus

aber das ist schon genial:

[duke]If you have a Java library that you would like to use in a .NET application,
run
Code:
ikvmc -target:library mylib.jar
to create mylib.dll. [/duke]
wenn das 100% funktioniert, kann ich in Zukunft ja auch in JAR Files nach Problemlösungen suchen :toll:

Ist wahrscheinlich einfacher als C# in Java.
C#-erstellte-DLLs sind der Horror. Ich kriegs einfach nicht hin, diese in Java mittels JNA zu verwenden :-/.
weil JNA (auch wie JNI) zum Zugriff auf native DLL gedacht ist ... C# DLL sind aber Assemblies ... das hat mit den nativen DLL erstmal nichts gemeinsam ... eine Assembly kannst Du in nativen Programmen auch erst einbinden, wenn Du sie in COM verfügbar gemacht hast ... dann wirst Du evt. auch erst mit Java zugreifen können ... wenn nicht, dann Java -> native DLL (Wrapper) -> Assembly (COM verfügbar) ... wie man eine Assembly COM verfübar macht weis ich nicht ... ich mache meisten rein .NET - zum Zugriff auf Win-API nutze ich dann C++/CLI
 
G

Gast2

Gast
versuchst Du mir gerade zu erklären ich muss mir selber einen Kopf um eine solche Sprache machen :rtfm:
 

Noctarius

Top Contributor
So hätte ich es nciht ausgedrückt, aber ohne die "wilde Hochsprache" zu kennen, kann vermutlich kaum einer einen tollen Tipp geben, also Ja! :D
 
G

Gast2

Gast
da ich die "wilde" Hochsprache genau suche, kann ich sie leider nicht nennen :noe: ... muss ich mir mal in einer ruhigen Minute alles wichtige von beiden Sprachen aufschreiben und anfangen
 

Noctarius

Top Contributor
Achsooooooo die Frage ist also: Gibt es so eine Sprache?

Ich hatte es so verstanden, dass ihr da etwas habt und du es umwandeln sollst.
 
G

Gast2

Gast
SQL:
SELECT * FROM sprachen WHERE language LIKE "%C#%" AND language LIKE "%JAVA%"
besser ?
 
T

Tomate_Salat

Gast
zu gut :lol:, aber Mogel hats herausgefordert xD.
----
Dachte C# erstellt nur COM, habe ich mich wohl geirrt. Werde mich melden, wenn ichs zum laufen bekomme (oder ist das überhaupt nicht relevant für dich? Kapier den Thread gerade nicht wirklich)
 

ice-breaker

Top Contributor
Hab ich irgendetwas missverstanden, dass C++ nicht als "wilde Hochsprache" (hier wortwörtlich :D) für C# und Java nutzbar ist?
Mit JNI könnte man es in Java nutzen und C# kann doch auch irgendwie in einem "Unmanaged Code"-Modus operieren.
 
T

Tomate_Salat

Gast
Wieso JNI? JNA ist wesentlich einfacher. Ich habe etwas mit Unmanaged Code gefunden, dass reduzierte sich aber auf Felder. Ich suche noch nach dem Irgendwie mit Methoden operieren.
 
A

anonym

Gast
Scala kann, soweit ich weiß, nach Java- Bytecode ODER nach Bytecode für die .Net- VM kompiliert werden. Ausprobiert hab ich das allerdings noch nicht. Als Sprache ist Scala allerdings ziemlich cool. Scala zu lernen lohnt sich also auf jeden Fall.

Ansonsten sind .NET und Java sich konzeptionell so ähnlich, dass ein Code- Translator/ Generator, der umwandelt, schaffbar sein sollte. Das größte Problem ist in meinen Augen, dass du Klassen aus der Standard- API einer der beiden Sprachen nur nutzen kannst, wenn sie in der anderen Sprache exakt so existieren. Für mich klingt das so, als müsstest du die gesamte Standard- API neu schreiben.

Ach so: Die Grundidee, eine Programmiersprache zu schaffen, die sich in andere übersetzen lässt, finde ich ziemlich cool. Am geilsten wäre, wenn das modular wäre, wenn du also zum Beispiel D oder C++ einfügen könntest, indem du ein Modul für den WH (= Wilde Hochsprache)- Compiler schreibst, dass D oder C++ Code erzeugst. Wenn du das wirklich vor hast, sieh dir mal das Interlingua- Modell der maschinellen Übersetzung an.
 
G

Gast2

Gast
Mit JNI könnte man es in Java nutzen und C# kann doch auch irgendwie in einem "Unmanaged Code"-Modus operieren.
das nennt sich P/Invoke (?) - unterm Strich so ähnlich wie JNI/JNA ... die einzige einfache Art & Weise nativen Krempel unter .NET zu verwenden ist C++/CLI ... und dann auch wirklich nur um die Aufrufe und Strukturen umzuleiten - also Wrapper ... bei C++/CLI musst Du eher wissen was Du machst als bei C++, da hier zwei Welten aufeinander prallen die unterschiedlicher nicht sein können

Ansonsten sind .NET und Java sich konzeptionell so ähnlich, dass ein Code- Translator/ Generator, der umwandelt, schaffbar sein sollte.
in der Richtung kann ich ja auch noch suchen

Das größte Problem ist in meinen Augen, dass du Klassen aus der Standard- API einer der beiden Sprachen nur nutzen kannst, wenn sie in der anderen Sprache exakt so existieren. Für mich klingt das so, als müsstest du die gesamte Standard- API neu schreiben.
im Prinzip wollte ich GUI ignorieren ... es geht eher um die internen Dinge ... Listen & Maps etc. haben beide Sprachen ... Arrays auch ... den Socket kannst Du soweit abstrahieren das er Sendet bzw. Empfängt ... I/O ist auch nicht das Problem ... damit habe ich eigentlich schon alles was wichtig ist :)

Ach so: Die Grundidee, eine Programmiersprache zu schaffen, die sich in andere übersetzen lässt, finde ich ziemlich cool. Am geilsten wäre, wenn das modular wäre, wenn du also zum Beispiel D oder C++ einfügen könntest, indem du ein Modul für den WH (= Wilde Hochsprache)- Compiler schreibst, dass D oder C++ Code erzeugst. Wenn du das wirklich vor hast, sieh dir mal das Interlingua- Modell der maschinellen Übersetzung an.
mein Prof. (bzw. einer von den tausenden) hat mal erzählt das Compilerbau die hohe Kust der Programmierung ist ... sein Fach (Formale Sprachen & Automatentheorie) habe ich im 3. Versuch bestanden - mit 4 :oops: ... also ganz so weit wollte ich eigentlich nicht gehen
 
Zuletzt bearbeitet von einem Moderator:

hartzie

Aktives Mitglied
Wenn du Code generieren willst, dann hilft die so eine Veranstaltung wie Compilerbau etc nicht viel. Das geht eher in die Richtung von model driven development. Davon kannst du dir bestimmte Konzepte zu nutze machen. Es sind ein in diesem Bereich ein paar Schritte die du für deine Zwecke verwenden kannst.
Und zwar wird ein Model in xml-Format geparst und in ein model abstract syntax tree geparst, welches wiederum in ein code-ähnlichen abstract syntax tree übersetzt wird. Dieser kann dann von verschiedenen code-Visitoren in richtigen code übersetzt werden.
In deinem Fall sind die Zielsprachen recht ähnlich, daher könnte man den code-ast recht nah an C# und Java richten.
Wenn du willst kann ich dir ein solchen code-Generator mal schicken. Der ist zwar dafür da aus statemachines C-code zu erzeugen, aber das Prinzip ist leicht verständlich. Wir können auch gemeinsam mal so einen Generator schreiben für dein Anwendungsfall.
 
G

Gast2

Gast
Wenn du willst kann ich dir ein solchen code-Generator mal schicken. Der ist zwar dafür da aus statemachines C-code zu erzeugen, aber das Prinzip ist leicht verständlich.
das Angebot würde ich gerne annehmen ... dann habe ich da mal rüber schauen und mir weitere Ideen "holen"

Wir können auch gemeinsam mal so einen Generator schreiben für dein Anwendungsfall.
muss ich leider ablehnen ... nicht weil ich nicht will - sondern weil ich keine Zeit dafür habe ... ein Projekt frisst schon meine gesamte Freizeit (restlichen Projekte habe ich gegen 2 Terroristen eingetauscht) ... daher will ich das eher nebenbei machen, zumal ich zu 90% C# nutze - Rest ist Java & Co.

unterm Strich war es nur der Versuch die Entwicklung des eigenen Frameworks in Java und C# zu vereinheitlichen

hand, mogel
 

ice-breaker

Top Contributor
Ach so: Die Grundidee, eine Programmiersprache zu schaffen, die sich in andere übersetzen lässt, finde ich ziemlich cool. Am geilsten wäre, wenn das modular wäre, wenn du also zum Beispiel D oder C++ einfügen könntest, indem du ein Modul für den WH (= Wilde Hochsprache)- Compiler schreibst, dass D oder C++ Code erzeugst. Wenn du das wirklich vor hast, sieh dir mal das Interlingua- Modell der maschinellen Übersetzung an.

Na dann würde ich mir mal Dinge wie XMLVM oder LLVM ansehen ;)
 
G

Gast2

Gast
Woher bekommst du den Infos zu den gemeinsan genutzen Ressourcen? Gibt doch Frameworks und Templatesprachen wo du deine eigenen Ressourcen generieren kannst. Dann kannst du doch java und c files generieren lassen.
 

Wildcard

Top Contributor

Noctarius

Top Contributor
Ja Grasshopper scheint ein Java-Crosscompiler zu sein. Netter Ansatz. Ich frage mich nur gerade, haben die das .NET Classlib nachgebaut oder tauschen die echt die Klassen und Methoden aus? Oo
 

schlingel

Gesperrter Benutzer
Vielleicht interessanter für dich als da alles neu zu bauen:

Innerhalb des Mono-Projekts gibt es Code der dieses Zusammenspiel umsetzt. Dafür werden die VMs kurzgeschlossen und über Bridge-Objekte Daten ausgetauscht. (Wird z.B. in MonoDroid so gemacht.)

@TomatenSalat
COM ist der Großvater von .Net mit DCOM/COM++ dazwischen. Und managed Code kann zwar unmanaged operieren bleibt aber dennoch managed code. Das einzige was sich anbietet ist mit dem ILASM PE-Files aus den CLI-Files zu erzeugen.

Wie leicht sich das mit dem JNI verwenden lässt steht jedoch auf einem anderen Blatt.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Umwandung von Vb auf Java Softwareentwicklung 1
von Spotz Kommunikation zwischen Java und Container Orchestrator (Microservices) Softwareentwicklung 11
S Microservices in Java Spring: Nebenläufigkeitsprobleme lösen Softwareentwicklung 6
temi Elementfunktionen vs. Nichtelementfunktionen in Java Softwareentwicklung 20
R Umsetzungen in Java vs. Umsetzungen auf Datenbankebene Softwareentwicklung 9
L Module Eclipse Java 9 Softwareentwicklung 12
R Software-Architekt (Schwerpunkt Java) Softwareentwicklung 9
S VB.NET / C# als Java-Entwickler? Softwareentwicklung 2
J Java Kentnisse vertiefen oder andere Programmiersprache probieren? Softwareentwicklung 8
U Java vs. anderen plattformunabhängige Programmiersprachen Softwareentwicklung 8
S JNI Java from C Softwareentwicklung 0
H [Java]Regex Hilfe Softwareentwicklung 3
D Teamspeak Java html app Softwareentwicklung 5
N UML Komponenten als Java-Klassen abbilden Softwareentwicklung 4
S Java Anfänger hat Probleme mit Scanner Softwareentwicklung 6
C Lohnt es sich noch ein neues Projekt in C++ anstatt Java zu realisieren? Softwareentwicklung 4
U Java oder welche Sprache? Softwareentwicklung 98
MrWhite Ist Java gar nicht sooo objektorientiert??! Softwareentwicklung 16
J Java Long-Werte in C++ auslesen Softwareentwicklung 4
K Mit "Java" html-Seite entscripten Softwareentwicklung 6
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
H COBOL und Java Softwareentwicklung 17
H Java als Backend, Javascript als View Softwareentwicklung 3
D Sind EJB Komponenten auch mit Java Swing nutzbar? Softwareentwicklung 8
U Decorator Pattern in der Java API Softwareentwicklung 6
J Java Software nach C++ portieren Softwareentwicklung 6
C Unterschiede: C++ vs. C# vs. Java Softwareentwicklung 21
G Umstieg Java/Oracle => C#/MSSQL Softwareentwicklung 13
A Jira durch Java ansprechen Softwareentwicklung 18
M Immutable Objekte und funktionales Programmieren in Java oder Scala Softwareentwicklung 34
B [Web 2.0] Java vs PHP Softwareentwicklung 28
Raidri Flex mit Java Softwareentwicklung 2
L Java + WCF Softwareentwicklung 9
Airwolf89 Java-Programm in C++ portieren Softwareentwicklung 4
T Kapselung nich vollständig umgesetzt in Java? Softwareentwicklung 4
J Korpus mit Python einlesen - weiterbearbeiten mit Java Softwareentwicklung 4
N c# nach java Softwareentwicklung 14
K Suche freies UML Tool um aus .java dateien Diagramme zu. Softwareentwicklung 8
D Java in KLassen, schon vorhanden? Softwareentwicklung 3
B Was ist besser für Grafiken? Java oder C#? Softwareentwicklung 9
R Java Passwort verschlüsseln --> kompliziert! wirklich doo Softwareentwicklung 13
F vorteile php gegenüber java? Softwareentwicklung 46
M Umwandlung von String in java.sql.Date Softwareentwicklung 2
lolkind Iso Datein per Java über Windows XP brennen Softwareentwicklung 13
U [Diskussion] Java vs. C# Softwareentwicklung 208
E Java Programm distributen Softwareentwicklung 35
J Hardware zugriff mit java? Softwareentwicklung 4
N Für und Wieder von Java und .NET (primär C#) | Performance Softwareentwicklung 6
G java.lang.ArrayIndexOutOfBoundsException Softwareentwicklung 5
E Default Java unter Linux aendern? Softwareentwicklung 3
S arabische Buchstaben in java ?:L Softwareentwicklung 3
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
G Serveranbindung mit java Softwareentwicklung 24
P Grafik-Programm mit JAVA? Softwareentwicklung 21
G Umstieg von Delphi zu JAVA (wichtige Fragen!) Softwareentwicklung 41
F Welche Sprache sieht ähnlich aus wie Java? Softwareentwicklung 7
T Suche A Star Java Beispielprogramm Softwareentwicklung 2
D C# zu Java - Übersetzer gesucht. Softwareentwicklung 3
F Windows Media Player in Java? Softwareentwicklung 11
C C code in java umschreiben Softwareentwicklung 9
O java und c# - die zweite. Softwareentwicklung 7
S Problem PJIRC java-applet Softwareentwicklung 4
U Geeignete Plattform für Projekt (JSP, PHP, Java-Anwendung) Softwareentwicklung 7
G C++ in JAVA verpacken Softwareentwicklung 2
D C# vs. java Softwareentwicklung 16
G Darstellung von Java-Projekten mit UML Softwareentwicklung 3
E Java & Performance Softwareentwicklung 9
T Brauche für meinen Java-Code dringend Hilfe Softwareentwicklung 4
B Wo bekommt man fertige Java-Programme (z.B. für Lsg LGS) Softwareentwicklung 3
W Herangehensweise an ein Java Programm Softwareentwicklung 4
B Programmierung eines 8051-Assemblers unter Java Softwareentwicklung 3
M Bidirektionale Assoziazion in Java realisieren? Softwareentwicklung 3
J Java <-> C# Softwareentwicklung 1
S c# schneller java - wieso ? Softwareentwicklung 12
D C++ und Java Softwareentwicklung 61

Ähnliche Java Themen

Neue Themen


Oben