PelpinsA Clean Look and New Perspective of Technical Writing

Python

My favorite to start

Hooman 07-04-2018

Background & Setup

Django is one of the most popular web frameworks for Python. It is realiable, fast and fun to learn. I had an amazing experience learning Django and would love to share my two cents with you.

# Here is an easy setup through command line
$ pip install django
$ python -m django —version
$ django-admin startproject django_project_name
$ python manage.py runsever 7000 

'''
django server is running on localhost:7000
'''
										

Suggestions & Starting Points

Django has similar concepts as MVC models but instead it is Model, View, Template. The models are defined in relation to your Database schemas. Views are the core logic of each API or URL patterns that will define the routers of the web service. Finally, Templates are where frontend logic lays out.

The best way to learn Django is to setup a web service with URL patterns, try some GET, POST, etc requests and manage the views logic.

All the configurations of Django project is done through `settings.py` file which is created through `django-admin startproject` command above. One can change the database, modify installed apps or models and many other configs tasks all in one place.

Golang

My favorite backend language

Hooman 10-10-2020

Background & Popularity

Golang has became very popular language among different software comapnies in the industry. The main reason is that Go is compiled language and has exteremly fast computations both serially and with concurrency.

Suggestions

Golang is well known for simplicity of its frameworks. Gin and Kite are two popular frameworks: first one is for the purpose of web services and https requests and latter is for RPC calls and Thrift setup.

If I were to choose one language for backend web services, I would go with Golang since it claims that it can be 40X faster compared to other languages. Besides, the alternative to Golang is Python and it has lots of issues with concurrency and it does not achieve multithreading the way that Go does. Therefore, Golang becomes a great option for both its simplicity of its frameworks and complexity when it comes to multithreading problems. However, there are other options such as Elixir but even though Elixir achieves multithreading, it is a functional language and it is much more difficult to write the right code compared to simple channels and goroutines that Golang offers.

Elixir

My favorite functional language

Hooman 10-24-2020

Background

Elixir is functional language based on Erlang which has great features and popular web framework called Phoneix. Elixir is useful for concurrency purposes if one knows how to setup its light-weight threads (green threads).

Suggestion

Only use this language in production if your team is comfortable using functional language! There is a big learning curve to pick it up and be able to produce production ready code. There are lots of pros and cons for using functional languages versus non-functional options such as Python or Golang. However, if you have used other functional languages like Lisp, Erlang and Haskell then you will love learning Elixir.