Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"this int should only ever be in the range 1-30"

That's in all the Pascal-family languages - Pascal, Modula, Ada.

"Perhaps the future of software isn't "rewrite everything in Rust", but instead we end up annotating existing C/C++ with borrow checking information."

Trying to retrofit this to C++ runs into the problem that too often you're lying to the language to get something done. Like extracting a raw pointer to be sent to a system call. You have to break a lot of existing code to make this work. Which means a new safer C++ like language. There are about five of those to choose from, none of which are used much.

Rust was right to do a clean break. But then they just got too weird, with their own brand of functional programming and their own brand of a type system.



I'd love to hear your thoughts on Rust having an in-house type system and functional programming paradigm. It doesn't seem all that different than comparable era languages like Swift (maybe through inspiration) or Haskell. Macros, are IMO, where things go a little wonky but once you learn you can actually trust the compiler it's easy to let go.


That's it exactly. If you're into Haskell or Swift, Rust isn't that strange. To a C or C++ or Go programmer, Rust is very strange.

Rust has some brilliant ideas, but it's too hard. Go is rather dumb, but good for getting server-side applications running.


Surprised to see that you put Swift in the same bucket as Haskell, since Swift is to me the prime example of successfully balancing power with usability in language design.

This is where languages like Haskell, Rust and others fail: the programming language nerds take over and design a language for themselves, making it weirder and weirder as time passes and new arcane features are added.


As a C++ programmer dabbling in Rust I don’t find it strange. Many of the core ideas were motivated by C++. But I also like Haskell too :)


> Trying to retrofit this to C++ runs into the problem that too often you're lying to the language to get something done.

you mean like the gigabytes of rust code just put in unsafe {} blocks or doing panic! when they don't know what to do with the error ? :p




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

Search: