Skip to content
May 14, 2022
  • Facebook
  • Twitter
  • YouTube
  • Instagram
Facts Overflow

Facts Overflow

Facts for your curiosity

  • Tech
  • Programming
  • Tutorials
  • Javascript
  • SE
  • Math
  • AI
  • Film
  • Submit a story
  • Programming
  • Software Engineering

The Unbelievable Facts about Programming

Shalitha Suranga 1 year ago 4 min read

Programming and software are trending words in the world due to the digitization of things. Every field has a set of fundamental facts that helps everyone to understand reality. People find out these facts when they work in a particular field for a long time. For example, in civil engineering, engineers know that a newly built concrete structure will change its size with time. In their field, that’s an important fact, and they may use some techniques to overcome the side-effects of it.

Likewise, programming also has a lot of facts that every developer should understand. I stepped into the programming field about a decade ago. I experienced a lot of facts and myths in programming. I tried to rank the most important facts about programming considering all situations I faced.


The perfect code doesn’t exist.

Nothing is perfect in the world. The same logic applies to your source codes as well. At a code review, someone can say that the code is really good. On the other hand, someone can disagree with that. At the designing phase of a software system, engineers can propose thousands of design patterns. Whereas, we go ahead with the most practical and suitable one. Your current operating system code still can have some bugs, hidden security vulnerabilities, and a bit messed-up codebase.

Google’s code review guidelines once said that,

“A key point here is that there is no such thing as “perfect” code — there is only better code.”

Therefore, the key point is that it is always good to reach milestones with a better code rather than nitpicking for a perfect code.


Design patterns are good and bad.

Design patterns are helpful when we need to decompose a quite larger project into smaller components. The topmost layer is about architectural patterns where the software system gets split into isolated modules. Thereafter, design patterns help in the source code level to split large source files into different sections to reach better maintainability.

The most important fact is that there are two ends of design patterns. If you don’t apply any sorts of design patterns, your code may become a mess that no one likes to look at. On the other hand, if you apply tons of design patterns that are not needed, your code may become a complex piece that everyone afraid to touch.

Therefore, it is so important to maintain the level of complexity when design patterns are being applied. The same thing applies to architecture design too. For example, at this moment, a DevOps engineer at an unknown silicon valley startup maybe deploying hundreds of microservices for a very simple web app.


Popular technologies that you know don’t last forever.

Modern technology is changing frequently. Every day, a new programming library or tool getting released. Modern programming languages and API are adding more features by deprecating existing features. The truth is that your code is getting outdated day by day. What you made in your project yesterday is not modern today. Likewise, your expertise in modern technologies is getting outdated gradually.

For example, if you wrote a lot of code on the Angularjs framework, no one will care nowadays due to trending projects such as React, Vue, and Angular. Further, a source code that is purely written with a programming language without any dependencies also can be outdated because a programming language may deprecate its core methods.

Therefore, the goal should be set to understand the fundamentals and how it works, rather than becoming a die-hard fan of every trending technology. In other words, knowing every latest library or framework doesn’t make an outstanding programmer. But knowing every computer science fundamental does.


Collaboration is the key to success.

Linus Torvalds, the open-source giant once told that,

“In open-source, we feel strongly that to really do something well, you have to get a lot of people involved.”

Building software could be done alone. But it is hard to improve it alone. People have different views and different practices. The working version of every software project just exposes the main idea behind it. Also, the most recent versions of a particular software project have a lot of improvements compared to the earlier versions of the same product.

When there are more people around the project, it becomes more successful and powerful. That’s why the open-source model is very popular nowadays. When there are more views on the project, it’s easy to identify what should be improved, fixed, and delivered.

Shalitha Suranga

Programmer | Author of Neutralinojs and Jerverless

See author's posts

Tags: code reviews collaboration design patterns facts myths outstanding programmer

Continue Reading

Previous: Top 10 Impressive Quotes of the Most Influential Programmers
Next: How to Develop Neutralinojs Apps

