frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma

https://rhodesmill.org/brandon/2009/commands-with-comma/
56•theblazehen•2d ago•11 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
637•klaussilveira•13h ago•188 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
935•xnx•18h ago•549 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
35•helloplanets•4d ago•30 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
113•matheusalmeida•1d ago•28 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
13•kaonwarb•3d ago•11 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
45•videotopia•4d ago•1 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
222•isitcontent•13h ago•25 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
214•dmpetrov•13h ago•106 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
324•vecti•15h ago•142 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
374•ostacke•19h ago•94 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
478•todsacerdoti•21h ago•237 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
359•aktau•19h ago•181 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
278•eljojo•16h ago•165 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
407•lstoll•19h ago•273 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
17•jesperordrup•3h ago•10 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
85•quibono•4d ago•21 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
57•kmm•5d ago•4 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
27•romes•4d ago•3 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
245•i5heu•16h ago•193 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
14•bikenaga•3d ago•2 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
54•gfortaine•11h ago•22 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
143•vmatsiiako•18h ago•64 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1061•cdrnsf•22h ago•438 comments

Learning from context is harder than we thought

https://hy.tencent.com/research/100025?langVersion=en
179•limoce•3d ago•96 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
284•surprisetalk•3d ago•38 comments

Why I Joined OpenAI

https://www.brendangregg.com/blog/2026-02-07/why-i-joined-openai.html
137•SerCe•9h ago•125 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
70•phreda4•12h ago•14 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
28•gmays•8h ago•11 comments

FORTH? Really!?

https://rescrv.net/w/2026/02/06/associative
63•rescrv•21h ago•23 comments
Open in hackernews

Fortran for C Programmers

https://flang.llvm.org/docs/FortranForCProgrammers.html
39•todsacerdoti•8mo ago

Comments

readthenotes1•8mo ago
I haven't used a modern Fortran, but for older versions , the biggest surprise was the lack of reentrance.
adrian_b•8mo ago
Indeed, reentrance and recursivity and the use of stacks and/or heaps for dynamic memory allocation have appeared in programming languages that have descendants still used today only in 1960, in ALGOL 60 and LISP I. These features have become ubiquitous in the later programming languages, all of which have been at least partially inspired by ALGOL or LISP.

Fortran is the only surviving programming language older than that (first specification in 1954 and first implementation in 1956). Cobol is the only surviving programming language equally old with LISP and ALGOL, so that it has not been influenced by either of them. Thus now Fortran and Cobol are the only surviving programming languages from the era when only static memory allocation was used in programs, though their later versions have added most modern programming language features.

pjmlp•8mo ago
Depending on where you place them, there are still some folks having to deal with NEWP, PL/I and RPG, which are of similar vintage.
adrian_b•8mo ago
PL/I was released in 1965 and it was designed during 1964, i.e. much later than ALGOL and LISP.

Moreover, it has been explicitly designed with the purpose of combining the best features of ALGOL, FORTRAN and COBOL. It has also added heap-based dynamic memory allocation like in LISP, but for deterministic behavior it has introduced the equivalent of "malloc" and "free", instead of using a garbage collector (manual memory allocation management is thus younger than both the use of garbage collectors and of reference counting, both of which have been in use since 1960).

Therefore PL/I is clearly a language derived from ALGOL and LISP, besides FORTRAN and COBOL. PL/I is also one of the 3 sources from which the C language has inherited, besides BCPL and ALGOL 68.

RPG (Report Program Generator, 1959) is indeed old, but it is a special-purpose programming language, like SQL, not a general-purpose programming language.

I have never encountered NEWP, but AFAIK it is a much more recent language, from the seventies.

While almost all general-purpose programming languages designed after 1960 have incorporated the features introduced by ALGOL and LISP, such as block structure with local variables dynamically-allocated in a stack, allowing reentrancy and recursivity, and also with heap-allocated variables without restrictions on the freeing order, there have also been various languages with limited purpose, which have been kept intentionally very simple, by omitting many of the features of standard programming languages. However for such more recent simplified languages, omitting features has been a design target, while in the languages from the fifties such features were missing not because they were not desired, but because it was not yet clear how to implement them.

pjmlp•8mo ago
NEWP is from the early 1960's, it is the evolution of ESPOL used in Burroughs, released in 1961.

As for the rest, I hardly consider 1960's languages, only a decade older than original ALGOL and LISP, when most knowledge sharing was only done via conferences, scientific papers, or people moving between universities and companies research labs that much different, in age and industry impact they contributed to.

On the other hand, we are still fighting to get mainstream systems programing as safer as those languages in late 1950's, early 1960's, allowed for.

Or as interactive as LISP for that matter, including the whole jump into debugger and redo kind of workflow.

johnisgood•8mo ago
I am not sure if it is OK to post links to libgen, but there are a couple of nice books for Modern Fortran (in no particular order):

- https://libgen.is/book/index.php?md5=47FDC7E85997AE8641E1A56...

