4 ms·
I find it to be a really odd when people want to work with specific languages. Languages are just a means to an end, not an end themselves. When I've made caree
by ironman1478 5y ago
I find it to be a really odd when people want to work with specific languages. Languages are just a means to an end, not an end themselves. When I've made career changes it's because I wanted to solve certain problems or learn about specific layers of the stack (embedded and HW). I don't care what language is optimal in a domain. If I don't know it I'll learn it, but a language isn't gonna solve the domain specific issues. It's just a tool.
- eweise 5y agoI don't find it odd. Its actually kind of frustrating using tools that make your job harder. Everything else being equal, I would choose a job where I coded in Kotlin over Java since I get frustrated easily with Java.
- tmoertel 5y agoIn this case, I suspect that Mark is interested in the distribution of jobs associated with Haskell as much as in the language itself. Haskell shops tend to solve certain kinds of problems and have certain philosophies about software. If you're interested in these problems and philosophies, a good way to find a job aligned with your interests is to find a job writing Haskell.
- SonOfLilit 5y agoHaskell is the only language I ever learned (out of dozens, including Lisp and Forth) that felt like learning something completely new, like none of my existing programming knowledge applied. Working in Haskell means exploring a very different neighborhood in design-space. It's much more of a change of pace than learning about a specific layer of the stack.
- Jeff_Brown 5y agoFor me Haskell and Prolog were both like that.
- smasher164 5y agoLanguages are means to end, where the end you reach is significantly affected by the means you used to get there. - Using Haskell means you can model your domain more precisely and have higher correctness guarantees. - Using Rust means you get memory safety while maintaining the speed of C++, where the vast majority of vulnerabilities are memory safety issues. - Using SQL means you can apply an optimizer on top of what is essentially relational algebra over tables. In all of these cases, a less effective tool could be used, yes. But "it's just a tool" doesn't capture the fact that tools do solve domain-specific issues, and OP is not wrong to seek an employer who acknowledges the value of Haskell has to add.
- ironman1478 5y agoI get all that, but it still feels backwards a bit? I work in HW but I write a lot of software tools and prototype control firmware (though I come from an enterprise background). I generally have to write python, C++ or C (all context dependent). If somebody came to me saying "I want to work in C" or "Python" I'd say "so"? They should be saying they are interested in solving optimization problems, image quality search problems, etc. I understand Haskell is great for certain use cases but that applies to every language barring joke ones. Why would an employer hire somebody if they are simply interested in the tool through which the problem is solved not the domain itself? What signal does that provide and what evidence do I have that the person will become component in the domain? The way the original post is framed feels backwards to me. I should also add, I was one of these people that just wanted to write C++ template metaprogramming all day and I had a hard time find jobs due to this exact line of thinking. Once I relaxed this constraint, I was able to find a new job AND use the programming tools I want, assuming its appropriate for the context.
- smasher164 5y ago> They should be saying they are interested in solving optimization problems, image quality search problems, etc. They are. OP has been spending 30 years not being paid to use the tools he wants. > but that applies to every language barring joke ones Some languages are far more effective for a domain than others. To stretch it further than Haskell, there's a reason why Verilog is used in hardware over something like C. It would be enormously frustrating to work against my tool to get something done. Programmers who focus on "getting stuff done" in these situations are succeeding despite their tools, which is commendable, but we should still push to using better tools. > interested in the tool through which the problem is solved not the domain itself Many factors play into why someone works at a company, whether it's cost-effective to use a certain tool, whether a tool is trendy, whether the candidate is passionate about the domain, or whether the candidate is passionate about the tooling. A lot of people aren't passionate about the domain of adtech, for example, unlike self-driving cars, but they work in these areas because they like the practice of engineering.
- fouc 5y agoThe programming language informs the core tech stack, so the programming language is more like the tool box, than the tool itself.