.net or java?

jonneymendoza

Supreme [H]ardness
Joined
Sep 11, 2004
Messages
6,419
Hi lads. im currently a mobile java developer(j2me and android) and kind of looking to change into either core java(spring, hibernate j2ee stuff) or venture into .net

what you guys think. i looked into c# briefly and i reckon i could migrate to thatpretty swifty as it uses same syntax as java
 
IMHO, the biggest difference is that there's a lot more open-source in Java & you can deploy on Unix.
 
Syntax really isn't the issue with C based languages, its understanding the frameworks that's MUCH more challenging and there's a ton of open and free source for .NET, many of the more interesting Java projects are in .NET as well.
 
I went from Java to C# / .Net when I started my current job.

The transition is fairly smooth when you move in that direction, since pretty much everything you'd do in Java "just works" the about same in C#. The main issue is just learning the API and a different set of tools and libraries for common stuff. The extra bits that C# has on top of Java isn't that important from the get-go.
-
The downside of venturing into C# is that Java will seem old and rigid when you go back. Especially when you get into lambdas and generics where C# / CLR allows for a lot of stuff that the JVM has no clue about, like lack of function types, lack of closures and generics not part of the JVM type system and stuff like that... which kind of forces a lot more type definitions and boilerplate code in Java that you don't see until you dig into C# a bit deeper.
 
Interesting info. i got a interview for a .NET role with mobile development in mind and they said they are willing to train me on .net stuff.

fingers crossed lads. i would love to join a company willing to give me a few months to get up to speed with .NET as i find it to be a fascinating framework and well their are MILLIONS of .net roles and about 5-6 androi developer roles lol.

Does .net have a larger marketshare then java?
 
Does .net have a larger marketshare then java?
The few reports I've seen usually have some flavor of C or Java as the top two. Here's one comparison I found. And while that list is almost a year old, I wouldn't expect such a dramatic shift since its creation that would render those statistics useless.

But my question is "How much does that matter to you?" If you enjoy it and the demand is out there, then you've at least got enough to happily put a roof over your head and food on the table ;)
 
.NET for mobile development?

Run... run as fast as you can. Unless you are looking to specifically get into mobile development and think of using it as a stepping stone.

The only platform that does .NET on mobile at the moment is windows mobile pre-7... and it is a dead platform.

You'll most likely be doing mostly support work. Compact framework is such a .... bitch. Out of all platforms (and I developed for Blackberry, iPhone, Android, plain J2ME and WM) WM is the crappiest of them all... imho.


For mobile development Java rules them all, followed C and Objective C while .NET is running somewhere far in background...

Can hardly believe you have hard time finding a mobile developer job. There are so many offers on the market right now, the sector is really booming right now.
 
Last edited:
I went from Java to C# / .Net when I started my current job.

The transition is fairly smooth when you move in that direction, since pretty much everything you'd do in Java "just works" the about same in C#. The main issue is just learning the API and a different set of tools and libraries for common stuff. The extra bits that C# has on top of Java isn't that important from the get-go.
-
The downside of venturing into C# is that Java will seem old and rigid when you go back. Especially when you get into lambdas and generics where C# / CLR allows for a lot of stuff that the JVM has no clue about, like lack of function types, lack of closures and generics not part of the JVM type system and stuff like that... which kind of forces a lot more type definitions and boilerplate code in Java that you don't see until you dig into C# a bit deeper.

Java has generics, it's just a compile-time feature while C# implements it at runtime, although I don't know the specifics. Also, while Java doesn't have closures, (yet, they are coming in Java 7) we have anonymous inner classes which can do some of the same things you can do with closures.
 
khaki said:
Java has generics, it's just a compile-time feature while C# implements it at runtime
Hence why I said the JVM has no clue about it. Being just a compiler decoration in Java, it doesn't actually let you do anything other than save you from putting in explicit casts.

You can do most of the same stuff with Java, but it makes a bit more of a meal out of it, . C# has a bit more expressiveness built into it through the features mentioned; state what you want to do with less seremonial code. It's a bit more effective and a bit more readable. Hence why going from writing that boilerplate code in Java after you've dug into those features seems like a step backwards.

Anonymous inner classes are kind of the ultimate example of this, which is cleaner?

C# (single line):
Code:
        Func<int, int, int> add = (x, y) => x + y;
What it takes to do the same in Java (8 type declarations, 5 lines, yet only one of them describes what's I'm trying to do):
Code:
        public interface Operation<T> {
		public T DoStuff(T x, T y);
	}

	Operation add = new Operation<Integer>() {
		public Integer DoStuff(Integer x, Integer y) { 
			return x + y; 
		}
	};
Java is a bit like toolbox with only a hammer in it: It'll help you get the job done as long as you can make your problem look like a nail first (force it into an instance object).

Closures for Java is coming, but they've been going on since 2006 and it's still not an official JSR yet, and JSR's tend to stick around for quite some time before they make it into Java too. Doesn't look like their going to relax checked exceptions or introduce general type inference (only on creation of generic classes), so they'll still make a big meal out of the static typing that Java always have.

(Their most active and prominent community member working on the proposal spec is Neal Gafter, who left Sun to become a .NET language dev at Microsoft just after Java 1.5 ;) )

I apologise that this might seem like a bit of a hate post on Java, it isn't meant that way. I like Java and still do work with it from time to time. But what I like about it is more the eco-system and community around it. The language itself as a programming language, to write software in, just feels like it's... getting a bit stale... It's like they released 1.6 in 2006 and said "Yep, we're done". But they're not, there's a lot of neat features and concepts left to be exploited.
 
