Connect with us

Technology

MRI machine: the magic of magnetism in the medical world

Published

on

MRI machine
With its amazing performance, the MRI machine changed the way people view their bodies; But how can this device image the internal organs of our body?

MRI machine: the magic of magnetism in the medical world

Maybe it has happened to you that for some reason you feel severe pain in your hand, for example, and after a few days of taking different painkillers, the pain has not subsided and you had to go to a specialist doctor for more basic treatment. In these cases, after the initial examination, the doctor usually suggests MRI imaging (Magnetic Resonance Imaging or MRI) for a more accurate diagnosis; An amazing device that is widely used today.

The MRI machine revolutionized the medical world and brought about many changes in diagnosis and treatment. Most people do not know how this device works and how it works has always been a strange mystery to them. To get to know the operation of the MRI machine, we must be familiar with the general principles of quantum physics, superconducting magnets, computer science, and related mathematics.

Years ago, methods such as X-rays and ultrasound (using high-frequency sound waves) were used to image the internal organs of the body. Although these two methods are still used for imaging in some cases, MRI provides detailed and three-dimensional images of the human body that cannot be compared with the images obtained from X-ray and ultrasound.

MRI has completely changed the way we view our bodies

Using MRI, we can detect benign or malignant tumors in the kidneys, brain, abdomen, and other parts of the body. In MRI imaging, doctors detect the blockage of the coronary arteries of the heart by injecting paramagnetic substances into the patient’s vein. This accurate diagnosis makes it possible to place a stent at the site of the blockage to open the blood vessels, improve blood flow and, as a result, save the patient’s life. MRI is a newer and more accurate method for diagnosing occluded heart vessels, which has many advantages such as non-invasiveness, greater accuracy, and higher safety than older methods.

What is the structure of the MRI machine?

As you can see in the image below, the MRI machine consists of different layers. Each of these layers represents different magnets that we use for imaging.

3D model of MRI machine3D model of MRI machine

If we look at the MRI machine from the front, the patient is placed horizontally inside it as shown in the picture.

The patient inside the MRI machineThe patient inside the MRI machine

The difference between the MRI machine and other imaging devices such as X-ray or ultrasound is that the signal used to create the image in the MRI comes from inside the patient’s body, so for accurate imaging, we need to know which part of the body the signal sent came from. To do this, we use the Cartesian coordinate axes or the x, y, and z axes and divide the image along three axes.

Coordinate device

The z component, which is placed along the patient’s body, and its direction is from head to foot, is used for axial imaging. In this type of imaging, a wide range of organs and body structures such as the brain, spine, abdomen, chest, and pelvis are examined. Also, the y component provides coronal images. These images examine the anatomy of the body from the front to back or back to front view. Finally, the x component is used to prepare sagittal images. This plane divides the body into left and right parts. It goes without saying that the z-axis is the longitudinal axis (longitudinal plane) and the xy plane, which is perpendicular to the z-axis, is called the transverse plane.

Body anatomy pages

In MRI imaging, a concept called “nuclear magnetic resonance” (Nuclear Magnetic Resonance or NMR) is used, and by applying a very large magnetic field, we induce resonance in certain atoms inside the patient’s body. If you are wondering what atom is used for this, the answer is hydrogen atom, because there are a lot of atoms in question in the human body and its spin is also opposite to zero.

As you know, about 75% of the human body is water and each water molecule consists of two hydrogen atoms and one oxygen atom. Hydrogen and oxygen atoms are connected to each other through polar covalent bonds and electron sharing, But this sharing is not done equally.

Due to its greater electronegativity, the oxygen atom is more attractive to electrons, and for this reason, it pulls the electron cloud towards itself. This asymmetry in the distribution of electrons causes polarity in the water molecule. Oxygen atoms, due to having a negative partial charge, and hydrogen atoms, due to having a positive partial charge, form the two poles of the water molecule.

In MRI imaging, we use positive hydrogen atoms inside the body

The signal captured for MRI imaging comes from the positive hydrogen nuclei in water and fat. The positive hydrogen nucleus, like other subatomic particles, has a spin that gives it a magnetic moment. In simpler terms, we can replace each hydrogen nucleus with a small magnetic magnet.

We can think of the patient as a box full of hydrogen atoms that exist completely randomly in the absence of a magnetic field, moving around in no particular direction. The speed of movement of hydrogen atoms depends on the temperature of a person’s body, that is, the higher the temperature of a person, the faster the speed of movement of atoms, and the lower the temperature of a person’s body, the speed of movement of atoms is lower. These atoms are affected by the external magnetic field due to having a magnetic moment. This state is similar to the position of the compass needle in the direction of the earth’s magnetic field; Therefore, by applying an external magnetic field, the hydrogen nuclei are placed in a certain direction.

A positive hydrogen nucleus that can be replaced by a magnet.A positive hydrogen nucleus that can be replaced by a magnet.
Photographer: YouTube

The MRI machine consists of a main magnet, gradient coils (these coils play an important role in creating the spatial magnetic field), radio signal (RF) coils, and a computer system. In general, we can think of MRI as a large magnet that creates a magnetic field called B0.

Typically, the B0 value in MRI machines is between 1.5 and 3 Tesla (about 300,000 times stronger than the Earth’s magnetic field and 30,000 times stronger than the magnetic field on a refrigerator magnet). Most of the hydrogen nuclei are placed in the direction of the magnetic field after being placed in it, but the direction of some nuclei is also opposite to the direction of the external magnetic field. From the point of view of quantum physics, hydrogen atoms exist in both states, but the important point in this section is that the number of hydrogen atoms that are in the direction of the B0 magnetic field is greater than the number that is in the opposite direction.

We subtract the field resulting from the nuclei placed in the direction of the magnetic field B0 from the total field of the nuclei placed against the direction of the B0 field and call it Bnet. If we consider the z-axis of the human body placed in the MRI machine, the Bnet will be aligned with the z-axis as shown in the image below. As you can see, the B0 and Bnet fields are parallel to each other and in the positive direction of the z-axis. Note that the magnet is in a low energy state when aligned with the magnetic field. To put it more simply, small magnets tend to align with the z-axis when placed in the magnetic field B0.

Magnetic field of MRI and magnetic field of protons

Positive hydrogens, in addition to being in the direction of the magnetic field of the MRI machine, rotate around their central axis like a spinning top. This movement is called nuclear spin and the speed or frequency of this rotational movement depends on the magnitude of the magnetic field B0. The bigger the B0 field is, the higher the frequency of the forward movement of the hydrogen atom will be. In MRI imaging, we should not look at hydrogen atoms individually, but we should pay attention to the total magnetization vector created by them and the change of this vector due to the change of magnetic fields in the MRI machine. Therefore, we replace the hydrogen atoms with the total magnetization vector (Bnet) along the z-axis.

The total magnetization vector is the quantity we want to measure in MRI imaging, but it is not possible to measure this vector along the z-axis and parallel to the B0 field, why? Because the B0 field is large enough to affect the measurement of its magnetization vector. How do we measure the total magnetization vector? To do this, we place this vector perpendicular to B0 and measure it. How do we place its magnetization vector perpendicular to the main magnetic field? We can do this with the help of the second magnetic field called radio frequency pulse (RF).

To measure the magnetization vector of hydrogen atoms, we must place them perpendicular to the main magnetic field.

Positive hydrogens located in the direction of the magnetic field can be affected by RF signal radiation. This signal is a smaller variable magnetic field perpendicular to the main magnetic field applied at a certain frequency.

An RF signal is not really a radio wave, but electromagnetic energy with a frequency in the radio wave spectrum. The RF pulse changes at a frequency equal to the frequency of the forward motion of the hydrogen atoms. When the frequency of the forward movement of hydrogen atoms and the frequency of the RF pulse become equal, two things happen. After entering this signal, the positive hydrogens are directed to another plane (the plane perpendicular to the B0 field) and rotate around their axis at the same time and in phase with each other. The rotation angle from the z-axis depends on the magnitude and duration of the RF signal radiation.

As the positive hydrogens or protons go to the plane perpendicular to B0, the longitudinal magnetization will change. In general, most protons are placed in the direction of the B0 field; But by giving them some energy, the protons can be aligned perpendicular to B0. This is not the whole story; By energizing the protons in the form of an RF pulse, they begin to move forward simultaneously with each other and in phase. As a result of this energy, the magnetic moment of protons (hydrogen atoms) is transferred to a plane perpendicular to the main magnetic field B0 or ​​xy plane.

Therefore, the RF pulse does two things:

  • transfers the total magnetic field to the xy plane;
  • Hydrogen nuclei move forward in phase with a specific frequency and rotate around it like a spinning wheel with a specific angle to the central axis. As a result, the total magnetic field moves in the xy plane and perpendicular to the z-axis.

So far we have understood that in the MRI machine, unlike other imaging machines, protons inside the patient’s body are used to take the image. These protons are hydrogen atoms with a partial positive charge, which after being placed in the direction of the main magnetic field B0, are placed in the same direction and parallel to it (in the direction of the z-axis). Next, by applying a smaller field called the RF pulse, the protons are aligned perpendicular to the z-axis and in the xy plane; Then we place a small coil in the MRI machine. According to Faraday’s principle of induction, changing the magnetic field induces an electric current.

According to the Faraday induction principle, whenever the magnetic flux passing through the coil changes at a certain rate, a voltage of a certain value is induced in the coil. The amount of induced voltage depends on the speed of change of magnetic flux, the number of turns of the coil, and the area of ​​each turn. If the coil is in a closed circuit, the induced voltage can induce a current in the coil, the amount of which depends on the resistance of the circuit and the amount of the induced voltage. In the MRI machine, the current induced in the coil is used to create the image.

As we said, the total magnetic field (total magnetization vector) moves in the xy plane and perpendicular to the z-axis. According to the movement of the magnetization vector in the XY plane, we can measure a signal. This vector moves in the xy plane due to the RF pulse. The important point is that the frequency of the RF pulse must be equal to the frequency of the forward movement of hydrogen atoms. As the frequencies become equal, magnetic resonance occurs.

To better understand the concept of resonance, let’s examine a simple example together. We have a game device called “trampoline” which is made of thick fabric and on which acrobatic movements can be performed. Let’s say you and your friend are jumping up and down on a trampoline. If you jump on a trampoline alone, you will go up to a certain height, h. Now, if your friend jumps at the same time as you, the height of your jump will be greater than h. In other words, synchronizing your jump with your friend will increase your jump height. Note that the height of the jump will increase if you jump at the same time as other people.

Jump on the trampoline

For hydrogen atoms, when the RF pulse is irradiated, a state similar to jumping on a trampoline occurs. Only when the frequency of the forward movement of hydrogen atoms and the frequency of the RF pulse are equal to each other, the hydrogen atoms move in phase and the angle of magnetization starts to change. As we mentioned, angle changes depend on RF pulse duration and amplitude. After transferring the total field or the total magnetization vector to the xy plane and creating the necessary signal, we cut off the RF pulse radiation. The received signal is created due to the progressive movement of the magnetization vector with a frequency equal to the frequency of the RF pulse. At first glance, the generated signal looks like the image below; But in practice, the generated signal is not like this, because the RF pulse radiation is not continuous and after a certain period of time, it is interrupted.

signal generated

What happens in practice is that the hydrogen atoms move in phase with the frequency of the RF pulse, and after it is interrupted, they move out of phase. In this case, the magnetization vector in the xy plane and as a result, the generated signal, become smaller and smaller. The orange graph plotted on the signal is called the free-induced attenuation curve or T2.

It is important to note that each tissue in the body has a unique *T2 diagram and is different from other tissues. The free-induced damping plot of water is very slow with respect to time, whereas the free-induced damping plot of bone or tissue is very fast with respect to time. You might ask yourself what it means if this chart is slow or fast compared to time; The graph of fast damping with respect to time means that the amplitude decreases rapidly with respect to time; But in the slow damping diagram, the amplitude decreases slowly and very slowly with respect to time. By using these differences, we can create the necessary contrast in the captured images.

Time T2

The above process occurs simultaneously with another independent process. At the same time as the magnetization decreases in the xy plane, the longitudinal magnetization increases along the z-axis. The decrease of magnetization in the xy or *T2 plane occurs much faster than the increase of magnetization along the z-axis. As you can see in the diagram below, over time the magnetization increases along the z axis. Finally, there comes a time when the hydrogen atoms are completely out of phase and the magnetization in the xy plane becomes zero. In this case, the magnetization vector has no component in the xy plane and has only one component along the z-axis. Note that the time that the magnetization is completely aligned with the z-axis (T1) is much larger than *T2.

Longitudinal magnetization

Note again that these two processes occur completely independently of each other; That is, by knowing the T2 for a specific tissue in the body, we cannot easily obtain the T1 of that tissue, because these two quantities are completely independent of each other. Don’t forget that we can only measure the signal perpendicular to the main magnetic field, B0; Therefore, to measure its magnetization, we must make it perpendicular to B0.

Now we have reached the stage where we can do MRI imaging. To do this we need two separate parameters that use the differences of T2 and T1; These two parameters are called “Time of Echo” (TE) and “Time of Repetition” (TR). Consider two separate tissues in the body, each of which has protons aligned along the z-axis. Now we irradiate the RF pulse to two tissues. Protons inside each of the tissues perform forward movement in the plane perpendicular to the main field B0. Further, with hydrogen atoms being out of phase, the magnetization in the xy plane decreases in the time *T2.

The time interval between the applied radio pulse to excite the hydrogen atoms and the measurement of the signal resulting from their spin is called the echo time. In other words, TE represents the time it takes for the MRI signal to be measured after the initial excitation. By giving more time, the phase inhomogeneity and the difference between the two tissues increases. At the same time, two textures acquire longitudinal magnetization or magnetization along the z axis with different tunes. Finally, the magnetization vector of two tissues is placed along the z-axis. By irradiating the second RF pulse, we can once again place the protons of the two tissues in the xy plane. The time between the first RF pulse and the second RF pulse is called the repetition time or TR.

By irradiating the RF pulse, interrupting it, and re-irradiating it, we can image different parts of the internal body.

TE is measured in milliseconds and plays an important role in adjusting MRI image contrast. We said earlier that the amount of *T2 in different tissues and as a result, the reception of the MRI signal is also different in them; Therefore, by adjusting TE, it is possible to influence the received signals from different tissues and increase the contrast between them.

Let’s clarify the role of TR and TE times in MRI imaging with a simple example. Suppose you are at a party and you want to meet and talk to different people. TE time is the same as how long you wait for each person to speak. If the TE is short, you will only hear the beginning of each person’s words, but if it is long and long, you will hear the person’s words more fully and in more detail. Now you stop talking to the person in question and talk to him again after a while, the time between the first and second conversations is the same as TR. Different body tissues are like different people at a party; Just as each person has a different tone of voice, each tissue produces a distinct signal that competes with the signals produced by other tissues.

By adjusting TE and TR, we can obtain different information from tissues. Suppose we want to image the brain, if the TE is short, we have a general image of the brain, but if the TE is long, the obtained image of the brain shows more details. Or suppose we want to take a picture of a tumor inside the patient’s body. A short TR tells us how active the tumor is, but a long TR gives us information about tumor growth and invasion of surrounding tissues.

MRI technology uncovers connections between brain activity and psychology

We said that the tissues give us different signals, the reason for this is due to the different accumulation of water and fat in different tissues. Atoms in fat have intrinsic properties and repulsive interactions compared to hydrogen atoms in water. This difference allows MRI technicians to create different contrasts between different body tissues. By adjusting the T1 and *T2, TE, and TR times, we can prepare different images of different parts of the body.

Read More: A century after the advent of flying cars; Why are we still on earth?

How is the main magnetic field created in MRI?

In the previous section, we said that we can consider the MRI machine as a big magnet; But the main question is how to create a magnetic field with a magnitude of 1.5 to 3 tesla in MRI. By increasing the B0 magnetic field, the received signals from different tissues are amplified, as a result, the obtained image will be of better quality. The MRI machine can create a magnetic field of up to 20 tesla. Do not forget that reaching this amount was not easily achieved.

Early MRIs used permanent magnets to create a magnetic field, but these magnets could only create a magnetic field up to 0.5 tesla; Therefore, the created images did not have an interesting quality. Next, researchers used electromagnets instead of permanent magnets to achieve a stronger magnetic field; But electromagnets cannot create a magnetic field as large as 1.5 Tesla; Because large magnetic fields require high currents that melt ordinary wires.

To solve this problem and have high currents, researchers used superconducting coils. Temperature affects conductive materials so that their resistance decreases as the temperature decreases. But superconductors have a unique feature; Their resistance becomes zero at a temperature close to -273 degrees Celsius or absolute zero. In this case, the electric current in a loop made of superconducting material can flow forever. In reality, the superconducting coil in the MRI machine does not directly require any external electrical power; Rather, the coils only need to be kept cool by spending some energy, in which case the MRI magnet will stay on permanently.

The energy required to operate the MRI machine for a year is about 130,000 to 140,000 kilowatt hours. Niobium-titanium is one of the most common superconducting materials in MRI, in such a way that 80% of niobium-titanium extracted from the earth is used to make MRI devices. As we said, superconductivity occurs at a very low temperature, so we need a very advanced cooling system to reach this temperature.

When engineers built early MRI machines, they kept superconducting wires inside a liquid helium bath at -269 degrees Celsius; But the problem with doing this was that helium evaporates quickly, so it was necessary to constantly refill the container containing liquid helium, which cost about $26,000 a year. To solve this problem, the researchers equipped the MRI machine with a vacuum chamber and placed liquid helium inside it.

MRI imaging, as a tool for accurate diagnosis of various diseases, opens a window to a bright future in the field of medicine. With the ever-increasing advances in this technology, we can hope that in the near future we will see new and non-invasive treatment methods that use MRI to treat diseases and save human lives accurately and purposefully

Technology

The new version of Copilot was unveiled; Microsoft artificial intelligence

Published

on

By

Copilot
Microsoft has unveiled the biggest update ever to Copilot, which has advanced and exciting features.

The new version of Copilot was unveiled; Microsoft artificial intelligence

Today, Microsoft unveiled extensive changes to the Kopilot smart assistant. By adding audio and visual capabilities, Copilot will become a more personal AI assistant. Copilot’s new features include a special mode for reading news headlines, the ability to view the content of your screen, and an audio feature for more natural interaction.

Copilot’s smart assistant is undergoing a major redesign across mobile, web, and dedicated Windows platforms to improve its user experience with a card-based approach and more closely resemble Inflection AI’s Pi personal AI assistant.

Earlier this year, Microsoft hired a number of Inflection AI experts, including Mustafa Suleiman, co-founder of Google DeepMind and current CEO of Microsoft’s AI division. This is Suleiman’s first major impact at CoPilot after taking over the leadership role of Microsoft’s AI division.

The user interface of Copilot has undergone a significant evolution compared to the previous versions of Microsoft and has a completely different look. This user interface elevates the user experience to a higher level with a warmer and more attractive design, especially on the personalized Copilot Discover screen.

Unlike simple text prompts in chatbots, Copilot Discover provides useful and relevant information to the user. Microsoft says it’s fully personalizing Copilot’s home page based on a user’s conversation history, and over time will enrich the page with useful searches, tips, and related information.

New Copilot home page

Microsoft

Earlier this year, Microsoft handed over the version for regular users to Tim Sulaiman to do more experiments in the field of personalization and creating personality traits for this smart assistant. “What we’ve learned from the Pi team and the professionals who have joined us from Inflection AI is that they always pay close attention to the details of our customers’ needs,” Yusuf Mehdi, executive vice president and senior director of consumer marketing at Microsoft, said in an interview with The Verge. “The way they listened and what they learned from the long conversations in this research has undoubtedly influenced what we’ve done.”

In addition to improving Kopilot’s appearance, Microsoft has taken great strides by adding ChatGPT-like voice capabilities. Now users can chat with Kopilot’s AI assistant, ask questions, and even interrupt the conversation like a normal conversation with friends or colleagues. Copilot currently offers four different audio options.

The new version of Copilot in mobile

Microsoft

Copilot Vision is the second big change that allows Microsoft’s AI assistant to see what you’re looking at on a web page. You can ask it questions about text, images, and page content, and get natural answers combined with Copilot’s new audio features. For example, when shopping online, you can use Copilot Vision to receive product suggestions and let it search for a variety of options for you.

New copilot voice search

Microsoft

The use of Copilot Vision is completely optional, and Microsoft emphasizes that no content is stored or used to train models. Copilot Vision isn’t available on all websites yet, as Microsoft has put restrictions on the types of websites that the feature works with. “We start with a limited list of popular websites to ensure the experience is safe and secure for all users,” says the Copilot team.

According to The Verge, Microsoft has clearly outlined a long-term vision for new audio and visual features in the Copilot smart assistant. In one hands-on demonstration, Copilot Vision was used to analyze images of old handwritten food recipes. Copilot Vision is able to recognize the type of food and estimate its approximate cooking time. Microsoft also showed off a similar experience for Xbox games earlier this year, showing how Copilot can help users navigate games like Minecraft.

The next stage of Copilot development includes a new feature called Copilot Daily. This feature provides audio summaries of news and weather as if read by a professional news anchor. This summary is designed as a short clip that users can listen to in the morning.

Copilot Daily feature

Microsoft

The content of Copilot Daily is obtained only from reliable and authorized news and weather sources. Microsoft is initially working with news agencies Reuters, Axel Springer and Hearst, and the Financial Times, with plans to add more news sources in the future.

Copilot is able to answer more complex questions thanks to advanced OpenAI models. The new Think Deeper feature allows CoPilot to spend more time processing complex questions and provide step-by-step and more detailed answers. This feature will be very useful, especially for comparing two different options.

The Think Deeper feature is still in the early stages of development and Microsoft has it in Copilot Labs. These labs are a space to evaluate new features that Microsoft develops.

The Copilot Vision feature will also initially be part of Copilot Labs, where users can share their thoughts on new experiences. Microsoft is taking a more cautious approach to Copilot Vision after the recall was criticized for security and privacy issues.

From today, the new Copilot will be available to users. The new Copilot can be accessed through the iOS and Android mobile apps, the copilot.microsoft.com website, and the Copilot Windows app.

Initially, the Copilot Voice feature will only be available in English in Australia, Canada, New Zealand, the United Kingdom, and the United States. However, there are plans to expand this feature to more regions and languages ​​in the future. The Copilot Daily feature will initially be limited to the US and the UK, and the Copilot Vision feature will initially be available to a limited number of Copilot Pro subscribers in the US.

Continue Reading

Technology

Everything about Python; A programming language for everyone

Published

on

By

Python
Python is called “language for everyone” because it is easy for everyone to learn. Follow this article to learn about this popular programming language.

Everything about Python; A programming language for everyone

Python is one of the most popular programming languages ​​in the world, and most people who want to take the first steps in programming choose Python; Because It is very close to the English language and removes most of the fear and hesitation of beginners in the early stages; So that learning programming language seems possible for them.

According to the latest Stack Overflow survey of 2022, Python is the third most popular language among people who want to learn programming language and the fourth most popular language among developers.

It is also a versatile language used in a variety of fields including artificial intelligence, machine learning, data science, and web development, easily making it to the list of top-grossing programming languages ​​of 2023.

If you are curious about Python and want to make sure that it is exactly the language you need before starting to learn the programming language, follow this article.

Table of contents
  • The story of the birth of Python
  • Zen Python 
  • How does Python work?
  • Reasons for Python’s popularity
  • Python frameworks
  • 1. Django
  • 2. Flask
  • 3. Bottle
  • 4. CherryPy
  • 5. Web-to-Py (Web2Py)
  • Python libraries 
  • 1. TensorFlow
  • 2. Scikit-Learn
  • 3. Numpy
  • 4. Keras
  • 5. PyTorch
  • What projects can be developed with Python?
  • What companies use Python?
  • Install Python
  • How long does it take to learn Python?
  • Where to start to learn Python?
  • Python alternative languages
  • Weaknesses of Python
  • The Future of Python

The story of the birth of Python

The Python programming language was born in December 1989 during the Christmas holidays in Amsterdam, Holland. Guido van Rossum, a Dutch programmer then working at Centrum Wiskunde & Informatica, a mathematical and computer science research institute, decided for fun while spending the Christmas holidays on a new programming language that had been around for a long time. He wanted to write a commentary based on ABC.

Python programming language logo

