6 ms·
> The community splintered, the language and platform really lost any ability to maintain momentum. This is the mindset I've never understood. Do you stop usi
by speckledjim 15y ago
> The community splintered, the language and platform really lost any ability to maintain momentum.
This is the mindset I've never understood.
Do you stop using a hammer to bang in nails because the hammer "community" has splintered, or the development of hammers has stagnated? No, you still use it to fulfill a job it solves.
- puredanger 15y agoThat's true. Unless someone builds a lighter, more accurate hammer in the meantime.
- pmr_ 15y agoAnd all just because the metaphor lacks (here more than elsewhere). Using a tool also means becoming more proficient in it and this is similar to an investment. If you don't expect anything of significance to come out of the movement associated with your language it is hard for the working programmer to enjoy developing in it any more. Here the fundamental difference to hammers becomes clear: Hammers don't evolve and have no complex ecosystem associated while programming languages do.
- famousactress 15y agoI don't think this is a valid analogy. The language/tools/support/ability-to-hire-developers are all a fluid ever-changing thing. Hammers aren't. Take this post.. people are excited about updates. I'm just saying the updates are kind of too little too late for me.
- speckledjim 15y agoWell, people want different things. I just want the hammer. New language features are all fun, but unless they actually result in faster execution, or allow you to do things you could not do before, they're only use is to make some developers happy, which I don't think is particularly important. It looks like there's some real solid good APIs here though which is great to see. At first thought I imagined it'd just be useless pandering to developers like "You can now do closures or first class functions" or something equally useless.
- famousactress 15y agoCome on, let's get honest. The ecosystem matters. A lot. The community, and level of interest and delight in using the language matters.. Yes, even to you. It determines what third party tools are available, how easy it is to hire developers, and what machines the platform actually runs on. Your argument suggests you'd be just as happy and productive developing today in Pascal. "You can now do closures or first class functions" or something equally useless. Flamebait, but I'll take it. I think the dust-up over the possibility of this being added to Java really seemed to contribute to the decline and apparent disinterest of a lot of folks (I'd really be interested in Bob Lee's opinions here, since he was someone who's ideas I was particularly aligned with at the time and has since gone pretty quiet).. That said, lack of first class functions in Java isn't a trifle. It's why Java isn't all that much fun to program in compared to more expressive languages... and a bigger problem is that more than any other language I'm familiar with Java suffers from the problem of not being able to see enough ideas in a given amount of source code. I'm explaining that terribly, but I just mean that Java code is at least 60% scaffolding that isn't material to the author's intent. Closures, or first class functions done nicely would be a big step in alleviating that issue, IMHO.
- speckledjim 15y ago> and a bigger problem is that more than any other language I'm familiar with Java suffers from the problem of not being able to see enough ideas in a given amount of source code. This is not an issue with Java. It's an issue with the programmer. How are you going to cope with assembly language listings? Blame assembly language?
- pivo 15y ago> New language features are all fun, but unless they actually result in faster execution, or allow you to do things you could not do before, they're only use is to make some developers happy, which I don't think is particularly important. I think you don't appreciate how some language features can help you reduce the size and complexity of your code. Those are the kind of features that are sorely lacking in Java, and that means huge, bloated code bases. I'm tired of visually parsing 20 lines of a Java method and filtering out all the boilerplate iteration junk just to find the one or two lines that actually do something. Often this kind of thing can be reduced to a few simple, relevant lines when you have closures, for example.
- Groxx 15y agoDepends. What if your nails required newer hammers? Would you rather wait for a newer hammer from a company that hasn't been meeting needs for years, or buy one from the store that had them when the nails came out? Perhaps a better analogy is a screwdriver. Apple came out with their "pentalobe" security screws a while back - is it reasonable to buy one of the screwdrivers that is made for it that are available now if you needed to (un)screw one? The other options are to use a philips and damage the screw and suffer a lot of frustration, or to wait until Craftsman makes one (probably never).
- felipemnoa 15y agoThere really is not much you can do to a language to make you code faster. I guess people just like the novelty of a new language.
- famousactress 15y agoIf you mean that time spent actually coding a program is a rounding error of the time spent conceiving it, then that's an interesting point. That said.. 1. OF COURSE you can make languages that are faster or slower to write code in. 2. Trivializing anyone who jumps ship on a language as being enchanted with the 'novelty of a new language' is obnoxious and arrogant.
- felipemnoa 15y agoYes, it is harder to come up with the actual design, architecture, algorithms, testing of your program than the actual coding. You should definitely use what makes you more comfortable but criticizing/hating a language because it is not adding whatever is currently hot under the Sun is also obnoxious and arrogant. C++ is a lot older than Java and can be also a pain to write programs in and yet for whatever reason people love to hate Java because it is not keeping up with the times. There really is not much you can do to Java at this point. The tools on the other hand, do make a huge difference. Eclipse is a really time saver and actually makes you a more efficient coder.
- famousactress 15y agoI don't hate Java. The language is good and the JVM is great.. but I became increasingly displeased with the fact that the evolution of the language seemed to become slow and aimless. Couple that with where the tools were going, and I felt like it was getting harder and less fun to write applications in Java.. so I kind of bailed. There really is not much you can do to Java at this point Because it's basically perfect? Okay. At any rate, really my point was not "Java sucks, I'm over it"... my point was that I think the community of programmers that surround a language are for better or worse stewards of the direction, best-practices, idioms, and common ideologies that affect my experience developing in it. Jim's arguing that he's not like that.. fine, but most of the rest of us are. We use libraries written by other developers, work with other developers... the community matters and shapes our experiences as a [Insert Language] Programmer. I'm just saying that for me, that community was thriving at one point, and then around when Java 5 came out fragments started showing.. things got worse, and now I don't really see much to get excited about. The frameworks are ridiculously heavy, I hope I never accidentally figure out what an Enterprise Service Bus is for, and generally I just feel like the direction of the language (and probably the platform) seems rather driftless.
- superuser2 15y agoIn certain situations, professional carpenters have found nail guns more effective. They require more resources to run, but they tend to get the job done a lot faster.
- kaffiene 15y agoThis is the difference between engineers and fashion conscious newbs. Some of us are trying to get stuff done, some are wanting to be cool. Java is still an excellent tool for getting stuff done EVEN if it isn't cool anymore. Which of these is more important to you says a lot about where your head is at as a developer.