Hertha  Mayer

Hertha Mayer

1597850760

A software engineer explains why Apple is moving to its own silicon

Apple’s Worldwide Developer Conference, which kicked off at the end of June, brought a slew of software changes to all of its devices. We finally got to see widgets on the home screen of iPads and iPhones, and macOS has received its biggest visual update since macOS Yosemite. But, the biggest announcement was saved for the end of the Keynote, where CEO Tim Cook announced over the next two years, their Mac lineup would transition away from Intel to their own Apple Silicon.

Let’s break down what this means.

Here’s me explaining why Apple has taken this move to move to their own silicon

As a software engineer who has done a 4 year computer science degree, I thought I’d try to explain exactly what this change means, and why I think Apple has decided to go down this path.

Let me begin by explaining what happens when software is built. Every app on your phone, website built or program on your PC is backed by code. The code describes exactly how everything on screen is displayed, and what happens when you click a button or tap an image. Even when you use a tool like Wix or Squarespace to create your website, even though you don’t need to write any code, in the background they are generating code for you, as this is what web browsers need to display the website.

Image for post

An example of some code used to generate an app

And, each of these programs, websites or apps needs to be understood by the hardware in your computer. The CPU or processor, the graphics card and the memory all need to be told what to do in order to display and run the app you have just downloaded. But, this hardware doesn’t directly understand the code that a software developer has written. In fact, the code that the developer is writing is often very far removed from how the processor in your computer or phone runs the program.

Image for post

Computer hardware — Photo by Thomas Jensen on Unsplash

The best way to explain this is through a metaphor. Imagine you need to get 5 basic robots to bake you a cake. The robots only know a few basic words — move their arms up or down, clasp their hands, and release their hands. Basically, they have the motor skills to bake a cake, but they have no idea how to open a packet of chocolate chips, or that eggs need to be combined with flour.

So, what you could do is spend a lot of time meticulously telling them every step along the way:

  1. Grasp the packet of chocolate chips
  2. Lift your arms up
  3. Keep one arm still
  4. Move the other arm in the opposite direction etc.

But, this process is tedious, and if you had to write it down and give it to the robots before they started baking the cake, and you couldn’t modify it while they were baking it, you’d probably find they’d make a lot of mistakes because you’ve missed some steps.

And, this is the same with programming or coding a program. The processor is the robots, and the processor only understands very basic commands — although it can do a lot of them at once. So, if you wanted to write a simple program to multiply two numbers together, you’d need to specify a large number of steps to get it to multiply the numbers, like pull the first number out of memory, pull the second number out of memory, multiply the numbers, and then put the product back into memory. This is tedious, and it’s easy for a software developer to make mistakes.

So, some smart person invented the idea of compiled programming languages. The idea being, you can write some code, and a program compiles, or converts the code into much simpler commands that the processor can understand.

#apple #hardware #apple-silicon #mac #ios

What is GEEK

Buddha Community

A software engineer explains why Apple is moving to its own silicon

Software Developer vs Software Engineer — Differences: Bogus or Real?

Software Developers vs Software Engineers

Personally, it pisses me off. Every time I see an article on this topic, my emotional bank account gets robbed. They are all about SEO. Inappropriate keywords squeezed into tiny sentences just to get better rankings. No intent to entertain or enlighten the reader whatsoever. Sometimes, such articles can even be outright wrong.

And even though the purpose of this blog post can be to generate traffic, I tried to make it more of a meaningful rant than a lifeless academic essay.

So, let’s see how you feel by the time you are done reading this paper.

Without further ado:

Since there are no proper interpretations of both terms, a lot of people use them interchangeably.

However, some companies consider these terms as job titles.

The general “programmer-developer-engineer” trend goes along the lines of:

  • programmer is someone who knows how to code, understands algorithms and can follow instructions. Yet, it doesn’t go further in regards to responsibilities.
  • developer is someone superior to the programmer. Except for coding, they also do design, architecture, and technical documentation of the software component they are building. They might be referred to as leaders, but not necessarily.
  • Finally, an engineer implies that you are the real deal. You’ve graduated with a degree, have some tech knowledge, and preferably experience… and you are capable of designing a software system (a combination of software components your peons, the programmers, have built). You’re like an overseer. You can see the bigger picture. And it’s your responsibility to clearly explain that “picture” to your team.

#devops #software development #programming #software engineering #software developer #programmer #software engineer #software engineering career

Hertha  Mayer

Hertha Mayer

1597850760

A software engineer explains why Apple is moving to its own silicon

Apple’s Worldwide Developer Conference, which kicked off at the end of June, brought a slew of software changes to all of its devices. We finally got to see widgets on the home screen of iPads and iPhones, and macOS has received its biggest visual update since macOS Yosemite. But, the biggest announcement was saved for the end of the Keynote, where CEO Tim Cook announced over the next two years, their Mac lineup would transition away from Intel to their own Apple Silicon.

Let’s break down what this means.

Here’s me explaining why Apple has taken this move to move to their own silicon

As a software engineer who has done a 4 year computer science degree, I thought I’d try to explain exactly what this change means, and why I think Apple has decided to go down this path.

