frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Which Programming Language Should I Teach First: the least productive question

https://parentheticallyspeaking.org/articles/first-language-wrong-question/
2•matt_d•2h ago

Comments

sema4hacker•8m ago
I agree with the article that this is the wrong question to ask. I think the best way to teach programming is to start with the most basic concepts, independent of any language, such as the idea that computer memory consists of cells that can store data like text or numbers, and that we label these cells with names so we can tell the cells apart, just like mailboxes on a street.

Then there's the idea that we can move data between cells and input and output that data.

Then that we can do simple operations between cells, such as arithmetic and comparing and swapping.

At that point we know enough to write a simple program, such as inputting two numbers from the keyboard and outputting the largest on the display, using some trivial made-up language.

Then introduce looping, and solve the problem of inputting numbers until zero is input, and reporting the largest number found.

Then maybe simple structures such as arrays or lists or strings, then more complicated flow control such as nested loops and callable procedures or functions, persistent storage, and so on. At each stage, require solving simple "real world" problems such as a trivial billing program, or sales tax calculation, or a toy text editor, or simple histogram output.

Turns out most programs need and use very few programming concepts. A good introductory language would be as simple as possible, just sufficient enough to demonstrate and allow the writing of programs covering all the desired concepts in a 101 course. If the language being used can allow more than what's being taught in the 101 course, then it will have features and syntactic sugar that will invariably confuse and misdirect the student. Let a more powerful language wait until the next course, because the most important thing to teach initially are CONCEPTS such as named memory, operators, if-then-else, simple I/O, simple structures, looping, and so on, NOT the arcane syntax of some particular language.

The written material should include as many small but "useful" program examples as possible, first with each concept individually demonstrated, then combining concepts into more sophisticated less-toy-like examples. I've also found that a particularly powerful instruction method is to present a very short piece of code along with five supposed outputs by that code but for which only one output is correct, and make the student determine which output is the answer.

Owner of 'US 8964' licence plate faced police scrutiny and a year of harassment

https://hongkongfp.com/2025/08/24/driven-out-why-the-owner-of-us-8964-licence-plate-faced-police-...
1•baylearn•1m ago•0 comments

VLF Plotter

https://www.skyandsolar.com/plotter
1•austinallegro•1m ago•0 comments

I built a Task manager to prevent developer Burnout

1•BlogCat•1m ago•1 comments

Ask HN: How can I recover and run my old mobile game from the 2010s?

1•diasks2•2m ago•0 comments

Zero Ethics AI [video]

https://www.youtube.com/watch?v=kboTCBHyYd0
1•frag•2m ago•0 comments

Google: Was 1995 30 years ago?

https://imgur.com/a/2bQot5i
3•scarface_74•5m ago•0 comments

Founders of This New Development Say You Must Be White to Live There

https://www.nytimes.com/2025/08/19/realestate/arkansas-white-housing-return-to-land.html
2•belter•7m ago•0 comments

What Are OKLCH Colors?

https://jakub.kr/components/oklch-colors
11•tontonius•12m ago•3 comments

Show HN: Discover, share, and collaborate on effective coding prompts

https://www.aitmpl.com/
1•alexander2002•13m ago•0 comments

A comprehensive list of 2025 tech layoffs

https://techcrunch.com/2025/08/15/tech-layoffs-2025-list/
1•bbzjk7•15m ago•0 comments

Buypass Discontinues Issuance of TLS/SSL Certificates

https://www.buypass.com/products/tls-ssl-certificates/discontinues-issuance-of-tls-ssl-certificates
1•gpi•16m ago•0 comments

Joey Hess

https://joeyh.name
1•keepamovin•18m ago•0 comments

Chinese property giant Evergrande delisted after fall

https://www.bbc.com/news/articles/c14g7r44566o
1•yusufaytas•21m ago•0 comments

Violence and the Sacred: College as an incubator of Girardian terror (2017)

https://danwang.co/college-girardian-terror/
1•stopachka•33m ago•0 comments

Guess the Pin

https://www.guessthepin.com
2•LostMyLogin•37m ago•0 comments

Next-generation JavaScript analysis tooling

https://github.com/google/jsir
1•selvan•38m ago•0 comments

Ban passengers playing loud music on public transport, say Tories

https://news.sky.com/story/ban-passengers-playing-loud-music-on-public-transport-say-tories-13417519
2•austinallegro•40m ago•1 comments

iDAI.field: software for the documentation of archaeological fieldwork

https://github.com/dainst/idai-field
1•yorwba•42m ago•0 comments

The First 1k Days

https://williamjbarry.substack.com/p/the-first-1000-days
1•wjb3•42m ago•0 comments

Reverse-engineering the Globus INK, a Soviet spaceflight navigation computer

https://www.righto.com/2023/03/reverse-engineering-globus-ink-soviet.html
2•trymas•48m ago•0 comments

Apple Helped China Become a Tech Superpower

https://prospect.org/culture/books/2025-08-01-how-apple-helped-china-become-tech-superpower/
4•N_A_T_E•49m ago•0 comments

Show HN: InterceptSuite – MitM proxy that handles StartTLS upgrades

https://github.com/InterceptSuite/InterceptSuite
1•anof-cyber•50m ago•0 comments

AetherCode: Evaluating LLMs' Ability to Win in Premier Programming Competitions

https://arxiv.org/abs/2508.16402
1•limoce•1h ago•0 comments

Share temporary links for Laravel models, routes, and files

https://github.com/Grazulex/laravel-sharelink
1•grazulex•1h ago•1 comments

Show HN: VigyanVerse – A structured knowledge app for learning via topic cards

https://vigyanverse.netlify.app/
1•manjusg•1h ago•0 comments

MCP Gateway and Registry

https://github.com/IBM/mcp-context-forge
9•nikhilk218•1h ago•1 comments

Purism Librem Post Quantum Cryptography Encryptor

https://puri.sm/posts/introducing-the-librem-pqc-encryptor/
2•m463•1h ago•0 comments

Capture Checking in Scala

https://nrinaudo.github.io/articles/capture_checking.html
1•nrinaudo•1h ago•0 comments

Show HN: Timep – A next-gen profiler and flamegraph-generator for bash code

https://github.com/jkool702/timep
2•jkool702•1h ago•0 comments

Macrohard, Elon Musk's AI Simulation of Microsoft

https://www.windowscentral.com/microsoft/meet-macrohard-elon-musks-ai-simulation-of-microsoft-foc...
2•aard•1h ago•1 comments