Last edited:
.NET for mobile development?

Run... run as fast as you can. Unless you are looking to specifically get into mobile development and think of using it as a stepping stone.

The only platform that does .NET on mobile at the moment is windows mobile pre-7... and it is a dead platform.

You'll most likely be doing mostly support work. Compact framework is such a .... bitch. Out of all platforms (and I developed for Blackberry, iPhone, Android, plain J2ME and WM) WM is the crappiest of them all... imho.


For mobile development Java rules them all, followed C and Objective C while .NET is running somewhere far in background...

Can hardly believe you have hard time finding a mobile developer job. There are so many offers on the market right now, the sector is really booming right now.
No mate .net web services.

over here in the UK there is about 10-15 android roles currently recruiting as i type this while their are literely 100000 of .net and core java roles out their.

Half of the android roles are also contract only and only 2-3months contract but im looking for a permanent role has contract is a bit risky.
 
Hi lads. im currently a mobile java developer(j2me and android) and kind of looking to change into either core java(spring, hibernate j2ee stuff) or venture into .net

what you guys think. i looked into c# briefly and i reckon i could migrate to thatpretty swifty as it uses same syntax as java

I can't tell why you want to change. What's your motivation? Are you just trying to learn something new for the sake of learning something in your spare time? Do you want to change your job? Do you want to develop for a different platform? Do you think that .NET-based mobile development is coming along? Are you preparing for some specific opportunity?

Without knowing what you expect when you get there, it's impossible to tell you if moving is a good idea. Sounds like you haven't thought this out at all.
 
well i have stated why in this thread.

i want to move because the mobile development world in a nutshell over here in the UK is lacklust. Not many mobile developer roles around and IMO not many mobile apps that can sell millions.

There is a higher demand for "web service" development as every system/business known to man needs/uses some sort of web service.

I basically want to move into web service development as thats where most of the opportunities are.
 
Why are you considering only .NET, then? What about PHP or Ruby? What other languages do you know? What other technologies?
 
i know a bit of php, spring, SQL, xml, json

i know android, j2me

the reason im interested in .net is because its a pretty popular framework
 
Hence why I said the JVM has no clue about it. Being just a compiler decoration in Java, it doesn't actually let you do anything other than save you from putting in explicit casts.

Sorry, I guess I didn't read your post carefully enough. There's more to it than just not having to write casts though. It allows you to write type safe (at compile) code.

I definitely agree that Java is verbose. You get used to it. With Eclipse, I'm hardly ever writing out all this code anyway. The best positive spin I can put on it is that Java is easy to read and self documenting... :p
 
The best positive spin I can put on it is that Java is easy to read and self documenting... :p
Legibility is not endemic to any particular language. Properly written and formatted Java is easy to read. Useful names and naming conventions are pre-requisites for self-documenting code, which should be supported by code comments that pass spelling and grammar inspections.
 
No mate .net web services.

over here in the UK there is about 10-15 android roles currently recruiting as i type this while their are literely 100000 of .net and core java roles out their.

Half of the android roles are also contract only and only 2-3months contract but im looking for a permanent role has contract is a bit risky.

Interesting career choice.

Have you thought about moving to another country perhaps? There is plenty of demand for mobile developers in the states and in Europa.

Have you explored iPhone, Blackberry development? Just thinking out loud.

I'm working on several projects on my own which will be released to markets and be ad supported. From what I researched and talked to peers, it is very profitable.

You don't have to have to make an app that sells 1 million copies. You can make 100 apps that sell 10000 etc ;)
 
LOL what mobile app is sold for 1000? Most and i mean most mobile apps be int blacburry, android or iphone sell in the marketplace for £1-£5.

The time it takes to develope mobile apps does take a while to develope a bug free one. maybe a month it will take if you dont have a social life for a month or maybe less then that if you do it "full time" at home.

But if your a person that has a day to day job then the only opportunity's you have to develope your own apps is in the evenings at home or at weekends.
 
LOL what mobile app is sold for 1000? Most and i mean most mobile apps be int blacburry, android or iphone sell in the marketplace for £1-£5.

The time it takes to develope mobile apps does take a while to develope a bug free one. maybe a month it will take if you dont have a social life for a month or maybe less then that if you do it "full time" at home.

But if your a person that has a day to day job then the only opportunity's you have to develope your own apps is in the evenings at home or at weekends.

10000 copies...
 
The time it takes to develope mobile apps does take a while to develope a bug free one. maybe a month it will take if you dont have a social life for a month or maybe less then that if you do it "full time" at home.

But if your a person that has a day to day job then the only opportunity's you have to develope your own apps is in the evenings at home or at weekends.

Hey, it's up to you. To make money you have to put in the work.

Learn about re-using code. i.e. I have classes stored away for GPS, HTTP, Bluetooth, complex GUI examples, that can be dropped in for new applications.

Doesn't matter if the apps are totally different, if they connect to internet, I already have the code ready. Etc.

It really cuts down on development time.
 
Yup i already have a generic HTTP class i have already used across 3 different android applications. It will even work on J2EE/J2SE providing i import the apache HTTP libs.

Some good advice indeed and one the basic principles behind OO.

Also, its all good making mobile apps at home but all apps start from an idea and an idea comes to you, not you looking for it :)
 
Back
Top