Related Stories

Copy of Copy of Tutorial #4 How to Develop Neutralinojs Apps 2 min read
  • Javascript
  • Programming
  • Tutorials

How to Develop Neutralinojs Apps

Shalitha Suranga 1 year ago
image-2 Top 10 Impressive Quotes of the Most Influential Programmers 4 min read
  • Programming

Top 10 Impressive Quotes of the Most Influential Programmers

Shalitha Suranga 1 year ago
njs Neutralinojs 2021 – Roadmap 2 min read
  • Javascript
  • Programming

Neutralinojs 2021 – Roadmap

Shalitha Suranga 1 year ago
photo-1542014740373-51ad6425eb7c Bloatware Is Bad. But Hybrid Apps are OK 4 min read
  • Javascript
  • Programming
  • Technology

Bloatware Is Bad. But Hybrid Apps are OK

Shalitha Suranga 1 year ago
photo-1573164713988-8665fc963095 How to Host Your Open-Source Web App Without Spending a Single Penny 3 min read
  • Programming

How to Host Your Open-Source Web App Without Spending a Single Penny

Shalitha Suranga 1 year ago
photo-1583606784123-7c244f00d29c Top Cool Projects That Every Programmer Should Know 4 min read
  • Programming
  • Technology

Top Cool Projects That Every Programmer Should Know

Shalitha Suranga 1 year ago

Recent Stories

  • Accessing Instant Virtual Desktops from Any Device using Shells
  • How to Develop Neutralinojs Apps
  • The Unbelievable Facts about Programming
  • Top 10 Impressive Quotes of the Most Influential Programmers
  • Privacy On Social Media – It’s Time to Stop Overthinking

Topics

  • Artificial Intelligence
  • Film
  • Javascript
  • Programming
  • Software Engineering
  • Technology
  • Tutorials

Tags

android aws bill gates bloatware brian code reviews collaboration computer science cross-platform dennis ritchie design patterns desktop-apps electron facebook facts framework history hybrid instant vm iphone ken thompson linus linux myths native neutralinojs open-source operating systems outstanding programmer phones pioneers privacy quotes remote virtual machines remote vm roadmap shells.com signal socialmedia software development steve jobs tim berners-lee top programmers virtual machines whatsapp

Archives

  • July 2021
  • May 2021
  • January 2021
  • December 2020

Connect with Us

  • Facebook
  • Twitter
  • YouTube
  • Instagram

You may have missed

Remote virtual machines with Shells Accessing Instant Virtual Desktops from Any Device using Shells 2 min read
  • Technology

Accessing Instant Virtual Desktops from Any Device using Shells

Shalitha Suranga 10 months ago
Copy of Copy of Tutorial #4 How to Develop Neutralinojs Apps 2 min read
  • Javascript
  • Programming
  • Tutorials

How to Develop Neutralinojs Apps

Shalitha Suranga 1 year ago
image-3 The Unbelievable Facts about Programming 4 min read
  • Programming
  • Software Engineering

The Unbelievable Facts about Programming

Shalitha Suranga 1 year ago
image-2 Top 10 Impressive Quotes of the Most Influential Programmers 4 min read
  • Programming

Top 10 Impressive Quotes of the Most Influential Programmers

Shalitha Suranga 1 year ago

About FO

FactsOverflow (also known as FO) is an educational non-commercial blog that publishes stories mostly about computer science and programming. This website contains articles written by volunteers who need to show their findings, experiments, and open-source-related activities to the right community.

Technical writers who write for FO like to write more about internals than simple overviews specially for your curiosity.

Follow @factsoflow
  • Submit a story
  • Privacy policy
  • About FO
  • Facebook
  • Twitter
  • YouTube
  • Instagram
Copyright FactsOverflow © All rights reserved. Powered by CodeZri | Kreeti by AF themes.
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies.
Cookie settingsACCEPT
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.

SAVE & ACCEPT