Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I think as a language C# is superior to Java. That being said, learn Java. The open source community alone makes it a much more attractive platform to build apps on. The number of choices in terms of frameworks + no vendor lock in makes it a winner. If you're serious about learning it pick up a copy of Effective Java by Joshua Bloch -- by far the best general Java book out there.




Exactly. If you need to use Java for some reason, like getting at their libraries, you will do well to use anything other than the Java language. The platform is good. The language is 20 years behind the state of the art. Unless you are forced to work with other people that can't learn a language other than Java, there is no point in using it. I lean in the direction of Clojure, but lately the constant fanboi-ing is really putting me off.

C# is similar -- F# is a much better way of interacting with .Net libraries. It is even "fully-supported" by Microsoft from what I've read, so it is definitely a good alternative to C# if you prefer its functional style. (And who doesn't?)

Finally, if you don't need Java or .Net libraries, SBCL is a very nice Common Lisp implementation. It's fast, and if you like emacs, the tools are great. It is quickly becoming my favorite environment. (Perl is my other favorite.)

Despite what others say, you can write maintainable and well-performing code in any of these languages. So pick one and get started... that's the hardest part.


"constant fanboi-ing is really putting me off."

Rejecting a language just because it is popular seems just as misguided to me as choosing a language just because it is popular.

Can't you just ignore the boi's and use Clojure anyway, if it's a good language?


I didn't say I would never use it, I was just saying that it's hard to be taken seriously when there is so much noise from the kids. A poor community reflects poorly on its users.

I also like CL's conventions better, and not having CLOS is a huge downside.


"so much noise from the kids"

Rich Hickey has recorded several hours of video describing Clojure in comprehensive detail from talks at various user groups and such. I really don't understand how it is so hard to ignore the "noise from the kids" and get the information you need to decide if you want to use Clojure or not. Are you implying that the kids will take the language in the direction they want it to go? I very much doubt that. Mr. Hickey seems very committed to his language and I don't see any indication that he might let go of the reins any time soon. One of the benefits of the benevolent dictator model.

Distinctions with Common Lisp are certainly rational reasons for choosing CL over Clojure, though. For myself, the easy availability of Java libraries trumps whatever else I might like about CL. I work at a university and take classes part time, and even in this environment there is a Java library for pretty much everything. The one time I tried to get a CL library working on SBCL that was developed for LispWorks, I suddenly had to understand pretty intimately almost everything about those two dialects on a deep level if I were to have any chance of porting it over. It was a pretty terrifying experience.

I definitely respect that you have a different set of priorities and opinions about why Common Lisp is best for you. But I remain unconvinced by your arguments referencing the Clojure community. I'm guessing that's where we'll agree to disagree.


I've never understood this. You don't like something because too many other people also like it?

You thought well enough of it to mention it by name; I don't see a ton of difference between you mentioning it and someone else saying it's good.

I can't really say I've seen anything bad coming from Clojure's community either; it's not anything like the old C.L.L flame-fests from the 90's.


How's .NET vs Java library-wise?


Agreed. As a language, Scala is superior to both C# and Java. It's open source and it has the advantage of being compatible with Java's platform, environment, and libraries.


+1 Scala. Open JVM, open compiler, open libraries, open language design/research community, and 3 books on the way. More importantly, Java and C# are throwing in lots of functional programming features after the fact. They will likely never have the uniform object/functional model Martin Odersky has already achieved in Scala.


Man I know that I'm gonna get burned for saying it, but java isn't all that it's cracked up to be. I've worked for two companies that are java-based and both experiences have been horrible. Except for a handful of people, every java "engineer" I've known has been a siv. The ones that rock happen to just know java in addition to experience in other languages. Point in case, we are implementing some new web apis soon. I have been extolling the benefits of JSON and REST. Friday, the manager/lead java dude that is in charge of our 10+ engineers and making critical technology decisions asks me, "So, what is JSON"? Oy...


Clueless management is platform independent.


And so is the law of averages - its a popular platform ;)


"java isn't all that it's cracked up to be"

"every java 'engineer' I've known has been a siv"

It depends if you're learning a language to build stuff, or to work with good people (community). As a language, I'd say java rocks most of the time and does a good job of things.

It's similar to javascript. A large number of people who program javascript are really pretty poor programmers, who just program by trial+error, or copy+paste code they found on the web. This doesn't mean javascript as a language is bad though. It just attracts a wide range of users.


"Java programmers" are the worst part about programming in Java. There are plenty of smart people doing smart things on the platform, but you won't find them on the average project due to the fact that it seems like every idiot programmer on the planet works in Java too. Perhaps it is second to VB in this regard, but I am not sure.


siv?


Simian immunodeficiency virus




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: