Latest Tech News

Stay updated with the latest in technology, AI, cybersecurity, and more

Filtered by: programming Clear Filter

Elements of C Style (1994)

Notes on Programming Practices More Purity More Speed More Correctness Other notes on C programming Style Snobbism Your Friends, the Header Files Your Friend, the Compiler Function and Procedure Names Variable Names Notes on Formatting Style Indentation Braces Spacing Comments Function declarations Cute Tricks in C Powers of Two Unrolling Small Loops Unrolling Bigger Loops Counting Bits Random Essays on Programming Meaningless Variable Names Considered Useful GOTOs Considered Us

Programming language inventor or serial killer? (2003)

1. Bertrand Meyer Initial designer of the Eiffel language and Design by Contract development method. Currently a Professor at the Polytechnic University of Milan 2. Dorothea Puente The “Death House Landlady” ran a Sacramento boarding house in the ’80s and murdered at least 9 tenants before claiming their Social Security 3. John Christie Killed 8 women at 10 Rillington Place, London. Arrested after new tenants tracing an unpleasant odour peeled off the kitchen wallpaper to reveal a corpse 4

In Defense of C++

Dayvi Schuster 12 min read Tuesday, September 9, 2025 In Defense of C++ Why C++ remains a powerful and relevant programming language in today's tech landscape. The Reputation of C++ C++ has often and frequently been criticized for its complexity, steep learning curve, and most of all for its ability to allow the developers using it to not only shoot themselves in the foot, but to blow off their whole leg in the process. But do these criticisms hold up under scrutiny? Well, in this blog post,

Visual programming is stuck on the form

Underlying great creations that you love—be it music, art, or technology—its form (what it looks like) is driven by an underpinning internal logic (how it works). I noticed this pattern while watching a talk on cellular automaton and realized it's "form follows function" paraphrased from a slightly different angle. Inventing a form is a hard task, so you must approach it obliquely—by first illuminating the underlying function. This made me realize something crucial about visual programming: it’

AI Coding

In my old age I’ve mostly given up trying to convince anyone of anything. Most people do not care to find the truth, they care about what pumps their bags. Some people go as far as to believe that perception is reality and that truth is a construction. I hope there’s a special place in hell for those people. It’s why the world wasted $10B+ on self driving car companies that obviously made no sense. There’s a much bigger market for truths that pump bags vs truths that don’t. So here’s your new

The rise of async AI programming

19 August 2025 Ankur Goyal I spend a decent amount of time reviewing code I didn't write. An AI agent takes a detailed problem description, writes code (primarily Typescript, Rust, and Python), adds tests, and commits the changes to a branch. I tap back in when everything's ready for review. This used to feel like a futuristic scenario, but it's how I work now, and it's how many developers are starting to work. The shift is subtle but powerful: instead of writing code line by line, we're learn

The Rise of Async Programming

19 August 2025 Ankur Goyal I spend a decent amount of time reviewing code I didn't write. An AI agent takes a detailed problem description, writes code (primarily Typescript, Rust, and Python), adds tests, and commits the changes to a branch. I tap back in when everything's ready for review. This used to feel like a futuristic scenario, but it's how I work now, and it's how many developers are starting to work. The shift is subtle but powerful: instead of writing code line by line, we're learn

I still love PHP and JavaScript (2022)

Why I Still Love PHP and Javascript After 20+ years 01 Aug, 2022 Over the last twenty years, I have used over a dozen languages professionally, from C to Common Lisp, from Java to Python, from C++ to Typescript. Yet, I love janky programming languages. In particular, I really enjoy PHP and Javascript. Here's why. They are used by people who get shit done. This makes it easy to find people who: understand business needs, can iterate quickly have shipped and maintained many projects in th

I still love PHP and JavaScript

Why I Still Love PHP and Javascript After 20+ years 01 Aug, 2022 Over the last twenty years, I have used over a dozen languages professionally, from C to Common Lisp, from Java to Python, from C++ to Typescript. Yet, I love janky programming languages. In particular, I really enjoy PHP and Javascript. Here's why. They are used by people who get shit done. This makes it easy to find people who: understand business needs, can iterate quickly have shipped and maintained many projects in th

Synthesizing Object-Oriented and Functional Design to Promote Re-Use

Synthesizing Object-Oriented and Functional Design to Promote Re-Use Shriram Krishnamurthi, Matthias Felleisen, Daniel P. Friedman European Conference on Object-Oriented Programming, 1998 Abstract Many problems require recursively specified types of data and a collection of tools that operate on those data. Over time, these problems evolve so that the programmer must extend the toolkit or extend the types and adjust the existing tools accordingly. Ideally, this should be done without modifyi

PFP: A Probabilistic Functional Programming Library for Haskell (2006)

A Probabilistic Functional Programming Library for Haskell Version: June 2006 Distributions can represent events, such as the roll of a die or the flip of a coin. For example, or example, the outcome of a die roll can be expressed as follows. die :: Dist Int die = uniform [1..6] die > die 1 16.7% 2 16.7% 3 16.7% 4 16.7% 5 16.7% 6 16.7% uniform uniform succOrId x = uniform [x, x+1] choose succOrId x = choose 0.5 x (x+1) droll = die >>= succOrId droll = do d <- die succOrId d To use t

Abstract Machine Models Also: what Rust got particularly right

Ever since 2010, I have studied the “meta” of software, by studying (and thinking about) the continued dialogue between programming language designers, computer designers, and programmers. The following constitutes a snapshot of my current thinking. Epistemological context During the period 2008-2012, I was requested to help design&build programming tools for a proposed new microprocessor architecture. The details of said architecture do not matter here; what is interesting is that folk in tha

Sharing Is Scaring: Linking Cloud File-Sharing to Programming Language Semantics

Sharing Is Scaring: Linking Cloud File-Sharing to Programming Language Semantics Skyler Austen, Shriram Krishnamurthi, Kathi Fisler SPLASH Onward!, 2025 Abstract Users often struggle with cloud file-sharing applications. Problems appear to arise not only from interface flaws, but also from misunderstanding the underlying semantics of operations like linking, attaching, downloading, and editing. We argue that these difficulties echo long-standing challenges in understanding concepts in progra

This Macintosh programming book library will take you back, even if you weren’t there for it

Over the weekend, Daring Fireball’s John Gruber linked to a fantastic collection of early Macintosh programming books (via Michael Tsai). It is a carefully assembled catalog of more than 150 books from as early as 1983, covering everything from AppleSoft BASIC, to gaming programming for the Mac. Even if you weren’t around for any of that, believe me: this will be worth your time. A great collection of 150+ early Mac books Here’s how VintageApple.org describes how the Vintage Macintosh Program

The ABC Programming Language

The ABC Programming Language: a short introduction (Also available in Japanese) New: The Origins of Python - An article by Lambert Meertens on the origins of ABC, and its influence on Python. New: Implementation for the Raspberry Pi!. The ABC Programmer's Handbook is available online. ABC is an interactive programming language and environment for personal computing, originally intended as a good replacement for BASIC. It was designed by first doing a task analysis of the programming task.

Efficient Array Programming

Efficient Array Programming This is a wiki-like repo for collecting information and examples for efficient programming in array languages. Most of the explanations here will be written from my understanding of the programs, so I do recommend scrutinizing the programs yourself first before reading them. The general goal of this repository is to help people improve their understanding of array languages, and to have a wealth of examples for well-written array language code.

Nvidia Tilus: A Tile-Level GPU Kernel Programming Language

Tilus: A Tile-Level GPU Kernel Programming Language Documentation | Paper Tilus is a powerful domain-specific language (DSL) for GPU programming that offers: Thread-block-level granularity with tensors as the primary data type. with as the primary data type. Explicit control over shared memory and register tensors (unlike Triton). over shared memory and register tensors (unlike Triton). Low-precision types with arbitrary bit-widths (1 to 8 bits). It also includes automatic tuning, caching,

Why Nim?

You might have heard of the line, "one ring to rule them all" from the book the Lord of the Rings. Though, this ring is an evil object created by the evil Sauron, the idea of just one thing existing to manage or control a lot of things at the same time, is something we all long for. We all need that one app which can manage all our tasks. We need that one card that can hold or manage all our credit and debit card information. How we long for a single language for the whole world (by the way thi

Dyna – Logic Programming for Machine Learning

A Weighted, Declarative, Logic Programming Language Dyna About the Dyna Programming Language Dyna is a programming language designed by and for machine learning researchers. Dyna builds on the paradigm of logic programming languages such as Datalog and Prolog. However, Dyna goes much further in that it allows for flexible execution orders and for rules in the program to be "weighted". This means that we can efficiently express complicated programs in a few lines of code without having to worry

Show HN: XR2000: A science fiction programming challenge

Challenge: XR2000 August 10, 2025 Today I’m releasing the XR2000: A programming challenge with extensive science fiction backstory. This is a project I’ve long wanted to make, and it has slowly come to life in the last few years. I love a good puzzle or game that involves programming. Over the years I found a couple of these games that were particularly fun. These really inspired me to start the XR2000. Before explaining more about my new challenge, I want to mention (and recommend) these game

An AI-first program synthesis framework built around a new programming language

July 7, 2025 Volume 23, issue 3 PDF Unleashing the Power of End-User Programmable AI Creating an AI-first program Synthesis framework Erik Meijer As a demonstration of what can be accomplished with contemporary LLMs (large language models), this paper outlines the high-level design of an AI-first, program-synthesis framework built around a new programming language, Universalis, designed for knowledge workers to read, optimized for our neural computer (Automind; queue.acm.org) to execute,

End-User Programmable AI

July 7, 2025 Volume 23, issue 3 PDF Unleashing the Power of End-User Programmable AI Creating an AI-first program Synthesis framework Erik Meijer As a demonstration of what can be accomplished with contemporary LLMs (large language models), this paper outlines the high-level design of an AI-first, program-synthesis framework built around a new programming language, Universalis, designed for knowledge workers to read, optimized for our neural computer (Automind; queue.acm.org) to execute,

The Toyota Corolla of programming

In 1995, an otherwise unknown software developer released the first version of a new scripting language whose explicit aim was to make applications for this new platform called “The World Wide Web”. After starting as a small project, and thanks to the crazy dot-com years, it grew dramatically to become one of the most widely used programming languages of all time. After some stumbling first steps, it eventually got some sort of standardization in 1997, even reluctantly including some OOP feature

OCaml Programming: Correct and Efficient and Beautiful

OCaml Programming: Correct + Efficient + Beautiful# A textbook on functional programming and data structures in OCaml, with an emphasis on semantics and software engineering. This book is the textbook for CS 3110 Data Structures and Functional Programming at Cornell University. A past title of this book was “Functional Programming in OCaml”. Spring 2025 Edition. Videos. There are over 200 YouTube videos embedded in this book. They can be watched independently of reading the book. Start with t

Why I do programming

This piece was inspired by this post by Aaron Boodman. I remember myself as a calm, quiet kid, happiest when I had a bunch of wires in my hands. My parents used to give them to me as toys along with a screwdriver and an old cassette player I could take apart and try to put back together. I was three years old. I didn’t know what I was doing, but I loved the feeling of exploring the insides of a machine, trying to understand how it works. In first grade, I was introduced to MS-DOS and Logo with

“Dynamic programming” is not referring to “computer programming”

When seeing the phrase “dynamic programming” in an algorithms class or leetcode study guide, the first question people ask is “what does ‘dynamic’ mean in this context?”. The key question is instead “what does ‘programming’ mean in this context?”, because it does not mean “computer programming”. Instead it refers to, as the Oxford English Dictionary puts it, programming. n. 4. Planning carried out for purposes of control, management, or administration. So really, it’s closer to “TV programmi

“Dynamic Programming” is not referring to “computer programming”

When seeing the phrase “dynamic programming” in an algorithms class or leetcode study guide, the first question people ask is “what does ‘dynamic’ mean in this context?”. The key question is instead “what does ‘programming’ mean in this context?”, because it does not mean “computer programming”. Instead it refers to, as the Oxford English Dictionary puts it, programming. n. 4. Planning carried out for purposes of control, management, or administration. So really, it’s closer to “TV programmi

3 Best Amazon Prime Day Peloton Deals (2025): Bike, Row, Tread

Every morning when I walk my dog, I pass dozens of people in my neighborhood. They're all running at ungodly hours because it's July and it's way too hot to work out when normal people do, which is when you start feeling sleepy at 3 pm. (I'm an expert! Trust me on this!) Peloton has anticipated that we would all rather be inside in air-conditioning, which is why everything from the vaunted exercise company is currently on sale at Amazon. Don't see anything you like? Don't forget to check out th

How to Think about Parallel Programming: Not! [video] (2021)

InfoQ Homepage Presentations How to Think about Parallel Programming: Not! How to Think about Parallel Programming: Not! Like Reading list View Presentation Vertical Horizontal Full Speed: 1x 1.25x 1.5x 2x Download MP3 Slides 01:09:36 Summary Guy L. Steele Jr. believes that it should not be the programmer’s job to think about parallelism, but languages should provide ways to transparently run tasks in parallel. This requires a new approach in building languages supporting algorithms b