====== Developers, Developers, Developers ====== * [[howto|How to learn programming]] * [[web|Web development]] * [[cross-compile|Cross Compilation]] * [[https://hotexamples.com/|Hot Examples]] – searches, retrieves and ranks examples of source code from more than 1 million projects (PHP, C#, Java, Go, C++, Python) * [[conf|Configuration files]] * [[https://benchmarksgame-team.pages.debian.net/benchmarksgame/|Benchmarks]] – Which programming language is fastest? Should we care? How could we know? * [[tools|Tools for programmers]] * [[repo|Software repositories]] – how and where to host and manage your code * [[concepts|basic concepts]] * [[scratchpad|Scratchpad]] – stuff that doesn't fit anywhere else in this namespace. ===== Tutorials, helpful articles ===== * [[https://www.youtube.com/watch?v=-W_VsLXmjJU|Top signs of an inexperienced programmer]] (TechLead 2019) ===== Suck ===== Programming and software in general sucks. * [[https://www.stilldrinking.org/programming-sucks|Programming Sucks]] (Still Drinking) * [[https://medium.com/message/everything-is-broken-81e5f33a24e1|Everything is broken]] * [[https://www.youtube.com/watch?v=ZSRHeXYDLko|Preventing the Collapse of Civilization]] – a discussion about how they make software and what this means by Jonathan Blow. ===== Programming languages ===== * [[.:java:|Java]] * [[golang|Go]] * [[c|C]] * [[cplusplus|C++]] * [[csharp|C#]] ===== Scripting Languages ===== * [[php|PHP]] * [[yii|Yii2 Framework]] * [[.:js:|JavaScript]] * [[.:js:node|Node.js]] * [[.:js:electron|Electron]] * [[.:python|Python]] * [[https://brython.info|Brython]] – Python for web browsers. * [[https://sneklang.org/|Snek]] – A Python-inspired Language for Embedded Devices. ==== Shell scripting ==== * [[.:bash|Bash]] – default on many [[:admin:linux:|Linux]] [[:guide:linux:distributions|distributions]] * [[.:ps|PowerShell]] – available on Windows 7 and later, recently even for GNU/Linux ===== Mark languages ===== * [[HTML|HTML]] * [[CSS|CSS]] * [[LaTeX|LaTeX]] * Markdown ===== Data exchange formats ===== Often also used for [[conf|configuration]]. * [[json|JSON]] (JavaScript Object Notation, not only used in JS) * [[https://kdl.dev/|KDL]] – Cuddly document language, readable by humans and machines alike. * YAML * TOML ===== Challenges ===== * [[https://www.codewars.com/|Codewars]] * [[https://www.dwitter.net/|Dwitter]] – [[.:js|Javascript]] demos in 140 characters ===== Versioning ===== * [[https://semver.org/|SemVer]] * [[https://0ver.org/|0ver]] – zero-based versioning for software that will probably never have a stable API. * [[https://calver.org/|CalVer]] – Calender date based versioning * [[https://blog.codinghorror.com/whats-in-a-version-number-anyway/|What's In a Version Number, Anyway?]] (codinghorror.com) ===== Commit Messages ===== You should always document what you changed and //why// you changed it. * [[https://www.conventionalcommits.org|Conventional Commits]]