using Google effectively is very important
learning#Google Search
learn-to-code-kids
writing-good-code
computer-fundamentals
compiler
Learn to Code the Slow Way | Boot.dev
Why You Should Learn To Program the HARD WAY - YouTube
The BEST Way To Become A Software Engineer - YouTube
- "Short cuts makes long delays." - Pippin
- It's preferable to learn a breath of languages, rather than depth in only one language.
- Tutorials aren't for learning, they demonstrates how something is done.
- Becoming a software engineer is NOT a "get-rich-quick" scheme. It's a "get-upper-middle-class-slow" scheme.
Code Cartoons
Home - The Renegade Coder
Devhints — TL;DR for developer documentation
Hacker Noon
Developer Roadmaps - roadmap.sh
kamranahmedse/developer-roadmap: Interactive roadmaps, guides and other educational content to help developers grow in their careers.
Programming Languages To Learn In 2020 To Boost Your Career As A Software Developer - DEV Community 👩💻👨💻
Best GitHub learning repositories for developers
Coding vs Programming 軟體工程師在 編碼 or 編程? | 5 Differences between Coding and Programming【電腦說人話】 - YouTube
Coding vs Programming is like typing vs writing.
Programming Literacy
Honeypot - YouTube tech documentaries
Honeypot Talks - YouTube
Programming Literacy — JavaScript Scene — Medium
Programming Literacy
Mitch Resnick: Let's teach kids to code - YouTube
Why development teams are adopting GraphQL? - DEV Community 👩💻👨💻
Computational Thinking - YouTube
"Uncle" Bob Martin - "The Future of Programming" - YouTube
How To Think Like A Programmer - YouTube programming is more thinking than coding
The Joy of Software Development
Software is a superpower
Polyglot Programming and the Benefits of Mastering Several Languages
Programming Languages That Developers Need to Learn All the Time | by Shalitha Suranga | Jan, 2022 | Level Up Coding
How To Learn A New Programming Language - YouTube
- Advent of Code
- Chat server
- An interpreter
How to learn a new language quickly - Je suis un dev
How To Learn a New Programming Language Fast - Better Programming - Medium
How To Learn Any New Programming Language Quickly - Better Programming - Medium
How to Learn to Code: A Practical Guide For Beginners | by TinkerHub Foundation | TinkerHub | Medium | TinkerHub
Please do learn to code — Free Code Camp
Moving Past Tutorials: a course on problem solving for programmers - DEV Community 👩💻👨💻
How to solve any programming problem? - DEV Community 👩💻👨💻
ryanhanwu/How-To-Ask-Questions-The-Smart-Way
10 Signs You Will Suck at Programming | by Jonathan Bluks | Noteworthy - The Journal Blog
Learn less and achieve more | Better Programming building T-shaped knowledge
Programmers Should Learn How to Learn | by Can Balkaya | Better Programming
6 Reasons You Should Learn to Code Through Projects - Not Courses
8 Mistakes Every Amateur Programmers Make
10 Self-Taught Programmers Who Became Full-Time Developers | by Angelica Dietzel | Better Programming
Play the long game when learning to code. - Stack Overflow Blog
IT Archetypes
Developer Roadmaps
i-programmer.info
GeeksforGeeks | A computer science portal for geeks
Home • DEVCLASS
Web Development & Programming Tutorials | Packt Hub
5 Commonly Used Idioms in the Tech Industry | by Karina Chow | Jul, 2021 | Level Up Coding
- bikesheding
- yak saving
- rubber duck debugging
- bus factor
- dogfooding
Sourcegraph - Universal Code Search
10 Sourcegraph Search Tricks for Open Source Contributors and Maintainers - DEV Community
10 Free Programming Books You Should Read in 2018 - Tutorialzine
Learn to Code: 13 Tips that Could Save You Years of Effort — JavaScript Scene — Medium
29 Behaviors That Will Make You An Unstoppable Programmer — Medium
30 Things I Wish I Knew When I Started Programming - Better Programming - Medium
Wearable Computers - YouTube I'm quite touched by Tara being able to hear again
Andy Sterkowitz - YouTube on self-taught programmers
On Developers
1000+ Free Developer Certifications
Great Developers Never Stop Learning - Towards Data Science
The Powerful Differences Between Good and Great Programmers.
The Marks of a True Senior Developer - Better Programming - Medium
The Differences Between a Junior, Mid-Level, and Senior Developer
How to Go from Junior to Senior Programmer - Level Up Coding
Why developers like to code at night | Opensource.com
Coding vs Programming 軟體工程師在 編碼 or 編程? | 5 Differences between Coding and Programming【電腦說人話】 - YouTube
Why New Software Engineers Have it Hard - YouTube
A Jr Dev For Life?? | Prime Reacts - YouTube
Don't learn one framework, instead learn the concepts and patterns behind all of them – and the differences that can help you choose the right tool for the job.
No framework or library is a silver bullet. But the right choice can save you a lot of hassle.
Naming Things
Problem sets
LeetCode - The World's Leading Online Programming Learning Platform
haoel/leetcode: LeetCode Problems' Solutions
Leetcode Patterns better ordering
How to Solve Leetcode Problems With Python One-Liners
NeetCode - YouTube
How to use Leetcode in 2020 - YouTube
100DaysOfCode Official Website | 100DaysOfCode
Advent of Code
Advent of Code
Learning Rust via the Advent Of Code - Part 1 - DEV Community 👩💻👨💻 2019
Advent of Code: Solving Your Puzzles With Python – Real Python
A Review of the Zig Programming Language (using Advent of Code 2021) :: Neil Henning
My Zig Experience | Prime Reacts - YouTube
Literate Programming
Literate programming - Wikiwand
Literate Programming
Why Literate Programming Might Help You Write Better Code – The New Stack
Eve An IDE like Medium, not Vim
Literate Programming and Eve
Goal of Software Development
Sustainably minimize lead time to business impact.
If you are not embarrassed with the first version of your software, you waited too long to ship.
Complexity Is Outside the Code
The collapse of complex software | Read the Tea Leaves
You have to know (much) more than the code you're writing:
The Law of Leaky Abstractions – Joel on Software
Deciphering Glyph :: Faster discussion with user is crucial
“If I had asked people what they wanted, they would have said faster horses.”
A Great JavaScript Side Project is your Most Important Asset
Iterative Improvement
- do it
- do it right
- do it better
Code Analysis
cyber-security#Static Analysis/Source Code Analysis
Python Tutor - Visualize Python, Java, JavaScript, TypeScript, Ruby, C, and C++ code execution
XAMPPRocky/tokei: Count your code, quickly.
AlDanial/cloc: cloc counts blank lines, comment lines, and physical lines of source code in many programming languages.
Code Complexity
Cyclomatic Complexity
Halstead Metrics -> Maintainability Index
Profiling
Flame Graphs
Creating a better flamegraph visualization
speedscope - Interactive Flamegraph Explorer
Linux perf Examples
Yet another reason your docker containers may be slow on EC2: clock_gettime, gettimeofday and…
Standard library header
C++11 timing code performance | Solarian Programmer
"Performance Matters" by Emery Berger - YouTube Layout biases measurement Mytkowicz et al. (ASPLOS'09)
Stabilizer: randomizes layouts
Causal Profiler (coz
)
API
Fluent API
Fluent interface - Wikiwand
FluentInterface
JavaScript like a Boss: Understanding Fluent APIs — SitePoint
Chain Your JavaScript Methods Like a Boss with Fluent APIs
fluent-ffmpeg/node-fluent-ffmpeg: A fluent API to FFMPEG (http://www.ffmpeg.org)
ABI
Binary-code compatibility - Wikiwand
Calling convention, what register of the CPU are used
Idiot's Guide to ABI Versioning - 250bpm
20 ABI (Application Binary Interface) breaking changes every C++ developer should know
do you know how "return" ACTUALLY works? (are you SURE?) - YouTube
Pointer to implementation
c++ - Why should the "PIMPL" idiom be used? - Stack Overflow
Opaque pointer - Wikiwand
PImpl - cppreference.com
PImpl Idiom in C++ with Examples - GeeksforGeeks
Bartek's coding blog: The Pimpl Pattern - what you should know
Pimp My Pimpl | -Wmarc
Learning Resources
Find the Best Coding Tutorials & Courses - Learn to Code | gitconnected
50+ Best Places to Learn Programming Language & Coding For Absolutely Free
Learn Programming – Free Software Development Courses for Beginners
Khan Academy targets younger students, provides university courses, more academic
edX | Free online courses from the world's best universities
Coursera provides university courses, many can be audited for free
Udemy Online Courses - Learn Anything, On Your Schedule More practical paid content, some free contents
- select category, append
/all-courses/?price=price-free&instructional_level=intermediate&sortBy=popularity
to the URL
World's #1 Digital Cloud Certification Course & Training Provider — A Cloud Guru
Lesson Directory | Programming Historian
Learn How to Code - Find Coding Tutorials | gitconnected
Tech Deals
Cloud Assessments
MIT OpenCourseWare | Free Online Course Materials
Category: Computer Science - VideoLectures.NET
Manual | Most Popular HTML, CSS, Javascript Tutorials On The Planet
Virtual University ~ Free and Low-cost Web Design and Programming Courses
code school some courses are free
Tutorials for ... and many more latest technologies
reSRC ·
No Excuse List
Learn X in Y Minutes: Scenic Programming Language Tours
Free Online Learning at GCFLearnFree
Learn to Code and Help Nonprofits | Free Code Camp
VideoLectures.NET - VideoLectures.NET
Share and Discover the best programming tutorials and courses online | Hackr.io
KIRUPA
Educative: Interactive Courses for Software Developers snippets
Udemy Tech - YouTube
edureka! - YouTube
InfoQ - YouTube MarakanaTechTV/NewCircle now part of InfoQ
in28minutes - YouTube
Skills Matter - YouTube
Derek Banas - YouTube
ArjanCodes - YouTube mostly Python
Code to the Moon - YouTube mostly Rust
SimonDev - YouTube web 3D, web performance
fasterthanlime - YouTube
ThePrimeagen - YouTube
ThePrimeTime - YouTube
TechWorld with Nana - YouTube
strager - YouTube C++, Rust
Low Level Learning - YouTube low level, security
Dreams of Code - YouTube Rust, Python, system
Jacob Sorber - YouTube C, embedded system
Dave's Garage - YouTube C, Windows C, IoT
Topic:Computer programming - Wikiversity
10 Useful Sites for Learning How to Code
45 of The Best Places to Learn to Code For Free
Quincy Larson's answer to Are there good YouTube channels that teach programming languages? - Quora
Learn. Build. Grow. Together.
Learn With Jason - YouTube live coding
What are the best resources (sites, books or tutorials) for learning programming? - Quora
Recommended Reading for Developers
Students - Guide to Technical Development - Google Careers
What tech talks should every software engineer watch? - Quora
Four tips for learning how to program – Signal v. Noise
Free Learning - Free Programming eBooks from Packt
igbt6/Packt-Publishing-Free-Learning: Scripts that automatically claim and download free daily eBooks from https://www.packtpub.com/packt/offers/free-learning
I also have bundles in Fanatical and Humble Bundle
Mostly paid contents:
Learn by Doing - Code School
Kata
🎙New Rustacean Bonus 7: Katas—or, learning by doing
Software Development Process
- User requirement
meeting with customer (by sales and presales engineer)
determine requirements, scope of work and development, delivery flow - UI mock up, storyboard, proof of concepts
- setup milestones
usually the project will be too big to implement in one shot
divide it into milestones and gather feedback on each
usually we use features to divide milestone
also take note of the the delivery date of each milestone (see next) - task list and schedule
divide feature into tasks
assign developers to each task
estimate resources (man-day) for each task
resources should be fully utilized
reserve time before delivery date for integration and QA - sign contract
the above planning should be included - intermittent releases (release candidates)
these are sub-milestones within the development team
QA can test on RC for completed features and bug fixes - requirements update is done via feature change request
Plain Text
The Unreasonable Effectiveness Of Plain Text - YouTube ❗!important, plain text is easy to maintain and scalable, manage with git repo
Loren Ipsum
malevole - Text Generator
Hipster Ipsum – Artisanal filler text for your project.
FUCK LOREM IPSUM
Lorem Ipsum - All the facts - Lipsum generator
professional lorem ipsum generator for typographers
亂數假文產生器 - Chinese Lorem Ipsum
Lokaltog/baba: Grammar designer application which exports AMD/CommonJS/browser-compatible garbage text generators.
Lokaltog/git-man-page-generator: Git man page generator.
Phone number checking
E.123 - Wikiwand
E.123 :Notation for national and international telephone numbers, e-mail addresses and web addresses
E.164 - Wikiwand
E.164 :The international public telecommunication numbering plan
What is E.164? - Twilio
While libphonenumber
has a JS port (generated by Closure), this library is smaller.
Nikolay Kuchumov / libphonenumber-js · GitLab
libphonenumber-js
Smaller still, look up the ISO 3166-1 alpha-2 country code and use the length/regex directly from
https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/PhoneNumberMetadata.xml
Country Code
ISO 3166-1 - Wikiwand
ISO 3166-1 alpha-2 - Wikiwand
ISO 3166-1 alpha-3 - Wikiwand
wooorm/iso-3166: ISO 3166 (standard for country codes and codes for their subdivisions)
File Template/Code Generation
Ned Batchelder: Cog
designed to be embedded in other files
Python Success Stories | Python.org
Nocog 1.0.2
Cookie - A Template-Based File Generator for Projects
Jinja — Jinja Documentation Python
mattrobenolt/jinja2-cli: CLI for Jinja2
kolypto/j2cli: Jinja2 Command-Line Tool, reworked
Shinto CLI: Another Jinja2 CLI Package · sudo ISL j2cli + globbing + fixes
Jinja advantages and disadvantages
Overview | Jinja Compat Tests
welcome to Mako! Python
{{ mustache }}
mustache(1) - Mustache processor Ruby CLI
janl/mustache.js: Minimal templating with {{mustaches}} in JavaScript
Command line tool to render a mustache template with a json context file with 'Mu' package
Eta | Eta EJS-like, in TypeScript
BorisMoore/jsviews: Interactive data-driven views, MVVM and MVP, built on top of JsRender templates
BorisMoore/jsrender: A lightweight, powerful and highly extensible templating engine. In the browser or on Node.js, with or without jQuery.
dust
mahmoud/ashes: ⚱️ Lightweight, self-contained templating for Python 2 and 3, a la Dust templates
template - The Go Programming Language
Used in many Go application for formatting output, e.g. docker
, kubectl
Jsonnet - The Data Templating Language JSON extension that can output multiple files
google/jsonnet: Jsonnet - The data templating language
heptio/vscode-jsonnet: (Archived) Jsonnet support for Visual Studio Code
Computer Science
Map of Computer Science - YouTube
prakhar1989/awesome-courses: List of awesome university courses for learning Computer Science!
CS 242: Programming Languages, Fall 2019 with Rust
Computer Mathematics, AI and Functional Programming
Introduction to Python Programming | Udacity
Design of Computer Programs: Programming Principles - Udacity
Coursera -- Computer Science 101
Learn to Program: The Fundamentals - University of Toronto | Coursera
Learn to Program: Crafting Quality Code - University of Toronto | Coursera
Programming Languages - University of Washington | Coursera
Fundamentals of Computing Certificate | Coursera
Runestone Interactive
Catalog of Online Courses | Harvard University
Github repos for learners
ossu/computer-science: Path to a free self-taught education in Computer Science!
humanwhocodes/computer-science-in-javascript: Collection of classic computer science paradigms, algorithms, and approaches written in JavaScript.
Teach Yourself Computer Science
Think C++
Think Python: How to Think Like a Computer Scientist Python 2
How to Think Like a Computer Scientist — How to Think Like a Computer Scientist: Learning with Python 3
CS Principles: Big Ideas in Programming — Runestone Interactive Overview
How Aristotle Created the Computer - The Atlantic
Papers We Love presentation on computer science papers
Time/Computational Complexity
Computational complexity theory - Wikiwand
Amortized analysis - Wikiwand
Time Complexities Of Python Data Structures - FinTechExplained - Medium
Understand Big O notation in 7 minutes - Je suis un dev
Algorithms for Dummies (Part 1): Big-O Notation and Sorting - Adrian Mejia’s Blog
bigoposter/bigoposter.pdf at master · ro31337/bigoposter
Big O myths busted! (Time complexity is complicated) - YouTube time vs memory trade-off; (SIMD)linear search beating binary search
P vs. NP and the Computational Complexity Zoo - YouTube
P vs. NP - The Biggest Unsolved Problem in Computer Science - YouTube
What Computers Can't Do - with Kevin Buzzard - YouTube P vs. NP
Computer Scientists Prove Certain Problems Are Truly Hard | Quanta Magazine
The Secret Link Between Thousands of Unsolved Math Problems - YouTube
Halting problem
Halting problem - Wikiwand
Theory of computation | Halting Problem - GeeksforGeeks
The History of Undecidability - YouTube
The Most Difficult Program to Compute? - Computerphile - YouTube
Ackermann Follow Up - Computerphile - YouTube
Turing & The Halting Problem - Computerphile - YouTube
Cause a contradiction if self-referencing
How This One Question Breaks Computers - YouTube
The Halting Problem - An Impossible Problem to Solve - YouTube
Architecture Design
move to design-patterns?
algorithm
design-patterns
microservice
Software Architecture - The Difference Between Architecture and Design
Software Design and Architecture | Coursera
Minimum Viable Architecture • Randy Shoup • YOW! 2022 - YouTube
The Architecture of Open Source Applications
The Rule of Three
Programming Should Be More than Coding
In the Loop – CEO Quest Insights – Medium
SREcon19 Europe/Middle East/Africa - Advanced Napkin Math: Estimating System... - YouTube
sirupsen/napkin-math: Techniques and numbers for estimating system's performance from first-principles
Architecture: The Stuff That's Hard to Change - Dylan Beattie - YouTube
- determine user's needs
- meet those needs
- within economic and technologincal constraints
What’s the Best Backend for React? 5 Options to Choose From | Boot.dev note on decoupled architecture
Beautiful Structure
Systems Engineering - YouTube
CodeOpinion - YouTube
System Design for Beginners Course - YouTube 1.5 hours
CppCon 2014: Mike Acton "Data-Oriented Design and C++" - YouTube
A Practical Guide to Applying Data-Oriented Design Zig
Clean Coder Blog
Clean Architecture, the right way - DSC VIT Vellore - Medium
The Principles of Clean Architecture by Uncle Bob Martin - YouTube
The Clean Architecture | 8th Light ❗!important
Applying The Clean Architecture to Go applications » The Log Book of Manuel Kiessling
Clean architectures in Python: a step-by-step example - The Digital Cat
Software Architecture: The 5 Patterns You Need to Know - DZone Microservices
Clear Code – How to Write Code That Is Easy to Read
Enterprise Programming Tricks For Clean Code - YouTube 56:08
Making Architecture Matter - Martin Fowler Keynote - YouTube
The Software Architecture Chronicles – @herbertograca
Bring questions. Build answers. - bar.foo - Google how Google solves technical problems
BeckDesignRules
C4 Model
The C4 model for visualising software architecture
Visualise, document and explore your software architecture - Simon Brown - YouTube
4C's | Description |
---|---|
Context | A high-level diagram that sets the scene; including key system dependencies and people (actors/roles/personas/etc). Context diagrams are standard in software engineering (even if not used often). |
Container | A container diagram shows the high-level technology choices, how responsibilities are distributed across them and how the containers communicate. |
Component | For each container, a component diagram lets you see the key logical components and their relationships. |
Classes (or Code) | This is optional and is the lowest level of detail. |
Read The Art of Visualising Software Architecture | Leanpub
Structurizr
Structurizr - Help - Diagrams as text
structurizr/cli: A command line utility for Structurizr.
structurizr/dsl: Structurizr DSL
arc42
arc42.org
arc42 - software architecture GitHub org
Low Latency design
Concord, sequencer in trading system
Signals and Threads | State Machine Replication, and Why You Should Care
An Introduction to the Sequencer World - Electronic Trading Technology
Assigning timestamp and sequence number in unreliable multicast channels
Aria is a framework to run apps in similar design but abstracts away the server setup
Conway's Game of Life
Conway's Game of Life - Wikiwand
Literate Game of Life
Implementing Life - Rust and WebAssembly Pattern matching on cell and neighbour's states
Let’s BUILD a COMPUTER in CONWAY's GAME of LIFE ⠠⠵ - YouTube
Project Management
How to Write a README
revolunet/node-readme
matiassingers/awesome-readme: A curated list of awesome READMEs
A crash course on writing a better README – Hacker Noon
Make a README
Linear – A better way to build products
Checklist for your new Open Source JavaScript Project
How to present to management: A guide for developers and engineers | InfoWorld
Project template
Verb by assemble
verbose/verb
verbose/readme-includes
jonschlinkert/time-stamp (example)
bevry/projectz: Stop wasting time maintaining your project's readme and package files!
bevry/base project base files
mcollina/generify: A reusable project generator
Rich-Harris/degit: Straightforward project scaffolding
Changelog
Manually curated
Keep a Changelog
#127: Keep a CHANGELOG with Olivier Lacan - Changelog
Automated
First of all get your commit message right:
Commitizen by commitizen
commitizen/cz-cli: The commitizen command line utility.
conventional-changelog/angular.md
angular.js/DEVELOPERS.md at master · angular/angular.js Git Commit Guidelines
Welcome | Legit (Git Workflow for Humans)
Get Legit with Git (and GitHub): The Art of the Commit Message - The New Stack
changesets/changesets: 🦋 A way to manage your versioning and changelogs with a focus on monorepos
Conventional Commits
Conventional Commit Messages
qoomon/git-conventional-commits: Git Conventional Commits Util to generate Semantic Version and Markdown Change Log and Validate Commit Messag
Generate:
clog-tool/clog-cli: Generate beautiful changelogs from your Git commit history
rvagg/changelog-maker: A git log to CHANGELOG.md tool
conventional-changelog/standard-version: Replacement for npm version
with automatic CHANGELOG generation
Writing Your Own Changelog Generator with Git - Better Programming - Medium
# build success
git tag NEW_RELEASE_TAG
git log CURRENT_RELEASE_TAG NEW_RELEASE_TAG > CHANGELOG
# retag it as current release
git tag -f CURRENT_RELEASE_TAG NEW_RELEASE_TAG
git push --follow-tags
Signal Processing
Circles Sines and Signals - Introduction
Level of Abstraction
We are seeing a trend that a high level language (the source code input by a programmer) is transpiled to a core set of features/primitives (e.g. MIR of Rust, asm.js of JavaScript), then the intermediate representation is further compiled by LLVM, which then compiles to the machine code of specific architecture to make the code portable.
Language specific optimization can be added when parsing the source code to intermediate representation. It also helps simplify the code for LLVM and can hint LLVM to make more optimized code.
Introducing MIR - The Rust Programming Language Blog
Programming Languages
Following is are lists of learning resources for the programming languages I'm interested in.
c-sharp
c-lang
flutter#Dart
go-lang
java
javascript-notes
julia
nodejs-notes
swift-lang
nim-lang
php-lang
python-notes
regex
rust-lang
web-dev
v-lang
zig-lang
HOPL Online Historical Encyclopaedia of Programming Languages
Programming Languages - Hyperpolyglot
C isn't a programming language anymore • The Register
you must speak C when communicating with kernel
Context Free - YouTube on programming languages
PyBites Platform | Real World Python Exercises
Riju
radian-software/riju: ⚡ Extremely fast online playground for every programming language.
exercism.io Koans of various languages
About the new site | Exercism
Microsoft Reactor | Microsoft Developer
neopragma/online-learning-resources: Online resources for self-study in software-related topics and skills
Rosetta Code
Programming Languages | Hammer Principle
Coderland: Cloud application development tutorials from Red Hat Developer
Learn X in Y Minutes: Scenic Programming Language Tours
Learn in One Video - YouTube
a-z of programming languages - News, Features, and Slideshows - Computerworld
🚀 Demystifying memory management in modern programming languages | Technorage
The Computer Language Benchmarks Game
Benchmarks for programming languages and compilers, Which programming language or compiler is faster
Evaluating Developer eXperience of a programming language - DEV Community 👩💻👨💻
Ask Ars: Why are some programming languages faster than others? – Ars Technica
Ranking Programming Languages by GitHub Users
The state of Developer Ecosystem in 2019 Infographic
These Modern Programming Languages Will Make You Suffer | by Ilya Suzdalnitski | Better Programming | Dec, 2020 | Medium
Of the emerging systems languages Rust, D, Go and Nim, which is the strongest language and why? - Quora
One Program Written in Python, Go, and Rust – Nicolas Hahn
Is TypeScript (NodeJS) Faster than Go?? | A server comparison - YouTube
Go is faster than Rust??! Go vs Rust vs TypeScript Servers (as a scientist) - YouTube
一张主流编程语言的变迁图,讲清程序员迁移模式
Libraries - The Open Source Discovery Service
free-courses/free-courses.github.io: Free Programing Courses list
The Art of Code - Dylan Beattie - YouTube
Game of Life can be used to build logic gates
Quines
rockstar : home
Quine (computing) - Wikiwand a program that prints itself
Abstract Syntax Tree (AST)
AST explorer
fkling/astexplorer: A web tool to explore the ASTs generated by various parsers.
AST Explorer · Scalameta
Python AST Explorer
Read JavaScript Source Code, Using an AST ← Alligator.io
Language Server Protocol/LSP
Langserver.org
Official page for Language Server Protocol
Microsoft-backed Language Server Protocol strives for language, tools interoperability | InfoWorld
Microsoft/language-server-protocol: Defines a common protocol for language servers.
Protocol to abstract editor from specific language.
Esolang
Esoteric programming language - Wikiwand
Esolang, the esoteric programming languages wiki
Esoteric.Codes: Esolangs, Esoteric Programming Styles, Code Art, Code Poetry, more...
A Brief Introduction to Esoteric Programming Languages - YouTube
A Brief Introduction to Esoteric Languages • Hillel Wayne
Strange Computer Languages: A Hacker’s Field Guide | Hackaday
[JSFuck - Write any JavaScript with 6 Characters: !+](https://jsfuck.com/)
[aemkei/jsfuck: Write any JavaScript with 6 Characters: !+](https://github.com/aemkei/jsfuck)
JavaScript Is Weird (EXTREME EDITION) - YouTube
Learning to code "Hello, World" in CURSED languages 😰 - YouTube
The Perfect Programming Language - YouTube
Assembly
reverse-engineering#Binary Analysis/Malware Analysis/Reverse Engineering
x86 assembly language - Wikiwand
x86 calling conventions - Wikiwand
Intel® 64 and IA-32 Architectures Software Developer Manuals
Registers in x86 assembly | Infosec Resources
parameters: rdi
, rsi
return value: rax
(eax
for the lower 32 bits, ah
/al
for the higher and lower bytes)
naming: r
- 64 bits; e
- 32 bits; no prefix - 16 bits; h/l
suffix - 8 bits
Intro to Assembly and Assemblers | Linux.org
Gcc: Some Assembly Required | Hackaday
Linux: Assembly Required | Hackaday
Assembly Programming Tutorials - YouTube
Dave's Garage
Hello, Assembly! Retrocoding the World's Smallest Windows App in x86 ASM - YouTube
Assembly, System Calls, and Hardware in C++ - David Sankel - CppNow 2023 - YouTube ❗!important
- calling convention
- Caller stored/Callee stored
Creel - YouTube
Modern x64 Assembly - YouTube
Program and Data Representation
x86-64bit-ccc-chapter.pdf
Assembly Programming Tutorials - YouTube
you can become a BIG BRAIN assembly programmer in only 10 minutes. (yes, YOU!) - YouTube
you can learn assembly QUICKLY using the rosetta stone technique (arm64 breakdown) - YouTube
flat assembler (FASM)
"interpreted language" that outputs assembly code
flat assembler
Web in Native Assembly (Linux x86_64) - YouTube
Beef
The Beef Programming Language
beefytech/Beef: Beef Programming Language
BEEF -- Ideal Game Programming Language? - YouTube
Bosque
Microsoft/BosqueLanguage: The Bosque programming language is an experiment in regularized design for a machine assisted rapid and reliable software development lifecycle.
Microsoft debuts Bosque – a new programming language with no loops, inspired by TypeScript • The Register
Crystal
The Crystal Programming Language - A compiled language with Ruby like syntax and type inference
Crystal Programming Language
Crystal for Rubyists
README - github.com/crystal-lang/crystal API doc
An Introduction to Crystal: Fast as C, Slick as Ruby - via @codeship | via @codeship
Crystal from a Rubyist's Perspective - via @codeship | via @codeship
veelenga/awesome-crystal: A collection of awesome Crystal libraries, tools, frameworks and software
Pacakge Repo
CrystalShards
Kemal Lightning Fast, Super Simple web framework written in Crystal programming language. Inspired by Sinatra.
Carbon
Google's langauge for replacing C
carbon-language/carbon-lang: Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
Carbon (programming language) - Wikiwand
Carbon Language: An experimental successor to C++ - Chandler Carruth - CppNorth 2022 - YouTube
Carbon Language Successor Strategy: From C++ Interop to Memory Safety - Chandler Carruth - CppNow 23 - YouTube ❗!important, 58:21 bugs, safety and vulnerability
Carbon Lang… The C++ killer? - YouTube
Carbon Lang First Look & Crash Course | Google's C++ Successor - YouTube
gingerBill, creater of Odin
Carbon Language - First Impressions from the Creator of the Odin Programming Language - YouTube
Carbon Language - Who is it even for? - YouTube
Carbon Language - Final Conclusions (It's Probably Not For You) - YouTube
D
Home - D Programming Language
History Of Development Model For D - D Wiki
The D Language: A sweet-spot between Python and C – experimentalworks
Lessons Learned: Writing a filesystem in D – experimentalworks
Find, Use and Share DUB Packages - DUB - The D package registry
Programming in D - Programming in D
D Programming Tutorial
Why didn't D language become mainstream comparing to Golang? - Quora
Why didn't the D language become mainstream as Golang has ? : programming
Dark
Dark combined language, editor, and infrastructure
Elm -> ReScript -> F#
Leaving OCaml
Why Dark didn't choose Rust
Dark's new backend will be in F#
How Does HashiCorp Vault Work with Kubernetes Secrets? – The New Stack
Paul Biggar - Dark Lang and Tablecloth powered by Reason - YouTube compares OCaml and Elm, overview of the ReasonML ecosystem
Dex
Google Dex language simplifies array math for machine learning | InfoWorld
https://google-research.github.io/dex-lang/tutorial.html
Lever
cheery/lever: A programming language in the Perl/Python/Ruby group
Lisp
defmacro - The Nature of Lisp
What Made Lisp Different
Build Your Own Lisp
MIT/GNU Scheme - GNU Project - Free Software Foundation
Welcome to the SICP Web Site
sarabander/sicp: HTML5/EPUB3 version of SICP
io
Odin
C alternative for the joy of programming
Odin Programming Language
odin-lang/Odin: Odin Programming Language
odin-lang/examples: Examples of idiomatic Odin code
Odin/examples/demo at master · odin-lang/Odin single file to demo Odin features
Interview with Odin language creator gingerBill - YouTube
Odinlang Creator Ginger Bill Talks Odin! - YouTube
- for modern system (SIMD)
- no garbage collector
- implicit context
- custom memory allocator
- includes bindings to rendering library
SDL, imgui, Vulkan, OpenGL, raylib - some syntax similar to Go
defer, error as value, named return
Space Shooter with SDL2 and Odin Lang - YouTube
Ecosystem
EmberGen: Real-Time Fluid Simulations For Fire, Smoke, And Explosions! uses Odin
Binding to C | Odin Programming Language
Odin Libs · odin-lang/Odin Wiki
graphitemaster/codin: Odin to C compiler
C-Odin. The future of the Odin programming language. - YouTube
Jakt
transpiles to C++ code
SerenityOS/jakt: The Jakt Programming Language
NekoVM
NekoVM
A Comparison Of Neko And Lua
doc:begin [NekoVM]
Objective-C
Learn Objective-C - Code School
OCaml
OCaml - Wikiwand
Welcome to a World of OCaml
Learn OCaml
OCaml - Wikibooks, open books for an open world
How to Think Like a (Functional) Programmer
OCaml Programming: Correct + Efficient + Beautiful — OCaml Programming: Correct + Efficient + Beautiful
Jane Street Tech Blog - Why OCaml?
Open Source | Tarides owner of OCaml
Hello MirageOS World | MirageOS
Deploying MirageOS unikernels using binaries | MirageOS
Packages
Lwt manual ~= promise
Getting Started with Lwt threads | MirageOS
Reason
Perl
The Perl Programming Language - www.perl.org
Learn Perl - learn.perl.org
Learn Perl - www.perl.org
Perl 101 - Index
Introduction to Perl one-liners - good coders code, great reuse
The Effective Perler
The Official RPerl Website
This Perl goes to 11 JIT compiler and Perl 6
R
The language used by data analysts.
R: The R Project for Statistical Computing
Introduction to R Programming | edX
R tutorial: Learn to crunch big data with the R language
R tutorial: How to reshape data in the R programming language | InfoWorld
Useful R functions you might not know | Computerworld
Best R packages for data import, data wrangling & data visualization | Computerworld
rpy2 rpy2 is an interface to R running embedded in a Python process.
Racket
Ruby
Ruby Programming Language
RVM- Ruby Version Manager - RVM Ruby Version Manager - Documentation
Tag Archive for "ruby" | Scotch
A Crash Course in Ruby | Scotch
Understanding Ruby Closures | Scotch
RubyGems.org - your community gem host
Ruby on Rails- Download
rbspy docs
rbspy/rbspy: Sampling profiler for Ruby
Val
Val | The Val Programming Language
Meet Val: A New Language Alternative to C++, Rust - The New Stack
Val - The Rust Killer | Prime Reacts - YouTube