Hacker News new | ask | show | jobs
by shantly 2438 days ago
I've more than once gone from knowing nothing about a language + ecosystem to releasing something comparable in quality to the norm for the platform, in three to six months.

It's mostly about knowing what you ought to be able to do. "Where's the hello world example? Let's get that deploying so we get in a good feedback loop. This is a GUI system that's not the Web, so probably there'll be event hooks or callbacks or something, I'll go look at how I respond to a click event and that should give me a good idea. And probably I'll draw with method calls of some kind and want to organize my code in such-and-such way as a result to keep the drawing code together, but maybe they have an XML design language or some other junk, I'll go check". Stuff like that.

Or "this is a web-focused backend framework so I need to figure out the idiomatic way to interact with storage systems like databases, how & where it's best to set headers, should see if it's got some standard way to manage migrations, et c."

You know what you need to do, the right way's a Google or glance at the docs away, and a lot of it's a once-per-project thing or something that can be quickly hidden behind a simple function call or just copy-pasted as necessary and appropriate. The rest is just refs/pointers, loops, objects, recursion. Normal shit everything has.

The hard part is usually the build & packaging system, in my experience, because those are usually terrible and are usually where the big hair-pulling multi-hour-losing unproductive speed-bumps show up. Big & popular doesn't make it any more likely to be much better or easier to figure out "best practices", as described in hip blog posts versus reality (see: Javascript).