Visual J Sharp: Difference between revisions
m Undid revision 967519779 by 68.151.220.64 (talk) |
Citation bot (talk | contribs) Added date. | Use this bot. Report bugs. | Suggested by Spinixster | Category:Java development tools | #UCB_Category 21/74 |
||
(34 intermediate revisions by 29 users not shown) | |||
Line 1: | Line 1: | ||
⚫ | |||
{{Short description|Programming language}} |
{{Short description|Programming language}} |
||
⚫ | |||
{{Correct title|title=J#|reason=hash}} |
{{Correct title|title=Visual J#|reason=hash}} |
||
{{Infobox programming language |
{{Infobox programming language |
||
| name |
| name = Visual J# |
||
| logo |
| logo = |
||
⚫ | |||
| caption = |
|||
| paradigm = [[Object-oriented programming|Object-oriented]], [[structured programming|structured]], [[imperative programming|imperative]] |
|||
⚫ | |||
⚫ | |||
| paradigm = Object-oriented, structured, imperative |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
| discontinued = yes |
|||
⚫ | |||
| discontinued = October 2017 <!-- Set to yes if software is discontinued, otherwise omit. --> |
|||
| ver layout = <!-- simple (default) or stacked --> |
| ver layout = <!-- simple (default) or stacked --> |
||
| latest_release_version = v2.0 Second Edition |
| latest_release_version = v2.0 Second Edition |
||
| latest_release_date |
| latest_release_date = {{Start date and age|2007|05|18|df=yes}} |
||
| latest_test_version |
| latest_test_version = |
||
| latest_test_date |
| latest_test_date = |
||
| typing |
| typing = |
||
| implementations |
| implementations = |
||
| dialects |
| dialects = |
||
| influenced_by |
| influenced_by = [[Java (programming language)|Java]] and [[Visual J++]] |
||
| influenced |
| influenced = |
||
| platform |
| platform = [[.NET Framework]] |
||
| license |
| license = |
||
| website |
| website = |
||
| wikibooks |
| wikibooks = |
||
}} |
}} |
||
'''Visual J#''' (pronounced "jay-[[sharp (music)|sharp]]") is |
'''Visual J#''' (pronounced "jay-[[sharp (music)|sharp]]") is a discontinued implementation of the J# [[programming language]] that was a transitional language for programmers of [[Java (programming language)|Java]] and [[Visual J++]] languages, so they could use their existing knowledge and applications with the [[.NET Framework]].<ref>{{Cite web|url=https://msdn.microsoft.com/en-us/vstudio/bb188593|title=Visual J# Home|website=msdn.microsoft.com|language=en|access-date=2017-03-24}}</ref><ref>{{Cite web |url=http://msdn2.microsoft.com/en-us/vjsharp/aa700852.aspx |title=Java to .NET Framework Migration Workshop: Free Online Training |date=30 April 2007 |access-date=2020-01-28 |archive-url=https://web.archive.org/web/20080423005729/http://msdn2.microsoft.com/en-us/vjsharp/aa700852.aspx |archive-date=2008-04-23 |url-status=bot: unknown }}</ref> It was introduced in 2002<ref>Microsoft News, [https://news.microsoft.com/2002/07/01/microsoft-rounds-out-developer-languages-with-launch-of-visual-j-net/], 1 July 2002</ref> and discontinued in 2007, with support for the final release of the product continuing until October 2017. |
||
J# worked with [[Java bytecode]] as well as source so it could be used to transition applications that used third-party [[Library (computer science)|libraries]] even if their original [[source code]] was unavailable.{{Citation needed|date=February 2017}} It was developed by the [[Hyderabad, Telangana|Hyderabad]]-based [[HITEC City#Microsoft Hyderabad Campus|Microsoft India Development Center at HITEC City]] in India.<ref>S Prasanna, [http://www.expresscomputeronline.com/20020729/indnews3.shtml Microsoft's VJ#.Net is made in India], ''Express Computer'', 29 July 2002 {{webarchive|url=https://web.archive.org/web/20131128170355/http://computer.financialexpress.com/20020729/indnews3.shtml |date=28 November 2013 }}</ref><ref>{{cite news|title=The Hindu Business Line : Microsoft lines up |
J# worked with [[Java bytecode]] as well as source so it could be used to transition applications that used third-party [[Library (computer science)|libraries]], even if their original [[source code]] was unavailable.{{Citation needed|date=February 2017}} It was developed by the [[Hyderabad, Telangana|Hyderabad]]-based [[HITEC City#Microsoft Hyderabad Campus|Microsoft India Development Center at HITEC City]] in India.<ref>S Prasanna, [http://www.expresscomputeronline.com/20020729/indnews3.shtml Microsoft's VJ#.Net is made in India], ''Express Computer'', 29 July 2002 {{webarchive|url=https://web.archive.org/web/20131128170355/http://computer.financialexpress.com/20020729/indnews3.shtml |date=28 November 2013 }}</ref><ref>{{cite news|title=The Hindu Business Line : Microsoft lines up big plans for Hyderabad centre|url=http://www.thehindubusinessline.com/bline/2002/08/15/stories/2002081500530700.htm|work=www.thehindubusinessline.com}}</ref> |
||
The implementation of Java in [[Visual J++]], MSJVM, did not pass [[Sun Microsystems|Sun]]'s compliance tests leading to a lawsuit from Sun, Java's creator, and creation of J#. Microsoft ceased such support for the MSJVM on December 31, 2007 (later Oracle bought Sun, and with it Java and its trademarks). Microsoft however, officially started distributing Java again in 2021 (though not bundled with Windows or its web browsers as before with J++), i.e. their build of Oracle's OpenJDK,<ref>{{Cite web|date=2021-05-25|title=Announcing General Availability of Microsoft Build of OpenJDK|url=https://devblogs.microsoft.com/java/announcing-general-availability-of-microsoft-build-of-openjdk/|access-date=2021-08-03|website=Java at Microsoft|language=en-US}}</ref> which Microsoft plans to support for at least 6 years, for LTS versions, i.e. to September 2027 for Java 17. |
|||
==Fundamental differences between J# and Java== |
==Fundamental differences between J# and Java== |
||
Line 39: | Line 40: | ||
…and change the corresponding private variable name to be different from the suffix of the getXxx/setXxx names{{Citation needed|date=February 2017}}. |
…and change the corresponding private variable name to be different from the suffix of the getXxx/setXxx names{{Citation needed|date=February 2017}}. |
||
J# does not compile Java-language source code to Java bytecode (.class files), and does not support [[Java applet]] development or the ability to host applets directly in a [[web browser]], although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as [[ActiveX]] objects. Finally, [[Java Native Interface]] (JNI) and [[Java Native Interface#Microsoft.27s RNI|raw native interface]] (RNI) are substituted with [[Platform Invocation Services|P/Invoke]]; J# does not support [[remote method invocation]] (RMI).{{ |
J# does not compile Java-language source code to Java bytecode (.class files), and does not support [[Java applet]] development or the ability to host applets directly in a [[web browser]], although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as [[ActiveX]] objects. Finally, [[Java Native Interface]] (JNI) and [[Java Native Interface#Microsoft.27s RNI|raw native interface]] (RNI) are substituted with [[Platform Invocation Services|P/Invoke]]; J# does not support [[remote method invocation]] (RMI).<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/7622y256(v=vs.80).aspx|title=Visual J# Migration|department=[[Visual Studio 2005]]|work=[[MSDN Library]]|archive-url=https://web.archive.org/web/20120316061217/http://msdn.microsoft.com/en-us/library/7622y256(v=vs.80).aspx|archive-date=2012-03-16|access-date=2021-12-25}}</ref> |
||
''[[InfoWorld]]'' said: "J#'s interface to the .NET framework is solid, but not as seamless as [[C Sharp (programming language)|C#]]. In particular, J# code cannot define new .NET attributes, events, value types, or delegates. J# can make use of these language constructs if they are defined in an assembly written in another language, but its inability to define new ones limits J#'s reach and interoperability compared to other .NET languages."<ref>{{cite web |last1=Yager |first1=Tom |date=2001-11-21 |df=dmy |url=https://www.infoworld.com/article/2075819/just-don-t-call-j--java.html |title=Just don't call J# Java |work=[[InfoWorld]] |access-date=2020-07-20}}</ref> |
|||
Contrariwise, Microsoft documentation for Visual Studio 2005 details the definition of .NET delegates,<ref>{{ |
Contrariwise, Microsoft documentation for Visual Studio 2005 details the definition of .NET delegates,<ref>{{cite web |url=https://msdn.microsoft.com/en-us/library/0kks3c36(v=vs.80).aspx |title=delegate (Visual J#) |department=[[Visual Studio 2005]] |work=[[MSDN Library]] |archive-url=https://web.archive.org/web/20111219230625/http://msdn.microsoft.com/en-US/library/0kks3c36(v=VS.80).aspx |archive-date=2011-12-19}}</ref> events,<ref>{{cite web |url=https://msdn.microsoft.com/en-us/library/09b0135h(v=vs.80).aspx |title=Definition and Use of Events |department=[[Visual Studio 2005]] |work=[[MSDN Library]] |archive-url=https://web.archive.org/web/20111219230625/https://msdn.microsoft.com/en-us/library/09b0135h(v=vs.80).aspx |archive-date=2011-12-19}}</ref> and value types<ref>{{cite web |url=https://msdn.microsoft.com/en-us/library/wysdab55(v=vs.80).aspx |title=User-Defined Value Types |department=[[Visual Studio 2005]] |work=[[MSDN Library]] |archive-url=https://web.archive.org/web/20111220004451/http://msdn.microsoft.com/en-US/library/wysdab55(v=VS.80).aspx |archive-date=2011-12-20}}</ref> directly in J#. |
||
== |
==History of J#== |
||
In January 2007, Microsoft announced:<ref>Microsoft Developer Network, [http://msdn.microsoft.com/en-us/vjsharp/ Visual J# Product Announcement], 10 January 2007</ref> |
In January 2007, Microsoft announced:<ref>Microsoft Developer Network, [http://msdn.microsoft.com/en-us/vjsharp/ Visual J# Product Announcement], 10 January 2007</ref> |
||
* That Microsoft would produce an updated version of Visual J# 2.0, including a [[64-bit computing|64-bit]] [[freely redistributable software|redistributable]] version, called J# 2.0 Second Edition to meet customer demand for 64-bit runtime support. Microsoft released Visual J# 2.0 Second Edition in May 2007.<ref>{{Cite web |url=http://www.microsoft.com/downloads/details.aspx?familyid=42C46554-5313-4348-BF81-9BB133518945&displaylang=en |title=Visual J# 2.0 Second Edition Redistributable Download |access-date=2010-04-27 |archive-url=https://web.archive.org/web/20070523221606/http://www.microsoft.com/downloads/details.aspx?familyid=42C46554-5313-4348-BF81-9BB133518945&displaylang=en |archive-date=2007-05-23 |url-status=bot: unknown }}</ref> |
* That Microsoft would produce an updated version of Visual J# 2.0, including a [[64-bit computing|64-bit]] [[freely redistributable software|redistributable]] version, called J# 2.0 Second Edition to meet customer demand for 64-bit runtime support. Microsoft released Visual J# 2.0 Second Edition in May 2007.<ref>{{Cite web |url=http://www.microsoft.com/downloads/details.aspx?familyid=42C46554-5313-4348-BF81-9BB133518945&displaylang=en |title=Visual J# 2.0 Second Edition Redistributable Download |website=[[Microsoft]] |access-date=2010-04-27 |archive-url=https://web.archive.org/web/20070523221606/http://www.microsoft.com/downloads/details.aspx?familyid=42C46554-5313-4348-BF81-9BB133518945&displaylang=en |archive-date=2007-05-23 |url-status=bot: unknown }}</ref> |
||
* Retirement of the J# language and Java Language Conversion Assistant from future versions of ''[[Visual Studio]]''. The last version, shipping with Visual Studio 2005, was supported until 2015. |
* Retirement of the J# language and Java Language Conversion Assistant from future versions of ''[[Visual Studio]]''. The last version, shipping with Visual Studio 2005, was supported until 2015. |
||
* Calling J# code from .NET 4.0 code would fail unless vjsnativ.dll was pre-loaded.<ref>{{cite web|url=http://blogs.windwardreports.com/davidt/2011/02/calling-j-code-from-net-40.html|title=Calling J# code from .NET 4.0 - Windward Wrocks| |
* Calling J# code from .NET 4.0 code would fail unless vjsnativ.dll was pre-loaded.<ref>{{cite web|url=http://blogs.windwardreports.com/davidt/2011/02/calling-j-code-from-net-40.html|title=Calling J# code from .NET 4.0 - Windward Wrocks|access-date=6 March 2017}}</ref> |
||
The download of Visual J# 2005 Express Edition is no longer available from Microsoft's website. |
|||
Visual J# is out of |
Visual J# is out of support including the Visual J# 2.0 Redistributable Second Edition released in 2007, that was supported through to 2017 "(5 years mainstream and 5 years extended support) on EN-US locales."<ref>{{cite web|url=https://msdn.microsoft.com/en-us/vstudio/bb188593|title=Visual J# Home|access-date=6 March 2017}}</ref><ref>{{Cite news|url=https://blogs.msdn.microsoft.com/visualstudio/2017/04/10/end-of-support-for-visual-studio-2008-in-one-year/|title=End of Support for Visual Studio 2008 – in One Year|access-date=2017-04-11|language=en-US}}</ref> |
||
==See also== |
==See also== |
||
Line 63: | Line 64: | ||
==External links== |
==External links== |
||
* {{ |
* {{webarchive|url=https://web.archive.org/web/20080226122937/http://msdn2.microsoft.com:80/en-us/vjsharp/default.aspx|date=February 26, 2008|title=Official website}} |
||
* {{webarchive|url=https://web.archive.org/web/20070416013526/http://msdn2.microsoft.com:80/en-us/vjsharp/bb188610.aspx|date=2007-04-16|title=Visual J# Design Choices: A Conversation with Pratap Lakshman}} |
* {{webarchive|url=https://web.archive.org/web/20070416013526/http://msdn2.microsoft.com:80/en-us/vjsharp/bb188610.aspx|date=2007-04-16|title=Visual J# Design Choices: A Conversation with Pratap Lakshman}} |
||
{{.NET Framework}} |
{{.NET Framework}} |
||
{{Common Language Infrastructure}} |
{{Common Language Infrastructure}} |
||
{{Microsoft development tools}} |
|||
{{Authority control}} |
|||
[[Category:.NET programming languages]] |
[[Category:.NET programming languages]] |
||
Line 73: | Line 77: | ||
[[Category:Java development tools]] |
[[Category:Java development tools]] |
||
[[Category:Java programming language family]] |
[[Category:Java programming language family]] |
||
[[Category:Microsoft |
[[Category:Microsoft programming languages]] |
||
[[Category:Microsoft Visual Studio|J#]] |
|||
[[Category:Discontinued Microsoft development tools]] |
Latest revision as of 09:53, 3 April 2024
Paradigm | Object-oriented, structured, imperative |
---|---|
Developer | Microsoft |
First appeared | July 1, 2002 |
Final release | v2.0 Second Edition
/ 18 May 2007 |
Platform | .NET Framework |
Website | msdn2 |
Influenced by | |
Java and Visual J++ |
Visual J# (pronounced "jay-sharp") is a discontinued implementation of the J# programming language that was a transitional language for programmers of Java and Visual J++ languages, so they could use their existing knowledge and applications with the .NET Framework.[1][2] It was introduced in 2002[3] and discontinued in 2007, with support for the final release of the product continuing until October 2017.
J# worked with Java bytecode as well as source so it could be used to transition applications that used third-party libraries, even if their original source code was unavailable.[citation needed] It was developed by the Hyderabad-based Microsoft India Development Center at HITEC City in India.[4][5]
The implementation of Java in Visual J++, MSJVM, did not pass Sun's compliance tests leading to a lawsuit from Sun, Java's creator, and creation of J#. Microsoft ceased such support for the MSJVM on December 31, 2007 (later Oracle bought Sun, and with it Java and its trademarks). Microsoft however, officially started distributing Java again in 2021 (though not bundled with Windows or its web browsers as before with J++), i.e. their build of Oracle's OpenJDK,[6] which Microsoft plans to support for at least 6 years, for LTS versions, i.e. to September 2027 for Java 17.
Fundamental differences between J# and Java
[edit]Java and J# use the same general syntax but there are non-Java conventions in J# to support the .NET environment. For example, to use .NET "properties" with a standard JavaBean class, it is necessary to prefix getter and setter methods with the Javadoc-like annotation:
/** @beanproperty */
…and change the corresponding private variable name to be different from the suffix of the getXxx/setXxx names[citation needed].
J# does not compile Java-language source code to Java bytecode (.class files), and does not support Java applet development or the ability to host applets directly in a web browser, although it does provide a wrapper called Microsoft J# Browser Controls for hosting them as ActiveX objects. Finally, Java Native Interface (JNI) and raw native interface (RNI) are substituted with P/Invoke; J# does not support remote method invocation (RMI).[7]
InfoWorld said: "J#'s interface to the .NET framework is solid, but not as seamless as C#. In particular, J# code cannot define new .NET attributes, events, value types, or delegates. J# can make use of these language constructs if they are defined in an assembly written in another language, but its inability to define new ones limits J#'s reach and interoperability compared to other .NET languages."[8]
Contrariwise, Microsoft documentation for Visual Studio 2005 details the definition of .NET delegates,[9] events,[10] and value types[11] directly in J#.
History of J#
[edit]In January 2007, Microsoft announced:[12]
- That Microsoft would produce an updated version of Visual J# 2.0, including a 64-bit redistributable version, called J# 2.0 Second Edition to meet customer demand for 64-bit runtime support. Microsoft released Visual J# 2.0 Second Edition in May 2007.[13]
- Retirement of the J# language and Java Language Conversion Assistant from future versions of Visual Studio. The last version, shipping with Visual Studio 2005, was supported until 2015.
- Calling J# code from .NET 4.0 code would fail unless vjsnativ.dll was pre-loaded.[14]
The download of Visual J# 2005 Express Edition is no longer available from Microsoft's website.
Visual J# is out of support including the Visual J# 2.0 Redistributable Second Edition released in 2007, that was supported through to 2017 "(5 years mainstream and 5 years extended support) on EN-US locales."[15][16]
See also
[edit]- IKVM.NET – a free implementation of Java for Mono and .NET Framework
References
[edit]- ^ "Visual J# Home". msdn.microsoft.com. Retrieved 2017-03-24.
- ^ "Java to .NET Framework Migration Workshop: Free Online Training". 30 April 2007. Archived from the original on 2008-04-23. Retrieved 2020-01-28.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ Microsoft News, [1], 1 July 2002
- ^ S Prasanna, Microsoft's VJ#.Net is made in India, Express Computer, 29 July 2002 Archived 28 November 2013 at the Wayback Machine
- ^ "The Hindu Business Line : Microsoft lines up big plans for Hyderabad centre". www.thehindubusinessline.com.
- ^ "Announcing General Availability of Microsoft Build of OpenJDK". Java at Microsoft. 2021-05-25. Retrieved 2021-08-03.
- ^ "Visual J# Migration". Visual Studio 2005. MSDN Library. Archived from the original on 2012-03-16. Retrieved 2021-12-25.
- ^ Yager, Tom (21 November 2001). "Just don't call J# Java". InfoWorld. Retrieved 2020-07-20.
- ^ "delegate (Visual J#)". Visual Studio 2005. MSDN Library. Archived from the original on 2011-12-19.
- ^ "Definition and Use of Events". Visual Studio 2005. MSDN Library. Archived from the original on 2011-12-19.
- ^ "User-Defined Value Types". Visual Studio 2005. MSDN Library. Archived from the original on 2011-12-20.
- ^ Microsoft Developer Network, Visual J# Product Announcement, 10 January 2007
- ^ "Visual J# 2.0 Second Edition Redistributable Download". Microsoft. Archived from the original on 2007-05-23. Retrieved 2010-04-27.
{{cite web}}
: CS1 maint: bot: original URL status unknown (link) - ^ "Calling J# code from .NET 4.0 - Windward Wrocks". Retrieved 6 March 2017.
- ^ "Visual J# Home". Retrieved 6 March 2017.
- ^ "End of Support for Visual Studio 2008 – in One Year". Retrieved 2017-04-11.
External links
[edit]- Official website at the Wayback Machine (archived February 26, 2008)
- Visual J# Design Choices: A Conversation with Pratap Lakshman at the Wayback Machine (archived 2007-04-16)