Doesn't Mono support C# on Linux?
C# is still my favorite server side language.
Is mono stable enough for server-side use? Seems like just another dependency. Java is close enough to C# in syntax and very stable.
Doesn't Mono support C# on Linux?
C# is still my favorite server side language.
So right now, I'm going with plain old Java 8 to try and get something done quick. I figured I'm already doing something new with dart + angular dart on the front end.
Once I get something done right I'll probably branch out. I'm thinking of either giving scala or go a shot.
I'd go with Java close to 100% of the time, unless I found there was a requirement I couldn't fulfill with it, and even then, I'd attempt to do with with Java before giving up. =)
Java, IMO, is fast enough, has tons of documentation, and has a lot of additional tools and technologies to solve most problems. It helps that I have a ton of experience in Java, though.
As far as additional tools and technologies, again, I agree with this. Off the top of my head, you have three major IDEs for Java: Eclipse, IntelliJ, and Netbeans. All of them suck, and all of them are missing features that the others have. For C#, you only have one major option: Visual Studio. It does not suck. As far as frameworks and other technology, Java has more options than I care to count, which means you have to sift through hours of BS opinions, such as this thread, to find a solution that actually works. With Groovy, you have one major option which covers 90% of your use cases: Grails. With C#, you've got .NET. Ruby has Rails. And don't you dare say that Java has Spring, for that's one of the most fragmented "frameworks" I've ever seen. It's a glorified dependency injection container - that's it!
Java is also unnecessarily verbose; for every 3-4 lines of Java, you may have 1-2 lines of Groovy, and in some cases, even in C# (especially with POJOs versus POCOs). This isn't a big deal as far as functionality, but it gets annoying when you see pretty much every other language keeping up with the times, except for Java. I'm happy that Java 8 can now handle lambda calculus, which is a feature we got in C# back in 2006. The only thing Oracle wins in is marketing.
So, back on topic... if you want something fun and exciting, Java is not the answer.
import java.util.List;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends PagingAndSortingRepository<Person, Long> {
List<Person> findByLastName(@Param("name") String name);
}
