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

His rhetoric is a bit obsessive and frankly biased against AI.

That said, I think his voice is useful as a counter to the mainstream opinion.

Given the amount of investments, approaching AI from the angle of economics seems correct.

We all have some level of personal experience using AI/LLMs, both chatbots and coding tools, and I personally enjoy using them, but I am sure this experience is relevant in this discussion.

I also enjoy luxury hotels, gourmet food, jet skis and helicopters, but this is not something I indulge in often because of the cost-utility ratio.

The real cost of AI may or may not be lower than its utility. The bet is that utility is increasing while cost is falling.


Lindy effect is very strong in the programming languages world.

Zig is a very interesting and well built language, but it is also niche, unstable and not offering radical improvements over C.

C, as the foundation of all modern kernels and system tools, among many other things, is extremely unlikely to go away soon.

Everything you do in Zig can be done almost in the same way in C or C++.

I would say the real value of Zig is in the standard library that is more modern and arguably better.


> Everything you do in Zig can be done almost in the same way in C or C++.

Can you do this in C?

https://github.com/ityonemo/clr


Linters are not exactly a new idea, and they can be pushed quite far.

I am generally against the idea of language support for meta-programming, even using C macros or C++ templates.

I do a lot of meta-programming/codegen with external tooling.


> Linters are not exactly a new idea, and they can be pushed quite far.

That's not an answer. There's a reason why you can't do it in C, and the reason is "the stdlib is poorly designed". No amount of linting can get you around that.


I agree about the C stdlib being outdated and the worst part of C. This is why I don't use it.

A new modern C standard library would be a very good thing. But I am ok writing my own, tailored for my own needs and style.


Encapsulating arguments inside .{} seems superfluous and noisy.

I'm sure this can be rationalized in some way, to either simplify parsing or solve some rare ambiguity, but I just don't see it.

I know this is a minor thing and can be considered as nitpicky, and I expect some friction with syntax when learning a new language, but I just can't stand things I see as gratuitous. Same with the forced use of _ = foo(.{}); to avoid compiling errors...


In Zig, function arguments are not wrapped in `.{}`. `.{}` is the syntax for creating a struct or a tuple. This is used as a pattern for allowing optional arguments (options struct) and variadic functions (tuple).

Explicitly discarding return values is a thing many modern programming languages force you to do.


I know, and I don't see unused return values as an error, it should be a warning at best.

And the compiler should be just a bit smarter to avoid the .{} thing when it is not strictly necessary.


> And the compiler should be just a bit smarter to avoid the .{} thing when it is not strictly necessary.

What's your plan for this? Rebuilding the C varargs mess from first principles?


> Encapsulating arguments inside .{} seems superfluous and noisy.

You don't do this? This is only for varargs or optionals.

.{<stuff>} is just a shorthand for Type{<stuff>} (struct constructor) plus, "hey compiler, you figure out the type". So if anything it's LESS noisy than the alternative, and more forward-compatible if you change a type name for example.


I see it this way, the full signature for defining a variable is:

    var foo: Foo = Foo{};
There's two ways to shorten it:

    var foo = Foo{};
    var foo: Foo = .{};
It can infer the type of the var from the right hand side; or the type of the right side from the type of the var.

So when you see .{} as an argument, it is inferring the type from the function signature. It happens to be empty only because it's using default values (or is a tuple with 0 items).

Edit: fixed the extra dots.


that's not quite right.

1) It's var foo = Foo{...}; (no intervening dot)

2) I think parent commenter is referring to function call use case call_my_func(.{...})


1) Ah yes, just typing from memory. Point still stands.

2) Adressed in the last paragraph.


Point being, these two things aren't different (variable assignment and function calls); IIUC they go through the same analysis pathway, result location semantics.

https://ziglang.org/documentation/master/#Result-Location-Se...

It's a little bit weird, since the types flow in the reverse direction than you would expect.


It is not about sunlight or UV. And it is not "just genetics".

