J sharp
Van Wikipedia
J# (uitgesproken als J sharp) is Microsoft's implementatie van Sun's Java. J# is in feite een kopie van Java, zodat het voor Java programmeurs eenvoudig is hun bestaande Java applicaties over te zetten naar het .NET framework. Het sterke van J# is dat het zowel met java bytecode (door de compiler gegenereerde code die wordt uitgevoerd door een virtuele machine) als met java zelf overweg kan. Dit is een groot voordeel als de originele broncode niet (meer) beschikbaar is.
In het algemeen wordt gezegd dat J# niet van hetzelfde niveau is als bijvoorbeeld C# of VB.NET, mede omdat er voor J# veel minder voorbeelden, tutorials, bronnen en updates beschikbaar zijn. Toch is ook J# gewoon een onderdeel van het .NET framework, en heeft het toegang tot alle functionaliteit die in de CLR (Common Language Runtime) geboden wordt. Als er alleen maar java bytecode hoeft worden gedraaid, dan is een goed alternatief misschien IKVM.NET, wat een java framework is dat bovenop het .NET framework draait.
[bewerk] Verschillen tussen J# en Java
In het algemeen is de syntax hetzelfde, maar er zijn in J# bepaalde aanpassingen gedaan om de functionaliteit van .NET te ondersteunen. Standaard ondersteund Java geen property's, en om toch deze functionaliteit te bieden moeten getters en setters in J# aan bepaalde voorwaarden voldoen.
Voorbeeld van een klasse met een setter en een getter:
public class property { private String naam; /** @property */ public void set_Naam(String naam) { this.naam = naam; } /** @property */ public String get_Naam() { return this.naam; } }
Zoals hierboven moet een property voorzien zijn van het sleutelwoord property in javadoc style, dus met een @ ervoor. Verder moeten de functies beginnen met get_ en set_, en moet de variabele naam zoals die gebruikt wordt in de functie verschillen met de variabele naam zoals die binnen de klasse gedefinieerd is. De namen van de functies die bij dezelfde property horen moeten hetzelfde zijn om lees- en schrijf functionaliteit te verkrijgen, maar om een property bijvoorbeeld alleen-lezen te maken kan de setter natuurlijk gewoon weggelaten worden.
Een aantal verschillen met java zijn dat J# niet compileert naar java bytecode, dat het ontwikkelen van java applets niet wordt ondersteund, en ook niet de mogelijkheid om java applets te hosten in een browser. Als laatste worden de Java Native Interface en de Raw Native Interface vervangen door P/Invoke, en wordt het gebruik van Remote Method Invocation niet ondersteund.
[bewerk] Externe links
- (en) Visual J# Home
- (en) Visual J# Express Edition
- (en) Property's in J#
{{{afb_links}}} | Overzicht van programmeertalen | {{{afb_rechts}}} | {{{afb_groot}}} |
---|---|---|---|
Industrieel: Ada - AWK - Assembler - C - C++ - C# - COBOL - F# - Fortran - J# - Java - JavaScript - Lisp - Object Pascal - Pascal - Perl - PHP - Python - Visual Basic Academisch: Eiffel - Haskell - Logo - ML - Prolog - Scheme - Smalltalk Historisch: ALGOL - APL - BASIC - Clipper - MUMPS - PL/I - PowerBuilder - Simula |