• 43 Posts
  • 667 Comments
Joined 3 years ago
cake
Cake day: June 11th, 2023

help-circle
  • For me, the same rules apply, but as you say or hint, SQL as a language is different from higher, “structured” programming languages.

    Adding comments on subqueries, applies, conditions, doing deliberate line breaks or oneliners, procedure comments and documentation where they make sense - most of the same things apply and are applicable. Structuring and commenting works quite well, until it doesn’t for performance and readability reasons where you don’t want to introduce additional procedures or functions or separate other aspects.

    In those cases, it is what it is. Often comments can live on the lines where the aspect is.

    I also like to use block comments with open and closing block indication like

    -- \ Table or aspect something stuff \
    […]
    -- / Table or aspect something stuff /
    

    The language doesn’t provide the structure for it, but I can still implement that structure through text comments alone.


  • My colleague who didn’t ask nor describe his changes now generates descriptions and code comments through AI and it doesn’t improve anything. It’s verbose, imprecise, confusing, and irritating.

    I wonder if and how much communication reduced with my other colleagues. I guess probably a bit where they now ask AI (first). But not significantly, in my team, luckily. We still regularly talk. But maybe it’s on a path of reduction right now. I would find it sad and bad as well.


  • It really is a very visible demonstration of human faultiness.

    A reasonable engineering approach would have been an interesting new technology with open discussion and assessment and expansion of exploration. Instead, we get hype cycles and hyperbole claims and lies primarily driven and publicized and repeated as market marketing and investor marketing and an industry driven by money and investment rather than technology and reasonably explorative and increasing usage.

    It’s sad and tragic. But not surprising. It’s a consequence of human psyche, social constructs and market and society system structure.

    When I hear my colleague does a presentation differently for internal towards developers with more reasonable AI takes and a different one for external which basically practically joins the AI hype instead of voicing boundaries, it’s pretty sad that it can’t be honest communication throughout and be understood as such.

    I don’t see it as an isolated fault of “corporate leadership” as in of development factories/teams. It’s a broad issue, from the AI companies, press hype, industry hype, to then corporate and broader industry leadership eating it up and implementing and expecting marketing and hype claims.








  • So my main point is to stop asking whether and how code review in its current form can be saved, but to have an open conversation about what we are trying to achieve here and the costs and benefits of alternative models.

    What would these other models be? The article assumes LLM-generated code leads to the loss of current review processes, which they call ‘modern reviews’.

    I feel like my team does and will continue to do reviews for the same reasons and with the same gains as before. LLM may generate code, but I expect my colleagues to take ownership of whatever they produce, to understand it, take responsibility, and describe it. (Which is an issue/gap for some, but that was an issue even before generating code.)




  • 00:00 Intro
    00:48 Why write a compiler in JavaScript
    07:29 Why rewrite the compiler in Go
    14:49 LLMs for large migrations
    20:12 Why Javascript is so popular
    26:32 Why ever use Javascript on the backend
    32:59 What it takes to build a programming language
    37:06 Will there be fewer languages in 10 years
    42:57 Hands on engineering vs delegation
    49:14 Why fast tooling matters more now
    51:16 AI software engineering predictions
    58:52 The most technically challenging work
    01:02:04 Top book recommendation
    01:03:50 Advice for his younger self
    01:05:00 Outro

    Just summarizing the title teasers:

    10x faster by switching from JavaScript to Golang. Rust was not feasible because it does not have a GC/does not support circular dependencies, and they have many of those, and did not want a rewrite but a minimal effort switch.

    AI may produce a lot more code, but what code does “90% of code” refer to. AI is not capable of novel or complex stuff, you still need humans in the loop. Juniors remain significant to train them into seniors.






  • if I was going to expand my horizons

    Python is well liked and beloved, but it never captivated me or felt intuitive.

    Writing magic init logic feels like a hacky workaround, like putting frameworks and concepts around what is, at its core, a scripting language. If you’re committed to it, maybe you’ll get past that barrier and find it’s good, I don’t know, I never got there. From outside, and with experience in other languages/ecosystems, it just never felt correct to me.

    Have you considered alternatives? For example, C#/dotnet?

    Just my experience/opinion. As I said, it seems well beliked by others. I can’t speak for their views or experiences.