Hacker Newsnew | past | comments | ask | show | jobs | submit | _eojb's commentslogin

You're in good company. Ligatures were really not meant to be used this way, and materially harm the editing experience IMO.


Using parens to pass type arguments was one of the things that turned me off on Zig. For a language that prioritizes "no hidden control flow," it sure did a lot to make various syntax conventions _masquerade_ as control flow instead.


> Using parens to pass type arguments was one of the things that turned me off on Zig.

It's just regular comptime function calls which happen to have parameters or return values which are comptime type values (types are comptime values in Zig). I find that a lot more elegant then inventing a separate syntax for generics, and it lets you do things trivially which are complex in other languages (like incrementally building complex types with regular Zig code).

It might be unusual when coming from C++, Rust or Typescript, but it feels 'natural' pretty much immediately after writing a few lines of generic code.


What do you mean? It is control flow. Generic functions are just higher-order functions that get evaluated at compile time.


It is an interesting question of definitions. Is control flow only at runtime? Is `#if` control flow in C?

If I had to define it, I would go with runtime-only, but I could see the other way too.


Macros can have control flow, so compile-time control flow is definitely possible, but perhaps we trained ourselves to not think of control flow in this way because using complicated compile-time logic is generally frowned upon as a footgun.

Perhaps Zig is the language that on purpose blurs the line between what runs when (by basically having what looks like macros integrated into runtime code without any conspicuous hashtaggy syntax), and so a Ziggy would not see compile-time control flow as something weird.


Zig’s comptime is just code that runs at compile time. Unless we have another term, we must call it control flow


[flagged]


I don't get it. Their reply looks normal to me.

Is it because they disagree with you?

I take these instances as learning opportunities and that makes me want to comment more, not less.


Like what?


> from a patent attorney

This isn't an interesting counterpoint. This is the de facto narrative regarding patent lawyers and patent trolls masquerading as firms that act as though they somehow contribute.


Very mid compared to Visual Studio in my experience. You don't even get a modules window, and there's a whole litany of core C++ debugging features missing.


Yeah, but compared to the Visual Studio debugger, pretty much everything is stuck in the stone age unfortunately.


I agree with this whole thread. I do use VS Code as my debugger frontend for C++ on Linux, but it's a real bummer compared to what's available on Windows. Hence this series!


Anyone who had any respect for Sam "Give me your eyeball data" Altman was always delusional.


The trouble with the comparison text is that it doesn't provide a way to quickly filter out fonts that abuse ligatures.


Seriously talk about poor naming. Even the start of this paper is the same as the other Radiance Cascades GI paper.


Console user spend and user acquisition costs are not even remotely similar to the corresponding values in the mobile ecosystem.


I'd really rather not, personally. All my Swift experiences have been fighting the abysmal compilation times.


That's a bit of an issue in Rust world, too.


Swift is pretty next level compared to Rust. Rust does seem like a fairly constant level of slow and linearly slows down as the project gets larger. Swift tends to have huge degradations on seemingly innocent changes that make the type inference go off the rails. Although at least if you spend the time to track these down you can fix the worst offenders.


Pardon me for not getting your context, but are compile times a big issue in software development? I have never programmed professionally and all my experiences with code is from a couple of classes taken in college a decade ago.


When doing UI things, a common workflow is to have code and the app side-by-side, make a small tweak in the code, recompile/hot-reload, look at he result, repeat. A long compile time makes workflow a pain.


It's not as good as Flutter/RN hot reload but SwiftUI previews do make this a lot better.


In general, you're right. But there are at least 2 times where they're absolutely vital- anytime you're dealing with a UI and data exploration in data science (since you make a lot of frequent, small changes in the goal of fine tuning something.) Everything else, best practices has good testing and partial compilations to make it moot. There's probably some other contexts that make it valuable, but I've never had to deal with those.


Not having an opaque tech stack encumbered by a patent minefield is another plus.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: