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

Every language with a GC drastically reduces the chance of memory errors.


Yeah and I would say they're probably a better choice for vibe coding than C!

But most of them don't have a nice strong type system like Rust. I have vibe coded some OCaml and that seems to work pretty well but I wouldn't want to use OCaml for other reasons.


But if you use managed laguages you can't feel superior like when coding in Rust.


I hear this about both Haskell and Rust, and yet, when I tried both in the former I wrote a useless program because I didn't handle state (and yet passed all tests!) while in the latter I immediately wrote a deadlock.

So...yeah.


How did your tests pass if you didn't handle state?


Because it is also possible to write tests that don't adequately capture real-life requirements.

It was an MQTT server, and the tests basically went "if we have these subscriptions, then...", but no subscriptions ever got actually stored by the server.


It is still possible to write bugs in both Haskell and Rust.


Yes, that's my point. I'm replying to claims that "if it compiles it probably works". My limited experience with both is "nah".


I prefer the slogan without "probably", "If it compiles it works", because then at least it's clear it's a slogan and not a formal claim. Everyone knows that if you write

    multiply x y = x + y
then it will compile but not work, so they don't take it literally. But it is a pithy statement of the lived experience of many users of strongly typed programming, which is more accurately described by something like "if it compiles then it will probably do something at least basically sensible and often be pretty close to what you actually wanted".


I made the same comment last week upon learning of a redis clone entirely vibe coded in IIRC ~70k lines of Rust. Why Rust? Why does a computer need a memory safe language?


I'm still figuring out why anyone would want to write a shell script in C. That sounds like torture to me.


Wouldn't the instance state here be "was constructed"? That is: you should always be able to call `Read` because the constructor opened the file, and you shouldn't have to call `Close` anyway because the destructor did.


I suppose it depends on the API. Some languages require grabbing a handle and calling open. Either way, theory is the same!


I just posted on the forum about it, I didn't do it before because of surgery (I'm still nowhere near 100%).

What changes would you like to see happen?



Proof of the fact that this works is that D does exactly this.


AFAIK it works like that in most modern languages with pointers: Rust, Zig, even Go will implicitly deref pointers on attribute access.


> What do you think, is there a potential niche for like NeoEmacs, a test editor written in a modern Lisp / Scheme

I think that's a non-starter because you instantly lose the entire ecosystem of elisp packages out there and nobody's config would work anymore. The latter is especially important when for some people that's a decades-developed init.el file in a repo that's migrated from CVS to subversion then git.

I've git bisected (mercurial at the time, but whatever) my .emacs repo to figure out what I did to break my Python config, so there's that.


You may have a misunderstanding here. Neovim, while it is a ground up rewrite of vim, didn't break people's configs. The team made it a point to maintain backwards compatibility while positioning themselves to be able to move towards using lua as their config language.


Yes, but then Vimscript wasn't a very good language; whereas Lua, Python (and many others Neovim enabled support for) are great languages.

The benefit of a much better language is enticing; making a language much better than Emacs Lisp, however, is not so easy.


Except the specific rewrite the op was talking about was moving from elisp to scheme. It's one thing to support a limited language like vimscript, it's a whole other thing to reproduce the semantics of elisp in scheme.


Switzerland has a population of 8.6M, isn't part of the EU, and yet...

The problem there has been getting enough doses delivered.


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

Search: