Live data from Hacker News

I like Odin

hasenjudy.wordpress.com

201–210 of 211 posts

Re: I like Odin

#201

FWIW, the Odin compiler seems to be written in C++. Are there any plans to make it self hosted?

To quote the FAQ ( https://odin-lang.org/docs/faq/#is-the-odin-compiler-self-ho... ): > Odin is not currently self hosted nor will be until after version 1.0 when the main implementation of the Odin compiler adheres to a specification and is heavily tested. In general, self hosting before a stable language and compiler exists is masturbatory pleasure.

Ok. Fair enough. I will definitely give Odin a try.

Re: I like Odin

#202
post #200

Earlier quoted context omitted.

D is GC by default (and currently required for larger parts of stdlib) but also allows disabling GC and doing manual memory management.

Just like plenty of GC enabled systems programming languages, this isn't a XOR.

D uses manual memory management with (malloc/free/realloc) to implement their GC

So i don't know what point you are trying to make

D is pragmatic and confirms my point

Re: I like Odin

#203
post #200

Earlier quoted context omitted.

Just like plenty of GC enabled systems programming languages, this isn't a XOR.

D uses manual memory management with (malloc/free/realloc) to implement their GC So i don't know what point you are trying to make D is pragmatic and confirms my point

Like every systems programming language with GC support.

Modula-2+, Modula-3, Nim, Mesa/Cedar, .NET Native, Sing#, Oberon, Oberon-2, Oberon-07, Active Oberon, Nim, Swift (RC is a GC algorithm per CS definition), and even if debatable what its role might be, Go.

The point I am making is having a GC managed heap doesn't preclude features for manual memory management, only GC haters think otherwise.

Re: I like Odin

#204
post #203

Earlier quoted context omitted.

D uses manual memory management with (malloc/free/realloc) to implement their GC So i don't know what point you are trying to make D is pragmatic and confirms my point

Like every systems programming language with GC support. Modula-2+, Modula-3, Nim, Mesa/Cedar, .NET Native, Sing#, Oberon, Oberon-2, Oberon-07, Active Oberon, Nim, Swift (RC is a GC algorithm per CS definition), and even if debatable what its role might be, Go. The point I am making is having a GC managed heap doesn't preclude features for manual memory management, only GC haters think otherwise.

You don't understand the point, GC is one way of managing memory, it is not the panacea

Some helpful reading, from people actually working on solving hard problems

https://twitter.com/FilmicWorlds/status/1562090212225716224

> only GC haters think otherwise.

only GC lovers think like that

that's not a good argument

Re: I like Odin

#205
post #44

Odin sounds like a nice improvement over C, however this caught my attention: > If your “dread” of C comes from fear of memory management, then Odin is probably not for you, and dare I say, maybe systems programming is not for you. I have to say that my dread of C definitely comes manual memory management. The awkward syntax and compilation model I can tolerate. But having your program expose critical security vulner…

The wikipedia definition of systems programming seems to exclude it https://en.wikipedia.org/wiki/Systems_programming

I'm not sure what you mean by "it" but nothing in that page precludes languages with runtimes from writing system software. I'd say Go can definitely claim to be a systems language.

Re: I like Odin

#206
post #203

Earlier quoted context omitted.

Like every systems programming language with GC support. Modula-2+, Modula-3, Nim, Mesa/Cedar, .NET Native, Sing#, Oberon, Oberon-2, Oberon-07, Active Oberon, Nim, Swift (RC is a GC algorithm per CS definition), and even if debatable what its role might be, Go. The point I am making is having a GC managed heap doesn't preclude features for manual memory management, only GC haters think otherwise.

You don't understand the point, GC is one way of managing memory, it is not the panacea Some helpful reading, from people actually working on solving hard problems https://twitter.com/FilmicWorlds/status/1562090212225716224 > only GC haters think otherwise. only GC lovers think like that that's not a good argument

Random links about a game studio, incidently one famous for using Lisp based scripting languages before being acquired by Sony.... yeah right.

You still don't get GC enabled system programming languages, and apparently I am not the one that is going to make it clear, so whatever.

Re: I like Odin

#207
post #206

Earlier quoted context omitted.

You don't understand the point, GC is one way of managing memory, it is not the panacea Some helpful reading, from people actually working on solving hard problems https://twitter.com/FilmicWorlds/status/1562090212225716224 > only GC haters think otherwise. only GC lovers think like that that's not a good argument

Random links about a game studio, incidently one famous for using Lisp based scripting languages before being acquired by Sony.... yeah right. You still don't get GC enabled system programming languages, and apparently I am not the one that is going to make it clear, so whatever.

You still don't get it, and that's ok

Re: I like Odin

#208
post #96
post #82

I'm happy to see Odin chose snake_case instead of camelCase. At one time Zig debated switching to snake case, but that ship has sailed [0], sadly. It seems like a small bike-shed level comment, but when I consider the code I have left in me, I'd like it to look as nice as possible. 0 https://github.com/ziglang/zig/issues/1097

curious, why do you prefer snake_case to kebab-case?

Never use kebab-case. Not even where you can (e.g. filenames). Sooner or later you're going to want that name as an identifier in a programming language that doesn't support it (approximately all of them), and then you're going to have to come up with annoying rules to convert between them, and make all the code that uses it harder to follow and to grep.

Obvious example is CSS.

Re: I like Odin

#209
post #206

Earlier quoted context omitted.

Random links about a game studio, incidently one famous for using Lisp based scripting languages before being acquired by Sony.... yeah right. You still don't get GC enabled system programming languages, and apparently I am not the one that is going to make it clear, so whatever.

You still don't get it, and that's ok

Indeed, why bother isn't it.

Re: I like Odin

#210
post #161

Earlier quoted context omitted.

And for you, you clearly don't need manual memory management nor high control over memory, memory layout, and memory access. And that's absolutely fine, but don't criticize something which other people REQUIRE and DESIRE. You cannot "solve memory management" because there isn't just "one problem". As for RAII, the article itself showcases some of the alternatives Odin has with the `defer` statement and `deferred_*` a…

My point was that I don't see much of a point in yet another language that is C with an extra 10%. There is another one like that almost every week. Plenty of applications that require manual memory management have been written in C++ or Rust, which do provide RAII. If you know that manual memory management is required for some applications, you also know it's not 100% of the code that needs it.

Do you honestly think Odin is "C with an extra 10%"? Or any of the decent alternatives that are available (e.g. Zig, Jai, etc)? Because if you really think that is the case, you know nothing about these languages nor have ever used them. All of these languages provide a hell of a lot more than "10%".

As for RAII, I do explain in another comments (https://news.ycombinator.com/item?id=32629951 & https://news.ycombinator.com/item?id=32631462) why RAII has alternatives and not necessary for every language. If you truly believe that RAII is necessary for you, then use a language that has it (e.g. C++, Rust, D).

Post reply on HN