Best-websites-a-programmer-should-visit
Some useful websites for programmers.
When learning CS there are some useful sites you must know to get always informed in order to do your technologies eve and learn new things. Here is a non exhaustive list of some sites you should visit, this list will get updated as soon as I can get another link, but you can also contribute by adding those you know 😉
Index
- When you get stuck
- News
- Coding practice for beginners
- For those who want to start a small project but cant find the ideas
- General Coding advice
- Coding Style
- General Tools
- Interview Preparation
- Documentaries
- MOOCs for learning something new
- Sites related to your preferred programming language (For me Java)
- Learn AI
- Seminar , research writing , talks etc
- Everything in one place
- YouTube Channels
- Good Articles
- Podcasts
- Building a Simple Compiler/interpreter
- Watch others code
- Tutorials
- What should a programmer know
- Competitive programming
- Computer Books
- Video Tutorials
- Online Compiler and Sharing Code snippets
- Blogs of Developers
- For improving your English
- When you get bored from CS related stuff
When you get stuck
- Stack Overflow : subscribe to their weekly newsletter and any other topic which you find interesting
- Quora : A place to share knowledge and better understand the world
- Learn Anything : Community curated knowledge graph of best paths for learning anything
- devRant : Community where you can rant and release your stress
News
- Hacker News : news aggregator for programmers where civility is king, try a newsletter to get top news to your inbox:
- Hacker Newsletter : curated by hand, delivered weekly
- Hacker News Digest : curated automatically, delivered as frequently as you want
- Ars Technica : posts unique quality articles
- ACM TechNews
- Lobsters : Lobsters is a technology-focused community centered around link aggregation and discussion.
- TechCrunch : another good website for tech news
- GSMArena.com : news related to latest mobile phones and android.
- product hunt : Discover your next favorite thing
- AlternativeTo : Crowdsourced software recommendations
- Better Dev Links : Weekly links to help you become a better developer
Coding practice for beginners
- freeCodeCamp : Learn to code and build projects for nonprofits. Build your full stack web development portfolio today
- Reddit.com/r/dailyprog… : interesting programming challenges where you can learn from looking at other's code , even if you are not able to solve code you can look at how others solved.
- Programming by Doing : very good site for those who want to start with absolute basics
- CodeAbbey - a place where everyone can master programming : Best place to begin with problems that start at the easiest and gradually increase difficulty with each problem.
- Exercism.io : download and solve practice problems in over 30 different languages, and share your solution with others.
- Programming Tasks : large collection of small programs
- karan/Projects-Solutions Solutions to most of the problems in the link above
- Lod - Cloud : The Linking Open Data cloud diagram
- Cave of programming : Learn to program, Upgrade your skills.
- Codeacademy : Learn to code interactively, for free.
For those who want to start a small project but can't find the ideas
- martyr2s-mega-project-ideas-list : contains about 125 project ideas from beginner to intermediate level.
- karan/Projects : a large collection of small projects for beginners with
- Wrong "big projects" for beginners : How to choose where to start
- vicky002/1000-Projects : Mega List of practical projects that one can solve in any programming language!
General Coding advice
- Things I Wish Someone Had Told Me When I Was Learning How to Code — Free Code Camp : What I’ve learned from teaching others
- Lessons From A Lifetime Of Being A Programmer
- Principles of Good Programming
- What every computer science major should know
- How to become a programmer, or the art of Googling well
- Code Review Best Practices
- Dieter Rams : 10 Principles of Good Product Design
- 10-ways-to-be-a-better-developer
- Working as a Software Developer
- Software design pattern : The entire collection of Design Patterns.
- Design Patterns : Design Patterns explained in detail with examples.
Coding Style
- CS 106B Coding Style Guide : must see for those who create spaghetti
- Google C++ Style Guide
- Airbnb JS Style Guide : A mostly reasonable approach to JavaScript
- Airbnb Ruby Style Guide : A ruby style guide by Airbnb
- What are some bad coding habits you would recommend a beginner avoid getting into?
- Good C programming habits. • /r/C_Programming
- How to Report Bugs Effectively
- Debugging Faqs
- Stuff you need to Code Better!
- Directory of Online CS Courses
- Directory of CS Courses (many with online lectures)
- Angular 1 Style Guide : Officially endorsed style guide by John Pappa
General Tools
- regex101 : Online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript
Interview Preparation
- GeeksforGeeks | A computer science portal for geeks : also subscribe to their feeds to get links to their new articles.
- A site for technical interview questions, brain teasers, puzzles, quizzles : whatever the heck those are) and other things that make you think!
- Problems | LeetCode OJ : Coding practice for interviews
- Programmer And Software Interview Questions Answers
- Reddit.com/user/ashish… : Logic Puzzles
- A Collection of Quant Riddles With Answers
- Aptitude Questions and Answers : Quant and aptitude preparation
- Interview Archives - Java Honk
- Top 10 Algorithms for Coding Interview
- Algorithm design canvas)
- Big-O Algorithm Complexity Cheat Sheet
- Unix / Linux Cheat Sheet
- How to interview
- How to Ace an Algorithms Interview
- Delightful Puzzles
- visualising data structures and algorithms through animation
- Here's How to Prepare for Tech Interviews • /r/cscareerquestions
- Guide to Tech Interviews
- Why You Make Less Money • /r/cscareerquestions
- IIT Delhi Placement Experience
- what_are_your_goto_questions_for_the_do_you_have?
- /r/cscareerquestions : Here's a pretty big list of programming interview questions I compiled while studying for big 4 interviews. I think you guys will find it useful! •
- Interviewing At Jane Street
- How to prepare for an interview - 1
- Summer Internship: The Ultimate Guide
- The 25 most difficult HR questions
- Job interviews News, Videos, Reviews and Gossip - Lifehacker
- How to Answer the Toughest 40 Job Interview Questions | ICS Job Portal
- Job Interview Questions and Best Answers
- How to Answer "Tell Me a Little About Yourself" | The Art of Manliness
- Job Interview: How to Ace a Job Interview | The Art of Manliness
- Give your résumé a face lift
- BIG O Misconceptions
- Bitwise tricks
- Core Java Interview questions - Interview question on each topic
- Java Interview Questions and Answers
- Big collection of interview preparation links • /r/cscareerquestions
- Unsolicited_advice_for_job_seekers_and_employers
- five-essential-phone-screen-questions - steveyegge2
- CS9: Problem-Solving for the CS Technical Interview
- Mission-peace/interview problems : A large collection of coding interview problems
- SQL Joins explained using venn diagram
- 10 Frequently asked SQL Query Interview Questions
- Get Ready to Learn SQL: 8. Database Normalization Explained in Simple English - Essential SQL
- Programming Language Concepts: Lecture Notes : OOPs concepts and programming language concepts.
- We Help Coders Get Hired : website offering courses on system design, interview strategies, soft skills etc
- checkcheckzz/system-design-interview
- How to Break Into the Tech Industry - a Guide to Job Hunting and Tech Interviews
- Freshers Interviews
- C PUZZLES, Some interesting C problems
- wu :: riddles(hard) : logic puzzles and riddles
- github.com/odino/inter… : list of important questions for interview
- svozniuk/java-interviews : Java interview questions
- kimberli/interviews : study sheet for Interview
- Determining the big-O runtimes of these different loops? : really good stackoverflow question that covers basics of calculating runtime complexity.
- ChiperSoft/InterviewThis : questions to ask during on a interview to know more about the company.
- SQL interview questions : great SQL test
Documentaries
- Machine that Changed the World - a very good documentary about history of computers
- Part 1: Giant Brains
- Part 2: Inventing the Future
- Part 3: The Paperback Computer
- Part 4: The Thinking Machine
- Part 5: The World at Your Fingertips
- Triumph of the Nerds : Play-list
- Project Code Rush - The Beginnings of Netscape / Mozilla Documentary
- The Code: Story of Linux documentary
- Breaking the Code: Biography of Alan Turing
- Mechanical Computer (All Parts) : a very good video from 1950s explaining how mechanical computers used to work without all the modern day electronics.
- Download: The True Story of the Internet : Play-list of discovery channel documentary on browser wars , dot com bubble and more.
- Teach Yourself Computer Science
- How does CPU execute program (video)
- Machine Code Instructions (video)
- Harvard CS50 - Asymptotic Notation (video)
- Cracking The Code Interview
- Cracking the Coding Interview - Fullstack Speaker Series
- Ask Me Anything: Gayle Laakmann McDowell (author of Cracking the Coding Interview)
MOOCs for learning something new
- Class Central : a directory of 100,000+ student reviews of thousands of MOOCs.
- NPTEL Vidoes COMP_SCI_ENGG
- Coursera.org
- edX
- MOOC.fi : Free online courses from the University of Helsinki
- Udacity
- Kadenze | Creative Programming: Programming courses focused on art and creativity
- UCBerkeley
- MIT OCW Electrical Engineering and Computer Science
- CS50
- prakhar1989/awesome-CS-courses : List containing large amount of CS courses
- Computer Science Resources : list of MOOCs for autodidacts
Sites related to your preferred programming language (For me Java)
- Java Revisited : good for learning about Java Language and interview preparation.
- The Java™ Tutorials: The best tutorials for Java.
- Java Corner at Artima.com
- Java Visualizer : helps visualize references , values of variables ect
- Java Lecture Notes
- Learning Java : a free online textbook for learning Java
- Free Online Chapters of Inside the Java Virtual Machine by Bill Venners
- Understanding JVM Internals
- How Garbage Collection Works
- Welcome to JavaWorld.com
- The Java Memory Model
- Netbeans Keyboard Shortcuts : Keyboard shortcuts to enhance your productivity when working in Netbeans.
- XyzWs Java FAQs : large collection of java interview questions
- Search Open Source Java API : view source of java library and learn how things are implemented.
- JournalDev - Java, Java EE, Android, Web Development Tutorials
- Implementation of Algorithms and Data Structures, Interview Questions and Answers
- what-is-garbage-collection : Demystify the garbage collection
- Best books for learning java must read : Get basics of Java
- Garbage collection (Java); Augmenting data str (video)
- Compilers (video)
- Deep Dive Java: Garbage Collection is Good!
- The C++ Programming Language : The C++ Programming Language.
- Bjarne Stroustrup's FAQ : The C++ FAQ
- Bjarne Stroustrup's C++ Style and Technique FAQ : The C++ FAQ
- C++11 - the new ISO C++ standard : The C++11 FAQ
Learn AI
- Unsupervised Sentiment Neuron : Unsupervised Sentiment Neuron
- Robots that learn : Robots that Learn
- grakn.ai : The Database for AI
Seminar , research writing , talks etc
- Advice on Research and Writing
- Seminar and reports
- PHD MS Articles
- Practical Tips for Talking at Usergroups and Conferences and Giving presentation on software project to non-programmers
Everything in one place
- reddit.com/user/ashish… : a multisubreddit of all subreddits of topics related to computer science and programming.
YouTube Channels
- Computerphile : Must watch for every CS student
- ComputerHistory : for those who like to know how we reached where we are.
- GoogleTechTalks : videos on trending topics and cool stuff happening in the tech industry.
- Placement Grid : Interview and campus placement experience
- Google Developers
- Facebook Developers
- O'Reilly : interviews and talks of world's best technical writers.
- Java : talks related to java
- JavaOne : Java Conference
- CppCon : C++ Conference
- C++Now (BoostCon) : C++Now (previously BoostCon) conference
- Meeting C++ YT Kanalseite : Talks on C++
- ThinMatrix : blogs and tutorials developer making a 3d game in Java using opengl
- yegor256
- Scott Meyers: Past Talks
- thoughtbot : talks on various topics
- code::dive conference : code::dive conference organized by NOKIA Wrocław Technology Center
- HowToBecomeTV : contains good interviews of developers and people related to tech industry.
- Siraj Raval : Artificial Intelligence and deep learning tutorials videos
- Netflix UI Engineering : great videos to watch for web developers, mobile developers and those interested in some of Netflix's tech stack
- Coding Blocks : Tutorials, how to's, tips and tricks
- Fun Fun Function : A weekly series from Mattias Petter Johansson on an assortment of programming topics, including some not directly related to coding.
Good Articles
- Expectations of a Junior Developer
- The Key To Accelerating Your Coding Skills
- A Software Developer’s Reading List : Some good books and links in there.
- 40 Keys Computer Science Concepts Explained In Layman’s Terms
- What every programmer should know about memory, Part 1
- We are reinventing the retail industry through innovative technology
- Unicode
- What every programmer absolutely, positively needs to know about encodings and character sets to work with text
- List of algorithms
- Dive into the byte code
- Data Structure Map
- A Gentle Introduction To Graph Theory
- Linux Inside
- A programmer friendly language that compiles to Lua.
Podcasts
- Coding Blocks - Learning principles, patterns and better practices on the go
- MS Dev Show
- The Cynical Developer
- Herding Code
- Code Newbie
- Software Engineering Radio
- JavaScript Jabber
- Developer Tea : A podcast for developers designed to fit inside your tea break.
- Full Stack Radio : Everything from product design and user experience to unit testing and system administration.
- Software Engineering Daily : A daily technical interview about software topics
- The Bike Shed : Guests discuss their development experience and challenges with Ruby, Rails, JavaScript, and others.
Building a Simple Compiler/interpreter
- Resources for Amateur Compiler Writers
- ⛄️ Possibly the smallest compiler ever
- Writing My First Compiler
- Structure and Interpretation of Computer Programs
- Let’s Build A Simple Interpreter. Part 1.
- Growing a compiler
Tutorials
- Subtle | Poor Man's CI : Learn how continuous integration platforms work under the hood, by building one of your own on top of git with Node.js
- Tutorialspoint
- W3Schools Online Web Tutorials
- Open Data Structures : Excellent resource for learning about DS and algos , provides code in various languages C++ , Java , pseudocode
- Data Structures and Algorithms by John Morris : another good source with code and its analysis
- CMSI 281: Data Structures : light weight introduction to DS
- How to Program in C++ : Good resource for revising C++ topics and STL
- TopCoder Tutorials
- A Hacker's Guide to Git : for those wanting to learn git with a solid foundation
- Git from the inside out
- Learn UNIX in 10 minutes
- The Bash Guide : very good guide for learning the Bash Shell
- Linux Tutorial : good resource for learning Linux
- UNIX Tutorial - Introduction
- Linux Tutorial for Beginners
- Learning the shell.
- Dynamic programming - PrismoSkills : very good resource if want to learn how to solve DP problems.
- Deep C : very good presentation on C language
- C programming language Frequently Asked Questions
- OS Course Notes : Chapter wise course notes according to Galvin's book
- SQL (Structured Query Language) in one page : SQL.SU : a very good SQL cheat sheet
- Introduction to C Programming
- MySQL Essentials
- www.mysqltutorial.org/
- Best Of - Gustavo Duarte : contains articles on various topics
- Collecting all the cheat sheets : cheat sheets for lots of programming languages
- The Descent to C : for those moving to C from some higher programming language like java or python.
- VimTutor+ : learn VIM from browser itself
- HackerEarth Tutorials : Good resource for DS and Algos tutorial
- Linux Journey : good site for learning linux
- C Programming
- CS 2112/ENGRD 2112 Fall 2015 : Good notes on data structures and algorithms.
- More about Github-flavored markdown
- The Unix Programming Environment
- The Linux Command Line: A Complete Introduction
- TCP/IP Illustrated Series
- Head First Design Patterns
- Design Patterns: Elements of Reusable Object-Oriented Software : aka the "Gang Of Four" book, or GOF
- UNIX and Linux System Administration Handbook, 4th Edition
- Programming, Web Development, and DevOps news, tutorials and tools for beginners to experts
Watch others code
- LiveEdu.tv : screencast of people building application, websites, games, ect.
What should a programmer know
- Programmer Competency Matrix : article for knowing what our level as a programmer is.
- GitHub.com Build software better, together : Place to showcase your project and collaborate with others. (Must know Git in order to use it effectively)
- Gitlab offers free unlimited (private) repositories and unlimited collaborators.
Competitive programming
- WakaTime : leaderboards of coding metrics collected via editor plugins
- HackerRank
- Codeforces
- topcoder
- UVa Online Judge : hundreds of problems supporting multiple languages.
- HackerEarth - Programming challenges and Developer jobs
- CodeChef
- PKU ACM ICPC Practice problems
- Archived Problems - Project Euler
- Google Code Jam Practice and : past contest problems for practice
- Sphere Online Judge (SPOJ)
- Art of Problem Solving
- Riddles.io AI Games : Compete with your bot and dominate the leaderboards!
- Codingame : Learn coding through games and challenges!
- Codewars : Rank up by completing code kata
- Codefights : Test your coding skills
Computer Books
- IT eBooks - Free Download - Big Library : website for downloading ebooks without any advertisement and instant downloads.
- github.com/vhf/free-pr… : More than 500 free ebooks on almost any language you can think of
- Computer Science Books Online : about 150 computer free ebooks
- Best books for GATE CSE
- cses.fi/book.html
- Library Genesis : Almost any ebook you can think of, including countless CS texts and manuals.
Video Tutorials
- Tushar Roy : Algorithm and Data structure tutorial by an Indian Youtuber.
- Derek Banas : good quality tutorials
- thenewboston : good but with too much talk as compared to actual content
- mycodeschool : Data structures and algorithms tutorials
- CodeGeek
- CodingMadeEasy : C++ tutorials
- XDA-University - Helping You Learn Android Development
- DevTips : web dev tutorials
- codedamn : front end web dev tutorials
- Design and Analysis of Algorithms
- Vim Tutorial Videos - Flarfnoogins : good video tutorial for learning vim
- CS1: Higher Computing - Richard Buckland UNSW : a very good introductory CS course
- Kathryn Hodge : Has good videos for beginners
Online Compiler and Sharing Code snippets
- CodePad : Code editor to try, test and run 25+ languages
- JSFiddle : Test your JavaScript, CSS, HTML or CoffeeScript with online code editor
- Ideone.com
- Pastebin.com
- Godbolt.org: Excellent tool for exploring the assembly output of different compilers with and without optimization.
Blogs of Developers
- Coding Horror : one the best coding blog
- WildMl : A blog for machine learning.
- Armin Ronacher's Thoughts and Writings : blog on Python and open source
- Eli Bendersky : everything from Python to LLVM
- Joel on Software
- Stephen Haunts { Coding in the Trenches }
- Programming in the 21st Century
- Clean Coder Blog : blog of author of book "Clean Code"
- Programming Blog : programming blog of Yegor Bugayenko
- CodeAhoy : Blog on software and human factors. 100% Tested on Humans.
- stevehanov.ca
- Geek Land
- Late Developer
- IT Enthusiast
- blog.might.net
- CSE Blog - quant, math, computer science puzzles
- Small Programming Challenges and Puzzles
- My Tech Interviews
- HackerEarth Blog
- Algo-Geeks
- CoderGears Blog Insights from : the CoderGears Team
- Runhe Tian Coding Practice
- Paul Graham Essays
- Dan Dreams of Coding
- Antonio081014's Algorithms Codes
- Math ∩ Programming
- Takipi Blog : mainly focuses on Java and JVM languages
- Coding Geek - A blog about IT, programming and Java
- Daedtech.com : Stories about software
- Archives — Ask a Manager : HR related stuff
For improving your English
- Quia - English
- Punctuation and Capitalization Rules
- Guide to Grammar and Writing : for those who want to improve their english language skills
- Purdue University Online Writing Lab (OWL)
- Englishclub.com/learn-engli…
When you get bored from CS related stuff
- r/ProgrammerHumor : Subreddit dedicated to exactly what it sounds like
- Vsauce : The best youtube channel
- TED : Great talks about technology, entertainment, and design
- CrashCourse : small courses on various subjects
- National Geographic : High volume of high quality content from all over the world
- Barcroft TV : Daily short documentaries about the incredible variety of people that make up the world
- ColdFusion : Past, present, and future of technology
- SmarterEveryDay : Lots of amazing scientific information about the world around us, usually captured with a high-speed camera
- SciShow : Answers to interesting questions that you've always wondered about
- Big Think : Expert driven, actionable, educational content, featuring experts ranging from Bill Clinton to Bill Nye
- Every Frame a Painting : High quality analysis of films and filmmaking
- TestTube News : Interesting information about news from around the world
- Reddit the front page of the internet : Where free time goes to die
Maintained with ❤️ by sdmg15 & al