Live data from Hacker News

Being confidently programming language agnostic

blog.bradfieldcs.com

91–100 of 131 posts

Re: Being confidently programming language agnostic

#91

Earlier quoted context omitted.

I'm with you. A standard set of languages/tools would be great, so you don't have to pay a cognitive overhead cost every time before you dive in. It's fatiguing. It adds up. I much more enjoy the act of programming than learning a new tool or language....and then getting on with the real work. Pipe dream, it would seem, but: I feel like the energy spent picking up new things could be used so much better going deeper…

I am sick of having to rewrite difficult data structures. I though if haxe could compile libraries I might never have to. But maybe just doing everything in rust might be a better approach?

It would be nice if you could "auto-export" from Rust. The pieces of the puzzle are something to generate a C API from a module's public API -- without `extern` declarations -- and then something to turn that API into Ruby, Python, Swift, Node, Java, Go, &c.

Clang modules are the beginning of something for the latter task. SWIG also has a lot of ideas that are usable -- and SWIG can handle the API description having classes and methods, since it handles C++. Though I would hesitate to make C++ headers the lingua-franca of code.

Re: Being confidently programming language agnostic

#92

I've been programming for 20+ years, and recently moved over to Python. Sure, I could code on day one and figure out how to get programs working pretty easily. But the nuances with it are still things I need to work on a lot. I still don't program Pythonicly, I program like a C programmer writing Python. In fact, I probably program in all languages like I would a C programmer, and that's not good enough, in my opinio…

Would highly recommend Fluent Python. http://shop.oreilly.com/product/0636920032519.do

A thousand times yes.

Re: Being confidently programming language agnostic

#93
It's far from enough to know a programming language. If someone knows how to write binary search on C++, he can rewrite it on Python, JS or C# pretty easily.

But software development is not about writing pure functions, it's about writing applications, so frameworks and good practices is more important than the language.

Re: Being confidently programming language agnostic

#94
post #43

Earlier quoted context omitted.

What makes you think universities produce people who don't care about performance and aren't educated about low level mechanics? That's an honest question, I'm not challenging your experience. I don't know what your experience is, of course. In my experience, people with CS degrees do understand the low level mechanics statistically more often, on average, than people who don't have a formal education, or people who…

> What makes you think Personal experience. I've been trying to hire moderately competent, junior software engineers would be able to write and optimize C++ without much supervision. They're now more rare than the Sasquatch. Today, "caring about performance" means picking a language that's only 5x slower than C, rather than 100x slower. Hardly anyone even knows why alignment might be desirable, or how long it takes t…

As an anecdotal counterpoint, I'd love to see more people hiring for positions like that. Most C++ jobs are between "we know you're clueless, but hopefully you'll learn" (rare) and "you know this stuff, how are you not in a senior/architect position?". Hacking away on moderately complex performance-conscious code without necessarily spending too much time on architect-level concerns sounds lovely.

Re: Being confidently programming language agnostic

#95
post #73

Earlier quoted context omitted.

> Personal experience. I've been trying to hire moderately competent, junior software engineers would be able to write and optimize C++ without much supervision. They're now more rare than the Sasquatch. Are you certain they're rare? As opposed to not responding to your hiring ads, for whatever reason? I do think the percentage of programmers who care about CPU cycles has gone down; I would totally agree with that. D…

> As opposed to not responding to your hiring ads Could be response rate, sure. Could be our proximity to Google, which manages to hire C++ devs just fine (fully a half of their codebase is C++). We've managed to hire some folks after all, with some remedial training they're doing fine. I just wish it wasn't so hard to find them, and they wouldn't require months of close supervision after you hire them.

How about all the embedded engineers who go on to become RoR engineers because it pays much better?

Google is probably willing to train people too, which might be a difference for you. C++ isn't that fun of a language compared to others too.

Re: Being confidently programming language agnostic

#96
post #69

I've been programming for 20+ years, and recently moved over to Python. Sure, I could code on day one and figure out how to get programs working pretty easily. But the nuances with it are still things I need to work on a lot. I still don't program Pythonicly, I program like a C programmer writing Python. In fact, I probably program in all languages like I would a C programmer, and that's not good enough, in my opinio…

It takes a while to get used to the idiomatic constructs of a language. Luckily it's much easier than with natural languages. My first Ruby programs were very Java like. I doubt that my first Java programs were C like, if you use classes and methods it just can't be. No problem with using Python and Ruby together. They are maybe like German and English, close but clearly distinguishable. And Javascript, Perl, PHP, El…

The first one is neither - it's string.join(iterable). If you keep that in mind then the design becomes clear - it would have been weirder to force every iterable to have some string-related method. Better to put it on string, where it more reasonably belongs.

The second one is the typical OO pattern where you ask an object to perform some operation on itself. This is how split works in just about every OO language - if you have trouble remembering it, it might be helpful to remember split can be called without any parameters - in that case your alternative variant won't make any sense.

Re: Being confidently programming language agnostic

#97
post #95

Earlier quoted context omitted.

> As opposed to not responding to your hiring ads Could be response rate, sure. Could be our proximity to Google, which manages to hire C++ devs just fine (fully a half of their codebase is C++). We've managed to hire some folks after all, with some remedial training they're doing fine. I just wish it wasn't so hard to find them, and they wouldn't require months of close supervision after you hire them.

How about all the embedded engineers who go on to become RoR engineers because it pays much better? Google is probably willing to train people too, which might be a difference for you. C++ isn't that fun of a language compared to others too.

Nah. Google doesn't "train" per se. They expect that you already know your shit pretty well when you get hired, or else they just don't hire you. From there on out you're on your own. No one will "train" you specifically, although opportunities are sometimes available. In particular, no one will specifically train you to write tight code. Your CLs will just get rejected until you learn that on your own. Source: spent 8 years at Google.

Re: Being confidently programming language agnostic

#98

I've been programming for 20+ years, and recently moved over to Python. Sure, I could code on day one and figure out how to get programs working pretty easily. But the nuances with it are still things I need to work on a lot. I still don't program Pythonicly, I program like a C programmer writing Python. In fact, I probably program in all languages like I would a C programmer, and that's not good enough, in my opinio…

https://en.wikipedia.org/wiki/Sports_car (C)versus https://en.wikipedia.org/wiki/Autopilot (Python)

Re: Being confidently programming language agnostic

#100
I feel we are starting to lose the plot. The problem isn't about learning another language or which to use next. Instead it is about how to solve and represent complex problems and systems in code.

Any language is a means to an end, not the end itself.

Focusing on languages and language constructs is of value to those in academia and those working solely in the domains of computing and computer science. For the rest, it is the equivalent of navel gazing, the equivalent of focusing on grammar, when the task is authoring a novel.

Post reply on HN