HN user

speckledjim

418 karma
Posts0
Comments128
View on HN
No posts found.

You'll look back at these comments you're making in 10 years and be embarrassed. Hopefully by then you will have learnt a bit more about being a productive programmer.

The language doesn't matter. Repeat after me...

A good programmer can make good stuff in ANY language. A bad programmer can only make good stuff in their favorite language.

You should stand up, be confident, and realize that it is the programmer that creates awesome software. Not the language.

That's great that you've discovered you're less productive in Java than Scala. Hopefully you can improve that deficiency in your programming at some point.

> You lack the breadth of experience to make this claim.

Wake up. You're 23. You're a kid. You've just started programming and think you know everything. You don't.

> To paraphrase a minor celebrity of programming, life is too long to be good at reading every variation of boilerplate.

Learning to read code is just like learning to read English. You can guess most of the words meaning once you know some of them. Personally, I think being able to read code is the best skill you can have as a programmer. Just as a good musician is able to listen to music properly. (I mean 'listen' as in analyze, understand, notate and copy).

The other point IMHO is that scattering your code with anonymous functions points to bad design and is as bad as scattering "GOTO" everywhere in BASIC code. It leads to spaghetti code which is an unmaintainable mess.

> I have been writing Java since I was 13. I am 23 now. I have been paid for code written in C#, Java, JavaScript, PHP, F#, and Python.

Woah! You're 23? I bow down to your knowledge and wisdom ;) (I started programming before you were born).

> I am quite certain that I would be vastly more productive if the language wasn't consistently getting in my way

Again, then you're doing something seriously wrong. If you're spending more than 25% of your time typing out code, you're doing something very very wrong.

If your bottleneck is the language, there's something seriously fucked up with the way you program. As a programmer you should be primarily using your brain, to solve problems. Then you take a few minutes to splurge that all out by pressing some keys on a computer.

It's still a problem with US carriers. (Other countries have far better carriers and ecosystems than the US)

It still absolutely amazes me that you guys usually pay for incoming SMS messages.

I mean come on. W T F? If the carriers started charging each time you charge your battery the US public would just bend over and take it.

> 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?

Yes, the reason is the runtimes for them suck, or aren't needed.

If there was a decent runtime for BASIC or COBOL, which gave real world advantages over everything else, I'd switch to BASIC or COBOL in a heart beat.

I'm a programmer. The language I use is pretty irrelevant. If It starts looking ugly, I'd just write a cross compiler. This is not rocket science.

Java does no such thing as "encourages 20,000 line behemoths filled with dross". Bad programmers do.

If you're creating several methods that only differ a little bit, you're doing something stupid. In any language.

Bad programmers create bad code. The language is totally irrelevant.

I think it is. If people haven't learnt yet that the single most important skill you need as a programmer is being able to read any code, in any language, and take a good guess at what it does, be able to hold abstract programming concepts in your head, and match them up to random code listings you have never seen before....

Before you can write code, you need to know how to read it.

> Those are the kind of features that are sorely lacking in Java, and that means huge, bloated code bases.

No, it doesn't. If you can't write concise Java, you're doing something wrong. And if you can't read code well, go practice some more.

Disclaimer: I'm an outlier. I rarely use 3rd party libs, rarely write with anyone else, etc.

Well, 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.

> 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.

Sure, but the whole premise is that you're traveling. Going to unknown territories.

If I'm going traveling, I'm sure as hell in "untrusting" mode since I don't have a clue what the locals are like.

There's strangers as in "local resident I see each day but don't know", and there's strangers as in "I've just traveled to a completely different country and have no clue who this person is"

Wanting to trust everyone and believing majority of people are good is a nice hippy dream. There's some nasty horrible people out there.