• 1 Post
  • 15 Comments
Joined 1 year ago
cake
Cake day: July 10th, 2023

help-circle



  • Lol I feel so old reading these replies… I learnt copying BASIC games from magazines and typing them manually on the computer.

    But jokes apart, when it comes to learning, I think the best thing is to tinker with weather language you choose and don’t worry about making the “right choices” since the start. Forget about writing “pythonic” code and don’t worry about being “idiomatic”: just build something. Building good software is not just constructs, but also knowning which subsystem to improve and when. That’s what makes experience.

    When it comes to improving, you can dig deep into the language.




  • Personally, I mostly use neovim, both at home and at work. My reasons are:

    1. I hate any kind of screen cluttering. The minimap comes straight from hell.
    2. it’s very responsive. I don’t even bother using language servers as they occasionally introduce micro delays that I hate.
    3. it helps me in organizing the code better. No minimap means I keep the file size manageable, not seeing the definition of the function straight away means I keep the static complexity of the code in check (tend to reduce the number of delegates). It doesn’t help when I have to read cose from legacy codebase, but I don’t care too much about that.


  • “intuitive” is extremely subjective, and based on your past experiences. I’ve coded in C++ for years, and some Python, too and was able to grasp many Rust concepts very quickly, while for others I struggled (and still am). I’d say that if you are looking for “intuitive”, Rust ain’t it. It’s a system language, so it requires planning, it’s definitely not the ideal language to slap a prototype quickly together, expecially as a beginner.



  • My understanding is that this is possible: you should be able to take a C project, add a build.zig file and under the hood the system is calling clang to compile the C project. HOWEVER, you can now add a .zig source file, compile that in zig and link together with the output of the C compiler into an executable. If this is actually true, I can definitely see the attractiveness of the language.





  • I used to love IDEs with immediate feedback on the code, and a modern VSCode setup can really shine in this regards. But these days I’m going for a minimalistic approach where I don’t want to see anything in my screen but the code. I use Neovim and while I use plugins for formatting code on save, my screen is absolutely code only. No linting hints, no function definition appearing when I hover thr mouse, nothing at all. It’s far less distracting and you also feel much less constrained, even if I unconsciously already write the code in a way that the linter doesn’t complain (too much) later. I haven’t noticed any drop in my productivity in the last year I’ve been doing this.


  • Oh man, I hate code reviews with the strength of a thousand suns. In the enterprise world, there are so many constraints and conventions that reading other people code is even more boring than it should be. It’s even worse when you LGTM it and your colleagues “accuse” you of not having read it with attention because “I can’t believe you don’t have any comment on my code”.