4 ms·
Ask HN: What programming concepts do/did you find hard to understand/implement?
- girishso 6y agoI found it very hard to understand functional programming after more than a decade of OO. Was lucky to find Elm.
- Dracophoenix 6y agoWhat's difficult about it to you exactly?
- girishso 6y agoFP is a completely different paradigm for computing, my OO brain took some time to get a hang of it. In particular, I found it very hard to figure out how to model the system, just by using functions. It was very hard until I figured it out.
- tacostakohashi 6y agoI found regexes pretty baffling (i.e., took me a long time to understand at all) when I first encountered them. And, even now, complicated regular expressions can be difficult to work on. The main challenge is that you can't see which part of some huge pattern isn't matching, or insert a breakpoint / printf in the middle, it's just an opaque black box that either works or doesn't... and if it doesn't you need to break it all the way down to something that does, then work back up again from there.
- giantg2 6y agoRegexes, some 3rd party java annotations, quantum concepts, even some patterns of OOP that involve a lot of abstraction.
- thedevindevops 6y agoI worked on a piece of software that made use of Simulated Annealing and I'm still not entirely sure I understand how it worked.
- vanilla-almond 6y agoI'm a mediocre programmer at best and I still struggle with Object-Oriented Programming (OOP). I understand the ideas, but I simply find it to be an 'unnatural' way of programming. Millions of other programmers are successfully coding with OOP, but I'm not one of them. I've tried many OOP languages and Ruby and Crystal felt that they had the friendliest approach. Why do I struggle? I think some of it is to do with the thick layers and unnatural wordiness of the way it is implemented in many languages: constructors, instantiating, getters, setters, public, private, unattractive syntax etc. As I said earlier, I am not a great programmer (but try to improve :-) and my opinions on OOP reflect that. As an aside, the stranglehold that OOP has had over the profession seems to have loosened. New languages like Julia, Go, Rust and Nim do not describe themselves as object-oriented although they have object-like features. Back in 2019 I asked Hacker News: "Why do new(ish) programming languages eschew OOP features?" https://news.ycombinator.com/item?id=20320752 https://news.ycombinator.com/item?id=20320752
- eigenspace 6y agoMy feeling is that 'Object Oriented' has basically become a dirty word among forward looking programmers. I don't really think this is because of a problem with the idea of object oriented programming, so much as a GIGANTIC problem with the most prominent languages which describe themselves as object oriented. IMO, object orientation does not need to involve things like single-dispatch classes, concrete inheritance, and other bad ideas promulgated by the prominent OO languages which newer languages are trying to distance themselves from.
- AgoRapide 6y agoRegular expressions. Functional programming.
- deleted 6y ago[deleted]
- simonblack 6y agoRecursion. I can write a factorial-computing program, but I'm slow at it. I think my biggest problem is working out those instances when I should use a recursive function.
- pknerd 6y agoRecursion Abstract Classes Pointers, thanks to Golang I don't feel so insecure anymore.
- LandR 6y agoContinuations and call/cc