frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Is Odin just a more boring C?

https://dayvster.com/blog/is-odin-just-a-more-boring-c/
41•birdculture•9h ago

Comments

lifthrasiir•3h ago
I believe Odin's `^` syntax is a direct nod to Pascal. I for example had a prior experience with Delphi so it wasn't not too obscure.
vram22•3h ago
!!
hmry•2h ago
That's true, but the keyboard issue is real. ` ^ ~ are dead keys on many keyboard layouts, requiring two keypresses to type.

I think they should be avoided for common operations in newly designed programming languages.

Scaevolus•1h ago
() are dead keys by that definition on almost every keyboard layout.
casparvitch•1h ago
LISP in shambles
pcfwik•1h ago
FWIW --- programmer dvorak lets you type () without "shift" but both ~ and ^ require shift. https://www.kaufmann.no/roland/dvorak/
pdpi•1h ago
Parentheses are inserted by pressing two keys simultaneously. Diacritics on layouts that use dead keys are inserted by pressing two keys in sequence. Or, often, two keys simultaneously and then a third key in sequence (E.g. Shift-6 then Space for ^)

I'm Portuguese but live in the UK. The Portuguese layout (especially on macs) is dreadful for programming (because a bunch of important characters like brackets require Alt Gr to type), the UK layout sucks for writing Portuguese (because of the diacritics), so I ended up having to get used to US International as the compromise layout. I've gotten kind of used to it over the years, but the exact behaviour for dead keys varies a fair bit by platform, and especially on Linux can get quite aggravating.

1-more•1h ago
highly recommend every programmer set up hold/tap for their modifiers, including space cadet style parentheses.
dismalaf•37m ago
If you're a programmer you should know how to change keyboard layouts. I speak a couple languages that use accents, all my dead keys need to be combined with a compose key first.
JoshTriplett•27m ago
So is ' for some keyboard layouts, but ' is still useful and evocative in many contexts.

There are not enough good symbols trivially typed on a keyboard to sacrifice half of them to dead keys. Either the dead key or the programming symbol can be mapped to a key combination.

throwaway81523•3h ago
And is that such a bad thing? C's biggest drawback is its many surprises, I thought. Some boredom would do it good.
Hasnep•3h ago
That's literally the point of the article:

> Odin kinda feels like a modernized somehow even more boring C but in the best way possible.

scuff3d•2h ago
He says the end "I'm using the word boring affectionately"
jibal•35m ago
It helps to read the article before commenting.
msla•2h ago
> In the code above, make([]proc(msg: string), len(arr)+1) generates a slice of procedure pointers with a length of len(arr)+1. Essentially, it allocates memory on the heap and returns a slice header, which includes a pointer to the allocated memory, along with the length and capacity of the slice.

I guess things get exciting when that allocation fails, given that such a failure is nowhere checked for and the possibility of such failure is nowhere mentioned.

rwbt•1h ago
Odin supports multiple returns and the `make` proc returns an error value that can be optionally checked.
billforsternz•2h ago
I can't decide whether the double spaced code samples in this blog post are intended or a mistake. I kind of hope it's a mistake.
zabzonk•1h ago
seems to be single-spaced to me, and it is my own favourite code spacing
jibal•26m ago
The whole article is like that ... it's not in fact double spaced, it's the line height.
scuff3d•2h ago
> No package manager

Ginger Bill famously hates package managers, so if the lack of one is a deal breaker for someone they might as well look for a different language.

Ygg2•1h ago
Not that it stopped people in the past from adding their own. See JS.
bxparks•1h ago
Do you happen to know why? A package manager system seems essential for sharing and reusing code with other people.

For example, I don't particularly like Python as a language, but I will use it because it has 677,633 packages in PyPI.

badsectoracula•50m ago
> 677,633 packages in PyPI.

Chances are 677,634 of those will be broken next week though :-P

The problem with package managers is that they encourage piling on dependencies and creating deep (and thus fragile and often hard to reason about) dependency trees.

I loathe having to install anything more complicated than simple scripts[0] based on Python because unless the developer constantly chases after all their dependencies to keep them in working order, i'll be the one who will have to do that when something inevitably breaks (assuming it wasn't already broken the time i decided to try it - which is sadly something i encountered more than a few times). And once the developer moves on, the bitrot spreads alarmingly fast.

[0] and even that isn't reliable if the scripts rely on more than whatever comes preinstalled with Python

FullGarden_S•12m ago
and yet it never truly became an issue at all because there is an officially maintained, high quality package collection.

https://pkg.odin-lang.org/

GingerBill and the Odin community put tremendous effort into making sure that the Odin compiler ships with "batteries included". You get base, core and vendor library collection that cover almost everything a developer would need to the point that you can argue that you don't need a package manager for Odin.

rwbt•1h ago
I'll add another point i.e. Odin is effectively done from a language point of view unlike Zig or others. The project is currently working on improving the std library and toolchain but the language itself is done according to it's BDFL.

From my experience so far, Odin is a delightful modern alternative to C.

pyrolistical•58m ago
What do you mean “unlike zig”?
cfiggers•53m ago
Zig is still pre-1.0, and the creators have been VERY clear that they're not done breaking stuff on the way to getting things right. It's a fair contrast to draw.
throwawaymaths•19m ago
to be fair at this point it seems like outside of reenabling async control flow, and eliminating cImport, the remaining major shifts are in the stdlib and not as much the language. they have cancelled the "forcing const f = fn..." plan. i think the interesting thing that andrew hinted at was keeping the "annoying errors that should be warnjngs" (like not using consts and vars) but not letting them prevent the creation of the executable/lib.
jibal•31m ago
He's saying that the Odin language is effectively finished and not subject to change. That is not the case for Zig.
jibal•32m ago
You mean the language is effectively finished and not subject to change.