ABC is a high-level, general-purpose programming language similar to BASIC and Pascal that was developed at the institute where Rossum worked. The purpose of creating ABC was to teach programming and prototyping, and because it was high-level (that is, it was similar to human language), it was easily read in English, and it was the best solution for teaching loops, logic, and data to beginners. Van Rossum had worked on the ABC project for several years and implemented many of its features in Python. The reason for choosing the name Python for this new language was his interest in the comedy series ” Monty Python Bird Circus “.

Khidou wanted the development of the application to be possible simply and without worrying about hardware, memory management, and such complications; So he thought of inventing his own programming language, inspired his ideas from ABC, and reducing the project time from three years to a three-month project; And that’s how Python was born.

Python’s name is taken from the Monty Python comedy series

In February 1991, van Rossum published Python code on alt. sources. alt. sources was like a forum where people shared their source codes and it can be considered one of the first platforms that helped the development of open-source projects.

Python is a high-level interpreter language; This means that it is closer to human language, so it is easier for beginners to learn, but to be comprehensible to a computer, it needs software to directly implement the instructions. In fact, the Python language was founded on the principle of making programming understandable to everyone, and van Rossum adhered to this principle throughout his career.

Python was founded on the principle of making programming understandable to everyone

At first, Khedo didn’t have much hope for Python’s popularity. Before the globalization of the Internet, it was difficult to convince people to use a new programming language, and in the 1980s, Khedo had to travel and distribute magnetic tapes to people for years to introduce and promote ABC. ABC at that time could not make room between the programmers; For this reason, Khido did not have any special expectations from Python; Although the introduction of Python, which in those days was enough to download from newsgroups known as Usenet, was much easier than door-to-door distribution of magnetic tapes.

Khedo Van Rossum, creator of PythonKhedo van Rossum speaking at the 2018 Python Language Conference

But in 1995, a company called Zope was founded, specializing in the production of ad engines for the Internet. Zope created dynamic web pages written in Python, thus popularizing Python in its early days. Zope is run by a team of Python developers, joined by Van Rossum in 2000.

It was around this time that Van Rossum was nicknamed the “benevolent dictator for life” because he was the creator of this language and controlled its development stages. This nickname was later given to the leaders of text game projects who were the founders of the project themselves and had the final say in discussions and disagreements.

Released in October 2000, Python 2 quickly became popular in the systems industry as programmers were able to find creative ways to automate their processes. During this period, web development also experienced significant growth, and frameworks such as Jinja, Flask, and Django emerged, and large communities were immediately created for these frameworks.

In 2001, the Python Software Foundation was founded, an American non-profit organization dedicated entirely to the Python language. This foundation is also responsible for organizing the Python conference, which is held in 40 countries.

By 2010, Python-based frameworks were among the top ten, although the number of dynamic website competitors was increasing day by day so the 2000s can be called the peak years of Python. According to the TIOBE site ranking, in 2000, Python was the 20th most used language; By 2005, it climbed to the 6th place, and in April 2023, it finally reached the position of the copy. This website has selected Python as the “Programming Language of the Year” in 2007, 2010, 2018, 2020 and 2021.

The TIOBE site chose Python as the “Programming Language of the Year” five times

 In 2005, Van Rossum joined Google and worked on Google App Engine, which ran Python applications in the cloud. With Van Rossum joining Google, Python’s bright future was guaranteed.

Python 3 was released in December 2008 and caused a lot of trouble for developers because it was not compatible with Python 2. Some developers preferred to work with Python 2 and others with Python 3.

Although Python quickly became popular among tech startups, it didn’t catch on among large companies for a long time. Until the late 2000s, MIT student Drew Houston, after leaving his flash drive at home, thought of creating a space for file sharing, and in 2007, he released the Dropbox software for this purpose. Dropbox was written in Python and within a year it reached three million users and attracted the attention of large companies. Since Dropbox was written in Python 2, van Rossum joined the team in 2013 to port the program to Python 3. Van Rossum worked with Dropbox until his retirement.

It was October 2019 when Van Rossum officially announced his retirement and stepped down from the position of “the eternal benevolent dictator”. After Van Rossum’s retirement, the core Python developers formed a steering council to decide on future changes to Python, and Van Rossum is a member of this council.

Python has become so big and popular these days that more people are deciding on it. In November 2020 Van Rossum announced that retirement was boring for him and joined Microsoft’s developer division as a “Distinguished Engineer” given to the company’s most outstanding engineers. In a tweet, he promised to make Python better for all platforms, not just Windows.

Zen Python

Tim Peters, one of the main developers of Python, wrote a set of programming principles in 1999, known as the “Zen of Python”. Python developers and programmers are still trying to adhere to these principles. To view these principles in the Python interpreter, just enter the “import this” code to display this list:

Zen Python
  •   Beautiful is better than ugly.
  •   Explicit expression is better than implied.
  •   Simple is better than complicated.
  •   Complex is better than complicated.
  •   Straight and smooth is better than nested.
  •   Scattered is better than dense.
  •   Readability is important.
  •   Special cases are not special enough to break the rules.
  •   Although the feasibility is more pure.
  •   Errors should never be dismissed in silence.
  •   Unless they are explicitly silenced.
  •   When faced with ambiguity, avoid the temptation to guess.
  •   There should be one (and preferably only one) clear way of doing things.
  •   Although this method may not seem obvious at first unless you are Dutch.
  •   Now is better than ever.
  •   Although “never” is often better than “right now”.
  •   If its implementation is hard to describe, it’s a bad idea.
  •   If the implementation is easy to describe, it might be a good idea.
  •   Namespaces are a great idea, let’s use them more!

How does Python work?

When you write a program in C or C++, you must compile it; This means that you have to convert the code that is understandable for humans into a code that is understandable for computers. Machine code is actually low-level instructions that can be directly executed by the CPU. After the compilation process is completed successfully, your code will produce an executable file. Running this code will execute all the instructions you wrote step by step.

Python mechanism

But Python is generally an interpreted language and not a compiled language, although compilation is one of the stages of the coding process with Python. Python code in the file py. It is written, first, it is compiled as bytecode and then in pic format. or pyo. is saved.

In fact, instead of being translated into machine code like C++, Python code is translated into bytecode. Bytecode is a set of low-level instructions that can be executed by an interpreter. On most computers, the Python interpreter is installed in the path usr/local/bin/python3.11/. Instead of executing instructions on the CPU, bytecode executes them on the virtual machine.

One of the advantages of interpreted languages ​​like Python is that they are independent of the operating system; This means that as long as the Python bytecode and the virtual machine are of the same version, this code can be run on any platform, including Windows or MacOS.

Reasons for Python’s popularity

Think of the day when every user can program their own computer. We look to a future where every computer user will be able to “lift the hood” and improve the applications inside the computer. We believe this will fundamentally change the nature of software and software development.

These sentences were the proposal that the “Computer Programming for Everyone” project used to introduce itself. Van Rossum started this project to encourage people to program and he believed that the programming language should be so simple and understandable that every computer user can learn it easily.

Although Python language is slower than C and Java and is not suitable for designing applications that require high speed to run, such as heavy games, it has many advantages that have made it one of the most popular programming languages; including:

1. Easy to learn and use

Learning and using the Python language is very easy for beginners because it has a simple structure, readable codes, and commands very close to the English language, and compared to other languages, it requires writing much fewer lines of code to execute tasks.

A comic about the ease of the Python languageA comic about how easy Python is

2. A big and supportive Python community

Python was created more than 30 years ago, and since then the community of Python programmers has grown enough to support any developer at any level, whether a beginner or a professional. To learn Python, there are many free educational resources and videos in this forum and all over the Internet, and for this reason, people who choose this language to learn will not have to worry about the lack of resources.

3. The support of big sponsors

Python community

Programming languages ​​grow faster with the support of large companies. Facebook supports PHP, Oracle supports Java, and Microsoft supports Visual Basic and C#. Python language is also supported by Facebook, Amazon web services and especially Google. Since 2006, Google has chosen Python to develop many of its applications and platforms.

4. Hundreds of Python libraries and frameworks

Due to its large sponsors and active community, Python has a variety of unique libraries that save programmers time. There are many cloud multimedia services that support Python developers on different platforms through library tools.

5. Versatility, efficiency, reliability and speed

