In-Depth Look into Other Languages
- Ang Yong Xiang Adwin

- Oct 29, 2018
- 3 min read
Here I look into the other programming languages stated in the previous post
Python
To me, my experience with Python has mostly been developing applications that runs on the IDLE, learning the absolute basics of programming. Python is also very popular amongst data scientist due to the very powerful variety of data science libraries that it has. I have learnt a little of data science tools such as the Matplotlib.
For GUI, Python has Tkinter, an old but popular framework. I have experimented a bit with it in the past, I did not find it very intuitive, probably due to me not being familiar with it.
One interesting framework that I found is Kivy, it supports Cross-Platform GUI, we can develop for Windows, Android, IOS, Macos, Linux.
But for web development there are 2 popular ones, Flask and Django. Django follows MVC structure with many tools provided. Flask is known as a microframework which is what I consider a barebone framework with not many tools, however it has many support by the community to add libraries which can beef Flask to a appropriate level that we can use.
Resources Flask Development: https://medium.freecodecamp.org/how-to-build-a-web-application-using-flask-and-deploy-it-to-the-cloud-3551c985e492
Tkinter tutorial: https://www.youtube.com/watch?v=HjNHATw6XgY
Django tutorial: https://www.youtube.com/watch?v=FNQxxpM1yOs&list=PLQVvvaa0QuDeA05ZouE4OzDYLHY-XH-Nd
Swift
Swift is quite new and is heavily endorsed by Apple. It has many potential for growth, and it is type safe too, which makes the development of app less prone to errors.
For Web development, Swift has Kitura which was even mentioned in Apple's 2016 WWDC 2016 by bringing up IBM on stage to talk about it.
For Native App development, IOS is obviously the main feature of Swift. However, Android apps can also be developed with Swift via this platform called Scade. Scade has it's own IDE to develop for both Android and IOS.
Resources
Scade documentation:https://docs.scade.io/docs
Ruby
I have never touched Ruby before, but it is quite interesting how it's framework Rails is what popularized the language, this shows how powerful Ruby on Rails is.
Ruby was created with a similar purpose in mind as python, which was to create a programming language that is as simple to learn as python. Ruby has similar syntax to programming languages like C and Java which can support new programmer's transition to those languages. Ruby is a pure Object-Oriented language, where everything in Ruby is an object except blocks.
Rails is a web application development framework written in Ruby language. Rails makes assumptions about what every developer needs to get started in order to make programming web applications easier. With all these assumptions, it allows programmers to write less codes while doing much more than other frameworks and languages.
Therefore, Rails is an opinionated software, due to it's assumption that there is a "best" way to do things, therefore it can clash with some developer's style and the developers will have to adjust accordingly to the framework.
Rails has two major guiding principles: Don't Repeat Yourself and Convention Over Configuration.
Don't Repeat Yourself: basically means that the developers are not rewrite the same information in order to ensure ease of maintenance, more extensibility, and less bugs.
Convention Over Configuration: means that Rails has many defaults for conventions, therefore there is no need for configuration files. It is like how Bootstrap provides many defaults for conventions, whereas CSS is where developers can develop many configuration files.
Resources
Rails Documentation:https://guides.rubyonrails.org/getting_started.html
PHP
I always had the impression that PHP was a very old programming language, however after looking into the many programming languages, it turns out that PHP is considered one of the new ones compared to the rest of the programming language that I have looked at, PHP is even newer than Python.
PHP is a server-side scripting language which is designed for web development. PHP supports Object Oriented and Functional programming.
PHP has two very well established framework for web app development: Laravel and Symfony
These framework are good for server side set up and database connections.
PHP also has package manager called Composer which helps manage dependencies of libraries. It even has a templating engine called Blade.
Resources
Brief Introduction: https://medium.com/employbl/a-developers-introduction-to-php-f8430572365c
Introduction of Modern PHP: https://medium.freecodecamp.org/this-is-what-modern-php-looks-like-769192a1320
Roadmap (Laravel): https://medium.com/@mattburgess/a-roadmap-for-php-learning-e7071b528424
Go
It is a super new programming language compared to all the other languages that I have looked into. It contains many features that aligns with what people need. For example, compared to all other languages, Go support multi-threading compared to languages Ruby, JS, PHP and other web-development centered languages. The developer also showed obvious support for web development in Go, as we can even build a web app easily without the usage of frameworks unlike other programming language.
Go also has tools and frameworks that aids in making the web development more efficient and effective. Gorilla is a web toolkit that is recommended for building web apps. Echo is one of recommended framework for web app.
Resources
Native Go Web App development: https://golang.org/doc/articles/wiki/
Gorilla: http://www.gorillatoolkit.org
Benefits over Python: https://hackernoon.com/5-reasons-why-we-switched-from-python-to-go-4414d5f42690



Comments