Meta Superintelligence's surprising first paper

https://paddedinputs.substack.com/p/meta-superintelligences-surprising
185•skadamat•5h ago•72 comments

Show HN: rift – a tiling window manager for macOS

https://github.com/acsandmann/rift
54•atticus_•4h ago•22 comments

Vancouver Stock Exchange: Scam capital of the world (1989) [pdf]

https://scamcouver.wordpress.com/wp-content/uploads/2012/04/scam-capital.pdf
58•thomassmith65•5h ago•30 comments

China's New Rare Earth and Magnet Restrictions Threaten US Defense Supply Chains

https://www.csis.org/analysis/chinas-new-rare-earth-and-magnet-restrictions-threaten-us-defense-s...
97•stopbulying•3h ago•73 comments

Is Odin just a more boring C?

https://dayvster.com/blog/is-odin-just-a-more-boring-c/
42•birdculture•9h ago•31 comments

Heroin Addicts Often Seem Normal

https://justismills.substack.com/p/heroin-addicts-often-seem-normal
51•surprisetalk•6h ago•32 comments

Ask HN: Abandoned/dead projects you think died before their time and why?

56•ofalkaed•6h ago•133 comments

Microsoft only lets you opt out of AI photo scanning 3x a year

https://hardware.slashdot.org/story/25/10/11/0238213/microsofts-onedrive-begins-testing-face-reco...
498•dmitrygr•10h ago•183 comments

Google blocks Android hack that let Pixel users enable VoLTE anywhere

https://www.androidauthority.com/pixel-ims-broken-october-update-3606444/
102•josephcsible•5h ago•28 comments

LineageOS 23

https://lineageos.org/Changelog-30/
120•cdesai•4h ago•45 comments

My First Murder

https://www.texasmonthly.com/true-crime/skip-hollandsworth-new-book-she-kills/
39•speckx•5d ago•5 comments

Testing two 18 TB white label SATA hard drives from datablocks.dev

https://ounapuu.ee/posts/2025/10/06/datablocks-white-label-drives/
159•thomasjb•5d ago•96 comments

How Apple designs a virtual knob (2012)

https://jherrm.github.io/knobs/
123•gregsadetsky•4d ago•78 comments

Paper2Video: Automatic Video Generation from Scientific Papers

https://arxiv.org/abs/2510.05096
20•jinqueeny•5h ago•1 comments

The World Trade Center under construction through photos, 1966-1979

https://rarehistoricalphotos.com/twin-towers-construction-photographs/
206•kinderjaje•5d ago•100 comments

Windows Subsystem for FreeBSD

https://github.com/BalajeS/WSL-For-FreeBSD
229•rguiscard•21h ago•92 comments

The <output> Tag

https://denodell.com/blog/html-best-kept-secret-output-tag
737•todsacerdoti•20h ago•166 comments

Anthropic's Prompt Engineering Tutorial

https://github.com/anthropics/prompt-eng-interactive-tutorial
47•cjbarber•10h ago•5 comments

The World's 2.75B Buildings

https://tech.marksblogg.com/building-footprints-gba.html
13•marklit•4d ago•4 comments

Vibing a non-trivial Ghostty feature

https://mitchellh.com/writing/non-trivial-vibing
239•skevy•14h ago•113 comments

Superpowers: How I'm using coding agents in October 2025

https://blog.fsck.com/2025/10/09/superpowers/
318•Ch00k•21h ago•170 comments

People regret buying Amazon smart displays after being bombarded with ads

https://arstechnica.com/gadgets/2025/10/people-regret-buying-amazon-smart-displays-after-being-bo...
237•croes•11h ago•121 comments

A Guide for WireGuard VPN Setup with Pi-Hole Adblock and Unbound DNS

https://psyonik.tech/posts/a-guide-for-wireguard-vpn-setup-with-pi-hole-adblock-and-unbound-dns/
43•pSYoniK•9h ago•6 comments

GNU Health

https://www.gnuhealth.org/about-us.html
369•smartmic•13h ago•103 comments

Rating 26 years of Java changes

https://neilmadden.blog/2025/09/12/rating-26-years-of-java-changes/
169•PaulHoule•10h ago•187 comments

The story of X-Copy on the Amiga

https://spillhistorie.no/2025/10/10/the-story-of-x-copy-on-the-amiga/
20•onename•7h ago•1 comments

Beyond indexes: How open table formats optimize query performance

https://jack-vanlightly.com/blog/2025/10/8/beyond-indexes-how-open-table-formats-optimize-query-p...
30•jandrewrogers•3d ago•1 comments

A quiet change to RSA

https://www.johndcook.com/blog/2025/10/06/a-quiet-change-to-rsa/
111•ibobev•5d ago•35 comments

Japan's summers have lengthened by 3 weeks over 42 years, say resaerchers

https://english.kyodonews.net/articles/-/62626
124•anigbrowl•7h ago•26 comments

Show HN: Solving the cluster 1 problem with vCluster standalone

https://www.vcluster.com/blog/vcluster-standalone-multi-tenancy-kubernetes
11•saiyampathak•3d ago•0 comments