tag:blogger.com,1999:blog-7821856652257554779.post6349686515258250891..comments2023-10-22T12:47:47.534+02:00Comments on Andrzej on Software: Stop hating JavaAndrzej Krzywdahttp://www.blogger.com/profile/06399276063142826365noreply@blogger.comBlogger49125tag:blogger.com,1999:blog-7821856652257554779.post-52753232553800259212011-09-02T04:48:44.803+02:002011-09-02T04:48:44.803+02:00I've been a Java developer for a number of yea...I've been a Java developer for a number of years now. I remember how frustrated I was with it's syntax initially. I can recount hundreds of hours trying to figure out wtf all of the abstractions and frameworks were actually trying to accomplish. I just needed to get a job done and there was an incredible number of profoundly nonsensical configurations and packages to wade through. I remember back in 06 when I started developing AJAX heavy web apps where most of the work was handled by the client and DWR made my life a breeze. I've only recently come to see the whole spring framework as a benefit (i've been doing a lot of grails work and I no longer have to think about it). At the end of the day I'd say 90% of the frameworks ARE completely bloated and a f*&king pain in the a%$. That said I've always been one enthusiastic about the bleeding edge, the majority of people I speak to in the mobile/start-up world swear by rails and I've spent a lot of time trying to understand their enthusiasm. It was tough for me moving to Java from c and asm (my original works were all in embedded systems). However, I realized that with native interface I could really get Java to do whatever I wanted whenever I wanted it. Back then I worked on windows/nix/osx and still have to. Java has never let me down here and as much as I've tried to understand and love rails for me it has never made sense. I have developed a base package with jars and javascript that I can port anywhere that implements AJAX and cometd on whatever machine I choose.A lot of the work I do now is in ios and I've developed libraries that convert my pojos to json to NSDictionaries or Core Data objects without a thought. All of this said, I'm REALLY trying to understand this debate. I have a system (Java based I admit) that does the job I want and does it better than any jar or gem out there but that's because it was developed by me for years and I know EXACTLY what everything does. No surprises. So my point? I really think we are all insecure/antagonistic because we want to be on the right side of things. However, coding in Ruby is honestly the exact same experience as in Java. The only difference for me is that with Java I know how to make it do exactly what I want because I've spent so many painful hours slogging through the nuts and bolts. At the end of the day what matters is whether you can get what you/the client want running. If I see a jsp at the end of a website I like that's great, but truth be told that's not what matters. What matters is getting the blasted machine to do what you want. There are countless performance tests out there arguing this or that but they are honestly useless, if you have control of every aspect of your system and you are a competent engineer you will MAKE IT WORK. I don't think anyone will come to a point where they say "hey, we need to rewrite the whole thing in X b/c Y won't cut it." Maybe I'm wrong? Love to know why though. Thanks for listening.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-2840830968628517402011-08-16T19:54:17.426+02:002011-08-16T19:54:17.426+02:00Ruby guys hate Java, Java guys hate C++, ... It se...Ruby guys hate Java, Java guys hate C++, ... It seems to me that hating is what we as developers do.Sashahttp://iatdb.comnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-20317199635864603572011-08-15T19:51:30.082+02:002011-08-15T19:51:30.082+02:00I wanted to like Java. I really did. I saw that it...I wanted to like Java. I really did. I saw that it was going to be the next big language when my career switched tracks in 2002. I tried installing it and running it. It took an awful long time to get anything done. <br /><br />Then I had an opportunity to write a web app in 2003. I chose Perl/MySQL/HTML because they had documentation and a clear path from developing on a local machine right through to deployment. (At the time, both PHP and Java failed for me). The process was predictable with few moving parts. And I went from conception to deployment without having to muck about with configuration etc.<br /><br />I tried Java again. Instructions were poor. I couldn't get components installed and running, libraries were confusing, and so on. I felt stupid. Eclipse ground my computer to a crawl. <br /><br />I then started Rails. I got a web app (with scaffolds) running in minutes. The blogs, forums, and other pages showed how to build Rails apps. Around that time I discovered heroku.com, and deployment became easy too. I built quite a few web applications and learned a lot about web apps in general. <br /><br />I tried Java again. Again...slow to install. Slow to configure...slow to compile, link, deploy & test. I couldn't solve my software problems quickly. And there were a lot of little things I had to remember to get anything useful done. And I never knew what I didn't know. <br /><br />I tried C#.net too. Not as bad as Java, but very slow to get stuff done. And I felt stupid using it. <br /><br />Ruby on Rails beats Java for me because independent of my intelligence (or lack thereof), working in Java makes me feel stupid and incompetent, while working with Ruby and Rails makes me feel smart. And when I feel smart, I push the edges of the technology and the edges of my cognitive abilities and learn more interesting things and build new software. <br /><br />And you can't get better than "git push heroku master" and 30 seconds for deploying software to the internet. Rails also has github.com which is a great place to study, download, and deploy working Rails applications. <br /><br />Ruby/Rails sucks for getting jobs. My city is mostly Java or .Net, and very few employers know Ruby/Rails or the benefits it can bring. But for quickly solving web application development problems Ruby/Rails beats the other technologies hands down for me. Perhaps that makes me stupid for not learning Java. But it has freed me to learn the art of quickly developing complex web applications.Jay Godsehttp://blog.cloud-apps-experts.comnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-7689101605293279042011-08-09T09:15:03.561+02:002011-08-09T09:15:03.561+02:00Java has given programming a new dimension, people...Java has given programming a new dimension, people are fool who hates Java, new generation of programming and application language has been led by Java.<br /><br />Javin<br /><a href="http://javarevisited.blogspot.com/2011/06/comparator-and-comparable-in-java.html" rel="nofollow">comparator and comparable in java with example</a>JP@grep command in unixhttp://javarevisited.blogspot.com/2011/06/10-examples-of-grep-command-in-unix-and.htmlnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-75859232137941716172011-07-30T12:38:08.390+02:002011-07-30T12:38:08.390+02:00An excellent write up from your side.Keep it up..An excellent write up from your side.Keep it up..POS Hardwarehttp://www.benseron.com/noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-8004678825993089802011-07-29T10:29:57.375+02:002011-07-29T10:29:57.375+02:00Greetings!
Good post.
What I can additionally say...Greetings!<br />Good post. <br />What I can additionally say, not only some of Ruby- Python-devs dislike Java, many c#-devs dislike and even hate it. What's more, I've been hating it for ~3.5 years, while had been working as c#-dev. However, after working 0.5 years with Java and moving closer to it's community I realized that Java really rules, mostly thankfully to it's community. Yeah, there are some bad things in Java-lang(overusing of xml, 'throws Exception' keyword), but it's just not important details, generally Java rules, as I said.<br /><br />p.s. still working as c#-dev, so c# rules as well :)<br /><br />thanks.Alekseyhttps://www.blogger.com/profile/06410170493633604893noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-55101582748265363302011-07-28T16:52:00.682+02:002011-07-28T16:52:00.682+02:00There are languages that people hate and there are...There are languages that people hate and there are languages that noone uses. If you can't count 10 things you hate about the language/environment you are developing you really need to start learn your tools.daydreaminghttps://www.blogger.com/profile/04507631954124102076noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-57896450596502135942011-07-24T21:05:17.566+02:002011-07-24T21:05:17.566+02:00Andrzej, good post, see my response at:
http://ww...Andrzej, good post, see my response at: <br />http://www.dzone.com/links/r/stop_hating_java_2.html<br /><br />igorIgor Polevoyhttps://www.blogger.com/profile/03725729050038133735noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-44898437628797800662011-07-24T03:53:56.517+02:002011-07-24T03:53:56.517+02:00Guys check out what Google Engineer are saying..
...Guys check out what Google Engineer are saying.. <br /><br />http://obamapacman.com/2011/07/google-engineer-java-alternatives-all-suck-android-needs-to-negotiate-license/<br /><br />That should shut all other'sAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-54738977990985244482011-07-23T21:26:01.807+02:002011-07-23T21:26:01.807+02:00Andrzej don't pay attention to ruby fanboys.. ...Andrzej don't pay attention to ruby fanboys.. <br /><br />they can't understand a thing without http://bit.ly/nySdU4 :)<br /><br />+1 for the article!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-39721145841663956802011-07-23T21:21:59.882+02:002011-07-23T21:21:59.882+02:00According to the Debian language shootout, Java is...According to the Debian language shootout, Java is one of the fastest languages around. It's beaten by C and C++, but the differences are small (~1.4x).<br /><br />Now look at Ruby and Python. Those two are in a completely different performance league, with some benchmarks running 300! times slower, an average of being 60x slower and not a single benchmark where Ruby beats Java.<br /><br />It's not just the JVM though, it's also the language. Java's syntax is simple and straightforward, which means the JIT has a lot of information to work with. With JRuby this is simply not possible (although the new opcode in the JDK 7 VM will make it faster).<br /><br />Then look at the Tiobe language index. Java is at number 1 and languages with similar syntax are at the other top positions. Where is Ruby? It's at 1.4% or so.<br /><br />It has been some 5 years after RoR was introduced, and despite all the hype of it completely dominating the industry in a couple of years, Ruby (which is of course bigger than RoR), is at 1.4%? Really?<br /><br />In 2004/2005 the direction of Java did look bleak. But after its transformation from J2EE into Java EE, it's a world class platform now. JSF 2.0 (which was at many levels inspired by RoR) is one of the best web frameworks now, and I dare you to find any kind of tech that's as simple and ellegant as EJB 3.1.Paul Witingnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-86230193161092794282011-07-23T18:38:05.171+02:002011-07-23T18:38:05.171+02:00What about this: Ruby is a piece of sloooow, shitt...What about this: Ruby is a piece of sloooow, shitty elephant - pythonista :DAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-24124021592074327862011-07-23T04:41:24.390+02:002011-07-23T04:41:24.390+02:00say what you want about every language out there, ...say what you want about every language out there, at least they aren't coldfusion (or at least, most of them aren't)Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-8184301680645902312011-07-23T00:25:39.373+02:002011-07-23T00:25:39.373+02:00Personally, I'm glad to see Ruby slowly disapp...Personally, I'm glad to see Ruby slowly disappearing:<br />http://www.tiobe.com/index.php/content/paperinfo/tpci/index.htmlAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-48344046922947211802011-07-22T21:42:30.647+02:002011-07-22T21:42:30.647+02:00I have built many system in Java, have SCEA certif...I have built many system in Java, have SCEA certification and I love the language and the JVM. But I switched to all my company's systems (credit card company) to Rails in 2006. Simply because we came to the conclusion that even though java is fast and reliable, the whole Java stack is not business friendly. It just takes too long to get something done in Java. I hate large teams and Java was forcing me to have a very large one.<br /><br />I should be blaming Struts, Spring or JCP for bringing crap like JAXB to life. But no: I blame the community. The product is result of the community wishes, and the Java community wishes complexity for reasons I do not understand.<br /><br />Java will always be around, it's great, but projects made in Java are very hard to pivot and can put startups in jeopardy. <br /><br />We now have many cool languages and tools to choose from (thanks to the JVM). This is the end of times where only 3 or 4 languages were "mainstream" in business apps. <br /><br />Long live java.eduardordmhttps://www.blogger.com/profile/05256692446845324659noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-32043668718494224522011-07-22T19:18:30.446+02:002011-07-22T19:18:30.446+02:00I'm surprised that no-one here has mentioned G...I'm surprised that no-one here has mentioned Groovy.<br /><br />I'm a lisp/scheme kind of guy (the original ruby :), and using Groovy is a pleasure, and of course it's very happy to work w/ old school Java classes. And even old school Java programmers, since for the most part legal Java is legal Groovy, but you can also specify no type information if you'd like and you get code that is as expressive and concise as Ruby, Scheme, etc.<br /><br />And your IT dept (if you're at some giant megacorp) is more likely to not fight you...NSFWhttps://www.blogger.com/profile/01548025253626562494noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-22843275267436028002011-07-22T19:00:15.169+02:002011-07-22T19:00:15.169+02:00The best thing to come out of Java is Clojure.The best thing to come out of Java is Clojure.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-18664862007583454272011-07-22T18:41:48.800+02:002011-07-22T18:41:48.800+02:00"If Ruby is so great, why are companies like ..."If Ruby is so great, why are companies like Twitter moving away from it and towards Java/Scala?"<br /><br />Because Java has a good VM. That's because of its implementation, and does not reflect the language itself. It also reflects old ideas, like the idea that you need to have threads for everything. I'm working with EventMachine on 1.9 and writing software that can rival the performance of many Scala IO-oriented programs. There's also things like processes, such as what Unicorn uses. Not saying threads are useless, but they're not the only game in town, and often they're not the best solution.<br /><br />I'll admit it. I don't dislike Java, I hate Java. I hated it when it was that thing in my browser that crashed everything and slowed my computer to a crawl to scroll "HI MY NAME IZ JON" on a Geocities page, I hated it when it became this half-assed GPL project, I hated the stuffy corporate culture that lived around it (it really is the 70s IBM of our times), I hate the memory bloat it's always had, I hate that it dominates so much of software because of forced college adoption, and now that Oracle owns it and is in the process of trashing open source with their horrible corporate culture (that fits Java like a glove), I really hate it. Java has been nothing but a problem throughout my entire history of interacting with it. I want Java to die. Or at least be like COBOL, and get written off as a joke language that some sorry coder has to maintain because the business is too screwed up to migrate off of it. <br /><br />Like most of my other predictions in software, this scenario is likely to become true for no reason of mine. Largely as a result of how crappy most of the software is, largely because the corporate culture is turning off an entire generation of programmers to it, and largely because Oracle is going to wreck things.<br /><br />Ruby is a better language for Java's intended purpose (high-level software development), under a better license. For high-level development, it's more productive on almost every front. Does that mean I won't use Scala or JRuby someday? No. I'm an engineer, and if I decide the Java VM is a better fit for a certain problem, I will use it. But that problem has never arrived. Whenever I have tested Java for better viability, I have never been impressed with the results. It's either too slow, or has too much memory bloat, or has some crazy bugs I don't have time to fix (it's not <i>perfect</i> software, it has its fair share of nastiness).<br /><br />When Rubinius gets stable, Ruby will have a VM that does the same thing the Java VM does, and then the argument for using Java because of its VM goes away for me, along with the memory bloat.<br /><br />But hey, if you want to sink with Java, don't let me plug the hole in your boat. I'm very happy living free in the ruby world.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-56418279994373975892011-07-22T18:33:02.121+02:002011-07-22T18:33:02.121+02:00jruby is faster than mri...grow up ruby guy...jruby is faster than mri...grow up ruby guy...Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-82283298352067107092011-07-22T17:18:23.482+02:002011-07-22T17:18:23.482+02:00The title should probably be "ruby people, st...The title should probably be "ruby people, stop being arrogant and ignorant"Anonymoushttps://www.blogger.com/profile/10695648911502574065noreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-57366919259238986902011-07-22T17:11:23.633+02:002011-07-22T17:11:23.633+02:00Hmm, well. All Java-hate I've ever heard is ar...Hmm, well. All Java-hate I've ever heard is around the language, it's syntax, and it's _bad_ ideas. No one is hating on the good ideas. I think the situation is fine. People will hate on what they don't like so matter what, and there's really nothing wrong with them hating on it... what's the big deal? For example: I hate Python. I think it's ugly, I hate it's class system and it's users are, in my opinion based on 6 years programming only Python, arrogant jackasses. So? Python lives on, so does Java, so does Ruby. Let's just get back to work, shall we?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-8440693553104348502011-07-22T17:00:40.956+02:002011-07-22T17:00:40.956+02:00My first introduction to Java, oddly, was using it...My first introduction to Java, oddly, was using it to interact with Apple (nee NeXT) WebObjects, sometime around like 1994. Now the odd thing about that is, that at least around then, you didn't really use ANY of the java standard libraries when doing this, WebObjects even provided it's own collection classes (the descendents of which are probably the collection objects and stdlib in cocoa and such, but I don't do OSX programming). <br /><br />And from that experience, I've got no dislike for Java _as a language_, it was just fine (and surely better than any alternatative where you had to do your own memory management). I'm not really fundamentally opposed to static typing, it's fine. And if you can handle static typing, there's not much in the Java _language definition_ to dislike. <br /><br />The problem is the Java stdlib, the JDK, and the design sensibility of the Java community. I've heard it's gotten a lot better since then, and seen it somewhat better in my encounters with Java. But things are still just Too Complicated -- ruby from the start has had a development community (starting from Matz's example) that optimizes for ease of use by developers. attempting to create library APIs at the right level of abstraction for common uses, so developers have to understand no more than they need to understand, and can write both concisely and clearly. <br /><br />Part of this is a commitment to making things workable without complicated tools, using only a text editor and the command line. Whereas the Java community's approach seems to be adding ever more complicated tooling to try to get around things becoming over-complex in the text editor/command line -- instead of trying to fix things at the root. <br /><br />Now you could say that ruby (and rails esp) are having ever more troubles with 'keeping things simple AND powerful' as they get older and more complex. It's true that starting simple is easy, but as you add more power, staying simple is hard, and ruby/rails are having some trouble there. Also as the community grows, you run the risk of giving the developer Too Many Options (_what_ the heck should I be using for XML again? for HTTP? I don't want to think about it, I want there to be a standard (de facto or not) that Just Works). <br /><br />and ruby/rails are maybe having some troubles there as it becomes a larger community with more history -- but Java _started out_ there, and the community has seemed, from my perspective, to not have had much success making a priority out of making things that should be simple, simple for the developer. <br /><br />Nonetheless I'm sure there are many useful things to learn out of the Java community -- but there are still some useful things to learn of what _not_ to do too. I'm sure there are similar from ruby community. In both cases, I think there's probably less to learn about from the actual language design, and more from the community norms and practices and standard (de facto or official) libraries/frameworks -- what people DO with the language. <br /><br />One tension that's inevitable however is the backwards compatibility issue. PART of what leads to Java's difficulty of use is the pretty high commitment to backwards compat -- which means there's lots of cruft and bad ideas that have to be left in. Ruby (the language itself, and community norms in ruby libraries/frameworks) cares much less about backwards compat, which means bad ideas and cruft can be removed and things can continually be made easier to use -- IF you're using the most recent version. But as ruby has gotten older with more of a history, this lack of backwards compatibility (which is intimitately related to the dependency nightmares with rake/rails/gems/bundler/etc) has also become one of the biggest not fun/confusing/annoying things about dealing with ruby, esp if you've got old code to support.Jonathan Rochkindhttp://bibwild.wordpress.orgnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-48798214296128197672011-07-22T16:52:21.144+02:002011-07-22T16:52:21.144+02:00"people who hate java is because they are not..."people who hate java is because they are not a good programmer. language is not important."<br /><br />Not true.<br /><br />In fact, it is often quite the opposite. People hate Java because Java has limitations which annoy them and cause them to type reams of unnecessary code. Many hate Java because it wastes our time, and there are many much better, more efficient languages available. It is precisely because they *are* good programmers, many with a great deal of experience, that they hate Java -- because they have used much better languages.<br /><br />There are many programming languages that are roughly equivalent in expressive power. I think that is why it is so common to hear programmers say that your choice of language doesn't matter. However, not all languages are created equal. I could go on about why, but I believe Paul Graham has written much more eloquently than I have about this: http://www.paulgraham.com/avg.html.<br /><br />Before you dismiss Paul's writings on the subject (as some have), may I ask you this? -- have you really read the article and given it a fair hearing? Or are you willing to accept other's assessment of it without making up your own mind? I would challenge you to be sure you have not been swayed by the opinions of others, without making an honest assessment for yourself.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-31083954739750063162011-07-22T16:36:10.020+02:002011-07-22T16:36:10.020+02:00A language that you don't use = CRAP
Used to ...A language that you don't use = CRAP<br /><br />Used to think like that at 8Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7821856652257554779.post-91315937300110072532011-07-22T16:23:25.113+02:002011-07-22T16:23:25.113+02:00java = slower than everything else, therefore not ...java = slower than everything else, therefore not worth usingAnonymousnoreply@blogger.com