Let me begin by explaining what happens when software is built. Every app on your phone, website built or program on your PC is backed by code. The code describes exactly how everything on screen is displayed, and what happens when you click a button or tap an image. Even when you use a tool like Wix or Squarespace to create your website, even though you don’t need to write any code, in the background they are generating code for you, as this is what web browsers need to display the website.

Image for post

An example of some code used to generate an app

And, each of these programs, websites or apps needs to be understood by the hardware in your computer. The CPU or processor, the graphics card and the memory all need to be told what to do in order to display and run the app you have just downloaded. But, this hardware doesn’t directly understand the code that a software developer has written. In fact, the code that the developer is writing is often very far removed from how the processor in your computer or phone runs the program.

Image for post

Computer hardware — Photo by Thomas Jensen on Unsplash

The best way to explain this is through a metaphor. Imagine you need to get 5 basic robots to bake you a cake. The robots only know a few basic words — move their arms up or down, clasp their hands, and release their hands. Basically, they have the motor skills to bake a cake, but they have no idea how to open a packet of chocolate chips, or that eggs need to be combined with flour.

So, what you could do is spend a lot of time meticulously telling them every step along the way:

  1. Grasp the packet of chocolate chips
  2. Lift your arms up
  3. Keep one arm still
  4. Move the other arm in the opposite direction etc.

But, this process is tedious, and if you had to write it down and give it to the robots before they started baking the cake, and you couldn’t modify it while they were baking it, you’d probably find they’d make a lot of mistakes because you’ve missed some steps.

And, this is the same with programming or coding a program. The processor is the robots, and the processor only understands very basic commands — although it can do a lot of them at once. So, if you wanted to write a simple program to multiply two numbers together, you’d need to specify a large number of steps to get it to multiply the numbers, like pull the first number out of memory, pull the second number out of memory, multiply the numbers, and then put the product back into memory. This is tedious, and it’s easy for a software developer to make mistakes.

So, some smart person invented the idea of compiled programming languages. The idea being, you can write some code, and a program compiles, or converts the code into much simpler commands that the processor can understand.

#apple #hardware #apple-silicon #mac #ios

Custom Software vs Off-the-shelf Software: How to select a better one for your business?

Custom Software or Off-the-shelf software, the question in mind for many business personnel. Read this blog to get help to make the right decision that will benefit your business.
For a business that wants to upgrade and modernize itself with the help of software, a common dilemma it is whether to go for custom-made software or opt for off-the-shelf software. You can find many top software development companies worldwide, but before that all, you should first decide the type of software –an off-the-shelf software or a custom one.
This blog aims to overcome the dilemma and accord some clarity to a business looking to automate its business processes.

#custom software vs off-the-shelf software #custom software development companies #top software development companies #off-the-shelf software development #customized software solution #custom software development

SangKil Park

1591846392

Science and Engineering in Software Architecture

We are passing through tough times, “The moment everything changed” with COVID-19, quarantine, people trying adapt their day to day, companies not prepared to work remotely… On top of that, one thing that I have seen is a lack of science in different aspects. Lots of assumptions, lack of data and a complete chaos.

In engineering, one thing that we don’t want is chaos — WHAT?! But what about chaos mindset, chaos engineering? — don’t get me wrong, as engineers , we accept chaos and live with it, but build stable and resilient systems on top of it.

According to wikipedia, “Scientists study things by looking at them very carefully, by measuring them, and by doing experiments and tests. Scientists try to explain why things act the way they do, and predict what will happen” and also “Science uses mathematics and logic, which are sometimes called ‘formal sciences’.”, “ Science produces accurate facts, scientific laws and theories”. And as you well know, against facts there are no arguments.
Science is about exploring, experimentation, discovery and, of course, data. Please, data. Let’s base our propositions, our argues and discussions on concrete things…

#software-architecture #software-methodology #computer-science #software-improvement #software-engineering

Christa  Stehr

Christa Stehr

1594456938

Offshore Software Development - Best Practices

With the rise of globalization and the worldwide lockdown due to the pandemic, most of the work has been done by remote working processes and professionals from their homes. This lockdown has proved the efficiency of remote development and enhanced the trust in offshore software development industry.

To make the most out of the benefits of offshore software development, you should understand the crucial factors that affect offshore development. This is why you should read this guide for the best practices when hiring an offshore software development company. Despite the size and the industry of the business, offshore software development is not beneficial for every entrepreneur in many aspects to make the optimum use of talents in technology across the globe.

Here are some of the top reasons why offshore development is beneficial for your business.

  • Offshore development teams can work on flexible timing to provide you with the best possible software development practices.
  • Get access to the talents across the world from your home to develop the top of the line software with the help of offshore development companies.
  • Assured high quality and next-generation technology expertise with duly NDA signed with respect to the priorities of the business.
  • With flexible recruitment models, you can hire the freelance developers, remote development team, or an entire offshore development company with respect to the size of your business.
  • Build high-end software applications from one corner of the world by hiring software developers across the world.
  • Get immediate access to the best resources without hiring them on a permanent basis.

To avail of all these benefits, you should have clear goals, a list of requirements, and features that are mandatory for your software product.

Here are a few tips to help you find the best offshore software development company. Build a top-notch software application by following the listed best practices.

#web development #how to start offshore software development company #offshore meaning #offshore software development best practices #offshore software development company #offshore software development company in india #offshore software development cost #offshore software development statistics #outsource software development