Python language can be used in various environments including mobile and desktop applications, web development, and hardware programming. Python’s versatility has made it the first choice of many programmers in various fields. Although the execution speed of programs written in Python is slightly lower than that of compiled languages ​​such as C, developing an application in Python takes much less time and takes up less space in memory.

6. Big data, machine learning, and cloud computing

After R, Python is the most popular programming language in the field of data science and analysis, because it is a very understandable language for many researchers who do not have a programming background. A large amount of data processing in companies is done only with Python. Most of the research and development projects are also done with the Python language, because Python has many uses, including the ease of analyzing and organizing usable data. Meanwhile, hundreds of Python libraries are used in thousands of machine-learning projects every day. Realizing the importance of Python, the hiring of Python programmers with mastery of data science principles has also increased a lot.

7. The flexibility of the Python language

Python is so flexible that it allows the developer to try a different project each time. Python does not limit developers to the development of specific applications and leaves them free to create any desired application. Also, migrating from JavaScript to Python is very easy for people who want to go from front-end to back-end, even though the two languages ​​are different.

8. Using Python in universities

Due to the use of Python in the field of artificial intelligence, deep learning, and data science, today this language is used to teach programming in schools and universities.

9. Automation capability

The many tools and modules that Python provides to the developer make the process of automating repetitive and boring tasks very easy and save time. Meanwhile, the number of lines of Python code for automation tool development is so small that it surprises the programmer.

10. Python is the language of startups

Ease of use, fast development, and low costs make Python a good choice for small startups with limited budgets. With the significant increase in the popularity of social media and the explosion of data in this platform, many startups active in the field of data analysis go to the Python language.

Python frameworks

Python frameworks are a collection of modules and packages that help developers speed up development. These frameworks automate common processes and implementations and save time, allowing the developer to focus only on the application logic and leave the implementation of these common processes to the framework.

Python frameworks are generally divided into two categories:

  • A micro-framework that is easy and convenient to use and suitable for developing small and medium-sized applications.
  • The full-stack framework, which has a more complex nature, provides the user with more extensive libraries, has the ability to manage data, and is used for the development of various applications.

Developers need access to the frameworks of this language to build applications with Python. Here we introduce 5 examples of the best and most popular Python frameworks:

1. Django

python django

Large companies use the Django framework to save time and write less code in developing web applications. Django is a full-stack framework and is very popular because it is free and open-source. In fact, Django is so popular that if you go to a Python developer, wake him up, and ask him at gunpoint to design an app for you, you have no doubt that he will automatically switch to Django.

This framework includes all the necessary features by default, but its main feature is the emphasis on the principle of “avoid duplicate work”. Developers save time in the development of their projects with the help of Object-Relational Mapping, which is available in the Django framework.

Large companies and organizations that use the Django framework to build applications include NASA, Instagram, YouTube, and The Washington Post.

2 .  Flask

flask

Flask falls under the category of microframeworks, which means it focuses on the bare minimum and leaves the rest to the developer. The Flask framework is a very suitable choice for people who know exactly what they want and want to have their hands open in designing web applications. This framework is also a good choice for emergency projects, medium to large scale. In cases where Django does not meet your needs in the development of web projects, you can go to Flask.

Famous brands that use Flask include Netflix, Lyft, Airbnb, Reddit, and Mailgun.

3. Bottle

bottle framework

If you think that Flask doesn’t open your hands enough to design the application you want, go to Battle. Battle framework is a good choice for developing very small applications (for example, less than 500 lines of code) that do not require special features. Since Battle is a microframework, it only depends on the Python standard library.

Of course, keep this point in mind that in practice, using the Battle framework may interfere with your work; If you need to add a special feature to the application in the middle of the project, you will be in trouble, because Battle puts all the code in a single file. The battle framework is not suitable for developing large applications.

4. CherryPy

Cherry Pie framework

CherryPy is an open-source microframework for Python. Its minimal design is suitable for building web applications that can run on various platforms, including Windows, MacOS, Linux, and any other operating system that supports Python.

Cherry Pie is a good option for startups because it has few restrictions. This framework uses any type of technology for formatting, data access, etc., and it easily handles sessions, statistics, cookies, file uploads, and so on. The CherryPy community supports both beginners and professional developers.

5. Web-to-Py (Web2Py)

web2py framework

Web2Py is a full-stack framework and is a good choice for developers and data scientists due to its data management capabilities. This framework is mostly used for projects related to data collection and analysis.

Python libraries

The main difference between a framework and a library is their “complexity”, which is less in libraries. A library is a set of packages that implement certain operations, while a framework contains the architecture of an application.

When the developer calls a method from the library, the control of the development process is in his own hands; But in the case of frameworks, the control of the process is in the hands of the framework, not the developer. Frameworks are more commonly used than libraries because they are more flexible and provide tools for the user to extend their features. Next, we will introduce 5 popular Python libraries

1. TensorFlow

tensorflow library

TensorFlow is an open-source library suitable for projects related to neural networks, computational graphs, and applications focused on machine learning. This library was created by Google in collaboration with the Brain Team deep learning artificial intelligence research team; For this reason, this library is present in almost all Google applications for machine learning.

2. Scikit-Learn

Scikit-Learn library

The PsycheLearn library is for Python applications focused on machine learning and is ideal for validating supervised models on unseen data.  Scikit-Learn also provides an efficient approach for clustering, factor analysis, and principal component analysis for unsupervised neural networks and is a good choice in the field of image processing, such as feature extraction from images and texts.

3. Numpy

NUMPY library

Numpy is a library that other libraries such as TensorFlow use as their internal library to perform several operations. Since Python deals with applications in the data domain, Numpy helps developers a lot with its complex capabilities.

The main advantages are interactive features and ease of use. This library greatly simplifies complex mathematical implementations. If you are thinking of doing a project in the field of data science and machine learning, using the Numpy library will help you a lot.

4. Keras

keras library

Keras is a machine learning library in Python and provides a smooth mechanism for developing neural networks. Cress also offers best-in-class applications for model compilation, data set processing, graph visualization, and more.

This library is used in the development of backend applications based on Python. For example, Uber, Netflix, and Instacart use this library. In addition, startups with machine learning at the core of their product design have a special look at this library.

5. PyTorch

pytorch library

PyTorch is one of the largest machine learning libraries that allows developers to perform tensor calculations and performs well in the field of neural networks. If you are interested in natural language processing (NLP), the PyTorch library is a good choice for your projects.

Facebook developed this library in its artificial intelligence research group, and Uber uses it in the backend of its “Pyro” programming software. Since its inception, PieTorch has grown in popularity and attracted the attention of an increasing number of machine learning developers.

What projects can be developed with Python?

Artificial intelligence robots and the future of jobs

Learning the basics of Python is one thing, but what to do with this skill is another story and may become a challenge for some. Here we introduce 15 interesting and practical projects that can be developed with Python, which are good options to start with:

1. Organize files in the system

Python can be easily used to automatically organize files on the system. Operations such as renaming, copying, and moving hundreds of files can be done by writing a piece of Python code in a few seconds. For example, beets, a free and open-source software for organizing music files, uses Python and allows the user to manipulate the codes and even write the desired plug-in.

2. Listing

Using Python, you can save a list of your favorite websites on the Python command line instead of bookmarking them and moving them from one browser to another. For example, Buku bookmark management is written in Python 3 and besides managing the list of favorite websites, it has the possibility of automatic tagging, fixing broken links and searching in the database, and even locking and encrypting your lists.

This app is an open-source project and if you have an idea and don’t know what to do with it, you can add it as a new feature to this project so that other users can use it.

3. Creating a resume on a static website

Written in Python, Pelican is designed for building static websites and is a great choice for creating a clean yet interactive resume. In Pelican, you can access Python codes and modify them as much as you want.

4. Building dynamic websites

Python web frameworks such as Django and Flask will help you a lot to build dynamic websites with many features. For example, Instagram uses Django and Pinterest uses Flask, and both have the ability to manage high-resolution images, complex user interactions, and responsive web design elements, and use Python in their backend.

5. Data visualization

Data visualization with Python

Python libraries provide a large set of data visualization tools to make it easier to examine data using graphs and maps. With the Python-based visualization library Seaborn and Matplotlib, you can easily display your data as graphs and maps, and use libraries like Bokeh to add more interactivity.

6. Construction of neural network

