<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/tags/general-programming/best-of/2024" -->

---
title: Best General Programming posts of 2024 | daily.dev
description: The most upvoted General Programming posts of 2024, curated by the daily.dev community.
canonical: https://daily.dev/tags/general-programming/best-of/2024
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:url: https://daily.dev/tags/general-programming/best-of/2024
og:type: website
og:site_name: daily.dev
og:title: Best General Programming posts of 2024 | daily.dev
og:description: The most upvoted General Programming posts of 2024, curated by the daily.dev community.
og:image: https://media.daily.dev/image/upload/s--VAY5ToZt--/f_auto/v1724209435/public/daily.dev%20-%20open%20graph
---

# Best of General Programming — 2024

1. 1  
[](https://daily.dev/posts/solid---the-simple-way-to-understand-cjqu7bint "SOLID - The Simple Way To Understand")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
SOLID - The Simple Way To Understand  
This post explains the SOLID principles in a simple way using Typescript examples. It covers the Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle.

1.7K  
43
2. 2  
[](https://daily.dev/posts/i-m-a-programmer-and-i-m-stupid-keunwjpk0 "I'm a programmer and I'm stupid")  
Article  
![Avatar of lobsters](https://media.daily.dev/image/upload/s--tl8v_Fku--/f_auto,t_logo/v1698841318/logos/lobste.jpg)Lobsters · 3y  
I'm a programmer and I'm stupid  
A programmer shares their experience of feeling limited in their mental capacity and discusses their approach to programming with simple languages and minimal dependencies.

1.2K  
111
3. 3  
[](https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf "What is Clean Architecture?")  
Article  
![Avatar of techworld-with-milan](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/737f436491ef436dba1bbab9052e4a04)Tech World With Milan · 2y  
What is Clean Architecture?  
Clean Architecture promotes the idea of modular, testable, and maintainable code. It emphasizes separating concerns and defining clear boundaries between system components. Clean Architecture is suitable for complex or long-lived applications, projects with a central domain model, and teams that prioritize clean code practices.  
850  
9
4. 4  
[](https://daily.dev/posts/i-m-tired-of-it-0iih0pvpe "I'm tired of it")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
I'm tired of it  
AI-generated content is pervasive, often creating bland, inaccurate articles that lack true value. The author criticizes this trend, emphasizing the importance of human-crafted content that showcases effort and unique perspectives. Highlighting examples of pointless AI-generated articles and the inefficiency of email communication due to AI, the appeal is to maintain authenticity and personal touch in writing.  
798  
104
5. 5  
[](https://daily.dev/posts/ultimate-cheat-for-developers-cgkkceyfc "Ultimate Cheat for Developers")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Ultimate Cheat for Developers  
The post provides an extensive list of programming languages, tools, and platforms beneficial for developers such as Python, JavaScript, Docker, Terraform, and more. It includes a variety of software, from code editors and IDEs to productivity tools and game development applications.  
661  
26
6. 6  
[](https://daily.dev/posts/best-os-for-programming-mac-vs-windows-vs-linux-debate-settled-idsoqrqrw "Best OS for programming? Mac vs Windows vs Linux debate settled")  
Video  
![Avatar of fireship](https://media.daily.dev/image/upload/s--75ndqrkr--/f_auto,t_logo/v1702882094/logos/fireship.jpg)Fireship · 2y  
Best OS for programming? Mac vs Windows vs Linux debate settled  
Explore the differences between Mac, Windows, and Linux for software engineers. Discover the pros and cons of each operating system and the benefits of using Linux for customization and server deployment.  
619  
55
7. 7  
[](https://daily.dev/posts/s-o-l-i-d-principle-part-1-izrn557zc "S.O.L.I.D Principle Part 1")  
Article  
![Avatar of javarevisited](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/9ca6532654d146408235d53f0823a26d)Javarevisited · 2y  
S.O.L.I.D Principle Part 1  
An introduction to the S.O.L.I.D principles which are fundamental for software design patterns. This part covers the Single Responsibility Principle, Open Closed Principle, and Liskov Substitution Principle, explaining how these principles enhance flexibility, maintainability, and modularity in code. Examples and practical use cases are provided to illustrate these principles.  
602  
12
8. 8  
[](https://daily.dev/posts/verified-company-badge-glncg2ueq "Verified company badge")  
Article  
![Avatar of daily_updates](https://media.daily.dev/image/upload/s--COeiQtov--/f_auto/v1704465510/squads/daily_updates)daily.dev Changelog · 2y  
Verified company badge  
Introducing a new feature for daily.dev profiles: the Verified Company Badge. This badge showcases your company’s name and logo prominently on your profile, enhancing credibility, visibility, and community connection. With 1 in 50 developers on daily.dev, it's easier to identify colleagues and network with others in the industry.  
535  
54
9. 9  
[](https://daily.dev/posts/s-o-l-i-d-the-5-golden-rules-to-level-up-your-coding-skills-lccudm9eg "S.O.L.I.D: The 5 Golden Rules to Level Up Your Coding Skills")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
S.O.L.I.D: The 5 Golden Rules to Level Up Your Coding Skills  
Learn about the S.O.L.I.D principles, including the Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle, and Dependency Inversion Principle. These principles help in writing more maintainable, scalable, and flexible code.  
516  
15
10. 10  
[](https://daily.dev/posts/frontend-projects-are-live-on-roadmap-sh--8tsulciof "Frontend Projects are Live on roadmap.sh 🥳")  
Article  
![Avatar of roadmap](https://media.daily.dev/image/upload/s--DvbbAZdi--/f_auto/v1721219760/squads/86578650-14aa-435b-b743-0fbae6c59947)roadmap.sh · 2y  
Frontend Projects are Live on roadmap.sh 🥳  
Roadmap.sh has launched frontend project ideas, offering 18 varied projects complete with descriptions, mockups, and hints. Users can submit and review solutions, as well as rate their helpfulness. More projects will be added soon.  
499  
23
11. 11  
[](https://daily.dev/posts/100-javascript-projects-with-source-code-68lsyfsx4 "100+ JavaScript Projects With Source Code")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 3y  
100+ JavaScript Projects With Source Code  
Discover a variety of JavaScript projects with source code, ranging from beginner-friendly to advanced. Enhance your programming skills and knowledge by exploring different project ideas. Start building something amazing!  
450  
10
12. 12  
[](https://daily.dev/posts/part-1-what-is-clean-architecture--zme4g4hco "Part 1: What is Clean Architecture?")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
Part 1: What is Clean Architecture?  
Clean Architecture, introduced by Robert C. Martin, aims to create systems that are easy to understand, flexible, and maintainable by emphasizing separation of concerns. It organizes code into concentric circles, where dependencies only flow inward, ensuring modularity and testability. The architecture allows for improved testability, flexibility, maintainability, reusability, and scalability by keeping business logic decoupled from external dependencies like frameworks and databases.  
398  
7
13. 13  
[](https://daily.dev/posts/7-design-patterns-every-developer-should-know-go8s0ywfn "7 Design Patterns EVERY Developer Should Know")  
Video  
![Avatar of youtube](https://media.daily.dev/image/upload/s--W5zMumpP--/f_auto/v1725350181/logos/youtube)YouTube · 2y  
7 Design Patterns EVERY Developer Should Know  
Forest explains seven key software design patterns, categorized into creational, structural, and behavioral types. He provides practical examples and analogies for Singleton, Builder, Factory, Facade, Adapter, Strategy, and Observer patterns, highlighting their uses, benefits, and drawbacks. The patterns are presented as solutions to common programming problems, with a focus on when and how to use them effectively.  
373  
9
14. 14  
[](https://daily.dev/posts/follow-users-zlj33wejo "Follow users")  
Article  
![Avatar of daily_updates](https://media.daily.dev/image/upload/s--COeiQtov--/f_auto/v1704465510/squads/daily_updates)daily.dev Changelog · 2y  
Follow users  
You can now follow individual developers on daily.dev to receive notifications about their contributions. You can follow users from their profiles, Community Picks, or within Squads. Engage more with the content and boost your own follower count!  
357  
29
15. 15  
[](https://daily.dev/posts/design-patterns-a-deep-dive-into-common-design-patterns-bqmvydvwx "DESIGN PATTERNS : A Deep Dive into Common Design Patterns")  
Article  
![Avatar of java_libhunt](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/7729929f2ca649d7b13f6b04aa94d300)Awesome Java Newsletter · 2y  
DESIGN PATTERNS : A Deep Dive into Common Design Patterns  
Design patterns are reusable solutions to common design problems encountered in software development. They offer templates involving classes, interfaces, and relationships between them. Key types of design patterns include Creational, Structural, and Behavioral patterns. Each category provides specific solutions like Singleton, Builder, Factory Method, Adapter, Facade, Iterator, Strategy, and Observer patterns. Examples illustrating how these patterns can be implemented are provided to showcase their practical applications.  
350  
6
16. 16  
[](https://daily.dev/posts/how-to-use-libraries-like-a-senior-dev-ky5xndymt "How To Use Libraries Like A Senior Dev")  
Video  
![Avatar of wds](https://media.daily.dev/image/upload/s--dXRQOCB9--/f_auto/v1718347713/logos/wds)Web Dev Simplified · 2y  
How To Use Libraries Like A Senior Dev  
Learn how to structure your code effectively using adapter and facade patterns to simplify database queries and improve maintainability in large projects. Kyle from Web Dev Simplified compares two project structures, showing the pros and cons of each approach, and highlights the importance of centralizing code and creating abstractions to make refactoring and library changes easier.  
311  
3
17. 17  
[](https://daily.dev/posts/learn-python-oop-in-under-20-minutes-yvlozcm3t "Learn Python OOP in under 20 Minutes")  
Video  
![Avatar of indently](https://media.daily.dev/image/upload/s--u6wAXJI9--/f_auto/v1725038127/logos/indently)Indently · 2y  
Learn Python OOP in under 20 Minutes  
Learn about classes in Python, including creating and using them, with practical examples such as a microwave manufacturer. Understand key concepts like the class keyword, camel case naming convention, type annotations, initializers, instance creation, self keyword, methods for class functionality, and Dunder methods for defining class operations and representations.  
297  
8
18. 19  
[](https://daily.dev/posts/the-20-essential-principles-of-software-development-lod-soc-solid-and-beyond--tytcgznnc "The 20 Essential Principles of Software Development: LoD, SoC, SOLID, and Beyond.")  
Article  
![Avatar of gc](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/gc)gitconnected · 2y  
The 20 Essential Principles of Software Development: LoD, SoC, SOLID, and Beyond.  
This post discusses the 20 essential principles of software development, including abstraction, encapsulation, DRY, KISS, YAGNI, LoD, SoC, SOLID, and more.  
283  
5
19. 20  
[](https://daily.dev/posts/should-we-use-chatgpt-as-developers--kpz0dit3m "Should We Use ChatGPT as Developers?")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Should We Use ChatGPT as Developers?  
Developers should consider using GPT tools like ChatGPT primarily to enhance rather than replace their learning. Early-career developers are advised to avoid using GPT to ensure they gain crucial problem-solving skills through experience. For those with a solid understanding, GPT can be a valuable time-saver for specific, well-defined tasks. The key is to use GPT to augment development skills, not fully depend on it, while being mindful of real-world project complexities and sensitive data handling.  
278  
39
20. 21  
[](https://daily.dev/posts/practical-guide-to-creating-a-design-system-pbnxasdoh "Practical Guide to Creating a Design System")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
Practical Guide to Creating a Design System  
Creating a design system involves selecting a suitable UI framework, defining both light and dark themes, and organizing the system into a reusable package. Using tools like Storybook for documentation and ensuring regression UI testing minimizes unexpected issues. Avoid custom CSS and components to reduce complexity and maintenance costs. While initially labor-intensive, this approach significantly reduces the marginal cost of developing new front-end pages.  
250  
4
21. 22  
[](https://daily.dev/posts/daedalos-rcxptt6ul "daedalOS")  
Article  
![Avatar of hn](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/hn)Hacker News · 3y  
daedalOS  
daedalOS is an advanced operating system with unique features.  
226  
29
22. 23  
[](https://daily.dev/posts/prompt-engineering-for-developers-11-concepts-and-examples--csalhl5kh "Prompt Engineering For Developers: 11 Concepts and Examples 🎯🧙‍♂️⚡")  
Article  
![Avatar of community](https://media.daily.dev/image/upload/t_logo,f_auto/v1655817725/logos/community)Community Picks · 2y  
Prompt Engineering For Developers: 11 Concepts and Examples 🎯🧙‍♂️⚡  
Prompt engineering involves refining inputs to AI models like ChatGPT to get optimal responses. Key techniques include making prompts specific, using active voice, giving models time to think, avoiding prompt injections, and utilizing few-shot and zero-shot prompting. It also involves setting constraints, reducing hallucinations, using delimiters, refining prompts iteratively, testing changes systematically, and asking the model to adopt a persona for better context and relevance.  
225  
10
23. 24  
[](https://daily.dev/posts/building-a-solid-pok-mon-game-in-react-a-developer-s-adventure--qbb19vqsw "Building a SOLID Pokémon Game in React: A Developer’s Adventure!")  
Article  
![Avatar of webaccidents](https://media.daily.dev/image/upload/s--_F3hmzKx--/f_auto/v1726863242/squads/f080831f-128a-4086-a941-6d23778cd5bd)Web Accidents · 2y  
Building a SOLID Pokémon Game in React: A Developer’s Adventure!  
This post explores how to build a Pokémon game in React by applying SOLID principles. It provides examples of breaking down components for Single Responsibility, using Higher-Order Components for Open/Closed, a base component for Liskov Substitution, and context for Dependency Inversion. The post includes a cheatsheet summarizing each SOLID principle with practical tips.  
216  
14
24. 25  
[](https://daily.dev/posts/how-to-review-as-a-pro-wcbc1m4am "How to review as a Pro")  
Article  
![Avatar of devto](https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/devto)DEV · 2y  
How to review as a Pro  
A good code review process can enrich team collaboration and personal development. Avoiding unproductive practices like nitpicking code style and having a considerate attitude are crucial. Focus on reviewing the logic and language usage, and automate mundane tasks using linters. Establish structured processes to manage code reviews efficiently and ensure constructive feedback. Finally, steps to help reviewers include providing clear PR descriptions and avoiding large pull requests.  
209  
2

[See all General Programming archives](/tags/general-programming/best-of)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://daily.dev/tags/general-programming/best-of/2024#page","url":"https://daily.dev/tags/general-programming/best-of/2024","name":"Best General Programming Posts of 2024","description":"The most upvoted General Programming posts of 2024, curated by the daily.dev community.","isPartOf":{"@type":"WebSite","url":"https://daily.dev"}},{"@type":"ItemList","@id":"https://daily.dev/tags/general-programming/best-of/2024#items","numberOfItems":24,"itemListElement":[{"@type":"ListItem","position":1,"url":"https://daily.dev/posts/solid---the-simple-way-to-understand-cjqu7bint","name":"SOLID - The Simple Way To Understand"},{"@type":"ListItem","position":2,"url":"https://daily.dev/posts/i-m-a-programmer-and-i-m-stupid-keunwjpk0","name":"I'm a programmer and I'm stupid"},{"@type":"ListItem","position":3,"url":"https://daily.dev/posts/what-is-clean-architecture--mthvg6ykf","name":"What is Clean Architecture?"},{"@type":"ListItem","position":4,"url":"https://daily.dev/posts/i-m-tired-of-it-0iih0pvpe","name":"I'm tired of it"},{"@type":"ListItem","position":5,"url":"https://daily.dev/posts/ultimate-cheat-for-developers-cgkkceyfc","name":"Ultimate Cheat for Developers"},{"@type":"ListItem","position":6,"url":"https://daily.dev/posts/best-os-for-programming-mac-vs-windows-vs-linux-debate-settled-idsoqrqrw","name":"Best OS for programming? Mac vs Windows vs Linux debate settled"},{"@type":"ListItem","position":7,"url":"https://daily.dev/posts/s-o-l-i-d-principle-part-1-izrn557zc","name":"S.O.L.I.D Principle Part 1"},{"@type":"ListItem","position":8,"url":"https://daily.dev/posts/verified-company-badge-glncg2ueq","name":"Verified company badge"},{"@type":"ListItem","position":9,"url":"https://daily.dev/posts/s-o-l-i-d-the-5-golden-rules-to-level-up-your-coding-skills-lccudm9eg","name":"S.O.L.I.D: The 5 Golden Rules to Level Up Your Coding Skills"},{"@type":"ListItem","position":10,"url":"https://daily.dev/posts/frontend-projects-are-live-on-roadmap-sh--8tsulciof","name":"Frontend Projects are Live on roadmap.sh 🥳"},{"@type":"ListItem","position":11,"url":"https://daily.dev/posts/100-javascript-projects-with-source-code-68lsyfsx4","name":"100+ JavaScript Projects With Source Code"},{"@type":"ListItem","position":12,"url":"https://daily.dev/posts/part-1-what-is-clean-architecture--zme4g4hco","name":"Part 1: What is Clean Architecture?"},{"@type":"ListItem","position":13,"url":"https://daily.dev/posts/7-design-patterns-every-developer-should-know-go8s0ywfn","name":"7 Design Patterns EVERY Developer Should Know"},{"@type":"ListItem","position":14,"url":"https://daily.dev/posts/follow-users-zlj33wejo","name":"Follow users"},{"@type":"ListItem","position":15,"url":"https://daily.dev/posts/design-patterns-a-deep-dive-into-common-design-patterns-bqmvydvwx","name":"DESIGN PATTERNS : A Deep Dive into Common Design Patterns"},{"@type":"ListItem","position":16,"url":"https://daily.dev/posts/how-to-use-libraries-like-a-senior-dev-ky5xndymt","name":"How To Use Libraries Like A Senior Dev"},{"@type":"ListItem","position":17,"url":"https://daily.dev/posts/learn-python-oop-in-under-20-minutes-yvlozcm3t","name":"Learn Python OOP in under 20 Minutes"},{"@type":"ListItem","position":19,"url":"https://daily.dev/posts/the-20-essential-principles-of-software-development-lod-soc-solid-and-beyond--tytcgznnc","name":"The 20 Essential Principles of Software Development: LoD, SoC, SOLID, and Beyond."},{"@type":"ListItem","position":20,"url":"https://daily.dev/posts/should-we-use-chatgpt-as-developers--kpz0dit3m","name":"Should We Use ChatGPT as Developers?"},{"@type":"ListItem","position":21,"url":"https://daily.dev/posts/practical-guide-to-creating-a-design-system-pbnxasdoh","name":"Practical Guide to Creating a Design System"},{"@type":"ListItem","position":22,"url":"https://daily.dev/posts/daedalos-rcxptt6ul","name":"daedalOS"},{"@type":"ListItem","position":23,"url":"https://daily.dev/posts/prompt-engineering-for-developers-11-concepts-and-examples--csalhl5kh","name":"Prompt Engineering For Developers: 11 Concepts and Examples 🎯🧙‍♂️⚡"},{"@type":"ListItem","position":24,"url":"https://daily.dev/posts/building-a-solid-pok-mon-game-in-react-a-developer-s-adventure--qbb19vqsw","name":"Building a SOLID Pokémon Game in React: A Developer’s Adventure!"},{"@type":"ListItem","position":25,"url":"https://daily.dev/posts/how-to-review-as-a-pro-wcbc1m4am","name":"How to review as a Pro"}]},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Tags","item":"https://daily.dev/tags"},{"@type":"ListItem","position":3,"name":"General Programming","item":"https://daily.dev/tags/general-programming"},{"@type":"ListItem","position":4,"name":"Best of","item":"https://daily.dev/tags/general-programming/best-of"},{"@type":"ListItem","position":5,"name":"2024"}]}]}
```

