But that kind of shortcut seems to be optional.
As far as simplicity, I think their pitch is "simpler than Rust", not in absolute terms. The whole comptime thing is hardly simple in general.
simple <-> complex
easy <-> difficultIn the same vein as what you said here about orthogonality ( https://news.ycombinator.com/item?id=42097347 ), programming languages and IDEs should be orthogonal (and actually are, unless deliberately linked). People were using languages much before IDEs existed. And they got a hell of a lot done using the primitive surrounding tools that existed back then, including, you know, gems like Lisp and the concepts embodied in it, many of which have, much later, been adopted by many modern languages.
And I still meant "almost compel", even by the community, because of course they cannot really compel you. I meant it in the sense of, for example, so many people using VS Code for programming posts.
It's ironic that you complain about this because Zig is probably the most "normal editor" friendly programming language for exactly the kind of thing mentioned in the article.
I don't need an IDE to figure out the 12 options to that function and fill them out with the correct defaults. I don't have to hunt through 23 layers of mysterious header files to find the declaration I need to figure everything out. etc.
Just try figuring out a foo(12).bar(14).baz("HELP!").fixme("ARRGH!") construction chain in C++ or Rust without an IDE. Oof.
1) Zig doesn't encourage those and 2) in Zig I can trace the @import() calls and actually run "grep" on things.
echo Who complained, $(echo bsder | sed 's/sd/ro/') ? ;)
Not me. Don't put words into my mouth.
(I don't care if I got the above shell syntax wrong), this was just a quickie, for fun ;)
you seem to have misunderstood my words, in the exact opposite way from what I meant. congrats. not!
>I don't need an IDE
who told you that I needed an IDE?
chill, willya?
and, wow:
>to figure out the 12 options to that function and fill them out with the correct defaults. I don't have to hunt through 23 layers of mysterious header files to find the declaration I need to figure everything out. etc.
12 and 23, exaggerating much? we are not talking about win32 API functions, podner.
>Just try figuring out a foo(12).bar(14).baz("HELP!").fixme("ARRGH!") construction chain in C++ or Rust without an IDE. Oof.
Don't resort to theatrics or histrionics to make your point (like HELP! and ARRGH!), (I am allowed to, tho, because i > u :)
>1) Zig doesn't encourage those and 2) in Zig I can trace the @import() calls and actually run "grep" on things.
faaakkk!
though a bsder, you find header files mysterious, and cannot grep through them, if they are in C++ or Rust, eh? are find and xargs your enemies? or even just ls - R | grep ?
stopped editing, even though there might be a few minor typos.
now, fire back! :)
[0] - https://github.com/zigtools/zls
[1] - https://kristoff.it/blog/improving-your-zls-experience/
Similar to when you add a new enum member and it complains of all switch statements that are not using it (as long as you didn't add a default case).
fn example() {
let p = returns_a_point_type(args);
}
Where create_point() is a function from a module (e.g. not even defined in that file) which returns the Point type automatically inferred for p? I mean sure, it's technically constructed in the called function... but is that often a useful distinction in context of trying to find all of the places new instances of types are being assigned? In any case, this is something the IDE should be more than capable of making easier for you than manually finding them anyways.