Companies like Uber use neural networks to communicate between passengers and drivers and even improve the quality of food and restaurant offers. Python language is at the center of these activities. According to Uber, the Pytorch deep learning library is the mainstay of the company’s algorithm development.

Python provides libraries such as Tensorflow and Cress for deep learning projects. By learning Python and using these libraries to build neural networks, you will gain a skill that will be useful in various projects for years to come.

7. Building a recommender engine

Sentiment analysis with Python

Another popular use of machine learning is the recommender engine. Python libraries such as NumPy and Scikit-Learn provide the user with a large set of diverse tools to create a platform for product offerings, for example, in online stores. For example, with the help of this data science stack and its combination with big data frameworks such as Apache Hadoop, Spotify, and Netflix can analyze data and suggest their favorite music and movies to users.

8. Analysis of user feedback

User sentiment analysis helps businesses make important decisions, and Python’s data science stack, its natural language toolbox (nltk), combined with simple, supervised learning algorithms can quickly identify comments, tweets, or any kind of feedback from Check the user side.

9. Collecting data from websites

Of course, many of these projects mentioned so far are not possible without data collection. With the help of Python and libraries and frameworks like Selenium , ScraPy and BeautifulSoup, you can easily extract information from different websites. Additionally, Python easily integrates with existing APIs, helping to pull structured data from websites quickly and efficiently.

10. Making mobile applications

More than 45% of the world’s population uses a smartphone, and for this reason, the mobile application market is always hot. With the help of the Kivy Python framework, you can develop applications that can be run on different operating systems. For example, Dropbox has used Python to build its mobile application, which runs without any problems on Windows, Mac OS, and even some Linux distributions.

11. Cryptocurrency exchange

With the help of Python, you can create a cryptocurrency trading robot that is active all the time and operates independently of the user. It is also possible to predict the best time to buy and sell cryptocurrency by combining machine learning algorithms in this bot. Even if you are not interested in buying and selling cryptocurrency yourself, your bot can have a high price in the market.

12. Making bots for social networks

With the help of Python, bots can be made to take over a large amount of your online activities on social networks. You can connect directly to social networking services with the help of libraries like Tweepy and InstaPy, or write a bot code and connect it to an API, just like the ones offered by YouTube Reddit, or Discord.

13. Creating a chatbot

These days, with the advent of ChatGPT and Bing Chat, the chatbot market is hot! Python makes it possible to build complex chatbots by integrating nltk with machine learning libraries. You can even add sound to your chatbot using the PyAudio and SpeechRecognition libraries and add speech-to-text functionality.

14. Connecting to the Internet of Things

With tools like Arduino and Raspberry Pi, you can build robots, home appliances, and small devices that connect to the Internet of Things and use the Python language. For example, MicroPython is an open-source project that greatly simplifies programming for microcontrollers. You can even set up your own  firewall or irrigation system using Python.

15. Use of other languages

Sometimes the project you have in mind cannot be completely written in Python. In this situation, it is not necessary to abandon Python completely and go for other languages; Rather, the flexibility of Python allows you to use their capabilities in your Python project with the help of special Python modules (extension modules) wherever you need to use another language such as C or C++.

What companies use Python?

Many technology companies and large and successful organizations in the world use Python language for their website backend development or data analysis. Here we get to know some of them:

Instagram

Instagram

Instagram , the largest photo sharing application in the world with more than 2 billion daily active users, uses the Django framework, which is written in Python, for its backend, and the reason for this is the simplicity and popularity of Python.

Google

Google

Google is the most used search engine in the world with a 93% share of the market. Google has been a fan of Python since the beginning, and its founders decided to “use Python wherever possible and C++ wherever necessary .” The ease of using Python is enough that Google’s first web crawler, which was written in Java, was later rewritten in Python to make it easier to use.

Spotify

Spotify

Spotify, a music and podcast streaming platform, was launched in 2008 and has more than 450 million active users today. While Spotify’s website uses WordPress, its application is built with Python. 80% of Spotify services are based on Python and the rest are based on other languages ​​such as Java, C, and C++. Spotify also uses Python for data analysis and backend services.

Netflix

Netflix

With more than 200 million members, Netflix is ​​the largest Internet television network in the world. Like Spotify, Netflix uses Python for data analysis. Additionally, it allows its software engineers to code in whatever language they are most comfortable with, and most Netflix programmers have preferred Python. According to Netflix engineers, Python’s standard library, its highly active and growing community, and the wide variety of available libraries make it possible for developers to solve any problem.

Reddit

reddit

The Reddit website has more than 400 million monthly active users and is the 10th most visited website in the world in 2023. Reddit originally used Lisp but was rewritten in Python six months after launch. The reason for this change was Python’s access to more diverse libraries and its flexibility in terms of development. When Reddit hires programmers, they tell them that everything they write must be in Python so that it’s easier to read and it’s easy to understand if the code they wrote is good or bad.

Python language has many fans among large companies and organizations. Other examples of prominent companies using Python include Facebook, NASA, Quora, Pinterest, YouTube, Dropbox, Amazon, Uber, Lyft, CIA, PayPal, Nokia, and IBM.

Install Python

Python can be installed on Windows, Linux, MacOS, and certain platforms such as Android, iOS, Solaris IBM AS/400, etc. and there are different ways to install it. But before installing, you should know that Python has two versions, 2 and 3. Version 2 was popular in the 2000s, but now the best version to use is version 3; Because the language and libraries are only updated in the third version.

The easiest way to install the latest version of Python is to download it from the official site itself. Just be careful when installing, check the “Add Python 3. x to PATH” option so that after installation you can install coding and Python packages through the cmd environment. In the Windows environment, you can also download and install Python through the Microsoft Store, which is very easy.

  • Introductory training of Python programming language
  • What tools and software will we need to start programming?

Most Linux distributions also come with Python by default, and you may need to update it to the latest version. To install Python in Linux, you can do it through the package manager, and if it is not possible, through the source codes.

The easiest way to add functionality to pure Python, especially for data scientists, is to download it from the Anaconda site. The package you download from this site includes pure Python, essential libraries for scientists, and machine learning (such as name, say, and pandas), as well as two coding tools, Spyder and Jupyter Notebook. Installing this package is very easy and you only need to select your operating system and click on download.

How long does it take to learn Python?

If you have no background in Python and want to start learning it from scratch, it usually takes three to six months to learn it; However, it takes several years to become an expert in this language.

If you have a background in the Java programming language and want to learn Python as a second language, it only takes a day or two to familiarize yourself with the Python environment and write your first “hello world” code. If you use interactive platforms like Educative or CodeCademy or freeCodeCamp, you can write very simple programs in Python in a few minutes.

User working with Lenovo Legion 5 Pro laptop

On the other hand, if you plan to use Python in data science (for example, for data analysis or machine learning), it takes less time to learn, because for data science you only need a specific use of the language and an understanding Its basic principles do not take more than one to two months. According to 365datascience statistics, if you devote 5 hours of your time a day to learning Python, you can learn the fundamental principles required for data science analysis in Python within a month.

Fortunately, in order to be hired as a Python programmer, you don’t need full expertise in this field, and just learning Python, debugging, and familiarity with software development tools such as Git is enough; You will gain expertise along the way.

Where to start to learn Python?

The best way to learn Python or any other programming language is to practice coding on a daily basis. Of course, that’s easy to say, because as soon as you start coding, you’re faced with big challenges, and all you have to do is drop a semicolon somewhere and you’ll get a whole bunch of error messages. That’s why you will need a guide to learn Python.

Although you’ll get the best guidance from face-to-face interactions with people familiar with Python, there are other ways to learn the language. For example, you can use free websites like w3school or geeksforgeeks or freecodecamp or online courses like The Complete Python Pro Bootcamp on the Udemy website and when you get a good understanding of this language, go to read a book like Automate the Boring Stuff with Python for a deeper knowledge of Get Python. Of course, reading a book is not an easy way to learn a programming language, and you can use online courses based on these books.

Metal body in the beautiful U4 Gigabyte laptop

On the other hand, you can advance learning Python by running a project; For example, a project related to automation, building a web application, or even a machine learning model.

These days, learning Python with mobile applications has also become popular; Programs like SoloLearn or Datacamp provide you with a simple way to learn programming languages ​​and use an environment to run codes; However, you may need to get help from other guides as well.

Python alternative languages

