<div class="gmail_quote">On Thu, Jan 12, 2012 at 4:10 PM, JD <span dir="ltr"><<a href="mailto:jdp@algoloma.com" target="_blank">jdp@algoloma.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div><br></div></div>
* Eats RAM (much more that a C++ program would use)<br>
* Slow during runtime (old link <a href="http://sprout.stanford.edu/uli/java_cpp.html" target="_blank">http://sprout.stanford.edu/uli/java_cpp.html</a> )<br>
* Garbage collection runs at the wrong time<br>
* Extremely slow desktop program startup<br>
* Ugly GUI controls - opinion<br>
* Eclipse requires 16GB and a Core i7 to be usable; it is slow on a Core i5.<br>
* Java devs actually believe they don't need to understand the platform they are<br>
running on. I have stories of developers claiming that rewriting a C app running<br>
on Intel CPUs in Java running on a SPARC CPU would result in greater<br>
performance. Complete BS, except that their C app was total crap to start.<br></blockquote><div><br></div><div>I couldn't agree more. To the last point, if their C app was crap from the start, the Java devs could have had a point. I always think twice though when someone says rewrite. But I do concede that Java is most definitely not the first choice for speed. I think this is an ok trade-off, at least for the past companies I've worked for; hardware is cheap, coder time is expensive. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I completely disagree with the desire for one and only one way to accomplish<br>
something - I recognize the great things about strict frameworks just to the<br>
point where they don't let you do something necessary (RAILS is famous for<br>
this). Only-one-way works for neophyte programmers, not for experts, IMHO. I<br>
like Python and Ruby as languages too.<br></blockquote><div> </div><div>My comment about large teams and only one way to do it go hand in hand, and also with your point about neophyte programmers. When I come into an organization, there could have been any number of coders with different skillsets, all of which could have their own ideas about the best way to go about things. When the language, and also its supporting frameworks, creates a consistent, structured, and standard way of doing things it really helps me out. I'm not saying that I prefer when a programming language limits me, I prefer a programming language that limits some of the other coders. I'm be curious to see any RoR examples, if you have any readily available. Again, not a nit-pick or some challenge for debate, just curious. At the other end the spectrum, there are languages like Perl, which seems to be a language where APIs and syntax compete and evolve differently than other languages. There are multiple ways to do things not only logically, as with any other language, but also syntactically. </div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Interface documents have been around for years. I've worked on projects with<br>
250+ devs. We used interface documents and exchanged header files early. For<br>
smaller projects, we'd write code stubs to validate acceptable inputs as the<br>
first coding step.<br>
</blockquote><div><br></div><div>I'm assuming you're talking about C++ here? These types of languages are not abstracted enough for the type of work I do; they take me too far away from the actual business problem I work on. I'm a software developer/engineer, whatever you want to call it, but actual programming is or should be a small percentage of my time on the job. I have to solve a business problem, first and foremost. I think this may annoy other people, more specifically the type of people who would be on this list (sys ops). I would love to hack it up and spend my time gaining a deeper knowledge of the app I'm working on and make it perform or look better. My boss will not think this is time well spent, and unfortunately the buck gets passed to the ops guy. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ada was designed to help large scale government coding projects become more<br>
efficient. <a href="http://rosettacode.org/wiki/99_Bottles_of_Beer#Ada" target="_blank">http://rosettacode.org/wiki/99_Bottles_of_Beer#Ada</a> I don't know<br>
whether it achieved that goal or not. It certainly never became commercially<br>
popular.<br></blockquote><div> </div><div>Ada, actually, looks right up my alley. I'd heard of it before, but never actually did anything with. I will try it out, if not just because it will show me a different way to think about programming, which I enjoy in my spare time. I'd like to hear others personal experience with Ada, if possible. </div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I didn't mean to display so much of my ignorance all at once. Oh well.<br></blockquote><div> </div></div>Not in the least, thanks. <div><br></div><div>My current position, at a smaller company, is one where I must where many hats; manager, lead, developer, sys ops (obviously not to the extent as others here). I do the sys ops stuff for fun in my spare time, I've been on this list and tinkering with linux for over 8 years now because I enjoy this kind of thing. Hopefully, and this isn't specifically target at JD, I've imparted a little bit of the psyche of /why/ Java and next time you're really pissed at the lame Java coder you'll have a little more understanding. Don't hate the player, hate the game :) I do think it's a shame that programming languages don't always compete on merit, and due to this future uncertainty with Java, I think it's a better time for another language to get a better foot hold in the type of work I do.</div>
<div> </div><div>
<div>-Steve Brown</div></div>