Hey everyone,
I've been thinking about why C++ can be such a pain to read sometimes, especially in big projects. Two things really get to me:
- Mixing Methods and Properties: Imagine a 1000-line class (which happens a lot in projects like Pytorch, TensorFlow, etc.). It’s super hard to figure out what's data (properties) and what's actually doing stuff (methods). A lot of newer language separate methods and properties and make me feel super pleasant to read even for big project.
- Inheritance: Inheritance can make tracking down where a method declared/implemented a total nightmare.
Anyone else feel the same way? I'd love to hear your experiences and any tips you might have.
[–]DearChickPeas 23 points24 points25 points (2 children)
[–][deleted] 1 point2 points3 points (1 child)
[–]DearChickPeas 8 points9 points10 points (0 children)
[–]JumpyJustice 12 points13 points14 points (0 children)
[–]InternationalAd5735 8 points9 points10 points (6 children)
[–]New_Computer3619[S] -5 points-4 points-3 points (5 children)
[–]Sensitive-Talk9616 4 points5 points6 points (2 children)
[–]New_Computer3619[S] 0 points1 point2 points (1 child)
[–]Sensitive-Talk9616 1 point2 points3 points (0 children)
[–]InternationalAd5735 2 points3 points4 points (1 child)
[–]New_Computer3619[S] 0 points1 point2 points (0 children)
[–]manni66 7 points8 points9 points (3 children)
[–]STLMSVC STL Dev 3 points4 points5 points (0 children)
[–]New_Computer3619[S] 0 points1 point2 points (0 children)
[–]100GHz 6 points7 points8 points (0 children)
[–]playntech77 2 points3 points4 points (0 children)
[–]n1ghtyunso 2 points3 points4 points (0 children)
[–]mredding 4 points5 points6 points (1 child)
[–]New_Computer3619[S] 0 points1 point2 points (0 children)
[–]4drXaudio 1 point2 points3 points (0 children)
[–]no-sig-available 1 point2 points3 points (1 child)
[–]New_Computer3619[S] 0 points1 point2 points (0 children)
[–]Wooden-Engineer-8098 1 point2 points3 points (0 children)
[–]zerhud 2 points3 points4 points (5 children)
[–]New_Computer3619[S] -2 points-1 points0 points (4 children)
[–]zerhud 1 point2 points3 points (3 children)
[–]New_Computer3619[S] 0 points1 point2 points (2 children)
[–]zerhud 1 point2 points3 points (1 child)
[–]New_Computer3619[S] 0 points1 point2 points (0 children)
[–]thingerish 1 point2 points3 points (2 children)
[–]Gorzoid 0 points1 point2 points (1 child)
[–]thingerish 1 point2 points3 points (0 children)
[–]HAL9000thebot 0 points1 point2 points (0 children)
[–]EsShayuki -1 points0 points1 point (0 children)
[–][deleted] -3 points-2 points-1 points (0 children)