{"id":5511,"date":"2017-03-23T08:51:03","date_gmt":"2017-03-23T11:51:03","guid":{"rendered":"https:\/\/www.mxcursos.com\/blog\/?p=5511"},"modified":"2019-03-16T20:32:28","modified_gmt":"2019-03-16T23:32:28","slug":"por-que-escolhi-python","status":"publish","type":"post","link":"https:\/\/www.mxcursos.com\/blog\/por-que-escolhi-python\/","title":{"rendered":"Por que escolhi Python?"},"content":{"rendered":"<p style=\"text-align: justify;\">A primeira linguagem de programa\u00e7\u00e3o que tive contato foi a linguagem C no primeiro semestre do curso de Ci\u00eancia da Computa\u00e7\u00e3o. C \u00e9 uma linguagem muito boa, \u00e9 muito r\u00e1pida (\u00e9 uma linguagem de m\u00e9dio n\u00edvel) e eu a utilizo at\u00e9 hoje (tanto C quanto C++).<\/p>\n<p style=\"text-align: justify;\">Eu elaborei cursos sobre C e C++, ambos os cursos podem ser encontrados\u00a0na <a href=\"https:\/\/www.mxcursos.com\/marcos-castro\" target=\"_blank\" rel=\"noopener noreferrer\">minha p\u00e1gina no MX Cursos<\/a>. Implementei v\u00e1rios algoritmos e estruturas de dados com a linguagem C, depois fiz outros programas com interface gr\u00e1fica e continuo\u00a0utilizando at\u00e9 hoje.<\/p>\n<p style=\"text-align: justify;\">Gosto de C porque C \u00e9 uma linguagem absurdamente r\u00e1pida. Obviamente que a linguagem tamb\u00e9m n\u00e3o \u00e9 nenhuma bala de prata: digamos que voc\u00ea tenha um grande conjunto de dados para ordenar e utiliza o Bubble Sort (algoritmo de complexidade quadr\u00e1tica) para tal ordena\u00e7\u00e3o, fica complicado n\u00e3o \u00e9 mesmo?<\/p>\n<h2 style=\"text-align: justify;\">Um simples Hello World um tanto complicado&#8230;<\/h2>\n<p style=\"text-align: justify;\">Depois utilizei Java por um tempo e n\u00e3o gostei porque acho uma linguagem muito verbosa. Voc\u00ea precisa escrever bastante c\u00f3digo para resolver um problema em Java. Para um simples &#8220;Hello World&#8221; voc\u00ea precisa criar uma classe, ou seja, \u00e9 uma linguagem que for\u00e7a voc\u00ea a utilizar o paradigma orientado a objetos.<\/p>\n<p style=\"text-align: justify;\">E j\u00e1 que falamos de orienta\u00e7\u00e3o a objetos, segue um frase de Edsger Dijkstra (autor do algoritmo de caminhos m\u00ednimos que leva o nome dele) para descontrair um pouco:\u00a0&#8220;Programa\u00e7\u00e3o orientada a objetos \u00e9 uma p\u00e9ssima ideia, que s\u00f3 poderia ter nascido na Calif\u00f3rnia.&#8221;<\/p>\n<p style=\"text-align: justify;\">Orienta\u00e7\u00e3o a objetos \u00e9 um dos paradigmas que voc\u00ea pode utilizar para resolver problemas, mas imagine um iniciante em programa\u00e7\u00e3o tendo que criar uma classe para um simples &#8220;Hello World&#8221; sem nunca ter visto orienta\u00e7\u00e3o a objetos na vida, pode ser um tanto traum\u00e1tico n\u00e3o \u00e9 mesmo?<\/p>\n<p style=\"text-align: justify;\">Depois de Java eu conheci Python e a\u00ed foi amor a primeira vista. No tempo comecei com Python 2.7 e depois comecei a utilizar tamb\u00e9m o Python 3. Eu j\u00e1 tinha ouvido falar de Python no livro Conceitos de Linguagens de Programa\u00e7\u00e3o do autor Sebesta. Trata-se de um excelente livro onde ele faz um paralelo entre v\u00e1rias linguagens de programa\u00e7\u00e3o, dar uma vis\u00e3o geral das caracter\u00edsticas de algumas linguagens, recomendo fortemente a leitura desse livro.<\/p>\n<p style=\"text-align: justify;\">Lembre-se: n\u00e3o existe a melhor linguagem de programa\u00e7\u00e3o, n\u00e3o existe o melhor algoritmo e n\u00e3o existe a melhor estrutura de dados. Se algu\u00e9m lhe perguntar qual a melhor tecnologia basta dar a resposta de engenheiro: depende.<\/p>\n<h2 style=\"text-align: justify;\">Python: uma linguagem\u00a0simples e produtiva<\/h2>\n<p style=\"text-align: justify;\">E por que eu gostei tanto de Python? Python \u00e9 uma linguagem muito simples de tal forma que permite a voc\u00ea se concentrar mais no problema do que ficar batendo cabe\u00e7a com a linguagem em si.<\/p>\n<p style=\"text-align: justify;\">Python \u00e9\u00a0uma linguagem n\u00e3o verbosa, \u00e9 multi-paradigma (ningu\u00e9m vai lhe obrigar a escrever uma classe para um simples &#8220;Hello World&#8221;), voc\u00ea pode utilizar Python para resolver problemas das mais diversas \u00e1reas (jogos, web, machine learning, data science, bioinform\u00e1tica e outras), vem com bastante coisa no ponto para voc\u00ea utilizar (baterias inclusas), possui uma s\u00e9rie de bibliotecas externas que lhe permitem fazer v\u00e1rios tipos de aplica\u00e7\u00f5es e o melhor: possui uma comunidade incr\u00edvel!<\/p>\n<p style=\"text-align: justify;\">Por ter uma comunidade t\u00e3o recept\u00edvel, foi muito natural a minha participa\u00e7\u00e3o em eventos da linguagem Python. Primeiramente participei de eventos regionais na minha cidade e em 2015 palestrei na Python Brasil (maior confer\u00eancia brasileira da comunidade Python).<\/p>\n<p style=\"text-align: justify;\">E como eu aprendi Python? Utilizando Python para as mais diversas aplica\u00e7\u00f5es. Utilizei para Bioinform\u00e1tica (utilizei bastante Biopython), tamb\u00e9m utilizei para Web (frameworks Django, Web2py, Bottle, Flask), jogos (Pygame), computa\u00e7\u00e3o cient\u00edfica (Numpy, pandas), machine learning (Pybrain, scikit-learn) etc.<\/p>\n<p style=\"text-align: justify;\">Python \u00e9 uma linguagem muito produtiva, possui uma curva de aprendizado muito interessante que te permite, atrav\u00e9s de uma sintaxe simples, escrever as mais diversas aplica\u00e7\u00f5es mesmo voc\u00ea n\u00e3o sendo um expert na linguagem.<\/p>\n<p style=\"text-align: justify;\">Eu elaborei alguns treinamentos para o MX Cursos de Python e outros est\u00e3o em produ\u00e7\u00e3o. Elaborei <a href=\"https:\/\/www.mxcursos.com\/python-treinamento-fundamental\" target=\"_blank\" rel=\"noopener noreferrer\">Python &#8211; Treinamento Fundamental<\/a>, <a href=\"https:\/\/www.mxcursos.com\/python-intermediario\" target=\"_blank\" rel=\"noopener noreferrer\">Python Intermedi\u00e1rio<\/a>\u00a0e <a href=\"https:\/\/www.mxcursos.com\/programando-interface-grafica-com-python-e-tkinter\" target=\"_blank\" rel=\"noopener noreferrer\">Programando Interface Gr\u00e1fica com Python e Tkinter<\/a>.<\/p>\n<p style=\"text-align: justify;\">Pode ser que na data que voc\u00ea esteja lendo esse post j\u00e1 tenham outros treinamentos de Python que eu produzi, ent\u00e3o basta acessar a minha p\u00e1gina no MX Cursos para ver todos os cursos:\u00a0<a href=\"https:\/\/www.mxcursos.com\/marcos-castro\" target=\"_blank\" rel=\"noopener noreferrer\">mxcursos.com\/marcos-castro<\/a>.<\/p>\n<p style=\"text-align: justify;\">Um grande abra\u00e7o!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A primeira linguagem de programa\u00e7\u00e3o que tive contato foi a linguagem C no primeiro semestre do curso de Ci\u00eancia da Computa\u00e7\u00e3o. C \u00e9 uma linguagem muito boa, \u00e9 muito r\u00e1pida (\u00e9 uma linguagem de m\u00e9dio n\u00edvel) e eu a utilizo at\u00e9 hoje (tanto C quanto C++). Eu elaborei cursos sobre C e C++, ambos os [&hellip;]<\/p>\n","protected":false},"author":67,"featured_media":5553,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1178],"tags":[],"class_list":["post-5511","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacao"],"_links":{"self":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts\/5511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/users\/67"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/comments?post=5511"}],"version-history":[{"count":0,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/posts\/5511\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/media\/5553"}],"wp:attachment":[{"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/media?parent=5511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/categories?post=5511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mxcursos.com\/blog\/wp-json\/wp\/v2\/tags?post=5511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}