- https://libgen.is/book/index.php?md5=DBB7CD9552330FE92F032F5...

- https://libgen.is/book/index.php?md5=A574CCCD425E4A8788AEC61...

- https://libgen.is/book/index.php?md5=366378CECB17B2D42286A32...

- https://libgen.is/book/index.php?md5=6881885F023742BB5C82D2E...

I hope this helps some, if interested.

timonoko•8mo ago
If you had to be weird you added RECURSIVE-word into the function definition. Then it failed somewhat gracefully. Otherwise your self-referencing program destroyed the machine. In large organization you could not be sure on what machine the stack was run and what version of Fortran it had.
jmclnx•8mo ago
Very nice, my first professional job was with Fortran IV, but my 19 year old self made lots of mistakes back then :)

Anyway I eventually ended up with c. Recently I started playing with gfortran, but so much have leaked out of me I have been having a tough time of it. I expect this will help me a lot!

Edit: No functions ? OK, noticed it is handled under Subprograms. Seems there have been many changes.

SoftTalker•8mo ago
Still used in scientific computing. Perhaps also in some financial settings? Otherwise it’s pretty dead.
90s_dev•8mo ago
I hate to be superficial, but languages without braces just feel weird to me. I can use them and have even for a paycheck, but... no thanks. Even Lua, one of my favorite languages (if not #1), always feels at least slightly weird when I use it because of do/end.
timonoko•8mo ago
Sorry Son, but those were introduced very late in B and C languages. Algol, Simula etc used Begin-End.

Curly Brackets were horrible choice, because in civilized countries they were already used as ÄÖÅÜ - characters.

90s_dev•8mo ago
I admitted it was superficial. But it's the same reason I find English more natural than Italian or Greek. I grew up with C. We're only human after all.
almostgotcaught•8mo ago
It's always the people that are chronically online here that comment with most lowbrow stuff. Yes Fortran is so dead that NVIDIA and Intel are both building new compilers for it

https://www.intel.com/content/www/us/en/developer/articles/r...

https://developer.nvidia.com/cuda-fortran

https://flang.llvm.org/docs/

xeonmc•8mo ago
To be fair, in frontendland a framework is considered dead if it hasn’t updated for more than two weeks.
almostgotcaught•8mo ago
https://github.com/llvm/llvm-project/tree/main/flang

Last commit is 2 days ago.

pklausler•8mo ago
You don’t want active development on a new compiler? Not sure what your point is.
hulitu•8mo ago
This looks like the definition of cancer.

If you need to update every two weeks, maybe the development process is wrong.

pjmlp•8mo ago
As I point out in a sibling comment, it was definitely one of the reasons OpenCL lost, not being able to dump Fortran HPC workloads into GPUs.
pjmlp•8mo ago
That narrow minded approach is one of the reasons OpenCL lost to CUDA, by not taking Fortran support seriously.

I was on a OpenCL Webminar panel, where Khronos folks said exactly the same thing.

Meanwhile, NVidia's investment into PGI compilers really paid itself out.

johnisgood•8mo ago
Real programmers use Fortran! (Reference to that old saying.)

I do not think Fortran is dead though.

emmelaich•8mo ago
I say bring back https://en.wikipedia.org/wiki/Ratfor
Extigy•8mo ago
One of my favourite features of Fortran is in its array implementation. You can index arrays however you like.

Do you like your initial value to be at index 1? Cool. Prefer to index arrays from 0 instead? Sure, go ahead.

How about an array with indexing symmetric around zero?

    double precision :: arr(-100:100)
Beautiful!
pjmlp•8mo ago
Pascal derived languages also enjoy this capability.

Your example across most of them is something like:

    type 
        precision = array [-100..100] of double;
pklausler•8mo ago
Arrays are actually not part of Fortran’s type system; neither are pointers. These are attributes of variables and components, instead.

And the language has some nasty pitfalls for users (and some nonportable cases due to bugs in some compilers) with non-default lower bounds. A simple assignment statement like A=B might change the bounds of A, but A=(B) and A(:)=B cannot. It’s best to avoid non-default lower bounds in general.

pjmlp•8mo ago
As described on the linked article....
pklausler•8mo ago
I wrote it.
pjmlp•8mo ago
Great, it isn't as if I pay attention to the nicknames and the authors of the articles, and your reply was formulated in a way that came for as if was someone replying to me without having read the article, hence why I replied like that.

Interesting article.

timonoko•8mo ago
CONTINUE - card was eternal mystery. Why cant you have just empty card with line number on it?
mystified5016•8mo ago
Probably for the humans writing, sorting, and manipulating the cards. A big fat stack of cards isn't like a floppy disk, it requires active care and feeding, and you'd better not drop it
pklausler•8mo ago
Pro tip for time travelers to the 60’s: take a marker pen and draw a diagonal line across the top of your card deck, from column 1 on the first card to column 80 on the last one. It’ll help you sort things out later when you drop it.