Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / Visual J# / September 2005

Tip: Looking for answers? Try searching our database.

Disappointed at J#

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
~~~ .NET Ed ~~~ - 28 Sep 2005 21:13 GMT
First I would like to point out that having used (too) many programming
languages over the past 15 years (assembly, visual/basic, pl/1, fortran,
pascal, c, c++, java, c# I decided to give J# a try. I am however no Java
guru as I have not used the language extensively (I have preference for C#).

The company I work for is a Java company, *everything* is done in Java
except no GUI applications (all web based). Since there was a need of such
GUI beast for a small project I decided to try out J#, also mainly because I
find Visual Studio .NET a more productive development environment than the
usual Java IDEs, specially for GUI applications.

Unfortunately I ran into several shortcomings and language deformities when
using J#:

1. The language has no support for enumerations or structures :-(. It amazes
me that Java (the real language, not the J# imitation) only gets these
things included in the language in its 1.5 release (named Java 2 version 5
to confuse people even more).

2. J# uses the somewhat outdated looking set_ and get_ (with underscore) as
setter/getter properties respectively. This instead of the usual
setPropertyName and getPropertyName convention in Java.

3. The two type system is rather confusing *and* annoying to say the least.
The autocomplete throws you a bunch of Java looking methods (getThis,
setThat, equals(), remove()) and .NET methods (This, That, Equals, Remove).

4. The Java libraries (java.*) appear to come without context help because
the autocomplete provides no informational comments with those as it does
with native .NET libraries.

5. A bunch of things simply throw an exception so I wonder why the methods
are available at all. One of those that I remember was the String.Format.

6. While J# is Java syntax (which is nice) it unfortunately uses .jsl as
language extension instead of .java (copyright?). This makes it difficult to
make other tools that look/use/expect .java files. If MS had only not gone
into a fight with Java we would probably be having a better J# today.

While I attempted to create an application as closest to pure Java as
possible, I still had to stick to some .NET libraries because their
equivalent from Java were not available in the provided Java libraries :(,
specially some collections stuff, javax.* and several other.

I think that if the idea was to "lure" as many Java (and hardcore) Java
programmers into the .NET then J# simply falls short. If one could actually
use pure Java sources in .NET with the provided java dlls in .nET and maybe
some wrappers for the missing parts, then it would have been fantastic. But
then again, the cost of developing wrappers for MS.NET libraries (such as
the exceptional regular expressions) is just too much.

So quite frankly if I have to use .NET my choice still falls for C# (yes, I
did a lot of C++ and C as well in years gone past...) but if one is in a
Java company I am afraid J# is not quite up to the job.

Of course it would be greatly welcomed if J# was updated with Java 1.5
things (such as enumerations).

Well, that is all. Just a little bit of feedback# regarding this `new'
language addition to .NET
David Thielen - 28 Sep 2005 23:27 GMT
Hi;

I've been porting some java code and have a couple of comments.

First, on the enums and get/set - that's java, not J#.

You can use .java, it's just not the default.

Try J#/.net 2.0 - it's not quite java 1.2 but it's close.

The lack of documentation on the supported classes/methods is a royal
PITA.

- dave

>First I would like to point out that having used (too) many programming
>languages over the past 15 years (assembly, visual/basic, pl/1, fortran,
[quoted text clipped - 56 lines]
>Well, that is all. Just a little bit of feedback# regarding this `new'
>language addition to .NET

david@at-at-at@windward.dot.dot.net
Windward Reports -- http://www.WindwardReports.com
Page 2 Stage -- http://www.Page2Stage.com
Enemy Nations -- http://www.EnemyNations.com
me -- http://dave.thielen.com
Barbie Science Fair -- http://www.BarbieScienceFair.info
(yes I have lots of links)
David Anton - 29 Sep 2005 01:09 GMT
New in 2005:

1. ref parameters:
public void test(/** @ref */ short x)
{
}

2. bean-style properties:
/** @beanproperty */
public void setx(int var)
{
       z = var;
}

3. structs via extending System.ValueType

More details:
http://msdn2.microsoft.com/en-us/library/a65taf9w(en-us,vs.80).aspx

Signature

David Anton
www.tangiblesoftwaresolutions.com
Instant C#: VB.NET to C# Converter
Instant VB: C# to VB.NET Converter
Instant J#: VB.NET to J# Converter
Clear VB: Cleans up outdated VB.NET code

> First I would like to point out that having used (too) many programming
> languages over the past 15 years (assembly, visual/basic, pl/1, fortran,
[quoted text clipped - 56 lines]
> Well, that is all. Just a little bit of feedback# regarding this `new'
> language addition to .NET

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.