The most famous alternative programming language to Python is called Ruby, which is structurally so similar to Python that it is difficult to learn them one after the other; It’s like trying to learn Spanish and Portuguese at the same time.

Another alternative language in the web domain is full-stack JavaScript. Python and JavaScript are not very similar, but they can be used for similar purposes.

Weaknesses of Python

Python is often accused of being “slow” because of its high-level and interpretive nature; Because the interpreter has to do the extra work of translating the bytecode into something machine executable. Simply put, if you can speak to someone in your native language, the conversation will go faster than if you had the help of a translator to translate your language into a language that the other person can understand.

Python is often accused of being “slow”.

Python also takes more time to run than low-level and compiled languages ​​like Java or Rust because it has to be converted into a language that can be understood by the computer. As a result, Python is not often used in cases where execution speed is extremely important, such as building distributed database systems or developing heavy games.

On the other hand, the efficiency of Python in terms of using memory and storage space is less than that of compiled languages; As a result, mobile applications written in Python consume a lot of RAM and battery.

Another weakness of Python is its variety of different versions, which can be confusing for those who are planning to start programming for the first time.

Regarding Python, the concern of scalability is sometimes raised; However, this problem can be solved to some extent with alternative Python implementations such as PyPy.

The Future of Python

From its humble beginnings as a small Christmas project, Python has taken a long and bumpy journey to become one of the most popular programming languages ​​in the world. Many of the key principles that led to the birth of Python, including simplicity and ease of understanding, still hold true for the language and will define its future development path.

The future of Python

Although Python is becoming more and more popular and has virtually taken over the field of data science, there are some challenges in its way. For example, Python’s presence in smartphones, which are more common these days than PCs, or multi-core processors, is minimal.

Python has taken over the field of data science, But its presence in smartphones is weak

The main reason for Python’s popularity is its use in machine learning; But it doesn’t have much to say in the field of mobile or web application development, because it is slow. Python creator Van Rasmus, who now works at Microsoft, admits that Python-based applications consume a lot of RAM and battery. He is improving the performance of Python and believes that it is possible to double the efficiency of Python in the future.

In addition, due to being “sticky”, Python has acquired a wider range of users, and programmers push the boundaries of this language every day with the power of their creativity and innovation. Many people think that Python is only used in the backend, but the capabilities of this language are much more than these words.

In the words of Python’s creator, Guido van Rossum, “Python is a test to determine how much freedom programmers need.” If it exceeds its limit, no one can read another person’s code. If it falls below its limit, the ability to express ideas will be jeopardized.

Continue Reading

Technology

iOS 18 review: A smart update even without Apple’s intelligence

Published

on

By

iOS 18
With a focus on personalization capabilities, iOS 18 optimizes apps and settings in a way never before seen in Apple software.

iOS 18 review: A smart update even without Apple’s intelligence

This year was a strange year for the iPhone operating system. Three months after Apple introduced the new version of iOS at the WWDC event and aroused the curiosity and admiration of its fans, from September 16 (26 September 1403) this update was released in full: a mature and measured update that is not only for iPhone users but also For most lovers of the technology world, it seems like a welcome evolution.

Usually, new versions of mobile operating systems are fully released on a certain date, but at least this time in iOS 18 we don’t see this traditional routine; This means that some of the most interesting features of Apple’s most important development in the last year, namely Apple Intelligence, will not come to iPhones until 2025.

But it can be said that the new operating system of iPhone phones will surprise you with all kinds of changes and user-friendly features. It’s safe to say that iOS 18 is an ambitious update, even if we leave Apple’s intelligence out of the picture.

The customization options on the iPhone are like nothing we’ve seen before

Personalization options have reached the most diverse possible level and with a little time, users can set their phone in a way that has no resemblance to its previous appearance; Something we have never seen before in Apple products.

From home screen personalization capabilities to the completely new face of the Control Center, or the functional features of iMessage and the new and improved capabilities of various applications, after years, Apple is visibly showing a more flexible approach in its new update. In fact, iOS 18 includes more than 200 changes, and in this article, we will be with you by reviewing the most prominent options.

Table of contents:
  • iPhones compatible with iOS 18
  • Extensive changes to the home screen
  • Important change to the lock screen
  • control center
  • Photos application changes
  • iMessage improvements
  • Notes changes
  • Security and privacy
  • Other important updates
  • Apple Intelligence

iPhones compatible with iOS 18

iPhones receiving the iOS 18 update include the iPhone XR, iPhone XS, iPhone XS Max, iPhone SE 2020, iPhone SE 2022, iPhone 11 series, iPhone 12 series, iPhone 13 series, iPhone 14 series, and iPhone 15 series.

Note that only the iPhone 15 Pro, iPhone 15 Pro Max, and newer phones are compatible with Apple Intelligence because according to Apple, the new AI features require an A17 Pro processor and higher to run.

Extensive changes to the home screen

In its recent updates, Apple gives users more choice in controlling the appearance of their software, and this trend is more visible than anything else in iOS 18. One of the most important and tangible changes we see in iOS 18 is the options that Apple gives users to customize the home screen.

Screenshot of the ios 18 wallpapers page
Screenshot of the ios 18 wallpapers page
Screenshot of the ios 18 wallpapers page
iOS 18 wallpapers; Dynamic mode changes the color of the wallpaper based on the time of day and night

For years, iPhone owners have been waiting for an update that would allow them to place application icons anywhere on the screen like Android users. This wait is now over.

You can arrange the icons in a way that gives you a better feel, or group applications that have complementary functions and features in a specific part of the screen. In fact, now the appearance and arrangement of applications and widgets on the home screen is completely up to you and your personal preferences.

Free arrangement of icons in iOS 18
Free arrangement of icons
Changing the color of icons in iOS 18
Change the color of icons
Edit pages in iOS 18
Edit pages

But your options are not limited to these options. On the home screen, if you press the empty space between the icons for a while, the “Edit” option will appear at the top left of the screen. By tapping on this option, which replaced “+” in iOS 17, you can access three options: “Add Widget”, “Customize” and “Edit Pages”. The add widget option does the same thing as the “+” button used to do.

The white mode of icons in iOS 18
The light mode of the icons
The dark mode of icons in iOS 18
Dark mode icons

After choosing the dark mode, you don’t want to go back to the previous mode!

The option to edit pages shows a view of all the main pages of the phone, and you can delete the pages you don’t want or change their order. By selecting the Personalization option, a panel will appear at the bottom of the screen that allows you to choose dark or light mode for the icons and change the size of the icons. By selecting the “Tinted” option, you can change the color of all the icons to your desired color; It’s just a pity that there is no choice of different colors for different icons. This routine gives the icons coherence and integrity, but may not be to everyone’s taste.

iOS 18 customization options
New customization options
Change the size of the widget from the home screen in iOS 18
Change the size of widgets from the home screen

Let’s change the size of the icons. Of course, you can’t make each of the icons separately, to an exact and desired size! In iOS 18, the home screen icons are set in two modes: with the new settings, the icons are shown larger and their names are removed from under the icons. The default size is also exactly what we had in iOS 17.

Likewise, you can resize widgets directly from the home screen, without opening the customization panel.

Important change to the lock screen

The most important change that iOS 18 has brought to the lock screen is the ability to change the toggles on the left and right sides of this screen. Previously, the flashlight icon was on the left and the camera on the right, and we couldn’t replace them with other apps.

iOS 18 lock screen
Changing the lock screen toggles in iOS 18
Multiple options to choose from! But I still use the same camera and flashlight toggle!

To change the toggles, you need to enter the customization section by pressing your finger on the lock screen. Now, next to each of these two buttons, you will see the “-” sign. By tapping on this sign, the previous option will be removed and instead, you will see a “+” sign, which you will see a long list of replaceable options.

Control Center

After the home screen, which is the heart of Apple’s operating system update, it’s time for the Control Center, which gives the iPhone a new look with a new format, more diverse options, and of course, customization features.

Unlike in the past, you no longer have to go to Settings to change Control Center options; Instead, you can either tap on the “+” at the top of the screen or touch and hold any empty space in the Control Center for a while to enter the customization mode.

Control Center iOS 18
Free arrangement of control center icons
Adding additional apps to Control Center iOS 18
Adding additional apps to Control Center

