{"id":52,"date":"2018-08-06T21:56:03","date_gmt":"2018-08-07T00:56:03","guid":{"rendered":"http:\/\/lucianodev.com.br\/blog\/?p=52"},"modified":"2022-06-09T01:38:50","modified_gmt":"2022-06-09T04:38:50","slug":"programar-por-onde-comecar","status":"publish","type":"post","link":"https:\/\/lucianodev.com.br\/blog\/programar-por-onde-comecar\/","title":{"rendered":"Programar: Por onde come\u00e7ar ?"},"content":{"rendered":"<p><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4648498281437791\"\n     crossorigin=\"anonymous\"><\/script><br \/>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-4648498281437791\"\n     data-ad-slot=\"6352579729\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>Acredito que essa seja uma d\u00favida que muitas pessoas que queiram aprender a desenvolver sistemas de informa\u00e7\u00e3o tenham. Por onde devo come\u00e7ar?<\/p>\n<p>Todo o indiv\u00edduo que queira aprender a desenvolver e criar seus pr\u00f3prios programas (independente se ser\u00e1 uma aplica\u00e7\u00e3o comercial, um jogo para Android ou IOS, ou uma p\u00e1gina Web envolvendo diversas tecnologias) precisa saber primeiramente l\u00f3gica de programa\u00e7\u00e3o e algoritmos.<\/p>\n<p>Bom, ai vem uma parte em que muitos tem MEDO: A palavra Algoritmo.<\/p>\n<p>Muitos ao ouvir a palavra &#8220;Algoritmo&#8221; j\u00e1 logo lembram de c\u00e1lculos, matem\u00e1tica, geometria e muitas outras coisas complexas que acabam <strong>DESMOTIVANDO<\/strong> o interesse pela programa\u00e7\u00e3o.\u00a0 Se voc\u00ea pensou dessa forma, vou te falar uma coisa: <strong><span style=\"color: #800000;\">Voc\u00ea pensou de forma exageradamente errada<\/span><\/strong>.<\/p>\n<p>A palavra Algoritmo (que muitos as vezes confundem com Logaritmo) n\u00e3o tem nada a ver com matem\u00e1tica ou encarar c\u00e1lculos. Em inform\u00e1tica, algoritmo consiste em uma <strong>sequ\u00eancia de passos<\/strong> que precisam ser seguidos para que um problema possa ser resolvido. A sequ\u00eancia de passos que eu me refiro e representado na programa\u00e7\u00e3o como um conjunto de instru\u00e7\u00f5es executando tarefas.<\/p>\n<p>Essas instru\u00e7\u00f5es s\u00e3o representadas normalmente por comandos de uma linguagem de programa\u00e7\u00e3o (ferramenta que o profissional usa para criar um sistema). Apesar desses comandos as vezes lembrar algumas fun\u00e7\u00f5es aplicadas na matem\u00e1tica, n\u00e3o precisamos se assustar ao aprender a programar. O ponto mais importante na programa\u00e7\u00e3o \u00e9 conhecer a <strong>REGRA GRAMATICAL DA SINTAXE<\/strong> de uma linguagem de programa\u00e7\u00e3o e seus comandos, pois na maioria das situa\u00e7\u00f5es iremos efetuar coisas at\u00e9 simples (e n\u00e3o c\u00e1lculos matem\u00e1ticos).<\/p>\n<p><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4648498281437791\"\n     crossorigin=\"anonymous\"><\/script><br \/>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-4648498281437791\"\n     data-ad-slot=\"6352579729\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<p>Bom, at\u00e9 aqui descobrimos que para come\u00e7ar a programar devemos come\u00e7ar pela l\u00f3gica de programa\u00e7\u00e3o com Algoritmos, por\u00e9m, agora entra uma quest\u00e3o importante: Qual ferramenta (ou melhor, linguagem) ideal para come\u00e7armos a aprender a programar ?<\/p>\n<p>Muitos profissionais na \u00e1rea da programa\u00e7\u00e3o que lecionam sobre desenvolvimento de sistemas possuem diversas opini\u00f5es em rela\u00e7\u00e3o a essa quest\u00e3o, pois cada um defende uma ideia (assim como eu).<\/p>\n<p>H\u00e1 muitos anos, as faculdades de computa\u00e7\u00e3o e escolas t\u00e9cnicas de programa\u00e7\u00e3o, adotavam como aprendizado de algoritmo a linguagem Pascal, pelo fato dela ser muito bem estruturada e de f\u00e1cil aprendizado para a constru\u00e7\u00e3o de programas de computador (al\u00e9m de todo o aprendizado te\u00f3rico inicial sobre Algoritmo). Haviam outras linguagens tamb\u00e9m que eram tamb\u00e9m utilizadas na programa\u00e7\u00e3o como ADA, Fortran e etc.<\/p>\n<p>Mas, a linguagem essencial para o aprendizado sobre algoritmo na verdade \u00e9 o <strong>PORTUGOL<\/strong> (ou Portugu\u00eas Estruturado), onde todos os comandos eram expressos em portugu\u00eas (e n\u00e3o em ingl\u00eas como \u00e9 o caso das linguagens de programa\u00e7\u00e3o atuais).<\/p>\n<p>Nessa \u00e9poca, n\u00e3o haviam ferramentas de programa\u00e7\u00e3o\u00a0em que pod\u00edamos escrever os comandos <strong>EM PORTUGU\u00caS<\/strong>, adotando assim uma linguagem pr\u00f3xima para esse aprendizado (como \u00e9 o caso de Pascal).<\/p>\n<p>Nos dia de hoje, j\u00e1 contamos com ferramentas de programa\u00e7\u00e3o para aprendizado de algoritmos em linguagem PORTUGOL(como o VisualG e o Portugol Studio), onde todos os comandos est\u00e3o em portugu\u00eas, facilitando assim o seu entendimento.<\/p>\n<p>H\u00e1 tamb\u00e9m quem defenda que o aprendizado de programa\u00e7\u00e3o deva come\u00e7ar com linguagens de programa\u00e7\u00e3o profissionais focadas na constru\u00e7\u00e3o de sistemas que\u00a0 usem o paradigma de Programa\u00e7\u00e3o Orientada a Objetos (ou POO como \u00e9 conhecido), como Java, C++ e etc. Eu particularmente N\u00c3O CONCORDO COM ESSA METODOLOGIA.<\/p>\n<p>Eu acredito que o aprendizado para aprender a programar <strong>N\u00c3O PODE SER ATROPELADO<\/strong>, pois na programa\u00e7\u00e3o, para quem vai come\u00e7ar, \u00e9 algo inicialmente CONFUSO e DIF\u00cdCIL, o que \u00e9 absolutamente normal.<\/p>\n<p>Ent\u00e3o, se voc\u00ea deseja aprender Algoritmos com foco no desenvolvimento de sistemas, aconselho come\u00e7ar com ferramentas de desenvolvimento em PORTUGOL (como o VisualG e Portugol Studio).<\/p>\n<p><script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js?client=ca-pub-4648498281437791\"\n     crossorigin=\"anonymous\"><\/script><br \/>\n<ins class=\"adsbygoogle\"\n     style=\"display:block; text-align:center;\"\n     data-ad-layout=\"in-article\"\n     data-ad-format=\"fluid\"\n     data-ad-client=\"ca-pub-4648498281437791\"\n     data-ad-slot=\"6352579729\"><\/ins><br \/>\n<script>\n     (adsbygoogle = window.adsbygoogle || []).push({});\n<\/script><\/p>\n<h2>Da para construir sistemas profissionais com VisualG ou Portugol Studio?<\/h2>\n<p>O VisualG e Portugol Studio s\u00e3o ferramentas para APRENDIZADO de programa\u00e7\u00e3o, permitindo que voc\u00ea aprenda como construir um programa de computador. O intuito dessas ferramentas \u00e9 ser absolutamente did\u00e1ticas, permitindo criar programas para fins de aprendizado, n\u00e3o podendo ser capazes de construir sistemas mais complexos. Por\u00e9m, esses casos dependem muito da ferramenta de aprendizado escolhida, pois algumas delas possuem mais recursos permitindo a constru\u00e7\u00e3o de programas com mais funcionalidades (como \u00e9 o caso do Portugol Studio, em que \u00e9 poss\u00edvel criar aplica\u00e7\u00f5es que manipulem gr\u00e1ficos).<\/p>\n<h2>J\u00e1 aprendi algoritmo com uma das ferramentas acima. Agora, qual linguagem de programa\u00e7\u00e3o escolher?<\/h2>\n<p>Se voc\u00ea j\u00e1 aprendeu algoritmo com uma das ferramentas acima, a pr\u00f3xima linguagem de programa\u00e7\u00e3o a estudada fica a seu crit\u00e9rio. \u00c9 muito comum institui\u00e7\u00f5es de ensino abordar ap\u00f3s o aprendizado de Algoritmos com Portugol o uso da linguagem C, C++ ou at\u00e9 mesmo Java.<\/p>\n<p>Sabendo inicialmente o Algoritmo com a linguagem PORTUGOL, voc\u00ea j\u00e1 ser\u00e1 capaz de aprender outras linguagens sem muita dificuldade, bastando conhecer sua sintaxe e suas caracter\u00edsticas.<\/p>\n<h2>Download das ferramentas de programa\u00e7\u00e3o<\/h2>\n<ul>\n<li><strong>VisualG: <\/strong>O VisualG \u00e9 uma ferramenta focada na cria\u00e7\u00e3o de algoritmos escritos em PORTUGOL desenvolvida inicialmente por Cl\u00e1udio Morgador de Souza e atualmente mantida por Antonio Carlos Nicolodi. \u00c9 uma ferramenta bastante simples e de\u00a0 f\u00e1cil\u00a0 aprendizado. Eis o link para o download: <strong><a href=\"https:\/\/sourceforge.net\/projects\/visualg30\/\">https:\/\/sourceforge.net\/projects\/visualg30\/<\/a><\/strong><\/li>\n<li><strong>Portugol Studio: <\/strong>O Portugol Studio \u00e9 uma outra ferramenta para o aprendizado de Algoritmos em PORTUGOL bastante robusta e poderosa, onde \u00e9 poss\u00edvel at\u00e9 construir programas gr\u00e1ficos. Ela foi desenvolvida pelo estudante\u00a0Luiz Fernando Noschang da Universidade do Vale do Itaja\u00ed (UNIVALI). Eis o link para download:<strong> <a href=\"http:\/\/lite.acad.univali.br\/portugol\/\">http:\/\/lite.acad.univali.br\/portugol\/<\/a><br \/>\n<\/strong><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Acredito que essa seja uma d\u00favida que muitas pessoas que queiram aprender a desenvolver sistemas de informa\u00e7\u00e3o tenham. Por onde devo come\u00e7ar? Todo o indiv\u00edduo que queira aprender a desenvolver&hellip;<\/p>\n","protected":false},"author":1,"featured_media":53,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3],"tags":[],"class_list":["post-52","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas","category-programacao"],"_links":{"self":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":13,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/52\/revisions"}],"predecessor-version":[{"id":731,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/posts\/52\/revisions\/731"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media\/53"}],"wp:attachment":[{"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/media?parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/categories?post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lucianodev.com.br\/blog\/wp-json\/wp\/v2\/tags?post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}