Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM



Documentos relacionados
Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

OPORTUNIDADES: Analista de Sistemas

Programação em Linguagens de Scripts. Prof. Msc. Anderson da Cruz

UFRPE Prof. Gustavo Callou

PHP AULA1. Prof. Msc. Hélio Esperidião

UNICE Ensino Superior Linguagem de Programação Ambiente Cliente Servidor.

SCE-557. Técnicas de Programação para WEB. Rodrigo Fernandes de Mello

Oportunidades 05/05/2015

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

Alunos. Hudson Martins da Silva Laércio Pedro Hoppe

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Oportunidades 30/05/2014

Conteúdo Programático de PHP

IIH Introdução à Informática e Hardware

Desenvolvendo Websites com PHP

Ementário do Curso Técnico em Informática para Internet

Disciplina: Introdução aos Sistemas Operacionais Professor: Fernando Santorsula

Linguagens de Programação. Linguagens de Script. Carlos Bazilio

Programação Web Prof. Wladimir

Desenvolvimento de Sites. Subtítulo

Frameworks para criação de Web Apps para o Ensino Mobile

Introdução. à Linguagem JAVA. Prof. Dr. Jesus, Edison O. Instituto de Matemática e Computação. Laboratório de Visão Computacional

WebApps em Java com uso de Frameworks

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

CURSO EFA DE TÉCNICO DE INFORMÁTICA E SISTEMAS. Módulo 788- Administração de Servidores Web. Ano letivo Docente: Ana Batista

OPORTUNIDADES CWI: Analista de Sistemas Sênior

OPORTUNIDADES CWI: Principais atividades: - Análise e desenvolvimento de sites Cross-plataform (IE/Firefox/Chrome/Safari).

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

FTIN Formação Técnica em Informática Módulo Sistema Proprietário Windows AULA 06. Prof. André Lucio

Fundamentos de Programação II. Introdução à linguagem de programação C++

Artur Petean Bove Júnior Tecnologia SJC

Vitor Diogo Faria Pereira. Programador / Analista de Sistemas e Software

Linguagem de Programação Para Internet II

FundamentosemInformática

Interessados deverão encaminhar currículo para e efetuar o cadastro em nosso site

TDC desenvolvimento. para iphone. Helder da Rocha

Fundamentos da Computação Móvel

Ferramentas de Administração. PostgreSQL

Manual de Instalação do OASIS

Frameworks para Desenvolvimento em PHP Elton Luís Minetto

Introdução aos Sistemas da InformaçãoAula 4 p. 1

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

PROJETO PEDAGÓGICO DE CURSOS

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

Introdução a Informática. Prof.: Roberto Franciscatto

AULA 1 PHP O QUE É APACHE FRIENDS

CURSO DE PROGRAMAÇÃO EM JAVA

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Programação de Computadores

Grails: o que isso quer dizer? Gilliard Cordeiro

LINGUAGEM DE PROGRAMAÇÃO WEB

Desenvolvendo Websites com PHP

ASP.NET 2.0 e PHP. Autor: Glauber de Almeida e Juarez Fernandes

O Windows é um software de sistema, que permite ao utilizador interagir com o computador e com os seus periféricos.

Introdução. Mais fácil de explicar, compartilhar, mudar, reutilizar e reaproveitar. Workflow funciona como integrador do conhecimento.

Sistema Gerador de Anúncios para Compra e Venda On-line. Leandro de Oliveira ol.leandro@gmail.com

Lucas Nascimento Santos

Geoprocessamento com Software Livre. Anderson Maciel Lima de Medeiros Consultor em Geotecnologias

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

Curso de Aprendizado Industrial Desenvolvedor WEB

Python. Introdução à Programação SI1 - BSI

Implementação de Web Services em Projetos de LabVIEW

A WEB COMO PLATAFORMA Revolução do HTML5

6/06/ h26 - Atualizado em 26/06/ h30 Boot to Gecko: o futuro celular da Mozilla

Indicie. 1.Introdução Como Surgiu Para que serve Instalação Oque ele permite fazer Primeiro Cenário...

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS. Prof. Angelo Augusto Frozza, M.Sc.

Informações importantes

Aspectos de Segurança em Programação com Java

BEM-VINDOS AO CURSO DE ORIENTADO A OBJETOS

ISHIFT: Informação em Movimento

Testes de Software. Por quê testar? 3/28/2011. Andrew Diniz da Costa. Manter alta qualidade. Prevenir e encontrar defeitos

Organização de Computadores Software

Programação científica C++

SISTEMAS OPERACIONAIS

Informática I. Aula 6. Aula 6-12/09/2007 1

Sistemas Operacionais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

Daniel Paulo de Assis

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

Nesta aula... Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver:

A solução INFOTRÂNSITO abrange sistemas web multiplataformas, podendo ser instalados em ambientes Linux, Windows e Apple.

Linguagens de programação

formação em WeB developer

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

O melhor do PHP. Por que PHP? CAPÍTULO 1. Uma Pequena História do PHP

Introdução aos Computadores

MC-102 Aula 01. Instituto de Computação Unicamp

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Capítulo 8. Software de Sistema

Java & OpenJDK. Thiago S. Gonzaga. Sun Campus Ambassador thiago.gonzaga@sun.com

Introdução. Capítulo Breve sinopse

Guilherme Augusto de Assis

Paradigmas de Linguagens de Programação

Transcrição:

Tudo o que Você Sempre Quis Saber Sobre Linguagens de Programação* (*Mas Tinha Medo de Perguntar) Diego Padilha Rubert FACOM

Por quê? O aprendizado em Algoritmos e Programação visa lógica de programação e estruturas de dados No mercado de TI diversas linguagens são utilizadas Conhecendo uma linguagem, é fácil aprender outras Algumas você pode aprender na FACOM Diego Rubert Linguagens de Programação 2/40

Antes de começar... Qual a melhor linguagem de programação? Diego Rubert Linguagens de Programação 3/40

Antes de começar... Diferentes linguagens para diferentes propósitos Diego Rubert Linguagens de Programação 4/40

Antes de começar... Veremos linguagens: Compiladas Compiladas para uma VM Interpretadas Diego Rubert Linguagens de Programação 5/40

C Popular em sistemas operacionais e aplicações embarcadas Muito utilizada em programação científica Boa base para programação Disciplinas: Algoritmos de Programação I e II * Diego Rubert Linguagens de Programação 6/40

C++ Comum em muitos aplicativos do Linux (Firefox) e Jogos Não inclui bibliotecas como rede e interface gráfica Também é utilizada em programação científica Como C, porém orientada a objetos e mais flexível Disciplina: Estruturas de Dados e Programação * Referência: cppreference.com Diego Rubert Linguagens de Programação 7/40

Java Linguagem OO multiplataforma (JVM) Sintaxe semelhante ao C/C++ Inclui bibliotecas para interface, rede, banco de dados... Utilizada em aplicações desktop, web (jsf) e móveis! Diego Rubert Linguagens de Programação 8/40

Java Possui frameworks para web (VRaptor), persistência (Hibernate), testes (JUnit),... Disciplinas: Linguagem de Programação OO Estruturas de Dados e Programação OO Programação para a Web Algoritmos e Programação I e II * Diego Rubert Linguagens de Programação 9/40

C# Utilizada em aplicativos para Windows e Web (.NET) Sintaxe muito semelhante ao Java Framework com ferramentas muito poderosas e grande quantidade de bibliotecas nativas Principal ferramenta de desenvolvimento (Visual Studio) pode ser obtida pelos estudantes da FACOM através do convênio com a Microsoft (DreamSpark) Diego Rubert Linguagens de Programação 10/40

C# Por onde começar: - MSDN - Rede do desenvolvedor da Microsoft: fóruns, tutoriais, etc. - C# à partir do Java Diego Rubert Linguagens de Programação 11/40

Objective-C Linguagem OO de propósito geral para OS X e ios Superconjunto da linguagem C, orientada à objetos Diego Rubert Linguagens de Programação 12/40

Objective-C Por onde começar: Necessita um Mac com Xcode, ambiente completo para código, interface, testes... Centro de desenvolvedores Apple (em inglês) developer.apple.com Diego Rubert Linguagens de Programação 13/40

PHP Muito popular entre desenvolvedores web Para desenvolvimento de sistemas e geração de páginas dinâmicas (é executada no servidor web) Sintaxe semelhante ao C/C++ Tipagem dinâmica Diego Rubert Linguagens de Programação 14/40

PHP Pode ser utilizado com orientação à objetos Possui frameworks robustos: Zend, CakePHP, Symfony Utilizado pelo Wordpress, Facebook e 200 milhões+ de sites Disciplina: Programação para a Web Por onde começar: Instale um servidor web apache com php http://php.net/manual/pt_br/getting-started.php Diego Rubert Linguagens de Programação 15/40

JavaScript Não tem relação com Java, exceto pela sintaxe Linguagem de scripts para navegadores * Suporta orientação à objetos Tipagem dinâmica Páginas dinâmicas sem recarregar e AJAX (jquery) Diego Rubert Linguagens de Programação 16/40

JavaScript Disciplina: Programação para a Web Por onde começar: developer.mozilla.org/pt-br/learn/javascript (também HTML e CSS) w3schools.com (também HTML, CSS, PHP, SQL e Jquery) Jquery: codecademy.com/pt-br/courses/web-beginner-pt-br-h1pzb (também HTML, Ruby e Python) Diego Rubert Linguagens de Programação 17/40

JavaScript Diego Rubert Linguagens de Programação 18/40

JavaScript Diego Rubert Linguagens de Programação 19/40

Assembly Linguagem de baixo nível, determina diretamente as instruções de máquina Situações onde é preciso um binário enxuto, mas não estão disponíveis bibliotecas compartilhadas Boot de sistemas operacionais Firmwares e sensores Drivers de dispositivos Diego Rubert Linguagens de Programação 20/40

Assembly Análise de binários (engenharia reversa) e vulnerabilidades Diversas outras situações específicas Disciplina: Linguagem de Montagem Diego Rubert Linguagens de Programação 21/40

Python Linguagem fácil para iniciantes: Legibilidade Sintaxe compacta Tipagem dinâmica Conjunto extenso de bibliotecas padrão Para scripts, aplicações dektop, web, móveis Utilizado por: Instagram, Google, Yahoo!, NASA... Diego Rubert Linguagens de Programação 22/40

Python Diego Rubert Linguagens de Programação 23/40

Python Framework web Django (Instagram, Mozilla, OpenStack) Plone CMS (governo federal, caixa, science.nasa.gov, fbi.gov,...) Diego Rubert Linguagens de Programação 24/40

Python Aplicações: Blender 3D OpenStack Scripts Diego Rubert Linguagens de Programação 25/40

Python Por onde começar: Instale o python com console: python.org/download Experimente no console codecademy.com/pt-br/tracks/python codecademy.com/pt-br/courses/lang/python Diego Rubert Linguagens de Programação 26/40

Python Por onde começar: pythontutor.com Diego Rubert Linguagens de Programação 27/40

Python Por onde começar: Luiz Eduardo Borges: Python para desenvolvedores ark4n.wordpress.com/python PET-Tele/Univ. Fed. Fluminense Apostila de Python www.telecom.uff.br/pet/petws/?pagina=downloads/apostilas Diego Rubert Linguagens de Programação 28/40

Ruby Linguagem amigável para iniciantes Bastante utilizada em scripts e sites (Ruby on Rails) Tipagem dinâmica Orientada a objetos (TUDO é um objeto, como em Python) Diego Rubert Linguagens de Programação 29/40

Ruby Diego Rubert Linguagens de Programação 30/40

Ruby Ruby on Rails: Framework para aplicações web Twitter, Scribd, GitHub, Portal Educação, Por onde começar: Baixe em rubyinstaller.org (e experimente no irb) codecademy.com/pt-br/tracks/ruby codecademy.com/pt-br/courses/lang/ruby Diego Rubert Linguagens de Programação 31/40

Bash Um dos dialetos do shell (sh) Muito utilizada em estações/servidores Linux Linguagem de scripts (sistemas UNIX): Backup Simplificar comandos Automatização de tarefas em geral Diego Rubert Linguagens de Programação 32/40

Bash Possui: Estruturas condicionais (if, elif, else, case) Estruturas de repetição (for, while, until) Funções Vetores Operações aritméticas Substituição em strings Diego Rubert Linguagens de Programação 33/40

Bash Diego Rubert Linguagens de Programação 34/40

Bash Diego Rubert Linguagens de Programação 35/40

Bash Dialog, GDialog, Kdialog, Zenity, kdialog --title "Meu script" --msgbox "Essa é uma mensagem de teste, ok?" Diego Rubert Linguagens de Programação 36/40

Bash Por onde começar: Aprender a utilizar comandos desejados Introdução ao Shell Script (Aurélio Marinho Jargas) aurelio.net/shell Livro Shell Script Profissional Referências úteis: Canivete Suíço do Shell (Bash) Diego Rubert Linguagens de Programação 37/40

Sites interessantes codecademy.com/learn Diego Rubert Linguagens de Programação 38/40

Sites interessantes pythontutor.com Diego Rubert Linguagens de Programação 39/40

Fim Perguntas? Diego Rubert Linguagens de Programação 40/40