• 0 Posts
  • 292 Comments
Joined 1 year ago
cake
Cake day: September 2nd, 2023

help-circle

  • Editor/IDE, whatever. People claim both about jetbrains.

    If you want a purely editor-thing:

    Whatever vscode does with Ctrl+D (I don’t know the name). Ctrl+D is probably the hotkey I use most in vscode (probably more than Ctrl+S), yet CLion doesn’t have that. I’ve searched multiple times the whole settings for it.

    Those two examples are just the ones that most recently occurred to me, it has a lot more issues. For example the lack of a staging area. You can’t “git stage” in CLion.

    And I don’t think that the git integration is free from criticism. Git integration is one of the most important features of IDEs. It’s absolutely valid to criticize it.

    The autoformatter also doesn’t work correctly when developing in remote. Which means that unless I want my PRs to have thousands of lines of whitespace changes, I can’t use the auto formatter.

    Now I don’t know if this is a CMake issue or CLion. But at one point It was "#include"ing a struct from a header file I had deleted 1 hour previous to the build failing. The only way to fix that was to create the file again and delete it again.

    These complaints might seem small. But put together they are hours of wasted time that you don’t expect from the “best” of something.


  • Don’t need to go all the way there. I always heard that jetbrains make the best editors. Yet when my job forced everyone to use CLion I saw that it was just a lie. The editors aren’t good, they are just expensive.

    There are 2 easy examples:

    1. Remote developing sucks. Loading a remote cmake project takes ages. Yet if you remove the temp directory it’s almost instantaneous. Except when you do it too often and clion refuses to sync the files, then you’re fucked because there isn’t a “sync” button, it only happens automatically.

    2. The commit log is awful. It doesn’t by default show you the commit/branch you’ve checked out, it shows the chronologically most recent commit. There’s no “go to checked out commit” button either, you have to write the hash in the search field. Which btw the search is trash. If you write 6 of the characters of the hash it shows “there are no results”, yet when you write the 7th, suddenly your commit appears.



  • If you want to use instructions from an extension (for example SIMD), you either: provide 2 versions of the function, or just won’t run in some CPUs. It would be weird for someone that doesn’t know about that to compile it for x86 and then have it not run on another x86 machine. I don’t think compilers use those instructions if you don’t tell them too.

    Anyway, the SIMD the compilers will do is nowhere near the amount that it’s possible. If you manually use SIMD intrinsics/inline SIMD assembly, chances are that it will be faster than what the compiler would do. Especially because you are reducing the % of CPUs your program can run on.




  • I don’t know why you are being so rude. I thought it was the rust community that was known for being toxic?

    It’s not my opinion on what the unsafe keyword means. That’s its purpose. Nobody ever wants to write unsafe code on purpose. The unsafe keyword was created to allow safe programs to be created in rust that wouldn’t be accepted by the strict rust compilers.

    In a Venn diagram, there are 2 circles: safe programs (1) and programs that are deemed safe by the rust compiler (2).

    Circle 2 is smaller than circle 1 and entirely contained inside it. However, there is no reason to not let people write programs from circle 1 that aren’t in circle 2. The unsafe keyword exists to enable programmers to write those programs in rust. However, it comes with a warning, now the programmer is the one responsible for making the program inside circle 1.






  • What’s up with all these posts lately talking as if C was the chain breaker that will let you achieve a higher spiritual level for your soul or some shit. This is at least the second I’ve seen this week.

    It’s a programming language. If you want to use it, use it. There is no illuminati pulling in the strings to prevent you from learning this holy language.

    That being said, like all programming languages, it’s a tool, with its upsides and downsides. Depending on the project it might be the best choice or the worst. But with the advancement in language design, there’s very little upsides compared to more modern languages, taking into account its big downsides.


  • Well, game freak is still a Japanese developer. Mario Cart is a very computationally light concept, as usually are Mario games, idk about odyssey in particular though, but they tend to be small maps with small amount of entities each. Zelda is fair, I’ve heard good things about it.

    It’s easy to make a good performing game if its concept and art design are computationally light. Optimization is about turning a computationally hard problem into a light algorithm that doesn’t take much resources.