When you swipe down from the top right corner of the screen to access Control Center, you will see a few new elements:

  • The “+” sign in the upper left corner: This option launches the customization menu for rearranging and resizing the controls.
  • Power icon in the upper right corner: By holding this icon, the power off screen will appear and turn off iOS.
  • Three icons on the right side of the screen: heart icon, music icon, and wireless connection icon

The three icons on the right basically represent the three screens that the Control Center starts with. If you want, you can add more pages yourself.

The first page (represented by a heart) contains all the control tools that were in the old version of Control Center. You can easily change these options and choose their size and arrangement according to your taste.

Music card in Control Center iOS 18
Music widget in control center
Connections section in Control Center iOS 18
Connection options in the Control Center

By default, the second screen displays a large music widget with AirPlay options. The third screen is also a place to activate and deactivate communication options such as Wi-Fi, Bluetooth, mobile network, airdrop, airplane mode, and so on.

In the new Control Center, you can sort and resize options. In addition, for the first time, Apple has allowed other developers to add their app toggles to the list of Control Center options. Also, in the lower right corner of each option, you will see a marker that you can touch and drag to increase its size.

Photos application changes

When we open the Photos app for the first time, we don’t see Apple’s claim of “the biggest changes in the history of Photos in iOS 18”; Of course, this program has undergone positive changes since the beta version of iOS 18.

The first thing that catches the eye after opening the program is the transformation of the new Photos interface, the former Library tabs, albums, and For You collections into a single page.

Swiping down brings up gallery images, and swiping up lets you view collections, auto-collected memories, and other grouped photos (by categories like people and pets, travel, and the like).

The image gallery is now more customizable: you can set the order in which the different sections appear as you wish. For example, you can move Featured Photos to the top of the page.

Smart tools are provided to users to sort or filter images

In the early beta version of iOS 18, the way it worked was a little different and users had to swipe left and right on the photo library to view different sets of images. Apple apparently removed this feature due to user feedback.

Also, the size of the Recent Days section, which is located under the library by default, has been reduced so that users can see more images from the library in the main view.

The new Photos view in iOS 18
Collections of images in iOS 18
Search images by typing words in iOS 18

In iOS 18, you will have smart tools to find photos and sort images by year and month. By selecting the blue magnifying glass icon in the upper right part of the screen, you can type a phrase that is close to your search; For example, if you are looking for a specific photo that contains food, just type the word “food” and all the images that contain food will be displayed to you side by side. There are also other options for sorting photos and filtering results you don’t need to see (like screenshots).

iMessage improvements

Considering the popularity of iMessage among iPhone users, it was not far from the expectation that Apple would apply useful and significant features to this application. Probably the most useful change we experience in iMessage is the possibility of scheduling messages. To do this, tap on the + button (where you also have access to other features) and then select Send Later. In the next step, you can specify the date and time of sending and then send the message to be sent at the specified time.Message scheduling in iMessage in iOS 18
Message scheduling in iMessage in iOS 18

Another interesting change of iMessage is adding text effects to messages. This feature can cause your messages to vibrate, ripple, or even explode. You can access this feature by tapping on the message and selecting Text Effects from the menu. In this section, you can also change the text format (bold, italic, underlined, etc.).

New iMessage effects in iOS 18
New iMessage effects in iOS 18
New iMessage effects in iOS 18
New iMessage effects in iOS 18

iMessage finally supports the RCS standard in iOS 18, which, of course, is not available in Iran, because its functionality depends on mobile operators; But overall, Apple’s effort to improve the quality of messages between iPhone and Android phones is commendable.

New features of iMessage in iOS 18; From scheduling messages to solving mathematical equations
Study ’13

Improving the display of emojis, using stickers and Mimojis in the form of emojis, Genmoji functionality, improving the appearance of links cards, and solving mathematical equations are among other new and attractive parts of iMessage.

Read more: The best iOS features that Android lacks

Notes changes

In iOS 18, Note has become a mature and evolved app. Apple has integrated the calculator with the Math Notes feature, and now you can write mathematical equations in Notes and find their answers. It may seem more efficient to draw a diagram on a device like an iPad, but in practice, you will feel the benefits of this tool better in everyday life. For example, keep a list of your expenses on the Notes app and add new numbers each time. The app automatically calculates and adjusts your expenses.

Note application in iOS 18
Note application in iOS 18
Note application in iOS 18

In another new and very practical feature, we experience the integration of notes with voice recording. Now when you want to add a voice to a note, you can use the integrated recording system with notes without leaving the app and opening Voice Memos.

The Notes app also transcribes audio recordings and phone calls for you.

If you have trouble arranging and organizing your notes, headings and collapsible headers will be a useful feature for you. Thus, in longer files, you hide different parts of the note under specific headings and open them later to review the details. The ability to change the color of the text also makes reading the content easier.

Security and privacy

The most important new security and privacy features of iPhone phones were also noticeable in the beta version: the Passwords app and the ability to secure any app, to the extent that they can even be hidden from public view.

The Passwords app is based on Apple’s Keychain and is built to manage passwords and is a one-stop storage repository for all the passwords you need for different apps and websites.

Among other measures, we can mention warnings about passwords at risk and synchronization of passwords on all Apple devices of each user.

Locking the application with Face ID in iOS 18
Locking the application with Face ID in iOS 18
Locking the application with Face ID in iOS 18

The next feature makes it possible to unlock apps with Face ID, which is actually a new layer of protection. You can also hide apps from public view for added security. These programs are stored in a folder that only the user has access to and will be used for many types of information such as medical records, bank data, and personal matters.

Other important updates

As we said at the beginning of the article, the number of changes that have come with iOS 18 are so many that it is impossible to mention them all in one or two articles; For this reason, we briefly review some of the important improvements of this version:

Automatic recording and transcription of telephone conversations: this feature, which uses artificial intelligence, when recording a conversation, informs the person or persons present in the conversation that their voice is being recorded. The option to record the conversation with an icon similar to the sound waveform, along with the duration of the recording, is located in the Phone application. The transcript of the conversation is also available in the Notes application, and users can make a summary of it. It is also possible to record and transcribe the recorded sounds in the Notes application.

Calendar and Reminders integration: The link between Calander and Reminders gives you the feeling of finding a missing puzzle piece. The new updates allow you to record an event with a time and date and a reminder in the Calendar app and still have it available in the Reminders app.

The reverse mode of this operation will also be possible, that is, the tasks you have recorded in the reminders application can also be seen in the calendar. The calendar app also has a new month view that allows users to dig deeper into days and dates and see more details.

Improvements to the Journal app: The Journal app has new features that will help you strengthen your writing habits. Plus, the app integrates with the Health app’s mood tracker, so you can see how thoughtful, reflective writing affects your outlook.

Journal formatting tools have also been upgraded to make users feel like they have a full-fledged writing program. All iPhone 12 and above users can speak aloud at any time for the journal entry so that the program will automatically transcribe their speech.

Safari: The new Highlights feature is part of the Apple Intelligence capabilities that focuses on the key information of each web page, which is more effective in some areas such as route guidance and event hours. Also, the “Summary” box can provide you with the highlights of the articles so that you can have a quick overview of the contents of a page.

Content summarization is a feature available in Arc Browser for iPhones that do not support Apple Intelligence; Therefore, Apple’s decision to limit users’ access to this feature seems strange.

Apple Intelligence

As we mentioned at the beginning of the article, Apple Intelligence features are not provided in the initial version of iOS 18. Of course, some of these features have been made available to users in the public beta version of iOS 18.1, but they are only compatible with iPhone 15 and iPhone 15 Pro Max phones.

Unlike Samsung, which makes its Galaxy AI features available to users of older flagships, we will not see such an event in Apple’s iPhones. On the other hand, for a more detailed examination of Apple Intelligence, we have to wait a little until the iOS 18.1 version arrives.

According to the information we have from the next update, writing tools (such as rewriting, correcting, and summarizing texts), a more interactive and intelligent version of Siri, image intelligence, Clean Up functionality, and the possibility of connecting to OpenAI artificial intelligence are attractive features that will bring the user experience to the next level. They buy a new one.

However, if you would like to get more information about the applications of Apple Intelligence in iPhone phones, we definitely recommend the article ” iPhone Evolution with Apple Intelligence; Read from Image Editing Tools to Smart Siri.

Continue Reading

Popular