News for hackers. Stuff that matters.
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @03:23PM (#20251229)
> No GC How does that improve upon Go? Memory safety is much harder without a GC
Re:The V Programming Language is open source by gbear605 on Saturday June 22, 2019 @03:30PM (#20251263)
GCs are good for some things and bad for others. I wouldn’t want to write an OS with a GC but I also wouldn’t want to write a web server where I have to manually allocate and free memory. It’s all a trade off.
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @06:12PM (#20251982)
You shouldn't be manually allocating memory anywhere if you malloc and free. I feel quite strongly about the use of C in modern systems code: The "C" way of doing things can often be very unsafe or at least prone to being unsafe (No fault of the programmer, but if you don't provide RAII and things like that by default it becomes too easy to double free or leave bounds unchecked)

A kernel doesn't really need a garbage collector, but keep in mind that some modern GCs can literally be tuned to have ms pause times on absolutely enormous heaps which given that reference counting can have unbounded pause times too can make them an enticing option.

The real reason to avoid garbage collection is typically memory usage in my experience

Re:The V Programming Language is open source by gbear605 on Saturday June 22, 2019 @08:31PM (#20252528)
Yeah, I was using “manually allocating” as a synonym for malloc and free, but they are actually different things.
Re:The V Programming Language is open source by botto on Saturday June 22, 2019 @03:28PM (#20251255)
Isn't it usually game programmers who advise against GC because you can't predict when it will run and the performance impact it will have.
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @06:02PM (#20251946)
Game programmers and also people who seem to think that Garbage Collection involves burning babies and the hundreds of academics and engineers working on it are somehow doing it out of spite.

There are reasons not to use a Garbage Collector but 99% of the time they are absolutely fine if you understand what your particular GC does and does not do

Re:The V Programming Language is open source by FpUser on Saturday June 22, 2019 @03:30PM (#20251270)
It is not in my opinion. With modern development tools/frameworks providing memory leaks detection I have completely forgotten when was the last time that my programs leaked memory. And I write complex high performance game servers that run for months non stop. You just have to acquire certain culture/behavior when writing code.
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @06:04PM (#20251958)
All the code I write at the moment is GC-free (By circumstance), but it's clear that not using a garbage collector is a tradeoff between runtime nondeterminism and the complexity of the code (How many of Herb Sutter's talks on smart pointers could have been eliminated if C++ had a garbage collector available, for example) or compiler/language complexity
Re:The V Programming Language is open source by crimsonalucard on Saturday June 22, 2019 @03:44PM (#20251351)
What languages/tools/frameworks/behavior are you using to develop these game servers with no leaking memory?
Re:The V Programming Language is open source by FpUser on Saturday June 22, 2019 @04:06PM (#20251469)
for c/c++ I use Visual Leak Detector and Valgrind. For Delphi/FreePascal/Lazarus there are built-in tools and also MadExcept . Behavior/patterns are different depending on task/language but generally when writing code if I want to allocate anything I first write deallocation code.
Re:The V Programming Language is open source by gravypod on Saturday June 22, 2019 @03:56PM (#20251421)
I've found valgrind and the clang static analysis tools to be a pretty nice combo.
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @06:05PM (#20251963)
Also, Garbage Collection can be extremely fast when done properly: The Decision to use a garbage collector could be done on performance grounds as well but Garbage Collectors are generally harder to tune than reference counting.
Re:The V Programming Language is open source by NoOn3 on Saturday June 22, 2019 @03:45PM (#20251362)
What tools for memory leaks detection you can suggest?
Re:The V Programming Language is open source by mhh__ on Saturday June 22, 2019 @06:16PM (#20251998)
Valgrind (Which also has a bunch of other stuff like cachegrind, which can be a godsend if you are getting telltale cache/branch prediction issues but you can't find where etc.).

Clang/GCC both have suites of sanitizers which are usually excellent and easy to grok, these are also available in many language frontends based on LLVM (and maybe GCC?)

You can just throw every tool you can find at your CI if you're paranoid, too.