First time with Java

Firstly I figured that the language C# is derived from C++ i.e C++++ combined into a # sign. But much of its syntax is from Java too. So getting into Java isn't the most alien (PHP yuk!) thing that you could get involved in with a C# background.

My experience so far with this new project has been pretty refreshing. I initially thought I'd try use NetBeans IDE but the rest of the project team use eclipse so why not give it a whirl. Eclipse is very configuration centric, much more so than Microsoft's analogous product Visual Studio. I actually really like the perspective views and how you can tailor them to your style in eclipse.

What is also nice is how you can essentially have many packages open in package explorer whereas in Visual Studio you're limited to just the one. Hierarchical comparison is Solution-> Project-> Class for C# and Package-> Project-> Class. There are many other nice touches like one to one mapping between namespace and reference, in fact the concept of them being separate doesn't exist. It makes for cleaner code browsing and less troubles such as the dreaded "extern alias" keyword necessity in C# when you have namespace conflicts from multiple dlls that contain the same named namespace.

As far as the language actually goes the differences so far seem pretty marginal, although some people have blogged about these extensively - C# from a Java developers perspective.

I think perhaps that because the ecosystem and tooling is free, this encourages people to be creative without having to associate a monetary value with it. Which can be seen from the vast set of tools to augment the java development environment.

Sure builds are more fiddly and updating the development kits (Jre/Jdk/Jse... the list goes on!) is a bit of a chore, but really Microsoft provides a highly abstracted way of engaging with the application that you develop, which is great as an entry point and is ideal for making quick business apps, but when you need to do more complex things in code, perhaps been closer to the metal and actually understanding what is happening there is the way to be. We'll see how the project goes, I'm sure I'll be hating on corner cases in this language at some point too!