A fine motto
Inspired by a very important point made by Jamis Buck.
If you use Windows then you have my sympathy but nothing more. However, if you are stupid enough to elect to use Windows then you don’t even have my sympathy.
This attitude — although somewhat stolen — is incredibly vital to maintaining my sanity. If I may replace Windows with other values maintaining the same sentiment:
- Java
- Maven (I’m looking at you my Functional Java users)
- Ruby
- Ruby on Rails
- Eclipse
December 9th, 2008 at 1:03 pm
So…Jamis is frustrated with the Ruby community on Windows that would like to see him make some improvements to Capistrano to make it work well with Windows. He seems to be appealing - rather tongue in cheek - to the subset of Ruby on Windows developers who choose to use that OS of their own accord to submit patches that fix their problems.
I don’t think his point is as much about Windows sucking as it is about asking the people who choose to use it to take some stake in making it better by improving cap.
I don’t get it. Are you making an analogous appeal? Is there a (similar ?) context for which Java, Maven, Ruby, and Rails is deficient that you are hoping someone else will fix? Or just trying to make a clever dig at some set of technologies? It’s your blog after all, I wouldn’t begrudge you the right to do it. You’re just usually a little clearer than this.
December 9th, 2008 at 2:45 pm
Justin,
Only that I am completely disinterested in the existence of Windows et. al. and I prefer to conduct myself as if they did not exist. If others are stupid enough to do otherwise, then that is their problem — is its entirety.
December 9th, 2008 at 3:42 pm
Tony, what do you yourself use for building your Scala software? Maven is on your “analogous to Windows” list, and I guess you don’t use Buildr or Rake since Ruby is there too. So what does that leave us with? Do you have some secret build tool the general public does not know about, or do you just write shell scripts? Or something else?
December 9th, 2008 at 3:49 pm
Haskell
December 9th, 2008 at 4:02 pm
>> What do you yourself use for building your Scala software?
> Haskell
This is very interesting. Do you have any published example of a build written in Haskell?
December 9th, 2008 at 8:10 pm
i don’t understand the attraction of maven. the things i most hate about maven:
- the way maven fetches dependencies from the network seems to be stupid and makes builds run slow. i don’t understand why dependencies can’t just checked into source control.
- if you want to do anything not supported by maven you are in a world of pain.
- maven doesn’t seem to integrate well with IDEs. eclipse plugin is buggy as hell and randomly breaks other launch configurations in eclipse.
December 9th, 2008 at 8:56 pm
Yeah, Java sucks, I better start writing my own compiler in Lisp for compiling Scala, way to go!
December 9th, 2008 at 11:01 pm
I only really disagree with the maven part there, but only if you’re arguing ant vs. maven. Anyway, I believe we’ve had that discussion sometime in the past, and I’d rather agree to disagree.
December 11th, 2008 at 12:17 am
(Ben:) Maven is pretty decent in <claptrap>enterprise</claptrap> (large) projects. Typical properties of “enterprise” projects include overloaded scms, numerous concurrent releases/branches/versions/environments, some “impossible” scenarios to automatically test (i.e. COBOL-systems) leading to QA and testers, reporting and documentation demands from the foul project managers, developers of very different skill-levels (some outright dumb) and in general sub-optimal-everything — then maven flourish. Maven is simple to learn, and if used *somewhat* correct provides alot of good practises.
If you have such properties and try to reinvent the wheel or build your own magic heavenly supreme and elegant code in say Haskell — you are a way too optimistic code onanist who will create a lot of problems for yourself and doom yourself into fixing other peoples mistakes
If your projects don’t have such properties - or you have a stabile team of excellent programmers - or already have good control over your CI, builds and already manage to release often and successful - or even the number of dependencies are limited to say: 10 — I see no obvious reasons why you should be forced to use maven.
December 13th, 2008 at 9:35 pm
Add your Haskell Ant++ to the list at the top until you produce something that works on different operating systems and has a community following.
Maven 2 is a better choice than Ant for most new projects. The plugin for Eclipse may be crap but the one for Netbeans is excellent.
December 13th, 2008 at 9:48 pm
Uh huh (sense?)
December 28th, 2008 at 11:19 am
I agree with some degree on Java. It has issues and I work with it, but not because I want to. It pays the bills and I really don’t code a lot of Java everyday. Most of my time is spent with other technologies.
On Ruby and Rails, Ruby doesn’t seem to give you any advanced language features and still shares a procedural style of development. And it is still slow (Even the 1.9 release). I don’t know much about rails, but I can’t seem to find out why there is so much hype. Most of what I hear about the technology seems to be hype. But I will give Ruby and Rails the benefit of the doubt. They are taking jobs away from the J2EE world and getting support from major companies. Kudos for that, I guess.
Maven is what I really wanted to talk about. I don’t have the heart to write a maven script, but I am just frustrated trying to build a maven application. For example, scala? and other scala projects like lift-web use maven. Normally, I just build my own Ant script because I am pissed off with maven’s design.
First thing, I don’t build tools that need to download files from some repository. This is not specific to just Maven, but Maven thrives on it. Some of us might be behind a restrictive firewall or not have an internet connection. And there is nothing more frustrating than having to download 100MB of file from one repository location. No thanks.
And in general, why is Java/Jar Hell all that bad. It is not nearly the same as DLL hell. I guess Maven is supposed to solve the Jar Hell issue. Maybe it is just me, but is it really that difficult to have a listing of jar files and add that list to the java runtime arguments. I never understood why so many people have an issue with Jar Hell. In any case, Maven does a poor to OK job of finding those dependencies. I rarely can get a Maven application compiled.
“Maven is pretty decent in enterprise (large) projects. Typical properties of “enterprise” projects include overloaded scms, numerous concurrent releases/branches/versions/environments, some “impossible” scenarios to automatically test (i.e. COBOL-systems) leading to QA and testers, reporting and documentation demands from the foul project managers, developers of very different skill-levels (some outright dumb) and in general sub-optimal-everything — then maven flourish”