Without computer language we cannot create computer software. In analogy it is similar to our human language. The computer programming language evolved from 1804 year onwards with hardware specific unique language or assembly language. Each new computer languages hides the complexities of previous computer language! For example Basic and C language hides the complexities of assembly language and are some what human friendly!
Programming paradigms are a way to classify programming languages based on their features.
Languages can be classified into multiple paradigms. Some of the programming paradigms and its programming languages are as follows:
Implemented by programming languages, like Fortran and Algol
Implemented by programming languages, like Cobol, Basic, Pascal, Smalltalk, C and Objective C
Object oriented programming
Implemented by programming languages, like C++ and Objective C++
The programming languages are not fully human friendly after so many evolutions! They are technical oriented and require special training! It is difficult to find peoples skilled well in those! They are mostly designed focusing on machines, rather than humans!
No code software
We are going to enter a new paradigm shift called no code software, which is designed for humans and not machines! The end user no need to know any technical things like programming language, but just visual cues that is more closer to human understanding and doesn’t require much training! Anyone remember a quote that says “a picture is equivalent to thousand words”! So, the no code software is used directly by the end user that require software automation! No much intervention by software development company. The cost and time to develop are very less! Some can be developed in minutes!
Stil some people need to develop the no code software using a programming language and expertise is needed for it! But do we need so many programming languages, since no code software hides the programming language? Why can’t we have a single better programming language for each hardware?
There are three types one is application software, next is system software and the final one is programming tools! Some software runs in a system with resources limitations like memory, storage, cpu, gpu, etc.,
There are two types of devices: One is a full blown computer device and other is an embedded device (part computer)!
Full blown computers like laptop, mobile, etc., we are familiar with!
The embedded devices are embedded part of another device! The embeded device has its own CPU, I/O controller, wireless communication, etc., Some embedded devices don’t require visual cues while running. Some require mechanical buttons, LEDs, graphics or character LCD’s with a simple menu system! But using mechanical buttons, character based display devices for inputs are not customisable and damages over time, even though it has many advantages. Due that we need new technology like touch screens! So to control the embedded devices we just need popular devices like desktop, laptop, tablet, mobile, watch, hardware controller, etc., connected to the embedded devices over wired or wireless connection!
Those devices need softwares! One of them is
Application softwares and are commonly found in desktop, laptop, tablet, TV and watch! Another one is…
Embedded softwares (part of system software) and are commonly found in robots, consumer, industrial, automotive, home appliances, medical, telecommunication, commercial and military. Also used to implement IoT.
Advantages of Swift
Anything that is automated in software should reduce manual work, increase productivity and should be human friendly!
Swift is one and developed by Apple Inc. for iOS, iPadOS, macOS, watchOS, tvOS, and Linux.
- It is expressive, fast, low memory foot print, safe and good quality
- It is based on open source
- It is capable of creating programs that can run in desktop, laptop, tablet, mobile, TV and watch! Future it may be Car, Spectacles, HMD, Health accessory, etc., One programming language may not cover all things in a software! One may need
Other programming languages
Swift programming language based softwares run mostly in Apple Inc. developed hardware devices! Some non user interface programs like web service use Swift and can run in cheaper Linux hardware!
Since Apple products are costly and many people cannot afford, we need other programming languages by vendors like Google and Microsoft to create full blown applications. Those can be Kotlin by Google for its Android devices and Universal Windows Platform (UWP) by Microsoft for its Windows devices! You must note that if we have one programming language for all platform then it will reduce the burden of the programmers to learn more things! It also reduces cost!
Embedded applications are developed using C, C++ and Python and also needs no code features! The visual cues can be provided by an application software! The device interactions are done by a device specific software development kit (SDK) that is residing within application software. The SDK acts as an interface to the device!
An application can always be accessed through internet (online) or without internet (offline). If the application is always online then Swift is enough to handle server side of things and other languages including Swift are just needed for user interface alone (similar to web application but different)! If an application need both online and offline feature then other languages are fully needed, but anybody thought about duplicate efforts? For avoiding duplicates and decrease the effort there are platform independent frameworks like Flutter (similar to Java, uses its own language Dart) by Google exists, but have some disadvantages and is slower than native applications!
Swift is a native programming language. Application created using it are fast and can access all the features and benefits of the operating system and hardware it runs!
I feel Swift programming language is best for developing application software and no code software since it is working as per nature, except charging high cost and tax. If money is not a matter Swift is the best programming language! It is up to the user to choose whatever they want!