The natural rest position of the human eye is to focus at the infinite. Focusing on closer objects like books or screens requires a constant effort (we don't feel it).

The eye simply adapts and elongate to relieve some of the strain. Wearing corrective lenses further amplify the process.

If you want your kids to have perfect vision they should spend a lot of time playing outside, until early adulthood.


Yeah I'm not sure what currently "science" says, but from first principles something along these lines must be true, because "genetics" can't explain why some places like China went from low levels of myopia to extremely high levels in a couple of generations.

Clearly there's some significant environmental factor, and constantly focusing at short distances and/or getting no bright light exposure are the two obvious candidates (in other words, being inside all the time)


It seems that the main issue with AI is often not what sci-fi or EA-adjacent prophets are trying to warn us about, but the insidious dangers of the failure modes.

We are collectively not well calibrated to deal with systems that seems capable but fails in surprising ways.

Commercial planes are still under the responsibility and control of highly trained human pilots, even if I am pretty sure that full automation would be technically feasible, even without relying on modern AI, I don't think any companies would be comfortable with the liability.


As a systems/embedded eng I have always valued repeatability and determinism in my code, products, build systems, etc.

I am pretty bullish on AI from a high level now, but one thing that recently hit me is how arbitrary and hacky the workflows with the various agents are. Sure, LLMs are not deterministic but now with agents and reasoning it seems like randomness squared.


Here is a prediction about Bitcoin: there will be a financial crash at some point in the future, maybe it will be the AI bubble, maybe because of oil, shortages, something entirely unforeseen or some combination of those things, but if there is something to know about cycles is that crashes happens.

And because Bitcoin is now old enough that most people understand what it is, the hype has vanished, it won't survive the global fear or losing it all.


Of course it won’t survive, it’s the jpeg of a chimp in a baseball cap smoking a cigar of money.

A financial bubble.. Like the one caused by the inflation of the dollar to unimaginable levels? 1/2 of all dollars in existance have been printed in the last 6 years.

I would much rather have hard asset like Bitcoin, that is backed by the biggest computer network that has ever existed, that has a hard cap of 200m, than Federal Reserve IOU notes that can be printed ad-infenitem with zero recourse from you and me other than being made more poor.


I am guessing that Bitcoin crashing would be bad new for ya.

Not at all. I started buying when it was $5000 a coin and am staking my retirement on it going to $500k-1M in my lifetime.

I see any kind automation as a good thing as long as it is reliable enough. We stopped copying books manually a long time ago, and the craft was lost, most of us can't do complex calculations manually etc. but it does not matter as long as we can rely on calculators and computers to do it.

At this stage, the current wave of AI is not reliable enough that it would be safe to lose the abilities it can replace.

The failures modes are often turned into memes and jokes, but they are the thing we should really pay attention to, IMO.


Automating manual labor or repetitive brainless tasks is way different from automating high skill knowledge work.

I agree that automation is good when it frees us up for higher pursuits, but what is the end goal? All human labor is replaced? No human can produce anything of value relative to a machine? What does our life look like then?


There is not enough pushback against this.

I don't think anyone is fully comfortable with it but it is considered "standard practice".

It wasn't such a huge issue until recently because processing all of this was a burden, but obviously this can be automated very well now.

The trend is genuinely dystopian.


The reality is that many CEOs don't really know what they are doing.

The disruption is not following their playbook.

When faced with uncertainty we tend to look at past examples, the industrial revolution, the internet, electrification, etc. I think it is a weak predictor.

We don't know. But I have the feeling that it is going to be worse before it is getting better.

There are huge signs of capital misallocation and public sentiment backlash, the curve ahead seems likely to look a lot more like a roller coaster than a smooth ride.


CEOs, or at least the ones meant here, didn't create any of these companies. They're all about extracting money, about profit. They're accountants. They often bought themselves into the company, and they want, they even need, a return on investment. They don't have vision. They are investors in the existing business. Vision, changing the company. Doing more, doing better? That is just not what they're doing. Not the game they're playing.

They only fire, or hire, or do anything at all for ONE reason: to increase profits. Nothing else, nothing more.


C++ being more performant than C is not something that I've seen in any benchmarks or personal experience.

In practice, some of the cases about specialization that was made possible with C++ constructs is also achieved by modern C compilers.


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

Search: